OSDN Git Service

drm/fsl-dcu: enable IRQ before drm_atomic_helper_resume()
authorStefan Agner <stefan@agner.ch>
Fri, 10 Nov 2017 09:15:28 +0000 (10:15 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Dec 2017 21:01:46 +0000 (22:01 +0100)
commit 9fd99f4f3f5e13ce959900ae57d64b1bdb51d823 upstream.

The resume helpers wait for a vblank to occurre hence IRQ need
to be enabled. This avoids a warning as follows during resume:
  WARNING: CPU: 0 PID: 314 at drivers/gpu/drm/drm_atomic_helper.c:1249 drm_atomic_helper_wait_for_vblanks.part.1+0x284/0x288
  [CRTC:28:crtc-0] vblank wait timed out

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c

index 7fbfb31..c9eef0f 100644 (file)
@@ -265,6 +265,7 @@ static int fsl_dcu_drm_pm_resume(struct device *dev)
        if (fsl_dev->tcon)
                fsl_tcon_bypass_enable(fsl_dev->tcon);
        fsl_dcu_drm_init_planes(fsl_dev->drm);
+       enable_irq(fsl_dev->irq);
        drm_atomic_helper_resume(fsl_dev->drm, fsl_dev->state);
 
        console_lock();
@@ -272,7 +273,6 @@ static int fsl_dcu_drm_pm_resume(struct device *dev)
        console_unlock();
 
        drm_kms_helper_poll_enable(fsl_dev->drm);
-       enable_irq(fsl_dev->irq);
 
        return 0;
 }