Lines Matching refs:ionic

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()
46 struct device *dev = ionic->dev; in ionic_map_bars()
50 bars = ionic->bars; in ionic_map_bars()
51 ionic->num_bars = 0; in ionic_map_bars()
73 ionic->num_bars++; in ionic_map_bars()
80 static void ionic_unmap_bars(struct ionic *ionic) in ionic_unmap_bars() argument
82 struct ionic_dev_bar *bars = ionic->bars; in ionic_unmap_bars()
95 void __iomem *ionic_bus_map_dbpage(struct ionic *ionic, int page_num) in ionic_bus_map_dbpage() argument
97 return pci_iomap_range(ionic->pdev, in ionic_bus_map_dbpage()
98 ionic->bars[IONIC_PCI_BAR_DBELL].res_index, in ionic_bus_map_dbpage()
102 void ionic_bus_unmap_dbpage(struct ionic *ionic, void __iomem *page) in ionic_bus_unmap_dbpage() argument
110 struct ionic *ionic; in ionic_probe() local
113 ionic = ionic_devlink_alloc(dev); in ionic_probe()
114 if (!ionic) in ionic_probe()
117 ionic->pdev = pdev; in ionic_probe()
118 ionic->dev = dev; in ionic_probe()
119 pci_set_drvdata(pdev, ionic); in ionic_probe()
120 mutex_init(&ionic->dev_cmd_lock); in ionic_probe()
130 ionic_debugfs_add_dev(ionic); in ionic_probe()
147 err = ionic_map_bars(ionic); in ionic_probe()
152 err = ionic_setup(ionic); in ionic_probe()
158 err = ionic_identify(ionic); in ionic_probe()
164 err = ionic_init(ionic); in ionic_probe()
171 err = ionic_port_identify(ionic); in ionic_probe()
177 err = ionic_port_init(ionic); in ionic_probe()
184 err = ionic_lif_identify(ionic, IONIC_LIF_TYPE_CLASSIC, in ionic_probe()
185 &ionic->ident.lif); in ionic_probe()
191 err = ionic_lifs_size(ionic); in ionic_probe()
197 err = ionic_lifs_alloc(ionic); in ionic_probe()
203 err = ionic_lifs_init(ionic); in ionic_probe()
209 err = ionic_lifs_register(ionic); in ionic_probe()
215 err = ionic_devlink_register(ionic); in ionic_probe()
224 ionic_lifs_unregister(ionic); in ionic_probe()
226 ionic_lifs_deinit(ionic); in ionic_probe()
228 ionic_lifs_free(ionic); in ionic_probe()
230 ionic_bus_free_irq_vectors(ionic); in ionic_probe()
232 ionic_port_reset(ionic); in ionic_probe()
234 ionic_reset(ionic); in ionic_probe()
236 ionic_dev_teardown(ionic); in ionic_probe()
238 ionic_unmap_bars(ionic); in ionic_probe()
245 ionic_debugfs_del_dev(ionic); in ionic_probe()
247 mutex_destroy(&ionic->dev_cmd_lock); in ionic_probe()
248 ionic_devlink_free(ionic); in ionic_probe()
255 struct ionic *ionic = pci_get_drvdata(pdev); in ionic_remove() local
257 if (!ionic) in ionic_remove()
260 ionic_devlink_unregister(ionic); in ionic_remove()
261 ionic_lifs_unregister(ionic); in ionic_remove()
262 ionic_lifs_deinit(ionic); in ionic_remove()
263 ionic_lifs_free(ionic); in ionic_remove()
264 ionic_bus_free_irq_vectors(ionic); in ionic_remove()
265 ionic_port_reset(ionic); in ionic_remove()
266 ionic_reset(ionic); in ionic_remove()
267 ionic_dev_teardown(ionic); in ionic_remove()
268 ionic_unmap_bars(ionic); in ionic_remove()
272 ionic_debugfs_del_dev(ionic); in ionic_remove()
273 mutex_destroy(&ionic->dev_cmd_lock); in ionic_remove()
274 ionic_devlink_free(ionic); in ionic_remove()