Lines Matching refs:pdev
46 static void sta2x11_new_instance(struct pci_dev *pdev)
54 instance->bus0 = pdev->subordinate->number + 1;
59 dev_info(&pdev->dev, "Using SWIOTLB (size %i)\n", size);
61 dev_emerg(&pdev->dev, "init swiotlb failed\n");
70 static struct sta2x11_instance *sta2x11_pdev_to_instance(struct pci_dev *pdev)
76 ep = pdev->bus->number - instance->bus0;
83 static int sta2x11_pdev_to_ep(struct pci_dev *pdev)
87 instance = sta2x11_pdev_to_instance(pdev);
91 return pdev->bus->number - instance->bus0;
95 struct sta2x11_instance *sta2x11_get_instance(struct pci_dev *pdev)
97 return sta2x11_pdev_to_instance(pdev);
102 static void sta2x11_setup_pdev(struct pci_dev *pdev)
104 struct sta2x11_instance *instance = sta2x11_pdev_to_instance(pdev);
110 pci_set_master(pdev);
130 /* At probe time, enable mapping for each endpoint, using the pdev */
131 static void sta2x11_map_ep(struct pci_dev *pdev)
133 struct sta2x11_instance *instance = sta2x11_pdev_to_instance(pdev);
134 struct device *dev = &pdev->dev;
141 pci_read_config_dword(pdev, AHB_BASE(0), &amba_base);
149 dma_set_mask_and_coherent(&pdev->dev, max_amba_addr);
152 pci_write_config_dword(pdev, AHB_PEXLBASE(0), 0);
153 pci_write_config_dword(pdev, AHB_PEXHBASE(0), 0);
154 pci_write_config_dword(pdev, AHB_CRW(0), STA2X11_AMBA_SIZE |
159 pci_write_config_dword(pdev, AHB_CRW(i), 0);
161 dev_info(&pdev->dev,
163 sta2x11_pdev_to_ep(pdev), amba_base, max_amba_addr);
169 static struct sta2x11_mapping *sta2x11_pdev_to_mapping(struct pci_dev *pdev)
174 instance = sta2x11_pdev_to_instance(pdev);
177 ep = sta2x11_pdev_to_ep(pdev);
181 static void suspend_mapping(struct pci_dev *pdev)
183 struct sta2x11_mapping *map = sta2x11_pdev_to_mapping(pdev);
197 pci_read_config_dword(pdev, AHB_BASE(i), ®s->base);
198 pci_read_config_dword(pdev, AHB_PEXLBASE(i), ®s->pexlbase);
199 pci_read_config_dword(pdev, AHB_PEXHBASE(i), ®s->pexhbase);
200 pci_read_config_dword(pdev, AHB_CRW(i), ®s->crw);
205 static void resume_mapping(struct pci_dev *pdev)
207 struct sta2x11_mapping *map = sta2x11_pdev_to_mapping(pdev);
222 pci_write_config_dword(pdev, AHB_BASE(i), regs->base);
223 pci_write_config_dword(pdev, AHB_PEXLBASE(i), regs->pexlbase);
224 pci_write_config_dword(pdev, AHB_PEXHBASE(i), regs->pexhbase);
225 pci_write_config_dword(pdev, AHB_CRW(i), regs->crw);
228 pci_set_master(pdev); /* Like at boot, enable master on all devices */