Lines Matching refs:dev

106 static void drm_fill_pdev(device_t dev, struct pci_dev *pdev)  in drm_fill_pdev()  argument
112 pdev->dev.bsddev = dev; in drm_fill_pdev()
113 pdev->devfn = PCI_DEVFN(pci_get_slot(dev), pci_get_function(dev)); in drm_fill_pdev()
114 pdev->vendor = pci_get_vendor(dev); in drm_fill_pdev()
115 pdev->device = pci_get_device(dev); in drm_fill_pdev()
116 pdev->subsystem_vendor = pci_get_subvendor(dev); in drm_fill_pdev()
117 pdev->subsystem_device = pci_get_subdevice(dev); in drm_fill_pdev()
119 pdev->revision = pci_get_revid(dev) & 0xff; in drm_fill_pdev()
121 pdev->_irq_type = pci_alloc_1intr(dev, msi_enable, in drm_fill_pdev()
124 pdev->_irqr = bus_alloc_resource_any(dev, SYS_RES_IRQ, in drm_fill_pdev()
131 slot = pci_get_slot(dev); in drm_fill_pdev()
132 func = pci_get_function(dev); in drm_fill_pdev()
136 void drm_init_pdev(device_t dev, struct pci_dev **pdev) in drm_init_pdev() argument
141 drm_fill_pdev(dev, *pdev); in drm_init_pdev()
146 drm_fill_pdev(device_get_parent(dev), (*pdev)->bus->self); in drm_init_pdev()
147 (*pdev)->bus->number = pci_get_bus(dev); in drm_init_pdev()
176 static int drm_alloc_resource(struct drm_device *dev, int resource)
181 KKASSERT(lockstatus(&dev->struct_mutex, curthread) != 0);
188 if (dev->pcir[resource] != NULL) {
192 DRM_UNLOCK(dev);
194 res = bus_alloc_resource_any(dev->dev->bsddev, SYS_RES_MEMORY, &rid,
196 DRM_LOCK(dev);
199 DRM_UNLOCK(dev);
203 if (dev->pcir[resource] == NULL) {
204 dev->pcirid[resource] = rid;
205 dev->pcir[resource] = res;
211 unsigned long drm_get_resource_start(struct drm_device *dev,
214 if (drm_alloc_resource(dev, resource) != 0)
217 return rman_get_start(dev->pcir[resource]);
220 unsigned long drm_get_resource_len(struct drm_device *dev,
223 if (drm_alloc_resource(dev, resource) != 0)
226 return rman_get_size(dev->pcir[resource]);
234 struct drm_device *dev = softc->drm_driver_data; in drm_device_detach() local
236 drm_sysctl_cleanup(dev); in drm_device_detach()
246 if (dev->pcir[i] == NULL) in drm_device_detach()
248 bus_release_resource(dev->dev->bsddev, SYS_RES_MEMORY, in drm_device_detach()
249 dev->pcirid[i], dev->pcir[i]); in drm_device_detach()
250 dev->pcir[i] = NULL; in drm_device_detach()
254 if (dev->agp) { in drm_device_detach()
255 kfree(dev->agp); in drm_device_detach()
256 dev->agp = NULL; in drm_device_detach()
259 if (dev->driver->unload != NULL) { in drm_device_detach()
260 DRM_LOCK(dev); in drm_device_detach()
261 dev->driver->unload(dev); in drm_device_detach()
262 DRM_UNLOCK(dev); in drm_device_detach()
265 if (pci_disable_busmaster(dev->dev->bsddev)) in drm_device_detach()
268 lockuninit(&dev->vbl_lock); in drm_device_detach()
269 lockuninit(&dev->event_lock); in drm_device_detach()
270 lockuninit(&dev->struct_mutex); in drm_device_detach()