drm/stm: ltdc: reset controller to avoid partial refresh
authorYannick Fertré <yannick.fertre@st.com>
Wed, 3 Apr 2019 09:24:13 +0000 (11:24 +0200)
committerBenjamin Gaignard <benjamin.gaignard@linaro.org>
Wed, 24 Apr 2019 12:07:54 +0000 (14:07 +0200)
Display controller reset must be done as soon as possible after enable
the clock to avoid partial refresh on screen.

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/1554283453-2879-1-git-send-email-yannick.fertre@st.com
drivers/gpu/drm/stm/ltdc.c

index 17438c28d9fc85c712363956d6ba82ed274f75e6..21a821ee065a4a047b1358fba0f98de3017f2301 100644 (file)
@@ -1137,6 +1137,12 @@ int ltdc_load(struct drm_device *ddev)
                return -ENODEV;
        }
 
+       if (!IS_ERR(rstc)) {
+               reset_control_assert(rstc);
+               usleep_range(10, 20);
+               reset_control_deassert(rstc);
+       }
+
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        ldev->regs = devm_ioremap_resource(dev, res);
        if (IS_ERR(ldev->regs)) {
@@ -1163,11 +1169,6 @@ int ltdc_load(struct drm_device *ddev)
                }
        }
 
-       if (!IS_ERR(rstc)) {
-               reset_control_assert(rstc);
-               usleep_range(10, 20);
-               reset_control_deassert(rstc);
-       }
 
        ret = ltdc_get_caps(ddev);
        if (ret) {