[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <12828da82a646796642757c793f30e32dcbb4528.camel@mediatek.com>
Date: Thu, 12 Jan 2023 10:00:43 +0000
From: Xinlei Lee (李昕磊)
<Xinlei.Lee@...iatek.com>
To: "chunkuang.hu@...nel.org" <chunkuang.hu@...nel.org>,
"sam@...nborg.org" <sam@...nborg.org>,
Jitao Shi (石记涛) <jitao.shi@...iatek.com>,
"daniel@...ll.ch" <daniel@...ll.ch>,
"p.zabel@...gutronix.de" <p.zabel@...gutronix.de>,
"thierry.reding@...il.com" <thierry.reding@...il.com>,
"matthias.bgg@...il.com" <matthias.bgg@...il.com>,
"airlied@...ux.ie" <airlied@...ux.ie>,
"angelogioacchino.delregno@...labora.com"
<angelogioacchino.delregno@...labora.com>
CC: "dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mediatek@...ts.infradead.org"
<linux-mediatek@...ts.infradead.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Project_Global_Chrome_Upstream_Group
<Project_Global_Chrome_Upstream_Group@...iatek.com>
Subject: Re: [PATCH v2 3/3] drm/panel: boe-tv101wum-nl6: Fine tune the panel
power sequence
On Tue, 2023-01-10 at 10:22 +0100, AngeloGioacchino Del Regno wrote:
> Il 10/01/23 06:54, xinlei.lee@...iatek.com ha scritto:
> > From: Xinlei Lee <xinlei.lee@...iatek.com>
> >
> > For "boe,tv105wum-nw0" this special panel, it is stipulated in the
> > panel spec that MIPI needs to keep the LP11 state before the
> > lcm_reset pin is pulled high.
> >
> > Signed-off-by: Xinlei Lee <xinlei.lee@...iatek.com>
> > ---
> > drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
> > b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
> > index f0093035f1ff..67df61de64ae 100644
> > --- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
> > +++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
> > @@ -36,6 +36,7 @@ struct panel_desc {
> > const struct panel_init_cmd *init_cmds;
> > unsigned int lanes;
> > bool discharge_on_disable;
> > + bool lp11_before_reset;
> > };
> >
> > struct boe_panel {
> > @@ -1261,6 +1262,10 @@ static int boe_panel_prepare(struct
> > drm_panel *panel)
> >
> > usleep_range(10000, 11000);
> >
> > + if (boe->desc->lp11_before_reset) {
> > + mipi_dsi_dcs_nop(boe->dsi);
>
> NOP will never reach the driveric if it is in reset, which should
> apparently be
> the state of it at that point in code.
>
> I guess that you wanted to do that after LCM reset and before sending
> init cmds.
>
> Regards,
> Angelo
>
Hi Angelo:
To explain to you that in my patch, sending a NOP before lcm_reset is
what this particular panel driver needs.
Indeed, the NOP will not reach the panel driveric before lcm_reset,
but the driveric specification stipulates that the MIPI signal needs
to be pulled high before lcm_reset is pulled high(NOP
-> mtk_dsi_host_transfer -> mtk_dsi_lane_ready) . In order to avoid
special driver initialization exceptions, this control was added.
Best Regards!
xinlei
Powered by blists - more mailing lists