linux/drivers/gpu/drm/panel
Sean Paul b8a2948fa2 drm/panel: simple: Add ability to override typical timing
This patch adds the ability to override the typical display timing for a
given panel. This is useful for devices which have timing constraints
that do not apply across the entire display driver (eg: to avoid
crosstalk between panel and digitizer on certain laptops). The rules are
as follows:

- panel must not specify fixed mode (since the override mode will
  either be the same as the fixed mode, or we'll be unable to
  check the bounds of the overried)
- panel must specify at least one display_timing range which will be
  used to ensure the override mode fits within its bounds

Changes in v2:
 - Parse the full display-timings node (using the native-mode) (Rob)
Changes in v3:
 - No longer parse display-timings subnode, use panel-timing (Rob)
Changes in v4:
 - Don't add mode from timing if override was specified (Thierry)
 - Add warning if timing and fixed mode was specified (Thierry)
 - Don't add fixed mode if timing was specified (Thierry)
 - Refactor/rename a bit to avoid extra indentation from "if" tests
 - i should be unsigned (Thierry)
 - Add annoying WARN_ONs for some cases (Thierry)
 - Simplify 'No display_timing found' handling (Thierry)
 - Rename to panel_simple_parse_override_mode() (Thierry)
Changes in v5:
 - Added Heiko's Tested-by
Changes in v6:
 - Rebased to drm-misc next
 - Added tags

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
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Acked-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20190711203455.125667-2-dianders@chromium.org
2019-07-12 07:55:46 +02:00
..
Kconfig drm/panel: Add support for Raydium RM67191 panel driver 2019-06-26 14:34:54 +02:00
Makefile drm/panel: Add support for Raydium RM67191 panel driver 2019-06-26 14:34:54 +02:00
panel-arm-versatile.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-feiyang-fy07024di26a30d.c drm/panel: Add Feiyang FY07024DI26A30-D MIPI-DSI LCD panel 2019-04-03 18:44:40 +02:00
panel-ilitek-ili9322.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-ilitek-ili9881c.c drm/panel: ili9881c: Fix missing assignment to error return ret 2018-07-10 17:59:05 +02:00
panel-innolux-p079zca.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
panel-jdi-lt070me05000.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-kingdisplay-kd097d04.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-lg-lg4573.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-lvds.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-novatek-nt39016.c drm/panel: Add Novatek NT39016 panel support 2019-06-26 13:36:02 +02:00
panel-olimex-lcd-olinuxino.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-orisetech-otm8009a.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-osd-osd101t2587-53ts.c drm/panel: Add OSD101T2587-53TS driver 2019-04-23 13:53:05 +02:00
panel-panasonic-vvx10f034n00.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-raspberrypi-touchscreen.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-raydium-rm67191.c drm/panel: Add support for Raydium RM67191 panel driver 2019-06-26 14:34:54 +02:00
panel-raydium-rm68200.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-rocktech-jh057n00900.c drm/panel: jh057n00900: Add regulator support 2019-06-26 14:39:25 +02:00
panel-ronbo-rb070d30.c drm/panel: Add Ronbo RB070D30 panel 2019-02-26 15:58:53 +01:00
panel-samsung-ld9040.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-samsung-s6d16d0.c drm: Kill drm_display_info.name 2019-03-27 13:55:13 +02:00
panel-samsung-s6e3ha2.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-samsung-s6e8aa0.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-samsung-s6e63j0x03.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-samsung-s6e63m0.c drm/panel: Add driver for Samsung S6E63M0 panel 2019-04-23 13:06:20 +02:00
panel-seiko-43wvf1g.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-sharp-lq101r1sx01.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-sharp-ls043t1le01.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-simple.c drm/panel: simple: Add ability to override typical timing 2019-07-12 07:55:46 +02:00
panel-sitronix-st7701.c drm/panel: st7701: Swap vertical front and back porch timings 2019-05-25 08:58:18 +02:00
panel-sitronix-st7789v.c drm/panel: drop drmP.h usage 2019-05-28 17:14:53 +02:00
panel-tpo-tpg110.c drm-misc-next for 5.2: 2019-03-29 14:03:01 +10:00
panel-truly-nt35597.c drm/panel: truly: Add additional delay after pulling down reset gpio 2019-06-05 10:21:15 +02:00