Lines Matching refs:pci_dev
198 struct pci_dev *pci_dev = cobalt->pci_dev; in cobalt_pcie_status_show() local
199 struct pci_dev *pci_bus_dev = cobalt->pci_dev->bus->self; in cobalt_pcie_status_show()
205 offset = pci_find_capability(pci_dev, PCI_CAP_ID_EXP); in cobalt_pcie_status_show()
209 pci_read_config_dword(pci_dev, offset + PCI_EXP_DEVCAP, &capa); in cobalt_pcie_status_show()
210 pci_read_config_word(pci_dev, offset + PCI_EXP_DEVCTL, &ctrl); in cobalt_pcie_status_show()
211 pci_read_config_word(pci_dev, offset + PCI_EXP_DEVSTA, &stat); in cobalt_pcie_status_show()
221 pci_read_config_dword(pci_dev, offset + PCI_EXP_LNKCAP, &capa); in cobalt_pcie_status_show()
222 pci_read_config_word(pci_dev, offset + PCI_EXP_LNKCTL, &ctrl); in cobalt_pcie_status_show()
223 pci_read_config_word(pci_dev, offset + PCI_EXP_LNKSTA, &stat); in cobalt_pcie_status_show()
239 pci_read_config_dword(pci_dev, offset + PCI_EXP_SLTCAP, &capa); in cobalt_pcie_status_show()
240 pci_read_config_word(pci_dev, offset + PCI_EXP_SLTCTL, &ctrl); in cobalt_pcie_status_show()
241 pci_read_config_word(pci_dev, offset + PCI_EXP_SLTSTA, &stat); in cobalt_pcie_status_show()
249 struct pci_dev *pci_dev = cobalt->pci_dev; in pcie_link_get_lanes() local
253 offset = pci_find_capability(pci_dev, PCI_CAP_ID_EXP); in pcie_link_get_lanes()
256 pci_read_config_word(pci_dev, offset + PCI_EXP_LNKSTA, &link); in pcie_link_get_lanes()
262 struct pci_dev *pci_dev = cobalt->pci_dev->bus->self; in pcie_bus_link_get_lanes() local
266 offset = pci_find_capability(pci_dev, PCI_CAP_ID_EXP); in pcie_bus_link_get_lanes()
269 pci_read_config_dword(pci_dev, offset + PCI_EXP_LNKCAP, &link); in pcie_bus_link_get_lanes()
273 static void msi_config_show(struct cobalt *cobalt, struct pci_dev *pci_dev) in msi_config_show() argument
278 pci_read_config_word(pci_dev, 0x52, &ctrl); in msi_config_show()
284 pci_read_config_dword(pci_dev, 0x54, &adrs_l); in msi_config_show()
285 pci_read_config_dword(pci_dev, 0x58, &adrs_h); in msi_config_show()
286 pci_read_config_word(pci_dev, 0x5c, &data); in msi_config_show()
295 static void cobalt_pci_iounmap(struct cobalt *cobalt, struct pci_dev *pci_dev) in cobalt_pci_iounmap() argument
298 pci_iounmap(pci_dev, cobalt->bar0); in cobalt_pci_iounmap()
302 pci_iounmap(pci_dev, cobalt->bar1); in cobalt_pci_iounmap()
307 static void cobalt_free_msi(struct cobalt *cobalt, struct pci_dev *pci_dev) in cobalt_free_msi() argument
309 free_irq(pci_dev->irq, (void *)cobalt); in cobalt_free_msi()
312 pci_disable_msi(pci_dev); in cobalt_free_msi()
315 static int cobalt_setup_pci(struct cobalt *cobalt, struct pci_dev *pci_dev, in cobalt_setup_pci() argument
323 ret = pci_enable_device(pci_dev); in cobalt_setup_pci()
328 pci_set_master(pci_dev); in cobalt_setup_pci()
329 pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &cobalt->card_rev); in cobalt_setup_pci()
330 pci_read_config_word(pci_dev, PCI_DEVICE_ID, &cobalt->device_id); in cobalt_setup_pci()
354 if (pci_set_dma_mask(pci_dev, DMA_BIT_MASK(64))) { in cobalt_setup_pci()
355 ret = pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32)); in cobalt_setup_pci()
362 ret = pci_request_regions(pci_dev, "cobalt"); in cobalt_setup_pci()
370 cobalt->bar0 = pci_iomap(pci_dev, 0, 0); in cobalt_setup_pci()
371 cobalt->bar1 = pci_iomap(pci_dev, 1, 0); in cobalt_setup_pci()
373 cobalt->bar1 = pci_iomap(pci_dev, 2, 0); in cobalt_setup_pci()
389 if (pci_enable_msi_range(pci_dev, 1, 1) < 1) { in cobalt_setup_pci()
395 msi_config_show(cobalt, pci_dev); in cobalt_setup_pci()
399 if (request_irq(pci_dev->irq, cobalt_irq_handler, IRQF_SHARED, in cobalt_setup_pci()
401 cobalt_err("Failed to register irq %d\n", pci_dev->irq); in cobalt_setup_pci()
410 pci_disable_msi(pci_dev); in cobalt_setup_pci()
413 cobalt_pci_iounmap(cobalt, pci_dev); in cobalt_setup_pci()
414 pci_release_regions(pci_dev); in cobalt_setup_pci()
417 pci_disable_device(cobalt->pci_dev); in cobalt_setup_pci()
678 static int cobalt_probe(struct pci_dev *pci_dev, in cobalt_probe() argument
691 cobalt->pci_dev = pci_dev; in cobalt_probe()
694 cobalt->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); in cobalt_probe()
700 retval = v4l2_device_register(&pci_dev->dev, &cobalt->v4l2_dev); in cobalt_probe()
724 retval = cobalt_setup_pci(cobalt, pci_dev, pci_id); in cobalt_probe()
773 cobalt_free_msi(cobalt, pci_dev); in cobalt_probe()
774 cobalt_pci_iounmap(cobalt, pci_dev); in cobalt_probe()
775 pci_release_regions(cobalt->pci_dev); in cobalt_probe()
776 pci_disable_device(cobalt->pci_dev); in cobalt_probe()
790 static void cobalt_remove(struct pci_dev *pci_dev) in cobalt_remove() argument
792 struct v4l2_device *v4l2_dev = pci_get_drvdata(pci_dev); in cobalt_remove()
811 cobalt_free_msi(cobalt, pci_dev); in cobalt_remove()
813 cobalt_pci_iounmap(cobalt, pci_dev); in cobalt_remove()
814 pci_release_regions(cobalt->pci_dev); in cobalt_remove()
815 pci_disable_device(cobalt->pci_dev); in cobalt_remove()