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 |
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 },
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
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 }, > >
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>
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 --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 },
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(-)