Lines Matching refs:dev

68 drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size,  in drm_pci_alloc()  argument
86 mtx_assert(&dev->dma_lock, MA_NOTOWNED); in drm_pci_alloc()
87 if (mtx_owned(&dev->dma_lock)) in drm_pci_alloc()
91 bus_get_dma_tag(dev->dev), /* parent */ in drm_pci_alloc()
130 void __drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) in __drm_pci_free() argument
143 void drm_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah) in drm_pci_free() argument
145 __drm_pci_free(dev, dmah); in drm_pci_free()
151 static int drm_get_pci_domain(struct drm_device *dev) in drm_get_pci_domain() argument
153 return dev->pci_domain; in drm_get_pci_domain()
156 static int drm_pci_get_irq(struct drm_device *dev) in drm_pci_get_irq() argument
159 if (dev->irqr) in drm_pci_get_irq()
160 return (dev->irq); in drm_pci_get_irq()
162 dev->irqr = bus_alloc_resource_any(dev->dev, SYS_RES_IRQ, in drm_pci_get_irq()
163 &dev->irqrid, RF_SHAREABLE); in drm_pci_get_irq()
164 if (!dev->irqr) { in drm_pci_get_irq()
165 dev_err(dev->dev, "Failed to allocate IRQ\n"); in drm_pci_get_irq()
169 dev->irq = (int) rman_get_start(dev->irqr); in drm_pci_get_irq()
171 return (dev->irq); in drm_pci_get_irq()
174 static void drm_pci_free_irq(struct drm_device *dev) in drm_pci_free_irq() argument
176 if (dev->irqr == NULL) in drm_pci_free_irq()
179 bus_release_resource(dev->dev, SYS_RES_IRQ, in drm_pci_free_irq()
180 dev->irqrid, dev->irqr); in drm_pci_free_irq()
182 dev->irqr = NULL; in drm_pci_free_irq()
183 dev->irq = 0; in drm_pci_free_irq()
186 static const char *drm_pci_get_name(struct drm_device *dev) in drm_pci_get_name() argument
188 return dev->driver->name; in drm_pci_get_name()
191 int drm_pci_set_busid(struct drm_device *dev, struct drm_master *master) in drm_pci_set_busid() argument
203 dev->pci_domain, in drm_pci_set_busid()
204 dev->pci_bus, in drm_pci_set_busid()
205 dev->pci_slot, in drm_pci_set_busid()
206 dev->pci_func); in drm_pci_set_busid()
220 int drm_pci_set_unique(struct drm_device *dev, in drm_pci_set_unique() argument
253 if ((domain != dev->pci_domain) || in drm_pci_set_unique()
254 (bus != dev->pci_bus) || in drm_pci_set_unique()
255 (slot != dev->pci_slot) || in drm_pci_set_unique()
256 (func != dev->pci_func)) { in drm_pci_set_unique()
266 static int drm_pci_irq_by_busid(struct drm_device *dev, struct drm_irq_busid *p) in drm_pci_irq_by_busid() argument
268 if ((p->busnum >> 8) != drm_get_pci_domain(dev) || in drm_pci_irq_by_busid()
269 (p->busnum & 0xff) != dev->pci_bus || in drm_pci_irq_by_busid()
270 p->devnum != dev->pci_slot || p->funcnum != dev->pci_func) in drm_pci_irq_by_busid()
273 p->irq = dev->irq; in drm_pci_irq_by_busid()
280 int drm_pci_agp_init(struct drm_device *dev) in drm_pci_agp_init() argument
282 if (drm_core_has_AGP(dev)) { in drm_pci_agp_init()
283 if (drm_pci_device_is_agp(dev)) in drm_pci_agp_init()
284 dev->agp = drm_agp_init(dev); in drm_pci_agp_init()
285 if (drm_core_check_feature(dev, DRIVER_REQUIRE_AGP) in drm_pci_agp_init()
286 && (dev->agp == NULL)) { in drm_pci_agp_init()
290 if (drm_core_has_MTRR(dev)) { in drm_pci_agp_init()
291 if (dev->agp && dev->agp->agp_info.ai_aperture_base != 0) { in drm_pci_agp_init()
292 if (drm_mtrr_add(dev->agp->agp_info.ai_aperture_base, in drm_pci_agp_init()
293 dev->agp->agp_info.ai_aperture_size, DRM_MTRR_WC) == 0) in drm_pci_agp_init()
294 dev->agp->agp_mtrr = 1; in drm_pci_agp_init()
296 dev->agp->agp_mtrr = -1; in drm_pci_agp_init()
325 int drm_get_pci_dev(device_t kdev, struct drm_device *dev, in drm_get_pci_dev() argument
334 dev->dev = kdev; in drm_get_pci_dev()
336 dev->pci_domain = pci_get_domain(dev->dev); in drm_get_pci_dev()
337 dev->pci_bus = pci_get_bus(dev->dev); in drm_get_pci_dev()
338 dev->pci_slot = pci_get_slot(dev->dev); in drm_get_pci_dev()
339 dev->pci_func = pci_get_function(dev->dev); in drm_get_pci_dev()
341 dev->pci_vendor = pci_get_vendor(dev->dev); in drm_get_pci_dev()
342 dev->pci_device = pci_get_device(dev->dev); in drm_get_pci_dev()
343 dev->pci_subvendor = pci_get_subvendor(dev->dev); in drm_get_pci_dev()
344 dev->pci_subdevice = pci_get_subdevice(dev->dev); in drm_get_pci_dev()
348 if ((ret = drm_fill_in_dev(dev, driver))) { in drm_get_pci_dev()
353 if (drm_core_check_feature(dev, DRIVER_MODESET)) { in drm_get_pci_dev()
354 ret = drm_get_minor(dev, &dev->control, DRM_MINOR_CONTROL); in drm_get_pci_dev()
359 if ((ret = drm_get_minor(dev, &dev->primary, DRM_MINOR_LEGACY))) in drm_get_pci_dev()
362 if (dev->driver->load) { in drm_get_pci_dev()
363 ret = dev->driver->load(dev, in drm_get_pci_dev()
364 dev->id_entry->driver_private); in drm_get_pci_dev()
370 if (drm_core_check_feature(dev, DRIVER_MODESET)) { in drm_get_pci_dev()
371 ret = drm_mode_group_init_legacy_group(dev, in drm_get_pci_dev()
372 &dev->primary->mode_group); in drm_get_pci_dev()
378 list_add_tail(&dev->driver_item, &driver->device_list); in drm_get_pci_dev()
383 driver->date, device_get_nameunit(dev->dev), dev->primary->index); in drm_get_pci_dev()
389 if (dev->driver->unload) in drm_get_pci_dev()
390 dev->driver->unload(dev); in drm_get_pci_dev()
392 drm_put_minor(&dev->primary); in drm_get_pci_dev()
394 if (drm_core_check_feature(dev, DRIVER_MODESET)) in drm_get_pci_dev()
395 drm_put_minor(&dev->control); in drm_get_pci_dev()
397 drm_cancel_fill_in_dev(dev); in drm_get_pci_dev()
405 drm_pci_enable_msi(struct drm_device *dev) in drm_pci_enable_msi() argument
412 msicount = pci_msi_count(dev->dev); in drm_pci_enable_msi()
417 ret = pci_alloc_msi(dev->dev, &msicount); in drm_pci_enable_msi()
420 dev->msi_enabled = 1; in drm_pci_enable_msi()
421 dev->irqrid = 1; in drm_pci_enable_msi()
428 drm_pci_disable_msi(struct drm_device *dev) in drm_pci_disable_msi() argument
431 if (!dev->msi_enabled) in drm_pci_disable_msi()
434 pci_release_msi(dev->dev); in drm_pci_disable_msi()
435 dev->msi_enabled = 0; in drm_pci_disable_msi()
436 dev->irqrid = 0; in drm_pci_disable_msi()
439 int drm_pcie_get_speed_cap_mask(struct drm_device *dev, u32 *mask) in drm_pcie_get_speed_cap_mask() argument
446 if (!drm_pci_device_is_pcie(dev)) in drm_pcie_get_speed_cap_mask()
453 dev->dev))); /* `-- drmn */ in drm_pcie_get_speed_cap_mask()