• Sean Paul's avatar
    drm/panel: simple: Add ability to override typical timing · b8a2948f
    Sean Paul authored
    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: default avatarSean Paul <seanpaul@chromium.org>
    Tested-by: default avatarEnric Balletbo i Serra <enric.balletbo@collabora.com>
    Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
    Tested-by: default avatarHeiko Stuebner <heiko@sntech.de>
    Reviewed-by: default avatarBoris Brezillon <boris.brezillon@collabora.com>
    Acked-by: default avatarThierry Reding <thierry.reding@gmail.com>
    Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20190711203455.125667-2-dianders@chromium.org
    b8a2948f
panel-simple.c 83.6 KB