From 6c06a59703946d2f133c067629eb911bb58ff3a6 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 17 Mar 2017 20:20:28 +0000 Subject: [PATCH] drm: vblank cannot be enabled if dev->irq_enabled is false MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Since we cannot enable the vblank if !dev->irq_enabled, we assert that checking for both !vblank->enabled and !dev->irq_enabled is tautological and only need the former. The only time it may differ is when racing with drm_irq_uninstall(), but that will then disable the vblank and wakeup the waiters. Signed-off-by: Chris Wilson Link: http://patchwork.freedesktop.org/patch/msgid/20170317202030.24410-2-chris@chris-wilson.co.uk Reviewed-by: Ville Syrjälä Signed-off-by: Ville Syrjälä --- drivers/gpu/drm/drm_irq.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 372085561f02..5078984568b0 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -1639,10 +1639,9 @@ int drm_wait_vblank(struct drm_device *dev, void *data, DRM_DEBUG("waiting on vblank count %u, crtc %u\n", vblwait->request.sequence, pipe); DRM_WAIT_ON(ret, vblank->queue, 3 * HZ, - (((drm_vblank_count(dev, pipe) - - vblwait->request.sequence) <= (1 << 23)) || - !READ_ONCE(vblank->enabled) || - !dev->irq_enabled)); + (drm_vblank_count(dev, pipe) - + vblwait->request.sequence) <= (1 << 23) || + !READ_ONCE(vblank->enabled)); } if (ret != -EINTR) { -- 2.20.1