[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAAOTY__51QPovSD2_DyBFPPMED1H0hGqxHQSdFWkL7nCngkX8g@mail.gmail.com>
Date: Thu, 30 Sep 2021 21:12:02 +0800
From: Chun-Kuang Hu <chunkuang.hu@...nel.org>
To: "jason-jh.lin" <jason-jh.lin@...iatek.com>
Cc: Chun-Kuang Hu <chunkuang.hu@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
David Airlie <airlied@...ux.ie>,
Daniel Vetter <daniel@...ll.ch>,
Matthias Brugger <matthias.bgg@...il.com>,
Yongqiang Niu <yongqiang.niu@...iatek.com>,
DRI Development <dri-devel@...ts.freedesktop.org>,
"moderated list:ARM/Mediatek SoC support"
<linux-mediatek@...ts.infradead.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Hsin-Yi Wang <hsinyi@...omium.org>, fshao@...omium.org,
Nancy Lin <nancy.lin@...iatek.com>, singo.chang@...iatek.com
Subject: Re: [v2 PATCH 3/3] drm/mediatek: Fix cursor plane is not config when
primary is updating
Hi, Jason:
jason-jh.lin <jason-jh.lin@...iatek.com> 於 2021年9月30日 週四 上午10:47寫道:
>
> If cursor plane has updated but primary plane config task is not
> finished, mtk_drm_crtc_update_config will call mbox_flush() to clear
> all task in current GCE thread and let cursor plane re-send a new
> GCE task with cursor + primary plane config to replace the unfinished
> GCE task.
>
> So the plane config flag should not be cleared when mailbox callback
> with a error status.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@...nel.org>
>
> Fixes: 9efb16c2fdd6 ("drm/mediatek: Clear pending flag when cmdq packet is done")
> Signed-off-by: jason-jh.lin <jason-jh.lin@...iatek.com>
> ---
> drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> index 274e5c67507d..b96dbc867890 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> @@ -281,6 +281,9 @@ static void ddp_cmdq_cb(struct mbox_client *cl, void *mssg)
> struct mtk_crtc_state *state;
> unsigned int i;
>
> + if (data->sta < 0)
> + return;
> +
> state = to_mtk_crtc_state(mtk_crtc->base.state);
>
> state->pending_config = false;
> --
> 2.18.0
>
Powered by blists - more mailing lists