Lines Matching refs:idd

65 	struct ioc4_driver_data *idd;  in ioc4_register_submodule()  local
74 list_for_each_entry(idd, &ioc4_devices, idd_list) { in ioc4_register_submodule()
75 if (is->is_probe(idd)) { in ioc4_register_submodule()
80 pci_name(idd->idd_pdev)); in ioc4_register_submodule()
92 struct ioc4_driver_data *idd; in ioc4_unregister_submodule() local
101 list_for_each_entry(idd, &ioc4_devices, idd_list) { in ioc4_unregister_submodule()
102 if (is->is_remove(idd)) { in ioc4_unregister_submodule()
107 pci_name(idd->idd_pdev)); in ioc4_unregister_submodule()
143 ioc4_clock_calibrate(struct ioc4_driver_data *idd) in ioc4_clock_calibrate() argument
155 writel(gpcr.raw, &idd->idd_misc_regs->gpcr_s.raw); in ioc4_clock_calibrate()
158 writel(0, &idd->idd_misc_regs->int_out.raw); in ioc4_clock_calibrate()
166 writel(int_out.raw, &idd->idd_misc_regs->int_out.raw); in ioc4_clock_calibrate()
175 int_out.raw = readl(&idd->idd_misc_regs->int_out.raw); in ioc4_clock_calibrate()
204 pci_name(idd->idd_pdev), in ioc4_clock_calibrate()
213 pci_name(idd->idd_pdev), (unsigned long long)ns); in ioc4_clock_calibrate()
221 idd->count_period = period; in ioc4_clock_calibrate()
233 ioc4_variant(struct ioc4_driver_data *idd) in ioc4_variant() argument
243 idd->idd_pdev->bus->number == pdev->bus->number && in ioc4_variant()
258 idd->idd_pdev->bus->number == pdev->bus->number && in ioc4_variant()
283 struct ioc4_driver_data *idd; in ioc4_probe() local
298 idd = kmalloc(sizeof(struct ioc4_driver_data), GFP_KERNEL); in ioc4_probe()
299 if (!idd) { in ioc4_probe()
306 idd->idd_pdev = pdev; in ioc4_probe()
307 idd->idd_pci_id = pci_id; in ioc4_probe()
312 idd->idd_bar0 = pci_resource_start(idd->idd_pdev, 0); in ioc4_probe()
313 if (!idd->idd_bar0) { in ioc4_probe()
317 __func__, pci_name(idd->idd_pdev)); in ioc4_probe()
321 if (!request_mem_region(idd->idd_bar0, sizeof(struct ioc4_misc_regs), in ioc4_probe()
326 __func__, pci_name(idd->idd_pdev)); in ioc4_probe()
330 idd->idd_misc_regs = ioremap(idd->idd_bar0, in ioc4_probe()
332 if (!idd->idd_misc_regs) { in ioc4_probe()
336 __func__, pci_name(idd->idd_pdev)); in ioc4_probe()
344 idd->idd_variant = ioc4_variant(idd); in ioc4_probe()
346 idd->idd_variant == IOC4_VARIANT_IO9 ? "IO9" : in ioc4_probe()
347 idd->idd_variant == IOC4_VARIANT_PCI_RT ? "PCI-RT" : in ioc4_probe()
348 idd->idd_variant == IOC4_VARIANT_IO10 ? "IO10" : "unknown"); in ioc4_probe()
351 pci_read_config_dword(idd->idd_pdev, PCI_COMMAND, &pcmd); in ioc4_probe()
352 pci_write_config_dword(idd->idd_pdev, PCI_COMMAND, in ioc4_probe()
356 ioc4_clock_calibrate(idd); in ioc4_probe()
363 writel(~0, &idd->idd_misc_regs->other_iec.raw); in ioc4_probe()
364 writel(~0, &idd->idd_misc_regs->sio_iec); in ioc4_probe()
366 writel(~0, &idd->idd_misc_regs->other_ir.raw); in ioc4_probe()
367 writel(~0, &idd->idd_misc_regs->sio_ir); in ioc4_probe()
370 idd->idd_serial_data = NULL; in ioc4_probe()
371 pci_set_drvdata(idd->idd_pdev, idd); in ioc4_probe()
374 list_add_tail(&idd->idd_list, &ioc4_devices); in ioc4_probe()
378 if (is->is_probe && is->is_probe(idd)) { in ioc4_probe()
383 pci_name(idd->idd_pdev)); in ioc4_probe()
394 if (idd->idd_variant != IOC4_VARIANT_PCI_RT) { in ioc4_probe()
406 release_mem_region(idd->idd_bar0, sizeof(struct ioc4_misc_regs)); in ioc4_probe()
408 kfree(idd); in ioc4_probe()
420 struct ioc4_driver_data *idd; in ioc4_remove() local
422 idd = pci_get_drvdata(pdev); in ioc4_remove()
427 if (is->is_remove && is->is_remove(idd)) { in ioc4_remove()
432 pci_name(idd->idd_pdev)); in ioc4_remove()
438 iounmap(idd->idd_misc_regs); in ioc4_remove()
439 if (!idd->idd_bar0) { in ioc4_remove()
443 __func__, pci_name(idd->idd_pdev)); in ioc4_remove()
445 release_mem_region(idd->idd_bar0, sizeof(struct ioc4_misc_regs)); in ioc4_remove()
452 list_del(&idd->idd_list); in ioc4_remove()
454 kfree(idd); in ioc4_remove()