summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/mediatek/mtk_disp_merge.c
diff options
context:
space:
mode:
authorHsiao Chien Sung <shawn.sung@mediatek.com>2023-12-14 13:58:46 +0800
committerChun-Kuang Hu <chunkuang.hu@kernel.org>2023-12-14 14:57:34 +0000
commit73b5ab27ab2ee616f2709dc212c2b0007894a12e (patch)
treebf6694e37c384a7f33e7d8c849e381451a4bea58 /drivers/gpu/drm/mediatek/mtk_disp_merge.c
parent8ac6935e5689a491f0bec78fec732722b3dad094 (diff)
drm/mediatek: Fix underrun in VDO1 when switches off the layer
Do not reset Merge while using CMDQ because reset API doesn't wait for frame done event as CMDQ does and could lead to underrun when the layer is switching off. Fixes: aaf94f7c3ae6 ("drm/mediatek: Add display merge async reset control") Reviewed-by: CK Hu <ck.hu@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Hsiao Chien Sung <shawn.sung@mediatek.com> Link: https://patchwork.kernel.org/project/dri-devel/patch/20231214055847.4936-23-shawn.sung@mediatek.com/ Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/mediatek/mtk_disp_merge.c')
-rw-r--r--drivers/gpu/drm/mediatek/mtk_disp_merge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/mediatek/mtk_disp_merge.c b/drivers/gpu/drm/mediatek/mtk_disp_merge.c
index e525a6b9e5b0..22f768d923d5 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_merge.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_merge.c
@@ -103,7 +103,7 @@ void mtk_merge_stop_cmdq(struct device *dev, struct cmdq_pkt *cmdq_pkt)
mtk_ddp_write(cmdq_pkt, 0, &priv->cmdq_reg, priv->regs,
DISP_REG_MERGE_CTRL);
- if (priv->async_clk)
+ if (!cmdq_pkt && priv->async_clk)
reset_control_reset(priv->reset_ctl);
}