drm/panel: simple: Use display_timing for lq123p1jx31
authorSean Paul <seanpaul@chromium.org>
Thu, 8 Feb 2018 17:48:52 +0000 (12:48 -0500)
committerThierry Reding <treding@nvidia.com>
Mon, 12 Mar 2018 08:33:53 +0000 (09:33 +0100)
Convert the sharp lq123p1jx31 from using a fixed mode to specifying a
display timing with min/typ/max values. This allows us to capture the
timings set forth in the datasheet as well as the additional values that
we've cleared with the display vendor to avoid interference with the
digitizer on the Samsung Chromebook Plus (kevin).

A follow-on patch will specify the override mode for kevin devices.

Changes in v2:
 - None
Changes in v3:
 - None

Cc: Doug Anderson <dianders@chromium.org>
Cc: Eric Anholt <eric@anholt.net>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: Jeffy Chen <jeffy.chen@rock-chips.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Stéphane Marchesin <marcheu@chromium.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: devicetree@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linux-rockchip@lists.infradead.org
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180208174855.55620-6-seanpaul@chromium.org
drivers/gpu/drm/panel/panel-simple.c

index f9649bded63ffdab5f921bd2374ed800411f8f14..7d3cecd3b48a6c16cb45fb4c68c45e9bc27919f3 100644 (file)
@@ -1741,23 +1741,22 @@ static const struct panel_desc sharp_lq101k1ly04 = {
        .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA,
 };
 
-static const struct drm_display_mode sharp_lq123p1jx31_mode = {
-       .clock = 252750,
-       .hdisplay = 2400,
-       .hsync_start = 2400 + 48,
-       .hsync_end = 2400 + 48 + 32,
-       .htotal = 2400 + 48 + 32 + 80,
-       .vdisplay = 1600,
-       .vsync_start = 1600 + 3,
-       .vsync_end = 1600 + 3 + 10,
-       .vtotal = 1600 + 3 + 10 + 33,
-       .vrefresh = 60,
-       .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+static const struct display_timing sharp_lq123p1jx31_timing = {
+       .pixelclock = { 252750000, 252750000, 266604720 },
+       .hactive = { 2400, 2400, 2400 },
+       .hfront_porch = { 48, 48, 48 },
+       .hback_porch = { 80, 80, 84 },
+       .hsync_len = { 32, 32, 32 },
+       .vactive = { 1600, 1600, 1600 },
+       .vfront_porch = { 3, 3, 3 },
+       .vback_porch = { 33, 33, 120 },
+       .vsync_len = { 10, 10, 10 },
+       .flags = DISPLAY_FLAGS_VSYNC_LOW | DISPLAY_FLAGS_HSYNC_LOW,
 };
 
 static const struct panel_desc sharp_lq123p1jx31 = {
-       .modes = &sharp_lq123p1jx31_mode,
-       .num_modes = 1,
+       .timings = &sharp_lq123p1jx31_timing,
+       .num_timings = 1,
        .bpc = 8,
        .size = {
                .width = 259,