[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7047fbf4-fe47-4f4b-8129-8ad25eddf350@linaro.org>
Date: Mon, 14 Aug 2023 14:37:05 +0200
From: Neil Armstrong <neil.armstrong@...aro.org>
To: Luca Ceresoli <luca.ceresoli@...tlin.com>,
dri-devel@...ts.freedesktop.org
Cc: Sam Ravnborg <sam@...nborg.org>, David Airlie <airlied@...il.com>,
Daniel Vetter <daniel@...ll.ch>,
Sebastian Reichel <sebastian.reichel@...labora.com>,
linux-kernel@...r.kernel.org,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Paul Kocialkowski <paul.kocialkowski@...tlin.com>
Subject: Re: [PATCH] drm/panel: simple: Fix AUO G121EAN01 panel timings
according to the docs
On 04/08/2023 17:12, Luca Ceresoli wrote:
> Commit 03e909acd95a ("drm/panel: simple: Add support for AUO G121EAN01.4
> panel") added support for this panel model, but the timings it implements
> are very different from what the datasheet describes. I checked both the
> G121EAN01.0 datasheet from [0] and the G121EAN01.4 one from [1] and they
> all have the same timings: for example the LVDS clock typical value is 74.4
> MHz, not 66.7 MHz as implemented.
>
> Replace the timings with the ones from the documentation. These timings
> have been tested and the clock frequencies verified with an oscilloscope to
> ensure they are correct.
>
> Also use struct display_timing instead of struct drm_display_mode in order
> to also specify the minimum and maximum values.
>
> [0] https://embedded.avnet.com/product/g121ean01-0/
> [1] https://embedded.avnet.com/product/g121ean01-4/
>
> Fixes: 03e909acd95a ("drm/panel: simple: Add support for AUO G121EAN01.4 panel")
> Signed-off-by: Luca Ceresoli <luca.ceresoli@...tlin.com>
> ---
> drivers/gpu/drm/panel/panel-simple.c | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 701013b3ad13..56854f78441e 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -999,21 +999,21 @@ static const struct panel_desc auo_g104sn02 = {
> .connector_type = DRM_MODE_CONNECTOR_LVDS,
> };
>
> -static const struct drm_display_mode auo_g121ean01_mode = {
> - .clock = 66700,
> - .hdisplay = 1280,
> - .hsync_start = 1280 + 58,
> - .hsync_end = 1280 + 58 + 8,
> - .htotal = 1280 + 58 + 8 + 70,
> - .vdisplay = 800,
> - .vsync_start = 800 + 6,
> - .vsync_end = 800 + 6 + 4,
> - .vtotal = 800 + 6 + 4 + 10,
> +static const struct display_timing auo_g121ean01_timing = {
> + .pixelclock = { 60000000, 74400000, 90000000 },
> + .hactive = { 1280, 1280, 1280 },
> + .hfront_porch = { 20, 50, 100 },
> + .hback_porch = { 20, 50, 100 },
> + .hsync_len = { 30, 100, 200 },
> + .vactive = { 800, 800, 800 },
> + .vfront_porch = { 2, 10, 25 },
> + .vback_porch = { 2, 10, 25 },
> + .vsync_len = { 4, 18, 50 },
> };
>
> static const struct panel_desc auo_g121ean01 = {
> - .modes = &auo_g121ean01_mode,
> - .num_modes = 1,
> + .timings = &auo_g121ean01_timing,
> + .num_timings = 1,
> .bpc = 8,
> .size = {
> .width = 261,
Reviewed-by: Neil Armstrong <neil.armstrong@...aro.org>
Powered by blists - more mailing lists