mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Shawn Sung <shawn.sung@mediatek.com>
To: Chun-Kuang Hu <chunkuang.hu@kernel.org>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>,
	David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Bibby Hsieh <bibby.hsieh@mediatek.com>,
	CK Hu <ck.hu@mediatek.com>,
	"Nancy . Lin" <nancy.lin@mediatek.com>,
	Fei Shao <fshao@chromium.org>, Sean Paul <sean@poorly.run>,
	Jason Chen <jason-ch.chen@mediatek.corp-partner.google.com>,
	<dri-devel@lists.freedesktop.org>,
	<linux-mediatek@lists.infradead.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>,
	Hsiao Chien Sung <shawn.sung@mediatek.com>
Subject: [PATCH v7 06/18] drm/mediatek: Turn off the layers with zero width or height
Date: Thu, 2 May 2024 18:38:36 +0800	[thread overview]
Message-ID: <20240502103848.5845-7-shawn.sung@mediatek.com> (raw)
In-Reply-To: <20240502103848.5845-1-shawn.sung@mediatek.com>

From: Hsiao Chien Sung <shawn.sung@mediatek.com>

We found that IGT (Intel GPU Tool) will try to commit layers with
zero width or height and lead to undefined behaviors in hardware.
Disable the layers in such a situation.

Fixes: 777b7bc86a0a ("UPSTREAM: drm/mediatek: Add ovl_adaptor support for MT8195")
Fixes: fa97fe71f6f9 ("UPSTREAM: drm/mediatek: Add ETHDR support for MT8195")

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>
---
 drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 2 +-
 drivers/gpu/drm/mediatek/mtk_ethdr.c            | 7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
index 02dd7dcdfedb2..2b62d64759181 100644
--- a/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
+++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c
@@ -158,7 +158,7 @@ void mtk_ovl_adaptor_layer_config(struct device *dev, unsigned int idx,
 	merge = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_MERGE0 + idx];
 	ethdr = ovl_adaptor->ovl_adaptor_comp[OVL_ADAPTOR_ETHDR0];
 
-	if (!pending->enable) {
+	if (!pending->enable || !pending->width || !pending->height) {
 		mtk_merge_stop_cmdq(merge, cmdq_pkt);
 		mtk_mdp_rdma_stop(rdma_l, cmdq_pkt);
 		mtk_mdp_rdma_stop(rdma_r, cmdq_pkt);
diff --git a/drivers/gpu/drm/mediatek/mtk_ethdr.c b/drivers/gpu/drm/mediatek/mtk_ethdr.c
index 156c6ff547e86..4ffd0a0648613 100644
--- a/drivers/gpu/drm/mediatek/mtk_ethdr.c
+++ b/drivers/gpu/drm/mediatek/mtk_ethdr.c
@@ -160,7 +160,12 @@ void mtk_ethdr_layer_config(struct device *dev, unsigned int idx,
 	if (idx >= 4)
 		return;
 
-	if (!pending->enable) {
+	if (!pending->enable || !pending->width || !pending->height) {
+		/*
+		 * instead of disabling layer with MIX_SRC_CON directly
+		 * set the size to 0 to avoid screen shift due to mixer
+		 * mode switch (hardware behavior)
+		 */
 		mtk_ddp_write(cmdq_pkt, 0, &mixer->cmdq_base, mixer->regs, MIX_L_SRC_SIZE(idx));
 		return;
 	}
-- 
2.18.0


  parent reply	other threads:[~2024-05-02 10:39 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-02 10:38 [PATCH v7 00/18] Support IGT in display driver Shawn Sung
2024-05-02 10:38 ` [PATCH v7 01/18] soc: mediatek: Disable 9-bit alpha in ETHDR Shawn Sung
2024-05-07  5:58   ` CK Hu (胡俊光)
2024-05-07 10:02     ` Shawn Sung (宋孝謙)
2024-05-02 10:38 ` [PATCH v7 02/18] drm/mediatek: Add OVL compatible name for MT8195 Shawn Sung
2024-05-02 10:38 ` [PATCH v7 03/18] drm/mediatek: Add missing plane settings when async update Shawn Sung
2024-05-02 10:38 ` [PATCH v7 04/18] drm/mediatek: Add DRM_MODE_ROTATE_0 to rotation property Shawn Sung
2024-05-02 10:38 ` [PATCH v7 05/18] drm/mediatek: Set DRM mode configs accordingly Shawn Sung
2024-05-03  2:38   ` CK Hu (胡俊光)
2024-05-27  4:33   ` Fei Shao
2024-05-27  4:38     ` Chen-Yu Tsai
2024-05-27  4:54       ` Fei Shao
2024-05-27  5:28         ` Chen-Yu Tsai
2024-05-02 10:38 ` Shawn Sung [this message]
2024-05-02 10:38 ` [PATCH v7 07/18] drm/mediatek: Support more 10bit formats in OVL Shawn Sung
2024-05-03  2:51   ` CK Hu (胡俊光)
2024-05-02 10:38 ` [PATCH v7 08/18] drm/mediatek: Support RGBA8888 and RGBX8888 " Shawn Sung
2024-05-03  2:58   ` CK Hu (胡俊光)
2024-05-02 10:38 ` [PATCH v7 09/18] drm/mediatek: Support constant blending " Shawn Sung
2024-05-03  5:29   ` CK Hu (胡俊光)
2024-05-03  5:52   ` CK Hu (胡俊光)
2024-05-02 10:38 ` [PATCH v7 10/18] drm/mediatek: Support constant blending in Mixer Shawn Sung
2024-05-03  5:45   ` CK Hu (胡俊光)
2024-05-02 10:38 ` [PATCH v7 11/18] drm/mediatek: Support "Pre-multiplied" blending in OVL Shawn Sung
2024-05-03  9:04   ` CK Hu (胡俊光)
2024-05-02 10:38 ` [PATCH v7 12/18] drm/mediatek: Support "Pre-multiplied" blending in Mixer Shawn Sung
2024-05-03  9:28   ` CK Hu (胡俊光)
2024-05-02 10:38 ` [PATCH v7 13/18] drm/mediatek: Support "None" blending in OVL Shawn Sung
2024-05-02 10:38 ` [PATCH v7 14/18] drm/mediatek: Support "None" blending in Mixer Shawn Sung
2024-05-03  9:40   ` CK Hu (胡俊光)
2024-05-02 10:38 ` [PATCH v7 15/18] drm/mediatek: Support alpha blending in display driver Shawn Sung
2024-05-02 10:38 ` [PATCH v7 16/18] drm/mediatek: Support CRC " Shawn Sung
2024-05-04 14:22   ` kernel test robot
2024-05-02 10:38 ` [PATCH v7 17/18] drm/mediatek: Support CRC in OVL Shawn Sung
2024-05-02 10:38 ` [PATCH v7 18/18] drm/mediatek: Support CRC in OVL adaptor Shawn Sung

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240502103848.5845-7-shawn.sung@mediatek.com \
    --to=shawn.sung@mediatek.com \
    --cc=airlied@gmail.com \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bibby.hsieh@mediatek.com \
    --cc=chunkuang.hu@kernel.org \
    --cc=ck.hu@mediatek.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=fshao@chromium.org \
    --cc=jason-ch.chen@mediatek.corp-partner.google.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=matthias.bgg@gmail.com \
    --cc=nancy.lin@mediatek.com \
    --cc=p.zabel@pengutronix.de \
    --cc=sean@poorly.run \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®