[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ab3bd050c873bb6cecc00b615b938eabc157cb49.camel@mediatek.com>
Date: Mon, 17 Feb 2025 07:56:00 +0000
From: CK Hu (胡俊光) <ck.hu@...iatek.com>
To: "robh@...nel.org" <robh@...nel.org>, Alexandre Mergnat
<amergnat@...libre.com>, "tzimmermann@...e.de" <tzimmermann@...e.de>,
"simona@...ll.ch" <simona@...ll.ch>, Jitao Shi (石记涛)
<jitao.shi@...iatek.com>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>, "mripard@...nel.org"
<mripard@...nel.org>, "maarten.lankhorst@...ux.intel.com"
<maarten.lankhorst@...ux.intel.com>, "catalin.marinas@....com"
<catalin.marinas@....com>, "simona.vetter@...ll.ch" <simona.vetter@...ll.ch>,
"chunkuang.hu@...nel.org" <chunkuang.hu@...nel.org>, "krzk+dt@...nel.org"
<krzk+dt@...nel.org>, "will@...nel.org" <will@...nel.org>,
"p.zabel@...gutronix.de" <p.zabel@...gutronix.de>, "conor+dt@...nel.org"
<conor+dt@...nel.org>, "airlied@...il.com" <airlied@...il.com>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>
CC: "dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH v7 2/6] drm/mediatek: dsi: Improves the DSI lane setup
robustness
On Fri, 2025-01-10 at 14:31 +0100, Alexandre Mergnat wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>
>
> Currently, mtk_dsi_lane_ready (which setup the DSI lane) is triggered
> before mtk_dsi_poweron. lanes_ready flag toggle to true during
> mtk_dsi_lane_ready function, and the DSI module is set up during
> mtk_dsi_poweron.
>
> Later, during panel driver init, mtk_dsi_lane_ready is triggered but does
> nothing because lanes are considered ready. Unfortunately, when the panel
> driver try to communicate, the DSI returns a timeout.
>
> The solution found here is to put lanes_ready flag to false after the DSI
> module setup into mtk_dsi_poweron to init the DSI lanes after the power /
> setup of the DSI module.
I'm not clear about what happen.
I think this DSI flow has worked for a long time.
So only some panel has problem?
And another question.
Do you mean mtk_dsi_lane_ready() do some setting to hardware, but lane is not actually ready?
Or mtk_dsi_lane_ready() configure the hardware and lane is is actually ready,
but something make it not ready again, what's the thing which break lane ready?
If this is a bug fix, add Fixes tag.
Regards,
CK
>
> Signed-off-by: Alexandre Mergnat <amergnat@...libre.com>
> ---
> drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
> index e61b9bc68e9a..dcf0d93881b5 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dsi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
> @@ -724,6 +724,8 @@ static int mtk_dsi_poweron(struct mtk_dsi *dsi)
> mtk_dsi_config_vdo_timing(dsi);
> mtk_dsi_set_interrupt_enable(dsi);
>
> + dsi->lanes_ready = false;
> +
> return 0;
> err_disable_engine_clk:
> clk_disable_unprepare(dsi->engine_clk);
>
> --
> 2.25.1
>
Powered by blists - more mailing lists