Message ID | 20240328102746.17868-3-marex@denx.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/4] dt-bindings: display: simple: Document support for Innolux G121XCE-L01 | expand |
On 3/28/2024 3:27 AM, Marek Vasut wrote: > Use display_timing instead of drm_display_mode to define a range of > possible display timings supported by this panel. This makes the panel > support more flexible and improves compatibility. No functional change > is expected. > > The settings are picked from documentation [1] section 6.1 INPUT SIGNAL > TIMING SPECIFICATIONS. > > [1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121X1-L03_Datasheet.pdf Hi Marek, Acked-by: Jessica Zhang <quic_jesszhan@quicinc.com> Thanks, Jessica Zhang > > Signed-off-by: Marek Vasut <marex@denx.de> > --- > Cc: Conor Dooley <conor+dt@kernel.org> > Cc: Daniel Vetter <daniel@ffwll.ch> > Cc: David Airlie <airlied@gmail.com> > Cc: Jessica Zhang <quic_jesszhan@quicinc.com> > Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> > Cc: Maxime Ripard <mripard@kernel.org> > Cc: Neil Armstrong <neil.armstrong@linaro.org> > Cc: Rob Herring <robh@kernel.org> > Cc: Sam Ravnborg <sam@ravnborg.org> > Cc: Thierry Reding <thierry.reding@gmail.com> > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: devicetree@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > --- > drivers/gpu/drm/panel/panel-simple.c | 26 +++++++++++++------------- > 1 file changed, 13 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c > index d4c30a86d15d6..737c78b3b8a23 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -2592,22 +2592,22 @@ static const struct panel_desc innolux_g121i1_l01 = { > .connector_type = DRM_MODE_CONNECTOR_LVDS, > }; > > -static const struct drm_display_mode innolux_g121x1_l03_mode = { > - .clock = 65000, > - .hdisplay = 1024, > - .hsync_start = 1024 + 0, > - .hsync_end = 1024 + 1, > - .htotal = 1024 + 0 + 1 + 320, > - .vdisplay = 768, > - .vsync_start = 768 + 38, > - .vsync_end = 768 + 38 + 1, > - .vtotal = 768 + 38 + 1 + 0, > - .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, > +static const struct display_timing innolux_g121x1_l03_timings = { > + .pixelclock = { 57500000, 64900000, 74400000 }, > + .hactive = { 1024, 1024, 1024 }, > + .hfront_porch = { 90, 140, 190 }, > + .hback_porch = { 90, 140, 190 }, > + .hsync_len = { 36, 40, 60 }, > + .vactive = { 768, 768, 768 }, > + .vfront_porch = { 2, 15, 30 }, > + .vback_porch = { 2, 15, 30 }, > + .vsync_len = { 2, 8, 20 }, > + .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW, > }; > > static const struct panel_desc innolux_g121x1_l03 = { > - .modes = &innolux_g121x1_l03_mode, > - .num_modes = 1, > + .timings = &innolux_g121x1_l03_timings, > + .num_timings = 1, > .bpc = 6, > .size = { > .width = 246, > -- > 2.43.0 >
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index d4c30a86d15d6..737c78b3b8a23 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -2592,22 +2592,22 @@ static const struct panel_desc innolux_g121i1_l01 = { .connector_type = DRM_MODE_CONNECTOR_LVDS, }; -static const struct drm_display_mode innolux_g121x1_l03_mode = { - .clock = 65000, - .hdisplay = 1024, - .hsync_start = 1024 + 0, - .hsync_end = 1024 + 1, - .htotal = 1024 + 0 + 1 + 320, - .vdisplay = 768, - .vsync_start = 768 + 38, - .vsync_end = 768 + 38 + 1, - .vtotal = 768 + 38 + 1 + 0, - .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, +static const struct display_timing innolux_g121x1_l03_timings = { + .pixelclock = { 57500000, 64900000, 74400000 }, + .hactive = { 1024, 1024, 1024 }, + .hfront_porch = { 90, 140, 190 }, + .hback_porch = { 90, 140, 190 }, + .hsync_len = { 36, 40, 60 }, + .vactive = { 768, 768, 768 }, + .vfront_porch = { 2, 15, 30 }, + .vback_porch = { 2, 15, 30 }, + .vsync_len = { 2, 8, 20 }, + .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW, }; static const struct panel_desc innolux_g121x1_l03 = { - .modes = &innolux_g121x1_l03_mode, - .num_modes = 1, + .timings = &innolux_g121x1_l03_timings, + .num_timings = 1, .bpc = 6, .size = { .width = 246,
Use display_timing instead of drm_display_mode to define a range of possible display timings supported by this panel. This makes the panel support more flexible and improves compatibility. No functional change is expected. The settings are picked from documentation [1] section 6.1 INPUT SIGNAL TIMING SPECIFICATIONS. [1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G121X1-L03_Datasheet.pdf Signed-off-by: Marek Vasut <marex@denx.de> --- Cc: Conor Dooley <conor+dt@kernel.org> Cc: Daniel Vetter <daniel@ffwll.ch> Cc: David Airlie <airlied@gmail.com> Cc: Jessica Zhang <quic_jesszhan@quicinc.com> Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Maxime Ripard <mripard@kernel.org> Cc: Neil Armstrong <neil.armstrong@linaro.org> Cc: Rob Herring <robh@kernel.org> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Thomas Zimmermann <tzimmermann@suse.de> Cc: devicetree@vger.kernel.org Cc: dri-devel@lists.freedesktop.org --- drivers/gpu/drm/panel/panel-simple.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)