drm/mediatek: return if plane pending state is disabled.

If the plane pending state is disabled, call mtk_ovl_layer_off then
return.
This guarantees that that the state is valid for all operations when the
pending state is enabled.

Suggested-by: Sean Paul <[email protected]>
To: CK Hu <[email protected]>
To: [email protected]
Cc: Daniele Castagna <[email protected]>
Cc: Philipp Zabel <[email protected]>
Cc: David Airlie <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Matthias Brugger <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Mark Yacoub <[email protected]>
---
 drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c 
b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
index 4a55bb6e2213..526b595eeff9 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
@@ -260,8 +260,10 @@ static void mtk_ovl_layer_config(struct mtk_ddp_comp 
*comp, unsigned int idx,
        unsigned int src_size = (pending->height << 16) | pending->width;
        unsigned int con;
 
-       if (!pending->enable)
+       if (!pending->enable) {
                mtk_ovl_layer_off(comp, idx);
+               return;
+       }
 
        con = ovl_fmt_convert(ovl, fmt);
        if (idx != 0)
@@ -283,8 +285,7 @@ static void mtk_ovl_layer_config(struct mtk_ddp_comp *comp, 
unsigned int idx,
        writel_relaxed(offset, comp->regs + DISP_REG_OVL_OFFSET(idx));
        writel_relaxed(addr, comp->regs + DISP_REG_OVL_ADDR(ovl, idx));
 
-       if (pending->enable)
-               mtk_ovl_layer_on(comp, idx);
+       mtk_ovl_layer_on(comp, idx);
 }
 
 static void mtk_ovl_bgclr_in_on(struct mtk_ddp_comp *comp)
-- 
2.24.0.525.g8f36a354ae-goog

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to