Lines Matching refs:dev

31 static void omap_irq_update(struct drm_device *dev)  in omap_irq_update()  argument
33 struct omap_drm_private *priv = dev->dev_private; in omap_irq_update()
48 void __omap_irq_register(struct drm_device *dev, struct omap_drm_irq *irq) in __omap_irq_register() argument
50 struct omap_drm_private *priv = dev->dev_private; in __omap_irq_register()
58 omap_irq_update(dev); in __omap_irq_register()
64 void omap_irq_register(struct drm_device *dev, struct omap_drm_irq *irq) in omap_irq_register() argument
68 __omap_irq_register(dev, irq); in omap_irq_register()
73 void __omap_irq_unregister(struct drm_device *dev, struct omap_drm_irq *irq) in __omap_irq_unregister() argument
82 omap_irq_update(dev); in __omap_irq_unregister()
88 void omap_irq_unregister(struct drm_device *dev, struct omap_drm_irq *irq) in omap_irq_unregister() argument
92 __omap_irq_unregister(dev, irq); in omap_irq_unregister()
112 struct omap_irq_wait * omap_irq_wait_init(struct drm_device *dev, in omap_irq_wait_init() argument
119 omap_irq_register(dev, &wait->irq); in omap_irq_wait_init()
123 int omap_irq_wait(struct drm_device *dev, struct omap_irq_wait *wait, in omap_irq_wait() argument
127 omap_irq_unregister(dev, &wait->irq); in omap_irq_wait()
147 int omap_irq_enable_vblank(struct drm_device *dev, int crtc_id) in omap_irq_enable_vblank() argument
149 struct omap_drm_private *priv = dev->dev_private; in omap_irq_enable_vblank()
153 DBG("dev=%p, crtc=%d", dev, crtc_id); in omap_irq_enable_vblank()
158 omap_irq_update(dev); in omap_irq_enable_vblank()
174 void omap_irq_disable_vblank(struct drm_device *dev, int crtc_id) in omap_irq_disable_vblank() argument
176 struct omap_drm_private *priv = dev->dev_private; in omap_irq_disable_vblank()
180 DBG("dev=%p, crtc=%d", dev, crtc_id); in omap_irq_disable_vblank()
185 omap_irq_update(dev); in omap_irq_disable_vblank()
192 struct drm_device *dev = (struct drm_device *) arg; in omap_irq_handler() local
193 struct omap_drm_private *priv = dev->dev_private; in omap_irq_handler()
209 drm_handle_vblank(dev, id); in omap_irq_handler()
225 void omap_irq_preinstall(struct drm_device *dev) in omap_irq_preinstall() argument
227 DBG("dev=%p", dev); in omap_irq_preinstall()
233 int omap_irq_postinstall(struct drm_device *dev) in omap_irq_postinstall() argument
235 struct omap_drm_private *priv = dev->dev_private; in omap_irq_postinstall()
238 DBG("dev=%p", dev); in omap_irq_postinstall()
250 omap_irq_register(dev, error_handler); in omap_irq_postinstall()
255 void omap_irq_uninstall(struct drm_device *dev) in omap_irq_uninstall() argument
257 DBG("dev=%p", dev); in omap_irq_uninstall()
268 int omap_drm_irq_install(struct drm_device *dev) in omap_drm_irq_install() argument
272 mutex_lock(&dev->struct_mutex); in omap_drm_irq_install()
274 if (dev->irq_enabled) { in omap_drm_irq_install()
275 mutex_unlock(&dev->struct_mutex); in omap_drm_irq_install()
278 dev->irq_enabled = true; in omap_drm_irq_install()
279 mutex_unlock(&dev->struct_mutex); in omap_drm_irq_install()
282 if (dev->driver->irq_preinstall) in omap_drm_irq_install()
283 dev->driver->irq_preinstall(dev); in omap_drm_irq_install()
285 ret = dispc_request_irq(dev->driver->irq_handler, dev); in omap_drm_irq_install()
288 mutex_lock(&dev->struct_mutex); in omap_drm_irq_install()
289 dev->irq_enabled = false; in omap_drm_irq_install()
290 mutex_unlock(&dev->struct_mutex); in omap_drm_irq_install()
295 if (dev->driver->irq_postinstall) in omap_drm_irq_install()
296 ret = dev->driver->irq_postinstall(dev); in omap_drm_irq_install()
299 mutex_lock(&dev->struct_mutex); in omap_drm_irq_install()
300 dev->irq_enabled = false; in omap_drm_irq_install()
301 mutex_unlock(&dev->struct_mutex); in omap_drm_irq_install()
302 dispc_free_irq(dev); in omap_drm_irq_install()
308 int omap_drm_irq_uninstall(struct drm_device *dev) in omap_drm_irq_uninstall() argument
314 mutex_lock(&dev->struct_mutex); in omap_drm_irq_uninstall()
315 irq_enabled = dev->irq_enabled; in omap_drm_irq_uninstall()
316 dev->irq_enabled = false; in omap_drm_irq_uninstall()
317 mutex_unlock(&dev->struct_mutex); in omap_drm_irq_uninstall()
322 if (dev->num_crtcs) { in omap_drm_irq_uninstall()
323 spin_lock_irqsave(&dev->vbl_lock, irqflags); in omap_drm_irq_uninstall()
324 for (i = 0; i < dev->num_crtcs; i++) { in omap_drm_irq_uninstall()
325 wake_up(&dev->vblank[i].queue); in omap_drm_irq_uninstall()
326 dev->vblank[i].enabled = false; in omap_drm_irq_uninstall()
327 dev->vblank[i].last = in omap_drm_irq_uninstall()
328 dev->driver->get_vblank_counter(dev, i); in omap_drm_irq_uninstall()
330 spin_unlock_irqrestore(&dev->vbl_lock, irqflags); in omap_drm_irq_uninstall()
336 if (dev->driver->irq_uninstall) in omap_drm_irq_uninstall()
337 dev->driver->irq_uninstall(dev); in omap_drm_irq_uninstall()
339 dispc_free_irq(dev); in omap_drm_irq_uninstall()