Lines Matching refs:pci_dev

188 	struct pci_dev *pci_dev = cobalt->pci_dev;
189 struct pci_dev *pci_bus_dev = cobalt->pci_dev->bus->self;
193 if (!pci_is_pcie(pci_dev) || !pci_is_pcie(pci_bus_dev))
197 pcie_capability_read_dword(pci_dev, PCI_EXP_DEVCAP, &capa);
198 pcie_capability_read_word(pci_dev, PCI_EXP_DEVCTL, &ctrl);
199 pcie_capability_read_word(pci_dev, PCI_EXP_DEVSTA, &stat);
209 pcie_capability_read_dword(pci_dev, PCI_EXP_LNKCAP, &capa);
210 pcie_capability_read_word(pci_dev, PCI_EXP_LNKCTL, &ctrl);
211 pcie_capability_read_word(pci_dev, PCI_EXP_LNKSTA, &stat);
227 pcie_capability_read_dword(pci_dev, PCI_EXP_SLTCAP, &capa);
228 pcie_capability_read_word(pci_dev, PCI_EXP_SLTCTL, &ctrl);
229 pcie_capability_read_word(pci_dev, PCI_EXP_SLTSTA, &stat);
237 struct pci_dev *pci_dev = cobalt->pci_dev;
240 if (!pci_is_pcie(pci_dev))
242 pcie_capability_read_word(pci_dev, PCI_EXP_LNKSTA, &link);
248 struct pci_dev *pci_dev = cobalt->pci_dev->bus->self;
251 if (!pci_is_pcie(pci_dev))
253 pcie_capability_read_dword(pci_dev, PCI_EXP_LNKCAP, &link);
257 static void msi_config_show(struct cobalt *cobalt, struct pci_dev *pci_dev)
262 pci_read_config_word(pci_dev, 0x52, &ctrl);
268 pci_read_config_dword(pci_dev, 0x54, &adrs_l);
269 pci_read_config_dword(pci_dev, 0x58, &adrs_h);
270 pci_read_config_word(pci_dev, 0x5c, &data);
279 static void cobalt_pci_iounmap(struct cobalt *cobalt, struct pci_dev *pci_dev)
282 pci_iounmap(pci_dev, cobalt->bar0);
286 pci_iounmap(pci_dev, cobalt->bar1);
291 static void cobalt_free_msi(struct cobalt *cobalt, struct pci_dev *pci_dev)
293 free_irq(pci_dev->irq, (void *)cobalt);
294 pci_free_irq_vectors(pci_dev);
297 static int cobalt_setup_pci(struct cobalt *cobalt, struct pci_dev *pci_dev,
305 ret = pci_enable_device(pci_dev);
310 pci_set_master(pci_dev);
311 pci_read_config_byte(pci_dev, PCI_CLASS_REVISION, &cobalt->card_rev);
312 pci_read_config_word(pci_dev, PCI_DEVICE_ID, &cobalt->device_id);
336 if (dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(64))) {
337 ret = dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(32));
344 ret = pci_request_regions(pci_dev, "cobalt");
352 cobalt->bar0 = pci_iomap(pci_dev, 0, 0);
353 cobalt->bar1 = pci_iomap(pci_dev, 1, 0);
355 cobalt->bar1 = pci_iomap(pci_dev, 2, 0);
371 if (pci_alloc_irq_vectors(pci_dev, 1, 1, PCI_IRQ_MSI) < 1) {
376 msi_config_show(cobalt, pci_dev);
379 if (request_irq(pci_dev->irq, cobalt_irq_handler, IRQF_SHARED,
381 cobalt_err("Failed to register irq %d\n", pci_dev->irq);
390 pci_disable_msi(pci_dev);
393 cobalt_pci_iounmap(cobalt, pci_dev);
394 pci_release_regions(pci_dev);
397 pci_disable_device(cobalt->pci_dev);
656 static int cobalt_probe(struct pci_dev *pci_dev,
669 cobalt->pci_dev = pci_dev;
673 retval = v4l2_device_register(&pci_dev->dev, &cobalt->v4l2_dev);
696 retval = cobalt_setup_pci(cobalt, pci_dev, pci_id);
742 cobalt_free_msi(cobalt, pci_dev);
743 cobalt_pci_iounmap(cobalt, pci_dev);
744 pci_release_regions(cobalt->pci_dev);
745 pci_disable_device(cobalt->pci_dev);
756 static void cobalt_remove(struct pci_dev *pci_dev)
758 struct v4l2_device *v4l2_dev = pci_get_drvdata(pci_dev);
777 cobalt_free_msi(cobalt, pci_dev);
779 cobalt_pci_iounmap(cobalt, pci_dev);
780 pci_release_regions(cobalt->pci_dev);
781 pci_disable_device(cobalt->pci_dev);