Lines Matching refs:dev

69 drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size,  in drm_pci_alloc()  argument
87 mtx_assert(&dev->dma_lock, MA_NOTOWNED); in drm_pci_alloc()
88 if (mtx_owned(&dev->dma_lock)) in drm_pci_alloc()
92 bus_get_dma_tag(dev->dev), /* parent */ in drm_pci_alloc()
131 void __drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) in __drm_pci_free() argument
144 void drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) in drm_pci_free() argument
146 __drm_pci_free(dev, dmah); in drm_pci_free()
152 static int drm_get_pci_domain(struct drm_device *dev) in drm_get_pci_domain() argument
154 return dev->pci_domain; in drm_get_pci_domain()
157 static int drm_pci_get_irq(struct drm_device *dev) in drm_pci_get_irq() argument
160 if (dev->irqr) in drm_pci_get_irq()
161 return (dev->irq); in drm_pci_get_irq()
163 dev->irqr = bus_alloc_resource_any(dev->dev, SYS_RES_IRQ, in drm_pci_get_irq()
164 &dev->irqrid, RF_SHAREABLE); in drm_pci_get_irq()
165 if (!dev->irqr) { in drm_pci_get_irq()
166 dev_err(dev->dev, "Failed to allocate IRQ\n"); in drm_pci_get_irq()
170 dev->irq = (int) rman_get_start(dev->irqr); in drm_pci_get_irq()
172 return (dev->irq); in drm_pci_get_irq()
175 static void drm_pci_free_irq(struct drm_device *dev) in drm_pci_free_irq() argument
177 if (dev->irqr == NULL) in drm_pci_free_irq()
180 bus_release_resource(dev->dev, SYS_RES_IRQ, in drm_pci_free_irq()
181 dev->irqrid, dev->irqr); in drm_pci_free_irq()
183 dev->irqr = NULL; in drm_pci_free_irq()
184 dev->irq = 0; in drm_pci_free_irq()
187 static const char *drm_pci_get_name(struct drm_device *dev) in drm_pci_get_name() argument
189 return dev->driver->name; in drm_pci_get_name()
192 int drm_pci_set_busid(struct drm_device *dev, struct drm_master *master) in drm_pci_set_busid() argument
204 dev->pci_domain, in drm_pci_set_busid()
205 dev->pci_bus, in drm_pci_set_busid()
206 dev->pci_slot, in drm_pci_set_busid()
207 dev->pci_func); in drm_pci_set_busid()
221 int drm_pci_set_unique(struct drm_device *dev, in drm_pci_set_unique() argument
254 if ((domain != dev->pci_domain) || in drm_pci_set_unique()
255 (bus != dev->pci_bus) || in drm_pci_set_unique()
256 (slot != dev->pci_slot) || in drm_pci_set_unique()
257 (func != dev->pci_func)) { in drm_pci_set_unique()
267 static int drm_pci_irq_by_busid(struct drm_device *dev, struct drm_irq_busid *p) in drm_pci_irq_by_busid() argument
269 if ((p->busnum >> 8) != drm_get_pci_domain(dev) || in drm_pci_irq_by_busid()
270 (p->busnum & 0xff) != dev->pci_bus || in drm_pci_irq_by_busid()
271 p->devnum != dev->pci_slot || p->funcnum != dev->pci_func) in drm_pci_irq_by_busid()
274 p->irq = dev->irq; in drm_pci_irq_by_busid()
281 int drm_pci_agp_init(struct drm_device *dev) in drm_pci_agp_init() argument
283 if (drm_core_has_AGP(dev)) { in drm_pci_agp_init()
284 if (drm_pci_device_is_agp(dev)) in drm_pci_agp_init()
285 dev->agp = drm_agp_init(dev); in drm_pci_agp_init()
286 if (drm_core_check_feature(dev, DRIVER_REQUIRE_AGP) in drm_pci_agp_init()
287 && (dev->agp == NULL)) { in drm_pci_agp_init()
291 if (drm_core_has_MTRR(dev)) { in drm_pci_agp_init()
292 if (dev->agp && dev->agp->agp_info.ai_aperture_base != 0) { in drm_pci_agp_init()
293 if (drm_mtrr_add(dev->agp->agp_info.ai_aperture_base, in drm_pci_agp_init()
294 dev->agp->agp_info.ai_aperture_size, DRM_MTRR_WC) == 0) in drm_pci_agp_init()
295 dev->agp->agp_mtrr = 1; in drm_pci_agp_init()
297 dev->agp->agp_mtrr = -1; in drm_pci_agp_init()
326 int drm_get_pci_dev(device_t kdev, struct drm_device *dev, in drm_get_pci_dev() argument
335 dev->dev = kdev; in drm_get_pci_dev()
337 dev->pci_domain = pci_get_domain(dev->dev); in drm_get_pci_dev()
338 dev->pci_bus = pci_get_bus(dev->dev); in drm_get_pci_dev()
339 dev->pci_slot = pci_get_slot(dev->dev); in drm_get_pci_dev()
340 dev->pci_func = pci_get_function(dev->dev); in drm_get_pci_dev()
342 dev->pci_vendor = pci_get_vendor(dev->dev); in drm_get_pci_dev()
343 dev->pci_device = pci_get_device(dev->dev); in drm_get_pci_dev()
344 dev->pci_subvendor = pci_get_subvendor(dev->dev); in drm_get_pci_dev()
345 dev->pci_subdevice = pci_get_subdevice(dev->dev); in drm_get_pci_dev()
349 if ((ret = drm_fill_in_dev(dev, driver))) { in drm_get_pci_dev()
354 if (drm_core_check_feature(dev, DRIVER_MODESET)) { in drm_get_pci_dev()
355 ret = drm_get_minor(dev, &dev->control, DRM_MINOR_CONTROL); in drm_get_pci_dev()
360 if ((ret = drm_get_minor(dev, &dev->primary, DRM_MINOR_LEGACY))) in drm_get_pci_dev()
363 if (dev->driver->load) { in drm_get_pci_dev()
364 ret = dev->driver->load(dev, in drm_get_pci_dev()
365 dev->id_entry->driver_private); in drm_get_pci_dev()
371 if (drm_core_check_feature(dev, DRIVER_MODESET)) { in drm_get_pci_dev()
372 ret = drm_mode_group_init_legacy_group(dev, in drm_get_pci_dev()
373 &dev->primary->mode_group); in drm_get_pci_dev()
379 list_add_tail(&dev->driver_item, &driver->device_list); in drm_get_pci_dev()
384 driver->date, device_get_nameunit(dev->dev), dev->primary->index); in drm_get_pci_dev()
390 if (dev->driver->unload) in drm_get_pci_dev()
391 dev->driver->unload(dev); in drm_get_pci_dev()
393 drm_put_minor(&dev->primary); in drm_get_pci_dev()
395 if (drm_core_check_feature(dev, DRIVER_MODESET)) in drm_get_pci_dev()
396 drm_put_minor(&dev->control); in drm_get_pci_dev()
398 drm_cancel_fill_in_dev(dev); in drm_get_pci_dev()
406 drm_pci_enable_msi(struct drm_device *dev) in drm_pci_enable_msi() argument
413 msicount = pci_msi_count(dev->dev); in drm_pci_enable_msi()
418 ret = pci_alloc_msi(dev->dev, &msicount); in drm_pci_enable_msi()
421 dev->msi_enabled = 1; in drm_pci_enable_msi()
422 dev->irqrid = 1; in drm_pci_enable_msi()
429 drm_pci_disable_msi(struct drm_device *dev) in drm_pci_disable_msi() argument
432 if (!dev->msi_enabled) in drm_pci_disable_msi()
435 pci_release_msi(dev->dev); in drm_pci_disable_msi()
436 dev->msi_enabled = 0; in drm_pci_disable_msi()
437 dev->irqrid = 0; in drm_pci_disable_msi()
440 int drm_pcie_get_speed_cap_mask(struct drm_device *dev, u32 *mask) in drm_pcie_get_speed_cap_mask() argument
447 if (!drm_pci_device_is_pcie(dev)) in drm_pcie_get_speed_cap_mask()
454 dev->dev))); /* `-- drmn */ in drm_pcie_get_speed_cap_mask()