diff mbox series

[1/1] drm/panel: truly: Add additional delay after pulling down reset gpio

Message ID 20190527102616.28315-1-vivek.gautam@codeaurora.org (mailing list archive)
State Not Applicable, archived
Headers show
Series [1/1] drm/panel: truly: Add additional delay after pulling down reset gpio | expand

Commit Message

Vivek Gautam May 27, 2019, 10:26 a.m. UTC
MTP SDM845 panel seems to need additional delay to bring panel
to a workable state. Running modetest without this change displays
blurry artifacts.

Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
---
 drivers/gpu/drm/panel/panel-truly-nt35597.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Marc Gonzalez May 28, 2019, 8:43 a.m. UTC | #1
On 27/05/2019 12:26, Vivek Gautam wrote:

> MTP SDM845 panel seems to need additional delay to bring panel
> to a workable state. Running modetest without this change displays
> blurry artifacts.
> 
> Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
> ---
>  drivers/gpu/drm/panel/panel-truly-nt35597.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-truly-nt35597.c b/drivers/gpu/drm/panel/panel-truly-nt35597.c
> index fc2a66c53db4..aa7153fd3be4 100644
> --- a/drivers/gpu/drm/panel/panel-truly-nt35597.c
> +++ b/drivers/gpu/drm/panel/panel-truly-nt35597.c
> @@ -280,6 +280,7 @@ static int truly_35597_power_on(struct truly_nt35597 *ctx)
>  	gpiod_set_value(ctx->reset_gpio, 1);
>  	usleep_range(10000, 20000);
>  	gpiod_set_value(ctx->reset_gpio, 0);
> +	usleep_range(10000, 20000);

I'm not sure usleep_range() makes sense with these values.

AFAIU, usleep_range() is typically used for sub-jiffy sleeps, and is based
on HRT to generate an interrupt.

Once we get into jiffy granularity, it seems to me msleep() is good enough.
IIUC, it would piggy-back on the jiffy timer interrupt.

In short, why not just use msleep(10); ?

Regards.
Vivek Gautam May 29, 2019, 5:57 a.m. UTC | #2
On 5/28/2019 2:13 PM, Marc Gonzalez wrote:
> On 27/05/2019 12:26, Vivek Gautam wrote:
>
>> MTP SDM845 panel seems to need additional delay to bring panel
>> to a workable state. Running modetest without this change displays
>> blurry artifacts.
>>
>> Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
>> ---
>>   drivers/gpu/drm/panel/panel-truly-nt35597.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/gpu/drm/panel/panel-truly-nt35597.c b/drivers/gpu/drm/panel/panel-truly-nt35597.c
>> index fc2a66c53db4..aa7153fd3be4 100644
>> --- a/drivers/gpu/drm/panel/panel-truly-nt35597.c
>> +++ b/drivers/gpu/drm/panel/panel-truly-nt35597.c
>> @@ -280,6 +280,7 @@ static int truly_35597_power_on(struct truly_nt35597 *ctx)
>>   	gpiod_set_value(ctx->reset_gpio, 1);
>>   	usleep_range(10000, 20000);
>>   	gpiod_set_value(ctx->reset_gpio, 0);
>> +	usleep_range(10000, 20000);
> I'm not sure usleep_range() makes sense with these values.
>
> AFAIU, usleep_range() is typically used for sub-jiffy sleeps, and is based
> on HRT to generate an interrupt.
>
> Once we get into jiffy granularity, it seems to me msleep() is good enough.
> IIUC, it would piggy-back on the jiffy timer interrupt.
>
> In short, why not just use msleep(10); ?

I am just maintaining the symmetry across older code.

Thanks
Vivek
>
> Regards.
Sam Ravnborg June 5, 2019, 8:22 a.m. UTC | #3
Hi Vivek,

On Mon, May 27, 2019 at 03:56:16PM +0530, Vivek Gautam wrote:
> MTP SDM845 panel seems to need additional delay to bring panel
> to a workable state. Running modetest without this change displays
> blurry artifacts.
> 
> Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>

added to drm-misc-next

	Sam

> ---
>  drivers/gpu/drm/panel/panel-truly-nt35597.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-truly-nt35597.c b/drivers/gpu/drm/panel/panel-truly-nt35597.c
> index fc2a66c53db4..aa7153fd3be4 100644
> --- a/drivers/gpu/drm/panel/panel-truly-nt35597.c
> +++ b/drivers/gpu/drm/panel/panel-truly-nt35597.c
> @@ -280,6 +280,7 @@ static int truly_35597_power_on(struct truly_nt35597 *ctx)
>  	gpiod_set_value(ctx->reset_gpio, 1);
>  	usleep_range(10000, 20000);
>  	gpiod_set_value(ctx->reset_gpio, 0);
> +	usleep_range(10000, 20000);
>  
>  	return 0;
>  }
> -- 
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> of Code Aurora Forum, hosted by The Linux Foundation
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
Vivek Gautam June 6, 2019, 11:18 a.m. UTC | #4
On Wed, Jun 5, 2019 at 1:54 PM Sam Ravnborg <sam@ravnborg.org> wrote:
>
> Hi Vivek,
>
> On Mon, May 27, 2019 at 03:56:16PM +0530, Vivek Gautam wrote:
> > MTP SDM845 panel seems to need additional delay to bring panel
> > to a workable state. Running modetest without this change displays
> > blurry artifacts.
> >
> > Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
>
> added to drm-misc-next

Thanks a lot.

Best regards
Vivek

>
>         Sam
>
> > ---
> >  drivers/gpu/drm/panel/panel-truly-nt35597.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-truly-nt35597.c b/drivers/gpu/drm/panel/panel-truly-nt35597.c
> > index fc2a66c53db4..aa7153fd3be4 100644
> > --- a/drivers/gpu/drm/panel/panel-truly-nt35597.c
> > +++ b/drivers/gpu/drm/panel/panel-truly-nt35597.c
> > @@ -280,6 +280,7 @@ static int truly_35597_power_on(struct truly_nt35597 *ctx)
> >       gpiod_set_value(ctx->reset_gpio, 1);
> >       usleep_range(10000, 20000);
> >       gpiod_set_value(ctx->reset_gpio, 0);
> > +     usleep_range(10000, 20000);
> >
> >       return 0;
> >  }
> > --
> > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
> > of Code Aurora Forum, hosted by The Linux Foundation
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-truly-nt35597.c b/drivers/gpu/drm/panel/panel-truly-nt35597.c
index fc2a66c53db4..aa7153fd3be4 100644
--- a/drivers/gpu/drm/panel/panel-truly-nt35597.c
+++ b/drivers/gpu/drm/panel/panel-truly-nt35597.c
@@ -280,6 +280,7 @@  static int truly_35597_power_on(struct truly_nt35597 *ctx)
 	gpiod_set_value(ctx->reset_gpio, 1);
 	usleep_range(10000, 20000);
 	gpiod_set_value(ctx->reset_gpio, 0);
+	usleep_range(10000, 20000);
 
 	return 0;
 }