diff mbox series

drm/panel: simple: fix AUO g185han01 horizontal blanking

Message ID 20181112174126.3787-1-l.stach@pengutronix.de (mailing list archive)
State New, archived
Headers show
Series drm/panel: simple: fix AUO g185han01 horizontal blanking | expand

Commit Message

Lucas Stach Nov. 12, 2018, 5:41 p.m. UTC
The horizontal blanking periods are too short, as the values are
specified for a single LVDS channel. Since this panel is dual LVDS
they need to be doubled. With this change the panel reaches its
nominal vrefresh rate of 60Fps, instead of the 64Fps with the
current wrong blanking.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
 drivers/gpu/drm/panel/panel-simple.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Lucas Stach Dec. 14, 2018, 1:20 p.m. UTC | #1
Hi Thierry,

can you please have a look at this one?

Regards,
Lucas

Am Montag, den 12.11.2018, 18:41 +0100 schrieb Lucas Stach:
> The horizontal blanking periods are too short, as the values are
> specified for a single LVDS channel. Since this panel is dual LVDS
> they need to be doubled. With this change the panel reaches its
> nominal vrefresh rate of 60Fps, instead of the 64Fps with the
> current wrong blanking.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c
> b/drivers/gpu/drm/panel/panel-simple.c
> index 97964f7f2ace..2c89792e91e2 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -663,9 +663,9 @@ static const struct panel_desc auo_g133han01 = {
>  static const struct display_timing auo_g185han01_timings = {
>  	.pixelclock = { 120000000, 144000000, 175000000 },
>  	.hactive = { 1920, 1920, 1920 },
> -	.hfront_porch = { 18, 60, 74 },
> -	.hback_porch = { 12, 44, 54 },
> -	.hsync_len = { 10, 24, 32 },
> +	.hfront_porch = { 36, 120, 148 },
> +	.hback_porch = { 24, 88, 108 },
> +	.hsync_len = { 20, 48, 64 },
>  	.vactive = { 1080, 1080, 1080 },
>  	.vfront_porch = { 6, 10, 40 },
>  	.vback_porch = { 2, 5, 20 },
Philipp Zabel Jan. 25, 2019, 11:20 a.m. UTC | #2
On Mon, 2018-11-12 at 18:41 +0100, Lucas Stach wrote:
> The horizontal blanking periods are too short, as the values are
> specified for a single LVDS channel. Since this panel is dual LVDS
> they need to be doubled. With this change the panel reaches its
> nominal vrefresh rate of 60Fps, instead of the 64Fps with the
> current wrong blanking.
> 
> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 97964f7f2ace..2c89792e91e2 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -663,9 +663,9 @@ static const struct panel_desc auo_g133han01 = {
>  static const struct display_timing auo_g185han01_timings = {
>  	.pixelclock = { 120000000, 144000000, 175000000 },
>  	.hactive = { 1920, 1920, 1920 },
> -	.hfront_porch = { 18, 60, 74 },
> -	.hback_porch = { 12, 44, 54 },
> -	.hsync_len = { 10, 24, 32 },
> +	.hfront_porch = { 36, 120, 148 },
> +	.hback_porch = { 24, 88, 108 },
> +	.hsync_len = { 20, 48, 64 },

The datasheet specifies 960 active clocks + 40/128/160 clocks blanking
on each of the two LVDS channels (min/typical/max), so doubled this is
now correct.

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>

regards
Philipp
Lucas Stach July 10, 2019, 1:07 p.m. UTC | #3
Hi Sam,

since you've been picking up some panel patches lately, might I ask you
to take a look at this patch?

Regards,
Lucas

Am Freitag, den 14.12.2018, 14:20 +0100 schrieb Lucas Stach:
> Hi Thierry,
> 
> can you please have a look at this one?
> 
> Regards,
> Lucas
> 
> Am Montag, den 12.11.2018, 18:41 +0100 schrieb Lucas Stach:
> > The horizontal blanking periods are too short, as the values are
> > specified for a single LVDS channel. Since this panel is dual LVDS
> > they need to be doubled. With this change the panel reaches its
> > nominal vrefresh rate of 60Fps, instead of the 64Fps with the
> > current wrong blanking.
> > 
> > Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> > ---
> >  drivers/gpu/drm/panel/panel-simple.c | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c
> > b/drivers/gpu/drm/panel/panel-simple.c
> > index 97964f7f2ace..2c89792e91e2 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -663,9 +663,9 @@ static const struct panel_desc auo_g133han01 =
> > {
> >  static const struct display_timing auo_g185han01_timings = {
> >  	.pixelclock = { 120000000, 144000000, 175000000 },
> >  	.hactive = { 1920, 1920, 1920 },
> > -	.hfront_porch = { 18, 60, 74 },
> > -	.hback_porch = { 12, 44, 54 },
> > -	.hsync_len = { 10, 24, 32 },
> > +	.hfront_porch = { 36, 120, 148 },
> > +	.hback_porch = { 24, 88, 108 },
> > +	.hsync_len = { 20, 48, 64 },
> >  	.vactive = { 1080, 1080, 1080 },
> >  	.vfront_porch = { 6, 10, 40 },
> >  	.vback_porch = { 2, 5, 20 },
> 
>
Sam Ravnborg July 10, 2019, 1:32 p.m. UTC | #4
On Wed, Jul 10, 2019 at 03:07:40PM +0200, Lucas Stach wrote:
> Hi Sam,
> 
> since you've been picking up some panel patches lately, might I ask you
> to take a look at this patch?
> 
> Regards,
> Lucas
> 
> Am Freitag, den 14.12.2018, 14:20 +0100 schrieb Lucas Stach:
> > Hi Thierry,
> > 
> > can you please have a look at this one?
> > 
> > Regards,
> > Lucas
> > 
> > Am Montag, den 12.11.2018, 18:41 +0100 schrieb Lucas Stach:
> > > The horizontal blanking periods are too short, as the values are
> > > specified for a single LVDS channel. Since this panel is dual LVDS
> > > they need to be doubled. With this change the panel reaches its
> > > nominal vrefresh rate of 60Fps, instead of the 64Fps with the
> > > current wrong blanking.
> > > 
> > > Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> > > ---
> > >  drivers/gpu/drm/panel/panel-simple.c | 6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/panel/panel-simple.c
> > > b/drivers/gpu/drm/panel/panel-simple.c
> > > index 97964f7f2ace..2c89792e91e2 100644
> > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > @@ -663,9 +663,9 @@ static const struct panel_desc auo_g133han01 =
> > > {
> > >  static const struct display_timing auo_g185han01_timings = {
> > >  	.pixelclock = { 120000000, 144000000, 175000000 },
> > >  	.hactive = { 1920, 1920, 1920 },
> > > -	.hfront_porch = { 18, 60, 74 },
> > > -	.hback_porch = { 12, 44, 54 },
> > > -	.hsync_len = { 10, 24, 32 },
> > > +	.hfront_porch = { 36, 120, 148 },
> > > +	.hback_porch = { 24, 88, 108 },
> > > +	.hsync_len = { 20, 48, 64 },
> > >  	.vactive = { 1080, 1080, 1080 },
> > >  	.vfront_porch = { 6, 10, 40 },
> > >  	.vback_porch = { 2, 5, 20 },

Looks good to me. I have not worked with dual scan but your explanations
makes sense. and I checked that all vertical timings are multiplied by
2.

So:
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Sam Ravnborg July 12, 2019, 4:18 p.m. UTC | #5
Hi Lucas.

> Hi Sam,
> 
> since you've been picking up some panel patches lately, might I ask you
> to take a look at this patch?
> 
> Regards,
> Lucas
> 
> Am Freitag, den 14.12.2018, 14:20 +0100 schrieb Lucas Stach:
> > Hi Thierry,
> > 
> > can you please have a look at this one?
> > 
> > Regards,
> > Lucas
> > 
> > Am Montag, den 12.11.2018, 18:41 +0100 schrieb Lucas Stach:
> > > The horizontal blanking periods are too short, as the values are
> > > specified for a single LVDS channel. Since this panel is dual LVDS
> > > they need to be doubled. With this change the panel reaches its
> > > nominal vrefresh rate of 60Fps, instead of the 64Fps with the
> > > current wrong blanking.
> > > 
> > > Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
> > > ---
> > >  drivers/gpu/drm/panel/panel-simple.c | 6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/panel/panel-simple.c
> > > b/drivers/gpu/drm/panel/panel-simple.c
> > > index 97964f7f2ace..2c89792e91e2 100644
> > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > @@ -663,9 +663,9 @@ static const struct panel_desc auo_g133han01 =
> > > {
> > >  static const struct display_timing auo_g185han01_timings = {
> > >  	.pixelclock = { 120000000, 144000000, 175000000 },
> > >  	.hactive = { 1920, 1920, 1920 },
> > > -	.hfront_porch = { 18, 60, 74 },
> > > -	.hback_porch = { 12, 44, 54 },
> > > -	.hsync_len = { 10, 24, 32 },
> > > +	.hfront_porch = { 36, 120, 148 },
> > > +	.hback_porch = { 24, 88, 108 },
> > > +	.hsync_len = { 20, 48, 64 },
> > >  	.vactive = { 1080, 1080, 1080 },
> > >  	.vfront_porch = { 6, 10, 40 },
> > >  	.vback_porch = { 2, 5, 20 },

Updated commit log to include comment form Philipp and applied to
drm-misc-next.

	Sam
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 97964f7f2ace..2c89792e91e2 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -663,9 +663,9 @@  static const struct panel_desc auo_g133han01 = {
 static const struct display_timing auo_g185han01_timings = {
 	.pixelclock = { 120000000, 144000000, 175000000 },
 	.hactive = { 1920, 1920, 1920 },
-	.hfront_porch = { 18, 60, 74 },
-	.hback_porch = { 12, 44, 54 },
-	.hsync_len = { 10, 24, 32 },
+	.hfront_porch = { 36, 120, 148 },
+	.hback_porch = { 24, 88, 108 },
+	.hsync_len = { 20, 48, 64 },
 	.vactive = { 1080, 1080, 1080 },
 	.vfront_porch = { 6, 10, 40 },
 	.vback_porch = { 2, 5, 20 },