<pre>
On Tue, 2022-11-08 at 07:44 +0000, CK Hu (胡俊光) wrote:
> Hi, Xinlei:
>
> On Wed, 2022-10-12 at 15:48 +0800, xinlei.lee wrote:
> > On Mon, 2022-09-05 at 21:53 +0800, xinlei.lee@mediatek.com wrote:
> > > From: Xinlei Lee <xinlei.lee@mediatek.com>
> > >
> > > Modify dpi power on/off sequence so that the first gpio operation
> > > will take effect.
> > >
> > > Fixes: 6bd4763fd532 ("drm/mediatek: set dpi pin mode to gpio low
> > > to
> > > avoid leakage
> > > current")
> > >
> > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com>
> > >
> > > ---
> > > Base on the branch of Linux-next/master.
> > > Because dpi power_on/off is protected by dpi->refcount, the first
> > > time
> > > it cannot be powered on and off successfully, it will cause
> > > leakage.
> > > ---
> > > ---
> > > drivers/gpu/drm/mediatek/mtk_dpi.c | 12 ++++++------
> > > 1 file changed, 6 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c
> > > b/drivers/gpu/drm/mediatek/mtk_dpi.c
> > > index 630a4e301ef6..2ce1a39ce3bf 100644
> > > --- a/drivers/gpu/drm/mediatek/mtk_dpi.c
> > > +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c
> > > @@ -462,9 +462,6 @@ static void mtk_dpi_power_off(struct mtk_dpi
> > > *dpi)
> > > if (--dpi->refcount != 0)
> > > return;
> > >
> > > -if (dpi->pinctrl && dpi->pins_gpio)
> > > -pinctrl_select_state(dpi->pinctrl, dpi->pins_gpio);
> > > -
> > > mtk_dpi_disable(dpi);
> > > clk_disable_unprepare(dpi->pixel_clk);
> > > clk_disable_unprepare(dpi->engine_clk);
> > > @@ -489,9 +486,6 @@ static int mtk_dpi_power_on(struct mtk_dpi
> > > *dpi)
> > > goto err_pixel;
> > > }
> > >
> > > -if (dpi->pinctrl && dpi->pins_dpi)
> > > -pinctrl_select_state(dpi->pinctrl, dpi->pins_dpi);
> > > -
> > > return 0;
> > >
> > > err_pixel:
> > > @@ -721,6 +715,9 @@ static void mtk_dpi_bridge_disable(struct
> > > drm_bridge *bridge)
> > > {
> > > struct mtk_dpi *dpi = bridge_to_dpi(bridge);
> > >
> > > +if (dpi->pinctrl && dpi->pins_gpio)
> > > +pinctrl_select_state(dpi->pinctrl, dpi->pins_gpio);
>
> I think this should be placed after mtk_dpi_power_off().
>
> > > +
> > > mtk_dpi_power_off(dpi);
> > > }
> > >
> > > @@ -728,6 +725,9 @@ static void mtk_dpi_bridge_enable(struct
> > > drm_bridge *bridge)
> > > {
> > > struct mtk_dpi *dpi = bridge_to_dpi(bridge);
> > >
> > > +if (dpi->pinctrl && dpi->pins_dpi)
> > > +pinctrl_select_state(dpi->pinctrl, dpi->pins_dpi);
> > > +
> > > mtk_dpi_power_on(dpi);
> > > mtk_dpi_set_display_mode(dpi, &dpi->mode);
> > > mtk_dpi_enable(dpi);
> >
> > Hi CK,
> >
> > Gentle ping for this patch, if there is anything I need to modify,
> > please kindly let me know.
> >
> > Best Regards!
> > xinlei
> >
Hi CK:
Yes, this pacth is mainly to remove the control of the pin from
dpi_power_on/off, because dpi_power_on/off is protected by refcount.
I will modify the position of the pull-down gpio in the next version.
Best Regards!
xinlei
</pre><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************
The information contained in this e-mail message (including any
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be
conveyed only to the designated recipient(s). Any use, dissemination,
distribution, printing, retaining or copying of this e-mail (including its
attachments) by unintended recipient(s) is strictly prohibited and may
be unlawful. If you are not an intended recipient of this e-mail, or believe
that you have received this e-mail in error, please notify the sender
immediately (by replying to this e-mail), delete any and all copies of
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->