drm/panel: simple: Fix Innolux G101ICE-L01 timings
authorMarek Vasut <marex@denx.de>
Sun, 8 Oct 2023 22:32:56 +0000 (00:32 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 3 Dec 2023 06:32:07 +0000 (07:32 +0100)
[ Upstream commit 3f9a91b6c00e655d27bd785dcda1742dbdc31bda ]

The Innolux G101ICE-L01 datasheet [1] page 17 table
6.1 INPUT SIGNAL TIMING SPECIFICATIONS
indicates that maximum vertical blanking time is 40 lines.
Currently the driver uses 29 lines.

Fix it, and since this panel is a DE panel, adjust the timings
to make them less hostile to controllers which cannot do 1 px
HSA/VSA, distribute the delays evenly between all three parts.

[1] https://www.data-modul.com/sites/default/files/products/G101ICE-L01-C2-specification-12042389.pdf

Fixes: 1e29b840af9f ("drm/panel: simple: Add Innolux G101ICE-L01 panel")
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231008223256.279196-1-marex@denx.de
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/panel/panel-simple.c

index be2900a42b8084119132817cb4897f15b10a701c..005377f58eb4a0bf88e8081d0f7a1334d715a055 100644 (file)
@@ -2205,13 +2205,13 @@ static const struct panel_desc innolux_g070y2_t02 = {
 static const struct display_timing innolux_g101ice_l01_timing = {
        .pixelclock = { 60400000, 71100000, 74700000 },
        .hactive = { 1280, 1280, 1280 },
-       .hfront_porch = { 41, 80, 100 },
-       .hback_porch = { 40, 79, 99 },
-       .hsync_len = { 1, 1, 1 },
+       .hfront_porch = { 30, 60, 70 },
+       .hback_porch = { 30, 60, 70 },
+       .hsync_len = { 22, 40, 60 },
        .vactive = { 800, 800, 800 },
-       .vfront_porch = { 5, 11, 14 },
-       .vback_porch = { 4, 11, 14 },
-       .vsync_len = { 1, 1, 1 },
+       .vfront_porch = { 3, 8, 14 },
+       .vback_porch = { 3, 8, 14 },
+       .vsync_len = { 4, 7, 12 },
        .flags = DISPLAY_FLAGS_DE_HIGH,
 };