drm/i915/dp_mst: Disable link training fallback on MST links
authorImre Deak <imre.deak@intel.com>
Tue, 16 Jun 2020 21:11:45 +0000 (00:11 +0300)
committerImre Deak <imre.deak@intel.com>
Tue, 23 Jun 2020 07:12:13 +0000 (10:12 +0300)
commit80a8cecf62a5917e27c85d13430f7346df57883f
tree2dfc65c04336588699487712ae8ac06b3a161bde
parentf153478de4b259afb0a383de83e817b4c237401b
drm/i915/dp_mst: Disable link training fallback on MST links

During the initial probing of an MST sink, MST core will determine the
sink's link bandwidth based on its own version of the sink link
rate/lane count caps it reads from the DPCD. At a later point (after
probing and 1 or more modesets) i915 may limit the link parameters wrt.
the original source/sink common caps above due to link training failures
during a modeset and the resulting link training fallback logic.

Based on the above a modeset following another modeset with a link
training error will compute the i915 HW specific and DP protocol timing
parameters (data/link M/N and MST TU values) taking into account only
the unlimited source/sink common caps, but not taking into account the
fallback limits. This will also let DRM core oversubscribe the actual
link bandwidth during the MST payload allocation.

Prevent the above problem by disabling the link training fallback on MST
links for now, until the MST probe time initialization and the MST
compute config logic can deal with changing link parameters.

The misconfigured timings lead at least to a
'Timed out waiting for DP idle patterns'
error.

v2: (Ville)
- Print link training error message on the MST path too.
- Clarify the problem in the commit log.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Manasi Navare <manasi.d.navare@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200616211146.23027-2-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_dp.c