]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit3c0d4cfd0c1861ecb79dbf775a7bb82f87cb60db
tree2dfc65c04336588699487712ae8ac06b3a161bde
parent7c349f5d13ed59025baf73a64594058469508860
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