drm/stm: ltdc: disable hw interrupts before its handler init
authorYannick Fertré <yannick.fertre@st.com>
Fri, 29 Mar 2019 15:48:05 +0000 (16:48 +0100)
committerBenjamin Gaignard <benjamin.gaignard@linaro.org>
Wed, 24 Apr 2019 11:50:46 +0000 (13:50 +0200)
Interrupt register must be disabled before call of
devm_request_threaded_irq function to avoid dummy interruption.

Signed-off-by: Yannick Fertré <yannick.fertre@st.com>
Acked-by: Philippe Cornu <philippe.cornu@st.com>
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/1553874485-31259-1-git-send-email-yannick.fertre@st.com
drivers/gpu/drm/stm/ltdc.c

index 32fd6a3b37fb1f3377fa271bd8c5df0b7e7144ea..9b4883bdbf4fd17a72fa8dc1a170c29094d0025e 100644 (file)
@@ -1142,6 +1142,10 @@ int ltdc_load(struct drm_device *ddev)
                goto err;
        }
 
+       /* Disable interrupts */
+       reg_clear(ldev->regs, LTDC_IER,
+                 IER_LIE | IER_RRIE | IER_FUIE | IER_TERRIE);
+
        for (i = 0; i < MAX_IRQ; i++) {
                irq = platform_get_irq(pdev, i);
                if (irq < 0)
@@ -1162,10 +1166,6 @@ int ltdc_load(struct drm_device *ddev)
                reset_control_deassert(rstc);
        }
 
-       /* Disable interrupts */
-       reg_clear(ldev->regs, LTDC_IER,
-                 IER_LIE | IER_RRIE | IER_FUIE | IER_TERRIE);
-
        ret = ltdc_get_caps(ddev);
        if (ret) {
                DRM_ERROR("hardware identifier (0x%08x) not supported!\n",