| /linux/drivers/net/ethernet/pensando/ionic/ |
| H A D | ionic_bus_pci.c | 9 #include "ionic.h" 23 int ionic_bus_get_irq(struct ionic *ionic, unsigned int num) in ionic_bus_get_irq() argument 25 return pci_irq_vector(ionic->pdev, num); in ionic_bus_get_irq() 28 const char *ionic_bus_info(struct ionic *ionic) in ionic_bus_info() argument 30 return pci_name(ionic->pdev); in ionic_bus_info() 33 int ionic_bus_alloc_irq_vectors(struct ionic *ionic, unsigned int nintrs) in ionic_bus_alloc_irq_vectors() argument 35 return pci_alloc_irq_vectors(ionic->pdev, nintrs, nintrs, in ionic_bus_alloc_irq_vectors() 39 void ionic_bus_free_irq_vectors(struct ionic *ionic) in ionic_bus_free_irq_vectors() argument 41 if (!ionic->nintrs) in ionic_bus_free_irq_vectors() 44 pci_free_irq_vectors(ionic->pdev); in ionic_bus_free_irq_vectors() [all …]
|
| H A D | ionic_main.c | 12 #include "ionic.h" 274 dev_dbg(lif->ionic->dev, "notifyq event:\n"); in ionic_notifyq_service() 283 if (lif->ionic->idev.fw_status_ready && in ionic_notifyq_service() 391 err = ionic_heartbeat_check(lif->ionic); in ionic_adminq_post() 444 ionic_heartbeat_check(lif->ionic); in ionic_adminq_wait() 446 !lif->ionic->idev.fw_status_ready) || in ionic_adminq_wait() 458 dev_dbg(lif->ionic->dev, "%s: elapsed %d msecs\n", in ionic_adminq_wait() 472 if (!ionic_is_fw_running(&lif->ionic->idev)) in __ionic_adminq_post_wait() 491 static void ionic_dev_cmd_clean(struct ionic *ionic) in ionic_dev_cmd_clean() argument 493 struct ionic_dev *idev = &ionic->idev; in ionic_dev_cmd_clean() [all …]
|
| H A D | ionic_dev.c | 10 #include "ionic.h" 16 struct ionic *ionic = timer_container_of(ionic, t, watchdog_timer); in ionic_watchdog_cb() local 17 struct ionic_lif *lif = ionic->lif; in ionic_watchdog_cb() 21 mod_timer(&ionic->watchdog_timer, in ionic_watchdog_cb() 22 round_jiffies(jiffies + ionic->watchdog_period)); in ionic_watchdog_cb() 27 hb = ionic_heartbeat_check(ionic); in ionic_watchdog_cb() 28 dev_dbg(ionic->dev, "%s: hb %d running %d UP %d\n", in ionic_watchdog_cb() 71 static int ionic_get_preferred_cpu(struct ionic *ionic, in ionic_get_preferred_cpu() argument 78 cpu = cpumask_local_spread(0, dev_to_node(ionic->dev)); in ionic_get_preferred_cpu() 83 static void ionic_queue_dbell_napi_work(struct ionic *ionic, in ionic_queue_dbell_napi_work() argument [all …]
|
| H A D | ionic_devlink.c | 7 #include "ionic.h" 16 struct ionic *ionic = devlink_priv(dl); in ionic_dl_flash_update() local 18 return ionic_firmware_update(ionic->lif, params->fw, extack); in ionic_dl_flash_update() 24 struct ionic *ionic = devlink_priv(dl); in ionic_dl_info_get() local 25 struct ionic_dev *idev = &ionic->idev; in ionic_dl_info_get() 59 struct ionic *ionic_devlink_alloc(struct device *dev) in ionic_devlink_alloc() 63 dl = devlink_alloc(&ionic_dl_ops, sizeof(struct ionic), dev); in ionic_devlink_alloc() 70 void ionic_devlink_free(struct ionic *ionic) in ionic_devlink_free() argument 72 struct devlink *dl = priv_to_devlink(ionic); in ionic_devlink_free() 77 int ionic_devlink_register(struct ionic *ionic) in ionic_devlink_register() argument [all …]
|
| H A D | ionic_lif.c | 18 #include "ionic.h" 72 new_coal = ionic_coal_usec_to_hw(lif->ionic, cur_moder.usec); in ionic_dim_work() 79 ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, in ionic_dim_work() 121 mod_timer(&lif->ionic->watchdog_timer, jiffies + 1); in ionic_lif_deferred_work() 138 queue_work(lif->ionic->wq, &lif->deferred.work); in ionic_lif_deferred_enqueue() 175 ionic_port_identify(lif->ionic); in ionic_link_status_check() 231 struct device *dev = lif->ionic->dev; in ionic_request_irq() 249 struct ionic *ionic = lif->ionic; in ionic_intr_alloc() local 252 index = find_first_zero_bit(ionic->intrs, ionic->nintrs); in ionic_intr_alloc() 253 if (index == ionic->nintrs) in ionic_intr_alloc() [all …]
|
| H A 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
|
| H A D | ionic_fw.c | 9 #include "ionic.h" 59 static int ionic_fw_status_long_wait(struct ionic *ionic, in ionic_fw_status_long_wait() argument 76 mutex_lock(&ionic->dev_cmd_lock); in ionic_fw_status_long_wait() 77 ionic_dev_cmd_go(&ionic->idev, &cmd); in ionic_fw_status_long_wait() 78 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_fw_status_long_wait() 79 mutex_unlock(&ionic->dev_cmd_lock); in ionic_fw_status_long_wait() 86 dev_err(ionic->dev, "DEV_CMD firmware wait %s timed out\n", label); in ionic_fw_status_long_wait() 97 struct ionic_dev *idev = &lif->ionic->idev; in ionic_firmware_update() 99 struct ionic *ionic = lif->ionic; in ionic_firmware_update() local 109 dl = priv_to_devlink(ionic); in ionic_firmware_update() [all …]
|
| H A 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);
|
| H A D | ionic_debugfs.c | 7 #include "ionic.h" 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() [all …]
|
| H A D | ionic_aux.c | 5 #include "ionic.h" 26 if (!(le64_to_cpu(lif->ionic->ident.lif.capabilities) & IONIC_LIF_CAP_RDMA)) in ionic_auxbus_register() 37 dev_err(lif->ionic->dev, "Failed to allocate aux id: %d\n", id); in ionic_auxbus_register() 44 aux_dev->dev.parent = &lif->ionic->pdev->dev; in ionic_auxbus_register() 49 dev_err(lif->ionic->dev, "Failed to initialize %s aux device: %d\n", in ionic_auxbus_register() 58 dev_err(lif->ionic->dev, "Failed to add %s aux device: %d\n", in ionic_auxbus_register() 84 struct ionic *ionic = lif->ionic; in ionic_request_rdma_reset() local 92 mutex_lock(&ionic->dev_cmd_lock); in ionic_request_rdma_reset() 94 ionic_dev_cmd_go(&ionic->idev, &cmd); in ionic_request_rdma_reset() 95 err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); in ionic_request_rdma_reset() [all …]
|
| H A D | ionic_devlink.h | 12 struct ionic *ionic_devlink_alloc(struct device *dev); 13 void ionic_devlink_free(struct ionic *ionic); 14 int ionic_devlink_register(struct ionic *ionic); 15 void ionic_devlink_unregister(struct ionic *ionic);
|
| H A D | ionic_rx_filter.c | 9 #include "ionic.h" 15 struct device *dev = lif->ionic->dev; in ionic_rx_filter_free() 127 struct device *dev = lif->ionic->dev; in ionic_rx_filter_save() 560 struct device *dev = lif->ionic->dev; in ionic_rx_filter_sync()
|
| H A D | ionic_stats.c | 9 #include "ionic.h" 338 port_stats = &lif->ionic->idev.port_info->stats; in ionic_sw_stats_get_values()
|
| H A D | ionic_txrx.c | 11 #include "ionic.h"
|
| /linux/Documentation/networking/devlink/ |
| H A D | ionic.rst | 4 ionic devlink support 7 This document describes the devlink features implemented by the ``ionic`` 13 The ``ionic`` driver reports the following versions
|
| /linux/drivers/net/ethernet/pensando/ |
| H A D | Makefile | 6 obj-$(CONFIG_IONIC) += ionic/
|
| /linux/drivers/infiniband/hw/ |
| H A D | Makefile | 18 obj-$(CONFIG_INFINIBAND_IONIC) += ionic/
|
| /linux/drivers/infiniband/ |
| H A D | Kconfig | 90 source "drivers/infiniband/hw/ionic/Kconfig"
|
| /linux/drivers/infiniband/hw/ionic/ |
| H A D | ionic_ibdev.c | 402 { .name = "ionic.rdma", },
|
| /linux/ |
| H A D | CREDITS | 3020 D: ixgbe, i40e, ionic, pds_core, pds_vdpa, pds_fwctl
|
| H A D | MAINTAINERS | 1212 F: drivers/infiniband/hw/ionic/ 1213 F: include/uapi/rdma/ionic-abi.h 20634 F: Documentation/networking/device_drivers/ethernet/pensando/ionic.rst
|