Lines Matching refs:dev

75  * &drm_device.dev and set as the device paramter in drm_dev_alloc().
86 * @dev: DRM device
106 int drm_irq_install(struct drm_device *dev, int irq)
114 if (dev->irq_enabled)
116 dev->irq_enabled = true;
121 if (dev->driver->irq_preinstall)
122 dev->driver->irq_preinstall(dev);
125 if (dev->pdev)
128 ret = request_irq(irq, dev->driver->irq_handler,
129 sh_flags, dev->driver->name, dev);
132 dev->irq_enabled = false;
137 if (dev->driver->irq_postinstall)
138 ret = dev->driver->irq_postinstall(dev);
141 dev->irq_enabled = false;
142 if (drm_core_check_feature(dev, DRIVER_LEGACY))
143 vga_client_register(dev->pdev, NULL, NULL, NULL);
144 free_irq(irq, dev);
146 dev->irq = irq;
155 * @dev: DRM device
169 int drm_irq_uninstall(struct drm_device *dev)
175 irq_enabled = dev->irq_enabled;
176 dev->irq_enabled = false;
184 if (drm_dev_has_vblank(dev)) {
185 spin_lock_irqsave(&dev->vbl_lock, irqflags);
186 for (i = 0; i < dev->num_crtcs; i++) {
187 struct drm_vblank_crtc *vblank = &dev->vblank[i];
192 WARN_ON(drm_core_check_feature(dev, DRIVER_MODESET));
194 drm_vblank_disable_and_save(dev, i);
197 spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
203 DRM_DEBUG("irq=%d\n", dev->irq);
205 if (drm_core_check_feature(dev, DRIVER_LEGACY))
206 vga_client_register(dev->pdev, NULL, NULL, NULL);
208 if (dev->driver->irq_uninstall)
209 dev->driver->irq_uninstall(dev);
211 free_irq(dev->irq, dev);
218 int drm_legacy_irq_control(struct drm_device *dev, void *data,
228 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ))
230 if (!drm_core_check_feature(dev, DRIVER_LEGACY))
233 if (WARN_ON(!dev->pdev))
238 irq = dev->pdev->irq;
240 if (dev->if_version < DRM_IF_VERSION(1, 2) &&
243 mutex_lock(&dev->struct_mutex);
244 ret = drm_irq_install(dev, irq);
245 mutex_unlock(&dev->struct_mutex);
249 mutex_lock(&dev->struct_mutex);
250 ret = drm_irq_uninstall(dev);
251 mutex_unlock(&dev->struct_mutex);