diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2014-03-06 17:27:39 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-05-20 21:13:34 +0200 |
commit | 3212a22ff7b1adad9c8bda6655dd483a6a91bdba (patch) | |
tree | 7dd4b27bc10bbdda9728fccfcdf195147ce953bf /drivers/gpu/drm/drm_irq.c | |
parent | e69595c2501094d85d5bbca87592acb8a481109a (diff) | |
download | op-kernel-dev-3212a22ff7b1adad9c8bda6655dd483a6a91bdba.zip op-kernel-dev-3212a22ff7b1adad9c8bda6655dd483a6a91bdba.tar.gz |
drm: Make blocking vblank wait return when the vblank interrupts get disabled
If there's a blocking vblank wait in progress while the vblank interrupt
gets disabled, the current code will just let the vblank wait time out.
Instead make it return immediately when vblank interrupts get disabled.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/drm_irq.c')
-rw-r--r-- | drivers/gpu/drm/drm_irq.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 90c59a8..13d671e 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -1189,6 +1189,7 @@ int drm_wait_vblank(struct drm_device *dev, void *data, DRM_WAIT_ON(ret, dev->vblank[crtc].queue, 3 * HZ, (((drm_vblank_count(dev, crtc) - vblwait->request.sequence) <= (1 << 23)) || + !dev->vblank[crtc].enabled || !dev->irq_enabled)); if (ret != -EINTR) { |