Lines Matching refs:dev

56 drm_pci_attach_args(struct drm_device *dev)  in drm_pci_attach_args()  argument
58 return &dev->pdev->pd_pa; in drm_pci_attach_args()
62 drm_pci_attach(struct drm_device *dev, struct pci_dev *pdev) in drm_pci_attach() argument
64 device_t self = dev->dev; in drm_pci_attach()
75 dev->pdev = pdev; in drm_pci_attach()
80 dev->bst = pa->pa_memt; in drm_pci_attach()
81 dev->bus_dmat = (pci_dma64_available(pa)? pa->pa_dmat64 : pa->pa_dmat); in drm_pci_attach()
82 dev->bus_dmat32 = pa->pa_dmat; in drm_pci_attach()
83 dev->dmat = dev->bus_dmat; in drm_pci_attach()
84 dev->dmat_subregion_p = false; in drm_pci_attach()
85 dev->dmat_subregion_min = 0; in drm_pci_attach()
86 dev->dmat_subregion_max = __type_max(bus_addr_t); in drm_pci_attach()
89 CTASSERT(PCI_NUM_RESOURCES < (SIZE_MAX / sizeof(dev->bus_maps[0]))); in drm_pci_attach()
90 dev->bus_maps = kmem_zalloc(PCI_NUM_RESOURCES * in drm_pci_attach()
91 sizeof(dev->bus_maps[0]), KM_SLEEP); in drm_pci_attach()
92 dev->bus_nmaps = PCI_NUM_RESOURCES; in drm_pci_attach()
94 struct drm_bus_map *const bm = &dev->bus_maps[unit]; in drm_pci_attach()
126 if (drm_core_check_feature(dev, DRIVER_USE_AGP)) { in drm_pci_attach()
127 if (pci_find_capability(dev->pdev, PCI_CAP_ID_AGP)) in drm_pci_attach()
128 dev->agp = drm_agp_init(dev); in drm_pci_attach()
129 if (dev->agp) in drm_pci_attach()
130 dev->agp->agp_mtrr = arch_phys_wc_add(dev->agp->base, in drm_pci_attach()
131 dev->agp->agp_info.aki_info.ai_aperture_size); in drm_pci_attach()
139 drm_pci_detach(struct drm_device *dev) in drm_pci_detach() argument
143 if (dev->agp) { in drm_pci_detach()
144 arch_phys_wc_del(dev->agp->agp_mtrr); in drm_pci_detach()
145 drm_agp_fini(dev); in drm_pci_detach()
146 KASSERT(dev->agp == NULL); in drm_pci_detach()
150 dev->bus_nmaps = 0; in drm_pci_detach()
151 kmem_free(dev->bus_maps, PCI_NUM_RESOURCES * sizeof(dev->bus_maps[0])); in drm_pci_detach()
154 if (dev->dmat_subregion_p) { in drm_pci_detach()
155 bus_dmatag_destroy(dev->dmat); in drm_pci_detach()
160 drm_pci_request_irq(struct drm_device *dev, int flags) in drm_pci_request_irq() argument
162 const char *const name = device_xname(dev->dev); in drm_pci_request_irq()
163 int (*const handler)(void *) = dev->driver->irq_handler; in drm_pci_request_irq()
164 const struct pci_attach_args *const pa = drm_pci_attach_args(dev); in drm_pci_request_irq()
171 if (dev->pdev->msi_enabled) { in drm_pci_request_irq()
172 if (dev->pdev->pd_intr_handles == NULL) { in drm_pci_request_irq()
175 aprint_error_dev(dev->dev, in drm_pci_request_irq()
180 irq_cookie->intr_handles = dev->pdev->pd_intr_handles; in drm_pci_request_irq()
181 dev->pdev->pd_intr_handles = NULL; in drm_pci_request_irq()
185 aprint_error_dev(dev->dev, in drm_pci_request_irq()
196 irq_cookie->intr_handles[0], IPL_DRM, handler, dev, name); in drm_pci_request_irq()
198 aprint_error_dev(dev->dev, in drm_pci_request_irq()
204 aprint_normal_dev(dev->dev, "interrupting at %s (%s)\n", intrstr, name); in drm_pci_request_irq()
205 dev->irq_cookie = irq_cookie; in drm_pci_request_irq()
214 drm_pci_free_irq(struct drm_device *dev) in drm_pci_free_irq() argument
216 struct drm_bus_irq_cookie *const cookie = dev->irq_cookie; in drm_pci_free_irq()
217 const struct pci_attach_args *pa = drm_pci_attach_args(dev); in drm_pci_free_irq()
222 dev->irq_cookie = NULL; in drm_pci_free_irq()