/drivers/net/ethernet/pensando/ionic/ |
D | ionic_bus_pci.c | 22 int ionic_bus_get_irq(struct ionic *ionic, unsigned int num) in ionic_bus_get_irq() argument 24 return pci_irq_vector(ionic->pdev, num); in ionic_bus_get_irq() 27 const char *ionic_bus_info(struct ionic *ionic) in ionic_bus_info() argument 29 return pci_name(ionic->pdev); in ionic_bus_info() 32 int ionic_bus_alloc_irq_vectors(struct ionic *ionic, unsigned int nintrs) in ionic_bus_alloc_irq_vectors() argument 34 return pci_alloc_irq_vectors(ionic->pdev, nintrs, nintrs, in ionic_bus_alloc_irq_vectors() 38 void ionic_bus_free_irq_vectors(struct ionic *ionic) in ionic_bus_free_irq_vectors() argument 40 pci_free_irq_vectors(ionic->pdev); in ionic_bus_free_irq_vectors() 43 static int ionic_map_bars(struct ionic *ionic) in ionic_map_bars() argument 45 struct pci_dev *pdev = ionic->pdev; in ionic_map_bars() [all …]
|
D | ionic_main.c | 300 ionic_intr_credits(cq->lif->ionic->idev.intr_ctrl, in ionic_napi() 310 int ionic_dev_cmd_wait(struct ionic *ionic, unsigned long max_seconds) in ionic_dev_cmd_wait() argument 312 struct ionic_dev *idev = &ionic->idev; in ionic_dev_cmd_wait() 337 dev_dbg(ionic->dev, "DEVCMD %s (%d) done=%d took %ld secs (%ld jiffies)\n", in ionic_dev_cmd_wait() 342 dev_warn(ionic->dev, "DEVCMD %s (%d) timeout after %ld secs\n", in ionic_dev_cmd_wait() 347 err = ionic_dev_cmd_status(&ionic->idev); in ionic_dev_cmd_wait() 350 dev_err(ionic->dev, "DEV_CMD %s (%d) error, %s (%d) retrying...\n", in ionic_dev_cmd_wait() 360 dev_err(ionic->dev, "DEV_CMD %s (%d) error, %s (%d) failed\n", in ionic_dev_cmd_wait() 370 int ionic_setup(struct ionic *ionic) in ionic_setup() argument 374 err = ionic_dev_setup(ionic); in ionic_setup() [all …]
|
D | ionic_devlink.c | 15 struct ionic *ionic = devlink_priv(dl); in ionic_dl_info_get() local 16 struct ionic_dev *idev = &ionic->idev; in ionic_dl_info_get() 54 struct ionic *ionic_devlink_alloc(struct device *dev) in ionic_devlink_alloc() 58 dl = devlink_alloc(&ionic_dl_ops, sizeof(struct ionic)); in ionic_devlink_alloc() 63 void ionic_devlink_free(struct ionic *ionic) in ionic_devlink_free() argument 65 struct devlink *dl = priv_to_devlink(ionic); in ionic_devlink_free() 70 int ionic_devlink_register(struct ionic *ionic) in ionic_devlink_register() argument 72 struct devlink *dl = priv_to_devlink(ionic); in ionic_devlink_register() 75 err = devlink_register(dl, ionic->dev); in ionic_devlink_register() 77 dev_warn(ionic->dev, "devlink_register failed: %d\n", err); in ionic_devlink_register() [all …]
|
D | ionic.h | 28 struct ionic { struct 61 int ionic_dev_cmd_wait(struct ionic *ionic, unsigned long max_wait); argument 62 int ionic_set_dma_mask(struct ionic *ionic); 63 int ionic_setup(struct ionic *ionic); 65 int ionic_identify(struct ionic *ionic); 66 int ionic_init(struct ionic *ionic); 67 int ionic_reset(struct ionic *ionic); 69 int ionic_port_identify(struct ionic *ionic); 70 int ionic_port_init(struct ionic *ionic); 71 int ionic_port_reset(struct ionic *ionic);
|
D | ionic_debugfs.h | 13 void ionic_debugfs_add_dev(struct ionic *ionic); 14 void ionic_debugfs_del_dev(struct ionic *ionic); 15 void ionic_debugfs_add_ident(struct ionic *ionic); 16 void ionic_debugfs_add_sizes(struct ionic *ionic); 24 static inline void ionic_debugfs_add_dev(struct ionic *ionic) { } in ionic_debugfs_add_dev() argument 25 static inline void ionic_debugfs_del_dev(struct ionic *ionic) { } in ionic_debugfs_del_dev() argument 26 static inline void ionic_debugfs_add_ident(struct ionic *ionic) { } in ionic_debugfs_add_ident() argument 27 static inline void ionic_debugfs_add_sizes(struct ionic *ionic) { } in ionic_debugfs_add_sizes() argument
|
D | ionic_bus.h | 7 int ionic_bus_get_irq(struct ionic *ionic, unsigned int num); 8 const char *ionic_bus_info(struct ionic *ionic); 9 int ionic_bus_alloc_irq_vectors(struct ionic *ionic, unsigned int nintrs); 10 void ionic_bus_free_irq_vectors(struct ionic *ionic); 13 void __iomem *ionic_bus_map_dbpage(struct ionic *ionic, int page_num); 14 void ionic_bus_unmap_dbpage(struct ionic *ionic, void __iomem *page);
|
D | ionic_debugfs.c | 26 void ionic_debugfs_add_dev(struct ionic *ionic) in ionic_debugfs_add_dev() argument 28 ionic->dentry = debugfs_create_dir(ionic_bus_info(ionic), ionic_dir); in ionic_debugfs_add_dev() 31 void ionic_debugfs_del_dev(struct ionic *ionic) in ionic_debugfs_del_dev() argument 33 debugfs_remove_recursive(ionic->dentry); in ionic_debugfs_del_dev() 34 ionic->dentry = NULL; in ionic_debugfs_del_dev() 39 struct ionic *ionic = seq->private; in identity_show() local 42 ident = &ionic->ident; in identity_show() 57 void ionic_debugfs_add_ident(struct ionic *ionic) in ionic_debugfs_add_ident() argument 59 debugfs_create_file("identity", 0400, ionic->dentry, in ionic_debugfs_add_ident() 60 ionic, &identity_fops); in ionic_debugfs_add_ident() [all …]
|
D | ionic_lif.h | 139 struct ionic *ionic; member 201 static inline u32 ionic_coal_usec_to_hw(struct ionic *ionic, u32 usecs) in ionic_coal_usec_to_hw() argument 203 u32 mult = le32_to_cpu(ionic->ident.dev.intr_coal_mult); in ionic_coal_usec_to_hw() 204 u32 div = le32_to_cpu(ionic->ident.dev.intr_coal_div); in ionic_coal_usec_to_hw() 217 static inline u32 ionic_coal_hw_to_usec(struct ionic *ionic, u32 units) in ionic_coal_hw_to_usec() argument 219 u32 mult = le32_to_cpu(ionic->ident.dev.intr_coal_mult); in ionic_coal_hw_to_usec() 220 u32 div = le32_to_cpu(ionic->ident.dev.intr_coal_div); in ionic_coal_hw_to_usec() 230 int ionic_lifs_alloc(struct ionic *ionic); 231 void ionic_lifs_free(struct ionic *ionic); 232 void ionic_lifs_deinit(struct ionic *ionic); [all …]
|
D | ionic_lif.c | 136 struct device *dev = lif->ionic->dev; in ionic_request_irq() 154 struct ionic *ionic = lif->ionic; in ionic_intr_alloc() local 157 index = find_first_zero_bit(ionic->intrs, ionic->nintrs); in ionic_intr_alloc() 158 if (index == ionic->nintrs) { in ionic_intr_alloc() 160 __func__, index, ionic->nintrs); in ionic_intr_alloc() 164 set_bit(index, ionic->intrs); in ionic_intr_alloc() 165 ionic_intr_init(&ionic->idev, intr, index); in ionic_intr_alloc() 172 if (index != INTR_INDEX_NOT_ASSIGNED && index < lif->ionic->nintrs) in ionic_intr_free() 173 clear_bit(index, lif->ionic->intrs); in ionic_intr_free() 194 idev = &lif->ionic->idev; in ionic_qcq_enable() [all …]
|
D | ionic_ethtool.c | 86 struct ionic *ionic = lif->ionic; in ionic_get_drvinfo() local 90 strlcpy(drvinfo->fw_version, ionic->idev.dev_info.fw_version, in ionic_get_drvinfo() 92 strlcpy(drvinfo->bus_info, ionic_bus_info(ionic), in ionic_get_drvinfo() 110 memcpy_fromio(p, lif->ionic->idev.dev_info_regs->words, size); in ionic_get_regs() 113 memcpy_fromio(p, lif->ionic->idev.dev_cmd_regs->words, size); in ionic_get_regs() 120 struct ionic_dev *idev = &lif->ionic->idev; in ionic_get_link_ksettings() 204 dev_info(lif->ionic->dev, "unknown xcvr type pid=%d / 0x%x\n", in ionic_get_link_ksettings() 255 struct ionic *ionic = lif->ionic; in ionic_set_link_ksettings() local 261 idev = &lif->ionic->idev; in ionic_set_link_ksettings() 266 mutex_lock(&ionic->dev_cmd_lock); in ionic_set_link_ksettings() [all …]
|
D | ionic_devlink.h | 9 struct ionic *ionic_devlink_alloc(struct device *dev); 10 void ionic_devlink_free(struct ionic *ionic); 11 int ionic_devlink_register(struct ionic *ionic); 12 void ionic_devlink_unregister(struct ionic *ionic);
|
D | ionic_dev.c | 14 void ionic_init_devinfo(struct ionic *ionic) in ionic_init_devinfo() argument 16 struct ionic_dev *idev = &ionic->idev; in ionic_init_devinfo() 32 dev_dbg(ionic->dev, "fw_version %s\n", idev->dev_info.fw_version); in ionic_init_devinfo() 35 int ionic_dev_setup(struct ionic *ionic) in ionic_dev_setup() argument 37 struct ionic_dev_bar *bar = ionic->bars; in ionic_dev_setup() 38 unsigned int num_bars = ionic->num_bars; in ionic_dev_setup() 39 struct ionic_dev *idev = &ionic->idev; in ionic_dev_setup() 40 struct device *dev = ionic->dev; in ionic_dev_setup() 66 ionic_init_devinfo(ionic); in ionic_dev_setup() 81 void ionic_dev_teardown(struct ionic *ionic) in ionic_dev_teardown() argument [all …]
|
D | ionic_dev.h | 218 struct ionic; 245 void ionic_init_devinfo(struct ionic *ionic); 246 int ionic_dev_setup(struct ionic *ionic); 247 void ionic_dev_teardown(struct ionic *ionic);
|
D | Makefile | 4 obj-$(CONFIG_IONIC) := ionic.o 6 ionic-y := ionic_main.o ionic_bus_pci.o ionic_devlink.o ionic_dev.o \
|
D | ionic_txrx.c | 55 struct device *dev = q->lif->ionic->dev; in ionic_rx_copybreak() 206 struct ionic_dev *idev = &cq->lif->ionic->idev; in ionic_rx_flush() 226 dev = lif->ionic->dev; in ionic_rx_skb_alloc() 286 struct device *dev = q->lif->ionic->dev; in ionic_rx_empty() 311 idev = &lif->ionic->idev; in ionic_rx_napi() 340 struct device *dev = q->lif->ionic->dev; in ionic_tx_map_single() 357 struct device *dev = q->lif->ionic->dev; in ionic_tx_map_frag() 376 struct device *dev = q->lif->ionic->dev; in ionic_tx_clean() 419 struct ionic_dev *idev = &cq->lif->ionic->idev; in ionic_tx_flush() 549 struct device *dev = q->lif->ionic->dev; in ionic_tx_tso() [all …]
|
D | ionic_rx_filter.c | 13 struct device *dev = lif->ionic->dev; in ionic_rx_filter_free() 64 struct device *dev = lif->ionic->dev; in ionic_rx_filter_save()
|
/drivers/net/ethernet/pensando/ |
D | Kconfig | 28 <file:Documentation/networking/device_drivers/pensando/ionic.rst>. 31 will be called ionic.
|
D | Makefile | 6 obj-$(CONFIG_IONIC) += ionic/
|