ionic 61 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_dev_cmd_wait(struct ionic *ionic, unsigned long max_wait); ionic 62 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_set_dma_mask(struct ionic *ionic); ionic 63 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_setup(struct ionic *ionic); ionic 65 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_identify(struct ionic *ionic); ionic 66 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_init(struct ionic *ionic); ionic 67 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_reset(struct ionic *ionic); ionic 69 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_port_identify(struct ionic *ionic); ionic 70 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_port_init(struct ionic *ionic); ionic 71 drivers/net/ethernet/pensando/ionic/ionic.h int ionic_port_reset(struct ionic *ionic); ionic 7 drivers/net/ethernet/pensando/ionic/ionic_bus.h int ionic_bus_get_irq(struct ionic *ionic, unsigned int num); ionic 8 drivers/net/ethernet/pensando/ionic/ionic_bus.h const char *ionic_bus_info(struct ionic *ionic); ionic 9 drivers/net/ethernet/pensando/ionic/ionic_bus.h int ionic_bus_alloc_irq_vectors(struct ionic *ionic, unsigned int nintrs); ionic 10 drivers/net/ethernet/pensando/ionic/ionic_bus.h void ionic_bus_free_irq_vectors(struct ionic *ionic); ionic 13 drivers/net/ethernet/pensando/ionic/ionic_bus.h void __iomem *ionic_bus_map_dbpage(struct ionic *ionic, int page_num); ionic 14 drivers/net/ethernet/pensando/ionic/ionic_bus.h void ionic_bus_unmap_dbpage(struct ionic *ionic, void __iomem *page); ionic 22 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c int ionic_bus_get_irq(struct ionic *ionic, unsigned int num) ionic 24 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c return pci_irq_vector(ionic->pdev, num); ionic 27 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c const char *ionic_bus_info(struct ionic *ionic) ionic 29 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c return pci_name(ionic->pdev); ionic 32 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c int ionic_bus_alloc_irq_vectors(struct ionic *ionic, unsigned int nintrs) ionic 34 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c return pci_alloc_irq_vectors(ionic->pdev, nintrs, nintrs, ionic 38 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c void ionic_bus_free_irq_vectors(struct ionic *ionic) ionic 40 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c pci_free_irq_vectors(ionic->pdev); ionic 43 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c static int ionic_map_bars(struct ionic *ionic) ionic 45 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c struct pci_dev *pdev = ionic->pdev; ionic 46 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c struct device *dev = ionic->dev; ionic 50 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c bars = ionic->bars; ionic 51 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic->num_bars = 0; ionic 73 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic->num_bars++; ionic 80 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c static void ionic_unmap_bars(struct ionic *ionic) ionic 82 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c struct ionic_dev_bar *bars = ionic->bars; ionic 95 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c void __iomem *ionic_bus_map_dbpage(struct ionic *ionic, int page_num) ionic 97 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c return pci_iomap_range(ionic->pdev, ionic 98 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic->bars[IONIC_PCI_BAR_DBELL].res_index, ionic 102 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c void ionic_bus_unmap_dbpage(struct ionic *ionic, void __iomem *page) ionic 110 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c struct ionic *ionic; ionic 113 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic = ionic_devlink_alloc(dev); ionic 114 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c if (!ionic) ionic 117 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic->pdev = pdev; ionic 118 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic->dev = dev; ionic 119 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c pci_set_drvdata(pdev, ionic); ionic 120 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c mutex_init(&ionic->dev_cmd_lock); ionic 130 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_debugfs_add_dev(ionic); ionic 147 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_map_bars(ionic); ionic 152 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_setup(ionic); ionic 158 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_identify(ionic); ionic 164 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_init(ionic); ionic 171 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_port_identify(ionic); ionic 177 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_port_init(ionic); ionic 184 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_lif_identify(ionic, IONIC_LIF_TYPE_CLASSIC, ionic 185 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c &ionic->ident.lif); ionic 191 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_lifs_size(ionic); ionic 197 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_lifs_alloc(ionic); ionic 203 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_lifs_init(ionic); ionic 209 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_lifs_register(ionic); ionic 215 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c err = ionic_devlink_register(ionic); ionic 224 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_lifs_unregister(ionic); ionic 226 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_lifs_deinit(ionic); ionic 228 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_lifs_free(ionic); ionic 230 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_bus_free_irq_vectors(ionic); ionic 232 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_port_reset(ionic); ionic 234 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_reset(ionic); ionic 236 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_dev_teardown(ionic); ionic 238 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_unmap_bars(ionic); ionic 245 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_debugfs_del_dev(ionic); ionic 247 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c mutex_destroy(&ionic->dev_cmd_lock); ionic 248 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_devlink_free(ionic); ionic 255 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c struct ionic *ionic = pci_get_drvdata(pdev); ionic 257 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c if (!ionic) ionic 260 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_devlink_unregister(ionic); ionic 261 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_lifs_unregister(ionic); ionic 262 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_lifs_deinit(ionic); ionic 263 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_lifs_free(ionic); ionic 264 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_bus_free_irq_vectors(ionic); ionic 265 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_port_reset(ionic); ionic 266 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_reset(ionic); ionic 267 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_dev_teardown(ionic); ionic 268 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_unmap_bars(ionic); ionic 272 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_debugfs_del_dev(ionic); ionic 273 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c mutex_destroy(&ionic->dev_cmd_lock); ionic 274 drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c ionic_devlink_free(ionic); ionic 26 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c void ionic_debugfs_add_dev(struct ionic *ionic) ionic 28 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c ionic->dentry = debugfs_create_dir(ionic_bus_info(ionic), ionic_dir); ionic 31 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c void ionic_debugfs_del_dev(struct ionic *ionic) ionic 33 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c debugfs_remove_recursive(ionic->dentry); ionic 34 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c ionic->dentry = NULL; ionic 39 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c struct ionic *ionic = seq->private; ionic 42 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c ident = &ionic->ident; ionic 57 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c void ionic_debugfs_add_ident(struct ionic *ionic) ionic 59 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c debugfs_create_file("identity", 0400, ionic->dentry, ionic 60 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c ionic, &identity_fops); ionic 63 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c void ionic_debugfs_add_sizes(struct ionic *ionic) ionic 65 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c debugfs_create_u32("nlifs", 0400, ionic->dentry, ionic 66 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c (u32 *)&ionic->ident.dev.nlifs); ionic 67 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c debugfs_create_u32("nintrs", 0400, ionic->dentry, &ionic->nintrs); ionic 69 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c debugfs_create_u32("ntxqs_per_lif", 0400, ionic->dentry, ionic 70 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c (u32 *)&ionic->ident.lif.eth.config.queue_count[IONIC_QTYPE_TXQ]); ionic 71 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c debugfs_create_u32("nrxqs_per_lif", 0400, ionic->dentry, ionic 72 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c (u32 *)&ionic->ident.lif.eth.config.queue_count[IONIC_QTYPE_RXQ]); ionic 116 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c struct ionic_dev *idev = &lif->ionic->idev; ionic 120 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c struct device *dev = lif->ionic->dev; ionic 231 drivers/net/ethernet/pensando/ionic/ionic_debugfs.c lif->dentry = debugfs_create_dir(lif->name, lif->ionic->dentry); ionic 13 drivers/net/ethernet/pensando/ionic/ionic_debugfs.h void ionic_debugfs_add_dev(struct ionic *ionic); ionic 14 drivers/net/ethernet/pensando/ionic/ionic_debugfs.h void ionic_debugfs_del_dev(struct ionic *ionic); ionic 15 drivers/net/ethernet/pensando/ionic/ionic_debugfs.h void ionic_debugfs_add_ident(struct ionic *ionic); ionic 16 drivers/net/ethernet/pensando/ionic/ionic_debugfs.h void ionic_debugfs_add_sizes(struct ionic *ionic); ionic 24 drivers/net/ethernet/pensando/ionic/ionic_debugfs.h static inline void ionic_debugfs_add_dev(struct ionic *ionic) { } ionic 25 drivers/net/ethernet/pensando/ionic/ionic_debugfs.h static inline void ionic_debugfs_del_dev(struct ionic *ionic) { } ionic 26 drivers/net/ethernet/pensando/ionic/ionic_debugfs.h static inline void ionic_debugfs_add_ident(struct ionic *ionic) { } ionic 27 drivers/net/ethernet/pensando/ionic/ionic_debugfs.h static inline void ionic_debugfs_add_sizes(struct ionic *ionic) { } ionic 14 drivers/net/ethernet/pensando/ionic/ionic_dev.c void ionic_init_devinfo(struct ionic *ionic) ionic 16 drivers/net/ethernet/pensando/ionic/ionic_dev.c struct ionic_dev *idev = &ionic->idev; ionic 32 drivers/net/ethernet/pensando/ionic/ionic_dev.c dev_dbg(ionic->dev, "fw_version %s\n", idev->dev_info.fw_version); ionic 35 drivers/net/ethernet/pensando/ionic/ionic_dev.c int ionic_dev_setup(struct ionic *ionic) ionic 37 drivers/net/ethernet/pensando/ionic/ionic_dev.c struct ionic_dev_bar *bar = ionic->bars; ionic 38 drivers/net/ethernet/pensando/ionic/ionic_dev.c unsigned int num_bars = ionic->num_bars; ionic 39 drivers/net/ethernet/pensando/ionic/ionic_dev.c struct ionic_dev *idev = &ionic->idev; ionic 40 drivers/net/ethernet/pensando/ionic/ionic_dev.c struct device *dev = ionic->dev; ionic 66 drivers/net/ethernet/pensando/ionic/ionic_dev.c ionic_init_devinfo(ionic); ionic 81 drivers/net/ethernet/pensando/ionic/ionic_dev.c void ionic_dev_teardown(struct ionic *ionic) ionic 443 drivers/net/ethernet/pensando/ionic/ionic_dev.c struct device *dev = q->lif->ionic->dev; ionic 483 drivers/net/ethernet/pensando/ionic/ionic_dev.c dev_err(q->lif->ionic->dev, ionic 218 drivers/net/ethernet/pensando/ionic/ionic_dev.h struct ionic; ionic 245 drivers/net/ethernet/pensando/ionic/ionic_dev.h void ionic_init_devinfo(struct ionic *ionic); ionic 246 drivers/net/ethernet/pensando/ionic/ionic_dev.h int ionic_dev_setup(struct ionic *ionic); ionic 247 drivers/net/ethernet/pensando/ionic/ionic_dev.h void ionic_dev_teardown(struct ionic *ionic); ionic 15 drivers/net/ethernet/pensando/ionic/ionic_devlink.c struct ionic *ionic = devlink_priv(dl); ionic 16 drivers/net/ethernet/pensando/ionic/ionic_devlink.c struct ionic_dev *idev = &ionic->idev; ionic 54 drivers/net/ethernet/pensando/ionic/ionic_devlink.c struct ionic *ionic_devlink_alloc(struct device *dev) ionic 58 drivers/net/ethernet/pensando/ionic/ionic_devlink.c dl = devlink_alloc(&ionic_dl_ops, sizeof(struct ionic)); ionic 63 drivers/net/ethernet/pensando/ionic/ionic_devlink.c void ionic_devlink_free(struct ionic *ionic) ionic 65 drivers/net/ethernet/pensando/ionic/ionic_devlink.c struct devlink *dl = priv_to_devlink(ionic); ionic 70 drivers/net/ethernet/pensando/ionic/ionic_devlink.c int ionic_devlink_register(struct ionic *ionic) ionic 72 drivers/net/ethernet/pensando/ionic/ionic_devlink.c struct devlink *dl = priv_to_devlink(ionic); ionic 75 drivers/net/ethernet/pensando/ionic/ionic_devlink.c err = devlink_register(dl, ionic->dev); ionic 77 drivers/net/ethernet/pensando/ionic/ionic_devlink.c dev_warn(ionic->dev, "devlink_register failed: %d\n", err); ionic 81 drivers/net/ethernet/pensando/ionic/ionic_devlink.c devlink_port_attrs_set(&ionic->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, ionic 83 drivers/net/ethernet/pensando/ionic/ionic_devlink.c err = devlink_port_register(dl, &ionic->dl_port, 0); ionic 85 drivers/net/ethernet/pensando/ionic/ionic_devlink.c dev_err(ionic->dev, "devlink_port_register failed: %d\n", err); ionic 87 drivers/net/ethernet/pensando/ionic/ionic_devlink.c devlink_port_type_eth_set(&ionic->dl_port, ionic 88 drivers/net/ethernet/pensando/ionic/ionic_devlink.c ionic->master_lif->netdev); ionic 93 drivers/net/ethernet/pensando/ionic/ionic_devlink.c void ionic_devlink_unregister(struct ionic *ionic) ionic 95 drivers/net/ethernet/pensando/ionic/ionic_devlink.c struct devlink *dl = priv_to_devlink(ionic); ionic 97 drivers/net/ethernet/pensando/ionic/ionic_devlink.c devlink_port_unregister(&ionic->dl_port); ionic 9 drivers/net/ethernet/pensando/ionic/ionic_devlink.h struct ionic *ionic_devlink_alloc(struct device *dev); ionic 10 drivers/net/ethernet/pensando/ionic/ionic_devlink.h void ionic_devlink_free(struct ionic *ionic); ionic 11 drivers/net/ethernet/pensando/ionic/ionic_devlink.h int ionic_devlink_register(struct ionic *ionic); ionic 12 drivers/net/ethernet/pensando/ionic/ionic_devlink.h void ionic_devlink_unregister(struct ionic *ionic); ionic 86 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c struct ionic *ionic = lif->ionic; ionic 90 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c strlcpy(drvinfo->fw_version, ionic->idev.dev_info.fw_version, ionic 92 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c strlcpy(drvinfo->bus_info, ionic_bus_info(ionic), ionic 110 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c memcpy_fromio(p, lif->ionic->idev.dev_info_regs->words, size); ionic 113 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c memcpy_fromio(p, lif->ionic->idev.dev_cmd_regs->words, size); ionic 120 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c struct ionic_dev *idev = &lif->ionic->idev; ionic 204 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c dev_info(lif->ionic->dev, "unknown xcvr type pid=%d / 0x%x\n", ionic 255 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c struct ionic *ionic = lif->ionic; ionic 261 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c idev = &lif->ionic->idev; ionic 266 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_lock(&ionic->dev_cmd_lock); ionic 268 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 269 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_unlock(&ionic->dev_cmd_lock); ionic 276 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_lock(&ionic->dev_cmd_lock); ionic 278 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 279 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_unlock(&ionic->dev_cmd_lock); ionic 299 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_lock(&ionic->dev_cmd_lock); ionic 301 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 302 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_unlock(&ionic->dev_cmd_lock); ionic 318 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c pause_type = lif->ionic->idev.port_info->config.pause_type; ionic 329 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c struct ionic *ionic = lif->ionic; ionic 343 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c if (requested_pause == lif->ionic->idev.port_info->config.pause_type) ionic 346 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_lock(&ionic->dev_cmd_lock); ionic 347 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c ionic_dev_cmd_port_pause(&lif->ionic->idev, requested_pause); ionic 348 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 349 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_unlock(&ionic->dev_cmd_lock); ionic 400 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c ident = &lif->ionic->ident; ionic 413 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c coal = ionic_coal_usec_to_hw(lif->ionic, coalesce->rx_coalesce_usecs); ionic 423 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c usecs = ionic_coal_hw_to_usec(lif->ionic, coal); ionic 431 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, ionic 496 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c ch->max_combined = lif->ionic->ntxqs_per_lif; ionic 580 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c return le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); ionic 595 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); ionic 663 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c struct ionic_dev *idev = &lif->ionic->idev; ionic 693 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c struct ionic_dev *idev = &lif->ionic->idev; ionic 724 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c struct ionic *ionic = lif->ionic; ionic 729 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_lock(&ionic->dev_cmd_lock); ionic 731 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_DOWN); ionic 732 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 735 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_UP); ionic 736 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 739 drivers/net/ethernet/pensando/ionic/ionic_ethtool.c mutex_unlock(&ionic->dev_cmd_lock); ionic 136 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 154 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic *ionic = lif->ionic; ionic 157 drivers/net/ethernet/pensando/ionic/ionic_lif.c index = find_first_zero_bit(ionic->intrs, ionic->nintrs); ionic 158 drivers/net/ethernet/pensando/ionic/ionic_lif.c if (index == ionic->nintrs) { ionic 160 drivers/net/ethernet/pensando/ionic/ionic_lif.c __func__, index, ionic->nintrs); ionic 164 drivers/net/ethernet/pensando/ionic/ionic_lif.c set_bit(index, ionic->intrs); ionic 165 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic_intr_init(&ionic->idev, intr, index); ionic 172 drivers/net/ethernet/pensando/ionic/ionic_lif.c if (index != INTR_INDEX_NOT_ASSIGNED && index < lif->ionic->nintrs) ionic 173 drivers/net/ethernet/pensando/ionic/ionic_lif.c clear_bit(index, lif->ionic->intrs); ionic 194 drivers/net/ethernet/pensando/ionic/ionic_lif.c idev = &lif->ionic->idev; ionic 195 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev = lif->ionic->dev; ionic 230 drivers/net/ethernet/pensando/ionic/ionic_lif.c idev = &lif->ionic->idev; ionic 231 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev = lif->ionic->dev; ionic 249 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic_dev *idev = &lif->ionic->idev; ionic 250 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 272 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 293 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 341 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic_dev *idev = &lif->ionic->idev; ionic 343 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 402 drivers/net/ethernet/pensando/ionic/ionic_lif.c err = ionic_bus_get_irq(lif->ionic, new->intr.index); ionic 474 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 489 drivers/net/ethernet/pensando/ionic/ionic_lif.c if (lif->ionic->nnqs_per_lif) { ionic 555 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 602 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 674 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(lif->ionic->dev, "notifyq event:\n"); ionic 700 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic_dev *idev = &lif->ionic->idev; ionic 858 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic *ionic = lif->ionic; ionic 868 drivers/net/ethernet/pensando/ionic/ionic_lif.c nmfilters = le32_to_cpu(ionic->ident.lif.eth.max_mcast_filters); ionic 869 drivers/net/ethernet/pensando/ionic/ionic_lif.c nufilters = le32_to_cpu(ionic->ident.lif.eth.max_ucast_filters); ionic 982 drivers/net/ethernet/pensando/ionic/ionic_lif.c ident = &lif->ionic->ident; ionic 1067 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 1091 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_info_once(lif->ionic->dev, "NIC is not supporting vlan offload, likely in SmartNIC mode\n"); ionic 1354 drivers/net/ethernet/pensando/ionic/ionic_lif.c tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); ionic 1378 drivers/net/ethernet/pensando/ionic/ionic_lif.c tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); ionic 1389 drivers/net/ethernet/pensando/ionic/ionic_lif.c tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); ionic 1455 drivers/net/ethernet/pensando/ionic/ionic_lif.c coal = ionic_coal_usec_to_hw(lif->ionic, lif->rx_coalesce_usecs); ionic 1467 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic_intr_coal_init(lif->ionic->idev.intr_ctrl, ionic 1585 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(lif->ionic->dev, "%s: %s state=DOWN\n", ionic 1589 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(lif->ionic->dev, "%s: %s state=UP\n", __func__, lif->name); ionic 1641 drivers/net/ethernet/pensando/ionic/ionic_lif.c static struct ionic_lif *ionic_lif_alloc(struct ionic *ionic, unsigned int index) ionic 1643 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = ionic->dev; ionic 1651 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->ntxqs_per_lif, ionic->ntxqs_per_lif); ionic 1661 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->master_lif = lif; ionic 1669 drivers/net/ethernet/pensando/ionic/ionic_lif.c lif->neqs = ionic->neqs_per_lif; ionic 1670 drivers/net/ethernet/pensando/ionic/ionic_lif.c lif->nxqs = ionic->ntxqs_per_lif; ionic 1672 drivers/net/ethernet/pensando/ionic/ionic_lif.c lif->ionic = ionic; ionic 1678 drivers/net/ethernet/pensando/ionic/ionic_lif.c coal = ionic_coal_usec_to_hw(lif->ionic, IONIC_ITR_COAL_USEC_DEFAULT); ionic 1679 drivers/net/ethernet/pensando/ionic/ionic_lif.c lif->rx_coalesce_usecs = ionic_coal_hw_to_usec(lif->ionic, coal); ionic 1705 drivers/net/ethernet/pensando/ionic/ionic_lif.c tbl_sz = le16_to_cpu(lif->ionic->ident.lif.eth.rss_ind_tbl_sz); ionic 1718 drivers/net/ethernet/pensando/ionic/ionic_lif.c list_add_tail(&lif->list, &ionic->lifs); ionic 1735 drivers/net/ethernet/pensando/ionic/ionic_lif.c int ionic_lifs_alloc(struct ionic *ionic) ionic 1739 drivers/net/ethernet/pensando/ionic/ionic_lif.c INIT_LIST_HEAD(&ionic->lifs); ionic 1742 drivers/net/ethernet/pensando/ionic/ionic_lif.c set_bit(0, ionic->lifbits); ionic 1743 drivers/net/ethernet/pensando/ionic/ionic_lif.c lif = ionic_lif_alloc(ionic, 0); ionic 1750 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic_dev *idev = &lif->ionic->idev; ionic 1752 drivers/net/ethernet/pensando/ionic/ionic_lif.c mutex_lock(&lif->ionic->dev_cmd_lock); ionic 1754 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic_dev_cmd_wait(lif->ionic, DEVCMD_TIMEOUT); ionic 1755 drivers/net/ethernet/pensando/ionic/ionic_lif.c mutex_unlock(&lif->ionic->dev_cmd_lock); ionic 1760 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 1778 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic_bus_unmap_dbpage(lif->ionic, lif->kern_dbpage); ionic 1789 drivers/net/ethernet/pensando/ionic/ionic_lif.c void ionic_lifs_free(struct ionic *ionic) ionic 1794 drivers/net/ethernet/pensando/ionic/ionic_lif.c list_for_each_safe(cur, tmp, &ionic->lifs) { ionic 1818 drivers/net/ethernet/pensando/ionic/ionic_lif.c void ionic_lifs_deinit(struct ionic *ionic) ionic 1823 drivers/net/ethernet/pensando/ionic/ionic_lif.c list_for_each_safe(cur, tmp, &ionic->lifs) { ionic 1831 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 1838 drivers/net/ethernet/pensando/ionic/ionic_lif.c idev = &lif->ionic->idev; ionic 1842 drivers/net/ethernet/pensando/ionic/ionic_lif.c mutex_lock(&lif->ionic->dev_cmd_lock); ionic 1844 drivers/net/ethernet/pensando/ionic/ionic_lif.c err = ionic_dev_cmd_wait(lif->ionic, DEVCMD_TIMEOUT); ionic 1846 drivers/net/ethernet/pensando/ionic/ionic_lif.c mutex_unlock(&lif->ionic->dev_cmd_lock); ionic 1885 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 1971 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic_dev *idev = &lif->ionic->idev; ionic 1972 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct device *dev = lif->ionic->dev; ionic 1979 drivers/net/ethernet/pensando/ionic/ionic_lif.c mutex_lock(&lif->ionic->dev_cmd_lock); ionic 1981 drivers/net/ethernet/pensando/ionic/ionic_lif.c err = ionic_dev_cmd_wait(lif->ionic, DEVCMD_TIMEOUT); ionic 1983 drivers/net/ethernet/pensando/ionic/ionic_lif.c mutex_unlock(&lif->ionic->dev_cmd_lock); ionic 1990 drivers/net/ethernet/pensando/ionic/ionic_lif.c lif->dbid_count = le32_to_cpu(lif->ionic->ident.dev.ndbpgs_per_lif); ionic 2007 drivers/net/ethernet/pensando/ionic/ionic_lif.c lif->kern_dbpage = ionic_bus_map_dbpage(lif->ionic, dbpage_num); ionic 2018 drivers/net/ethernet/pensando/ionic/ionic_lif.c if (lif->ionic->nnqs_per_lif) { ionic 2049 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic_bus_unmap_dbpage(lif->ionic, lif->kern_dbpage); ionic 2058 drivers/net/ethernet/pensando/ionic/ionic_lif.c int ionic_lifs_init(struct ionic *ionic) ionic 2064 drivers/net/ethernet/pensando/ionic/ionic_lif.c list_for_each_safe(cur, tmp, &ionic->lifs) { ionic 2107 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic *ionic = container_of(nb, struct ionic, nb); ionic 2110 drivers/net/ethernet/pensando/ionic/ionic_lif.c if (!lif || lif->ionic != ionic) ionic 2122 drivers/net/ethernet/pensando/ionic/ionic_lif.c int ionic_lifs_register(struct ionic *ionic) ionic 2126 drivers/net/ethernet/pensando/ionic/ionic_lif.c INIT_WORK(&ionic->nb_work, ionic_lif_notify_work); ionic 2128 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->nb.notifier_call = ionic_lif_notify; ionic 2130 drivers/net/ethernet/pensando/ionic/ionic_lif.c err = register_netdevice_notifier(&ionic->nb); ionic 2132 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->nb.notifier_call = NULL; ionic 2135 drivers/net/ethernet/pensando/ionic/ionic_lif.c err = register_netdev(ionic->master_lif->netdev); ionic 2137 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_err(ionic->dev, "Cannot register net device, aborting\n"); ionic 2141 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic_link_status_check_request(ionic->master_lif); ionic 2142 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->master_lif->registered = true; ionic 2147 drivers/net/ethernet/pensando/ionic/ionic_lif.c void ionic_lifs_unregister(struct ionic *ionic) ionic 2149 drivers/net/ethernet/pensando/ionic/ionic_lif.c if (ionic->nb.notifier_call) { ionic 2150 drivers/net/ethernet/pensando/ionic/ionic_lif.c unregister_netdevice_notifier(&ionic->nb); ionic 2151 drivers/net/ethernet/pensando/ionic/ionic_lif.c cancel_work_sync(&ionic->nb_work); ionic 2152 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->nb.notifier_call = NULL; ionic 2159 drivers/net/ethernet/pensando/ionic/ionic_lif.c cancel_work_sync(&ionic->master_lif->deferred.work); ionic 2160 drivers/net/ethernet/pensando/ionic/ionic_lif.c cancel_work_sync(&ionic->master_lif->tx_timeout_work); ionic 2161 drivers/net/ethernet/pensando/ionic/ionic_lif.c if (ionic->master_lif->netdev->reg_state == NETREG_REGISTERED) ionic 2162 drivers/net/ethernet/pensando/ionic/ionic_lif.c unregister_netdev(ionic->master_lif->netdev); ionic 2165 drivers/net/ethernet/pensando/ionic/ionic_lif.c int ionic_lif_identify(struct ionic *ionic, u8 lif_type, ionic 2168 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic_dev *idev = &ionic->idev; ionic 2174 drivers/net/ethernet/pensando/ionic/ionic_lif.c mutex_lock(&ionic->dev_cmd_lock); ionic 2176 drivers/net/ethernet/pensando/ionic/ionic_lif.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 2178 drivers/net/ethernet/pensando/ionic/ionic_lif.c mutex_unlock(&ionic->dev_cmd_lock); ionic 2182 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "capabilities 0x%llx\n", ionic 2185 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.max_ucast_filters %d\n", ionic 2187 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.max_mcast_filters %d\n", ionic 2189 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.features 0x%llx\n", ionic 2191 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.queue_count[IONIC_QTYPE_ADMINQ] %d\n", ionic 2193 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.queue_count[IONIC_QTYPE_NOTIFYQ] %d\n", ionic 2195 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.queue_count[IONIC_QTYPE_RXQ] %d\n", ionic 2197 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.queue_count[IONIC_QTYPE_TXQ] %d\n", ionic 2199 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.config.name %s\n", lid->eth.config.name); ionic 2200 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.config.mac %pM\n", lid->eth.config.mac); ionic 2201 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_dbg(ionic->dev, "eth.config.mtu %d\n", ionic 2207 drivers/net/ethernet/pensando/ionic/ionic_lif.c int ionic_lifs_size(struct ionic *ionic) ionic 2209 drivers/net/ethernet/pensando/ionic/ionic_lif.c struct ionic_identity *ident = &ionic->ident; ionic 2243 drivers/net/ethernet/pensando/ionic/ionic_lif.c err = ionic_bus_alloc_irq_vectors(ionic, nintrs); ionic 2245 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_err(ionic->dev, "Can't get intrs from OS: %d\n", err); ionic 2252 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic_bus_free_irq_vectors(ionic); ionic 2256 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->nnqs_per_lif = nnqs_per_lif; ionic 2257 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->neqs_per_lif = neqs; ionic 2258 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->ntxqs_per_lif = nxqs; ionic 2259 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->nrxqs_per_lif = nxqs; ionic 2260 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic->nintrs = nintrs; ionic 2262 drivers/net/ethernet/pensando/ionic/ionic_lif.c ionic_debugfs_add_sizes(ionic); ionic 2279 drivers/net/ethernet/pensando/ionic/ionic_lif.c dev_err(ionic->dev, "Can't get minimum %d intrs from OS\n", min_intrs); ionic 139 drivers/net/ethernet/pensando/ionic/ionic_lif.h struct ionic *ionic; ionic 201 drivers/net/ethernet/pensando/ionic/ionic_lif.h static inline u32 ionic_coal_usec_to_hw(struct ionic *ionic, u32 usecs) ionic 203 drivers/net/ethernet/pensando/ionic/ionic_lif.h u32 mult = le32_to_cpu(ionic->ident.dev.intr_coal_mult); ionic 204 drivers/net/ethernet/pensando/ionic/ionic_lif.h u32 div = le32_to_cpu(ionic->ident.dev.intr_coal_div); ionic 217 drivers/net/ethernet/pensando/ionic/ionic_lif.h static inline u32 ionic_coal_hw_to_usec(struct ionic *ionic, u32 units) ionic 219 drivers/net/ethernet/pensando/ionic/ionic_lif.h u32 mult = le32_to_cpu(ionic->ident.dev.intr_coal_mult); ionic 220 drivers/net/ethernet/pensando/ionic/ionic_lif.h u32 div = le32_to_cpu(ionic->ident.dev.intr_coal_div); ionic 230 drivers/net/ethernet/pensando/ionic/ionic_lif.h int ionic_lifs_alloc(struct ionic *ionic); ionic 231 drivers/net/ethernet/pensando/ionic/ionic_lif.h void ionic_lifs_free(struct ionic *ionic); ionic 232 drivers/net/ethernet/pensando/ionic/ionic_lif.h void ionic_lifs_deinit(struct ionic *ionic); ionic 233 drivers/net/ethernet/pensando/ionic/ionic_lif.h int ionic_lifs_init(struct ionic *ionic); ionic 234 drivers/net/ethernet/pensando/ionic/ionic_lif.h int ionic_lifs_register(struct ionic *ionic); ionic 235 drivers/net/ethernet/pensando/ionic/ionic_lif.h void ionic_lifs_unregister(struct ionic *ionic); ionic 236 drivers/net/ethernet/pensando/ionic/ionic_lif.h int ionic_lif_identify(struct ionic *ionic, u8 lif_type, ionic 238 drivers/net/ethernet/pensando/ionic/ionic_lif.h int ionic_lifs_size(struct ionic *ionic); ionic 300 drivers/net/ethernet/pensando/ionic/ionic_main.c ionic_intr_credits(cq->lif->ionic->idev.intr_ctrl, ionic 310 drivers/net/ethernet/pensando/ionic/ionic_main.c int ionic_dev_cmd_wait(struct ionic *ionic, unsigned long max_seconds) ionic 312 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_dev *idev = &ionic->idev; ionic 337 drivers/net/ethernet/pensando/ionic/ionic_main.c dev_dbg(ionic->dev, "DEVCMD %s (%d) done=%d took %ld secs (%ld jiffies)\n", ionic 342 drivers/net/ethernet/pensando/ionic/ionic_main.c dev_warn(ionic->dev, "DEVCMD %s (%d) timeout after %ld secs\n", ionic 347 drivers/net/ethernet/pensando/ionic/ionic_main.c err = ionic_dev_cmd_status(&ionic->idev); ionic 350 drivers/net/ethernet/pensando/ionic/ionic_main.c dev_err(ionic->dev, "DEV_CMD %s (%d) error, %s (%d) retrying...\n", ionic 360 drivers/net/ethernet/pensando/ionic/ionic_main.c dev_err(ionic->dev, "DEV_CMD %s (%d) error, %s (%d) failed\n", ionic 370 drivers/net/ethernet/pensando/ionic/ionic_main.c int ionic_setup(struct ionic *ionic) ionic 374 drivers/net/ethernet/pensando/ionic/ionic_main.c err = ionic_dev_setup(ionic); ionic 381 drivers/net/ethernet/pensando/ionic/ionic_main.c int ionic_identify(struct ionic *ionic) ionic 383 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_identity *ident = &ionic->ident; ionic 384 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_dev *idev = &ionic->idev; ionic 394 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_lock(&ionic->dev_cmd_lock); ionic 400 drivers/net/ethernet/pensando/ionic/ionic_main.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 406 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_unlock(&ionic->dev_cmd_lock); ionic 411 drivers/net/ethernet/pensando/ionic/ionic_main.c ionic_debugfs_add_ident(ionic); ionic 419 drivers/net/ethernet/pensando/ionic/ionic_main.c int ionic_init(struct ionic *ionic) ionic 421 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_dev *idev = &ionic->idev; ionic 424 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_lock(&ionic->dev_cmd_lock); ionic 426 drivers/net/ethernet/pensando/ionic/ionic_main.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 427 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_unlock(&ionic->dev_cmd_lock); ionic 432 drivers/net/ethernet/pensando/ionic/ionic_main.c int ionic_reset(struct ionic *ionic) ionic 434 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_dev *idev = &ionic->idev; ionic 437 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_lock(&ionic->dev_cmd_lock); ionic 439 drivers/net/ethernet/pensando/ionic/ionic_main.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 440 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_unlock(&ionic->dev_cmd_lock); ionic 445 drivers/net/ethernet/pensando/ionic/ionic_main.c int ionic_port_identify(struct ionic *ionic) ionic 447 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_identity *ident = &ionic->ident; ionic 448 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_dev *idev = &ionic->idev; ionic 452 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_lock(&ionic->dev_cmd_lock); ionic 455 drivers/net/ethernet/pensando/ionic/ionic_main.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 461 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_unlock(&ionic->dev_cmd_lock); ionic 466 drivers/net/ethernet/pensando/ionic/ionic_main.c int ionic_port_init(struct ionic *ionic) ionic 468 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_identity *ident = &ionic->ident; ionic 469 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_dev *idev = &ionic->idev; ionic 477 drivers/net/ethernet/pensando/ionic/ionic_main.c idev->port_info = dma_alloc_coherent(ionic->dev, idev->port_info_sz, ionic 481 drivers/net/ethernet/pensando/ionic/ionic_main.c dev_err(ionic->dev, "Failed to allocate port info, aborting\n"); ionic 487 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_lock(&ionic->dev_cmd_lock); ionic 491 drivers/net/ethernet/pensando/ionic/ionic_main.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 493 drivers/net/ethernet/pensando/ionic/ionic_main.c ionic_dev_cmd_port_state(&ionic->idev, IONIC_PORT_ADMIN_STATE_UP); ionic 494 drivers/net/ethernet/pensando/ionic/ionic_main.c (void)ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 496 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_unlock(&ionic->dev_cmd_lock); ionic 498 drivers/net/ethernet/pensando/ionic/ionic_main.c dev_err(ionic->dev, "Failed to init port\n"); ionic 499 drivers/net/ethernet/pensando/ionic/ionic_main.c dma_free_coherent(ionic->dev, idev->port_info_sz, ionic 508 drivers/net/ethernet/pensando/ionic/ionic_main.c int ionic_port_reset(struct ionic *ionic) ionic 510 drivers/net/ethernet/pensando/ionic/ionic_main.c struct ionic_dev *idev = &ionic->idev; ionic 516 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_lock(&ionic->dev_cmd_lock); ionic 518 drivers/net/ethernet/pensando/ionic/ionic_main.c err = ionic_dev_cmd_wait(ionic, DEVCMD_TIMEOUT); ionic 519 drivers/net/ethernet/pensando/ionic/ionic_main.c mutex_unlock(&ionic->dev_cmd_lock); ionic 521 drivers/net/ethernet/pensando/ionic/ionic_main.c dma_free_coherent(ionic->dev, idev->port_info_sz, ionic 528 drivers/net/ethernet/pensando/ionic/ionic_main.c dev_err(ionic->dev, "Failed to reset port\n"); ionic 13 drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c struct device *dev = lif->ionic->dev; ionic 64 drivers/net/ethernet/pensando/ionic/ionic_rx_filter.c struct device *dev = lif->ionic->dev; ionic 55 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev; ionic 206 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct ionic_dev *idev = &cq->lif->ionic->idev; ionic 226 drivers/net/ethernet/pensando/ionic/ionic_txrx.c dev = lif->ionic->dev; ionic 286 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev; ionic 311 drivers/net/ethernet/pensando/ionic/ionic_txrx.c idev = &lif->ionic->idev; ionic 340 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev; ionic 357 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev; ionic 376 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev; ionic 419 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct ionic_dev *idev = &cq->lif->ionic->idev; ionic 549 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev; ionic 718 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev; ionic 755 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev; ionic 789 drivers/net/ethernet/pensando/ionic/ionic_txrx.c struct device *dev = q->lif->ionic->dev;