• Imre Deak's avatar
    drm/i915/dp_mst: Disable link training fallback on MST links · 80a8cecf
    Imre Deak authored
    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: default avatarImre Deak <imre.deak@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200616211146.23027-2-imre.deak@intel.com
    80a8cecf
intel_dp.c 237 KB