[PATCH 1/2] Return from mtk_ovl_layer_config after mtk_ovl_layer_off
Mark Yacoub
markyacoub at google.com
Wed Dec 11 15:49:00 UTC 2019
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 <seanpaul at chromium.org>
To: CK Hu <ck.hu at mediatek.com>
To: dri-devel at lists.freedesktop.org
Cc: Daniele Castagna <dcastagna at chromium.org>
Cc: Philipp Zabel <p.zabel at pengutronix.de>
Cc: David Airlie <airlied at linux.ie>
Cc: Daniel Vetter <daniel at ffwll.ch>
Cc: Matthias Brugger <matthias.bgg at gmail.com>
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-mediatek at lists.infradead.org
Signed-off-by: Mark Yacoub <markyacoub at google.com>
---
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
More information about the dri-devel
mailing list