Lines Matching refs:dev

67 drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size,  in drm_pci_alloc()  argument
85 mtx_assert(&dev->dma_lock, MA_NOTOWNED); in drm_pci_alloc()
86 if (mtx_owned(&dev->dma_lock)) in drm_pci_alloc()
90 bus_get_dma_tag(dev->dev), /* parent */ in drm_pci_alloc()
129 void __drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) in __drm_pci_free() argument
142 void drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) in drm_pci_free() argument
144 __drm_pci_free(dev, dmah); in drm_pci_free()
150 static int drm_get_pci_domain(struct drm_device *dev) in drm_get_pci_domain() argument
152 return dev->pci_domain; in drm_get_pci_domain()
155 static int drm_pci_get_irq(struct drm_device *dev) in drm_pci_get_irq() argument
158 if (dev->irqr) in drm_pci_get_irq()
159 return (dev->irq); in drm_pci_get_irq()
161 dev->irqr = bus_alloc_resource_any(dev->dev, SYS_RES_IRQ, in drm_pci_get_irq()
162 &dev->irqrid, RF_SHAREABLE); in drm_pci_get_irq()
163 if (!dev->irqr) { in drm_pci_get_irq()
164 dev_err(dev->dev, "Failed to allocate IRQ\n"); in drm_pci_get_irq()
168 dev->irq = (int) rman_get_start(dev->irqr); in drm_pci_get_irq()
170 return (dev->irq); in drm_pci_get_irq()
173 static void drm_pci_free_irq(struct drm_device *dev) in drm_pci_free_irq() argument
175 if (dev->irqr == NULL) in drm_pci_free_irq()
178 bus_release_resource(dev->dev, SYS_RES_IRQ, in drm_pci_free_irq()
179 dev->irqrid, dev->irqr); in drm_pci_free_irq()
181 dev->irqr = NULL; in drm_pci_free_irq()
182 dev->irq = 0; in drm_pci_free_irq()
185 static const char *drm_pci_get_name(struct drm_device *dev) in drm_pci_get_name() argument
187 return dev->driver->name; in drm_pci_get_name()
190 int drm_pci_set_busid(struct drm_device *dev, struct drm_master *master) in drm_pci_set_busid() argument
202 dev->pci_domain, in drm_pci_set_busid()
203 dev->pci_bus, in drm_pci_set_busid()
204 dev->pci_slot, in drm_pci_set_busid()
205 dev->pci_func); in drm_pci_set_busid()
219 int drm_pci_set_unique(struct drm_device *dev, in drm_pci_set_unique() argument
252 if ((domain != dev->pci_domain) || in drm_pci_set_unique()
253 (bus != dev->pci_bus) || in drm_pci_set_unique()
254 (slot != dev->pci_slot) || in drm_pci_set_unique()
255 (func != dev->pci_func)) { in drm_pci_set_unique()
265 static int drm_pci_irq_by_busid(struct drm_device *dev, struct drm_irq_busid *p) in drm_pci_irq_by_busid() argument
267 if ((p->busnum >> 8) != drm_get_pci_domain(dev) || in drm_pci_irq_by_busid()
268 (p->busnum & 0xff) != dev->pci_bus || in drm_pci_irq_by_busid()
269 p->devnum != dev->pci_slot || p->funcnum != dev->pci_func) in drm_pci_irq_by_busid()
272 p->irq = dev->irq; in drm_pci_irq_by_busid()
279 int drm_pci_agp_init(struct drm_device *dev) in drm_pci_agp_init() argument
281 if (drm_core_has_AGP(dev)) { in drm_pci_agp_init()
282 if (drm_pci_device_is_agp(dev)) in drm_pci_agp_init()
283 dev->agp = drm_agp_init(dev); in drm_pci_agp_init()
284 if (drm_core_check_feature(dev, DRIVER_REQUIRE_AGP) in drm_pci_agp_init()
285 && (dev->agp == NULL)) { in drm_pci_agp_init()
289 if (drm_core_has_MTRR(dev)) { in drm_pci_agp_init()
290 if (dev->agp && dev->agp->agp_info.ai_aperture_base != 0) { in drm_pci_agp_init()
291 if (drm_mtrr_add(dev->agp->agp_info.ai_aperture_base, in drm_pci_agp_init()
292 dev->agp->agp_info.ai_aperture_size, DRM_MTRR_WC) == 0) in drm_pci_agp_init()
293 dev->agp->agp_mtrr = 1; in drm_pci_agp_init()
295 dev->agp->agp_mtrr = -1; in drm_pci_agp_init()
324 int drm_get_pci_dev(device_t kdev, struct drm_device *dev, in drm_get_pci_dev() argument
333 dev->dev = kdev; in drm_get_pci_dev()
335 dev->pci_domain = pci_get_domain(dev->dev); in drm_get_pci_dev()
336 dev->pci_bus = pci_get_bus(dev->dev); in drm_get_pci_dev()
337 dev->pci_slot = pci_get_slot(dev->dev); in drm_get_pci_dev()
338 dev->pci_func = pci_get_function(dev->dev); in drm_get_pci_dev()
340 dev->pci_vendor = pci_get_vendor(dev->dev); in drm_get_pci_dev()
341 dev->pci_device = pci_get_device(dev->dev); in drm_get_pci_dev()
342 dev->pci_subvendor = pci_get_subvendor(dev->dev); in drm_get_pci_dev()
343 dev->pci_subdevice = pci_get_subdevice(dev->dev); in drm_get_pci_dev()
347 if ((ret = drm_fill_in_dev(dev, driver))) { in drm_get_pci_dev()
352 if (drm_core_check_feature(dev, DRIVER_MODESET)) { in drm_get_pci_dev()
353 ret = drm_get_minor(dev, &dev->control, DRM_MINOR_CONTROL); in drm_get_pci_dev()
358 if ((ret = drm_get_minor(dev, &dev->primary, DRM_MINOR_LEGACY))) in drm_get_pci_dev()
361 if (dev->driver->load) { in drm_get_pci_dev()
362 ret = dev->driver->load(dev, in drm_get_pci_dev()
363 dev->id_entry->driver_private); in drm_get_pci_dev()
369 if (drm_core_check_feature(dev, DRIVER_MODESET)) { in drm_get_pci_dev()
370 ret = drm_mode_group_init_legacy_group(dev, in drm_get_pci_dev()
371 &dev->primary->mode_group); in drm_get_pci_dev()
377 list_add_tail(&dev->driver_item, &driver->device_list); in drm_get_pci_dev()
382 driver->date, device_get_nameunit(dev->dev), dev->primary->index); in drm_get_pci_dev()
388 if (dev->driver->unload) in drm_get_pci_dev()
389 dev->driver->unload(dev); in drm_get_pci_dev()
391 drm_put_minor(&dev->primary); in drm_get_pci_dev()
393 if (drm_core_check_feature(dev, DRIVER_MODESET)) in drm_get_pci_dev()
394 drm_put_minor(&dev->control); in drm_get_pci_dev()
396 drm_cancel_fill_in_dev(dev); in drm_get_pci_dev()
404 drm_pci_enable_msi(struct drm_device *dev) in drm_pci_enable_msi() argument
411 msicount = pci_msi_count(dev->dev); in drm_pci_enable_msi()
416 ret = pci_alloc_msi(dev->dev, &msicount); in drm_pci_enable_msi()
419 dev->msi_enabled = 1; in drm_pci_enable_msi()
420 dev->irqrid = 1; in drm_pci_enable_msi()
427 drm_pci_disable_msi(struct drm_device *dev) in drm_pci_disable_msi() argument
430 if (!dev->msi_enabled) in drm_pci_disable_msi()
433 pci_release_msi(dev->dev); in drm_pci_disable_msi()
434 dev->msi_enabled = 0; in drm_pci_disable_msi()
435 dev->irqrid = 0; in drm_pci_disable_msi()
438 int drm_pcie_get_speed_cap_mask(struct drm_device *dev, u32 *mask) in drm_pcie_get_speed_cap_mask() argument
445 if (!drm_pci_device_is_pcie(dev)) in drm_pcie_get_speed_cap_mask()
452 dev->dev))); /* `-- drmn */ in drm_pcie_get_speed_cap_mask()