OSDN Git Service

drm/i915: Accept more fixed modes with VRR panels
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 31 May 2022 19:18:41 +0000 (22:18 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 1 Jun 2022 13:45:42 +0000 (16:45 +0300)
commit6e939738da208bcc0e4dc794519e18cad85bca73
tree582f09d440346f2c7e40bc4a495db8f1e2cfe6f4
parent2db7d421cc5ca86bdcf57f2634f6eefdf349f998
drm/i915: Accept more fixed modes with VRR panels

It seem that when dealing with VRR capable eDP panels we need
to accept fixed modes with variable vblank length (which is what
VRR varies dynamically). Typically the preferred mode seems to be
a non-VRR more (lowish dotclock/refresh rate + short vblank).

We also have examples where it looks like even the hblank length
is a bit different between the preferred mode vs. VRR mode(s).
So let's just accept anything that has matching hdisp+vdisp+flags.

v2: Document that is_alt_drrs_mode() is a subset of is_alt_vrr_mode() (Jani)

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/125
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220531191844.11313-4-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_dp.c
drivers/gpu/drm/i915/display/intel_lvds.c
drivers/gpu/drm/i915/display/intel_panel.c
drivers/gpu/drm/i915/display/intel_panel.h
drivers/gpu/drm/i915/display/intel_sdvo.c