Lines Matching refs:dev_priv

60 i915_enable_irq(drm_i915_private_t *dev_priv, u32 mask)  in i915_enable_irq()  argument
63 if ((dev_priv->irq_mask_reg & mask) != 0) { in i915_enable_irq()
64 dev_priv->irq_mask_reg &= ~mask; in i915_enable_irq()
65 I915_WRITE(IMR, dev_priv->irq_mask_reg); in i915_enable_irq()
71 i915_disable_irq(drm_i915_private_t *dev_priv, u32 mask) in i915_disable_irq() argument
74 if ((dev_priv->irq_mask_reg & mask) != mask) { in i915_disable_irq()
75 dev_priv->irq_mask_reg |= mask; in i915_disable_irq()
76 I915_WRITE(IMR, dev_priv->irq_mask_reg); in i915_disable_irq()
92 i915_enable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask) in i915_enable_pipestat() argument
94 if ((dev_priv->pipestat[pipe] & mask) != mask) { in i915_enable_pipestat()
97 dev_priv->pipestat[pipe] |= mask; in i915_enable_pipestat()
99 I915_WRITE(reg, dev_priv->pipestat[pipe] | (mask >> 16)); in i915_enable_pipestat()
105 i915_disable_pipestat(drm_i915_private_t *dev_priv, int pipe, u32 mask) in i915_disable_pipestat() argument
107 if ((dev_priv->pipestat[pipe] & mask) != 0) { in i915_disable_pipestat()
110 dev_priv->pipestat[pipe] &= ~mask; in i915_disable_pipestat()
111 I915_WRITE(reg, dev_priv->pipestat[pipe]); in i915_disable_pipestat()
128 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_pipe_enabled() local
142 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_get_vblank_counter() local
176 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in g45_get_vblank_counter() local
190 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_driver_irq_handler() local
215 DRM_SPINLOCK(&dev_priv->user_irq_lock); in i915_driver_irq_handler()
231 DRM_SPINUNLOCK(&dev_priv->user_irq_lock); in i915_driver_irq_handler()
239 if (dev_priv->sarea_priv) in i915_driver_irq_handler()
240 dev_priv->sarea_priv->last_dispatch = in i915_driver_irq_handler()
241 READ_BREADCRUMB(dev_priv); in i915_driver_irq_handler()
244 DRM_WAKEUP(&dev_priv->irq_queue); in i915_driver_irq_handler()
274 drm_i915_private_t *dev_priv = dev->dev_private; in i915_emit_irq() local
279 if (++dev_priv->counter > 0x7FFFFFFFUL) in i915_emit_irq()
280 dev_priv->counter = 0; in i915_emit_irq()
281 if (dev_priv->sarea_priv) in i915_emit_irq()
282 dev_priv->sarea_priv->last_enqueue = dev_priv->counter; in i915_emit_irq()
284 DRM_DEBUG("emitting: %d\n", dev_priv->counter); in i915_emit_irq()
289 OUT_RING(dev_priv->counter); in i915_emit_irq()
293 return dev_priv->counter; in i915_emit_irq()
298 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_user_irq_get() local
304 DRM_SPINLOCK(&dev_priv->user_irq_lock); in i915_user_irq_get()
305 if (++dev_priv->user_irq_refcount == 1) in i915_user_irq_get()
306 i915_enable_irq(dev_priv, I915_USER_INTERRUPT); in i915_user_irq_get()
307 DRM_SPINUNLOCK(&dev_priv->user_irq_lock); in i915_user_irq_get()
312 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_user_irq_put() local
317 DRM_SPINLOCK(&dev_priv->user_irq_lock); in i915_user_irq_put()
318 KASSERT(dev_priv->user_irq_refcount > 0, ("invalid refcount")); in i915_user_irq_put()
319 if (--dev_priv->user_irq_refcount == 0) in i915_user_irq_put()
320 i915_disable_irq(dev_priv, I915_USER_INTERRUPT); in i915_user_irq_put()
321 DRM_SPINUNLOCK(&dev_priv->user_irq_lock); in i915_user_irq_put()
326 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_wait_irq() local
329 if (READ_BREADCRUMB(dev_priv) >= irq_nr) { in i915_wait_irq()
330 if (dev_priv->sarea_priv) { in i915_wait_irq()
331 dev_priv->sarea_priv->last_dispatch = in i915_wait_irq()
332 READ_BREADCRUMB(dev_priv); in i915_wait_irq()
337 if (dev_priv->sarea_priv) in i915_wait_irq()
338 dev_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT; in i915_wait_irq()
341 READ_BREADCRUMB(dev_priv)); in i915_wait_irq()
344 DRM_WAIT_ON(ret, dev_priv->irq_queue, 3 * DRM_HZ, in i915_wait_irq()
345 READ_BREADCRUMB(dev_priv) >= irq_nr); in i915_wait_irq()
353 READ_BREADCRUMB(dev_priv), (int)dev_priv->counter); in i915_wait_irq()
364 drm_i915_private_t *dev_priv = dev->dev_private; in i915_irq_emit() local
368 if (!dev_priv) { in i915_irq_emit()
390 drm_i915_private_t *dev_priv = dev->dev_private; in i915_irq_wait() local
393 if (!dev_priv) { in i915_irq_wait()
406 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_enable_vblank() local
411 DRM_SPINLOCK(&dev_priv->user_irq_lock); in i915_enable_vblank()
413 i915_enable_pipestat(dev_priv, pipe, in i915_enable_vblank()
416 i915_enable_pipestat(dev_priv, pipe, in i915_enable_vblank()
418 DRM_SPINUNLOCK(&dev_priv->user_irq_lock); in i915_enable_vblank()
427 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_disable_vblank() local
429 DRM_SPINLOCK(&dev_priv->user_irq_lock); in i915_disable_vblank()
430 i915_disable_pipestat(dev_priv, pipe, in i915_disable_vblank()
433 DRM_SPINUNLOCK(&dev_priv->user_irq_lock); in i915_disable_vblank()
441 drm_i915_private_t *dev_priv = dev->dev_private; in i915_vblank_pipe_set() local
443 if (!dev_priv) { in i915_vblank_pipe_set()
454 drm_i915_private_t *dev_priv = dev->dev_private; in i915_vblank_pipe_get() local
457 if (!dev_priv) { in i915_vblank_pipe_get()
494 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_driver_irq_preinstall() local
506 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_driver_irq_postinstall() local
508 dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A | DRM_I915_VBLANK_PIPE_B; in i915_driver_irq_postinstall()
511 dev_priv->irq_mask_reg = ~I915_INTERRUPT_ENABLE_FIX; in i915_driver_irq_postinstall()
521 I915_WRITE(IMR, dev_priv->irq_mask_reg); in i915_driver_irq_postinstall()
522 I915_WRITE(PIPEASTAT, dev_priv->pipestat[0] | in i915_driver_irq_postinstall()
523 (dev_priv->pipestat[0] >> 16)); in i915_driver_irq_postinstall()
524 I915_WRITE(PIPEBSTAT, dev_priv->pipestat[1] | in i915_driver_irq_postinstall()
525 (dev_priv->pipestat[1] >> 16)); in i915_driver_irq_postinstall()
533 drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; in i915_driver_irq_uninstall() local
535 if (!dev_priv) in i915_driver_irq_uninstall()
538 dev_priv->vblank_pipe = 0; in i915_driver_irq_uninstall()