• Imre Deak's avatar
    drm/i915/tc: Fix system resume MST mode restore for DP-alt sinks · 06f66261
    Imre Deak authored
    
    
    At least restoring the MST topology during system resume needs to use
    AUX before the display HW readout->sanitization sequence is complete,
    but on TC ports the PHY may be in the wrong mode for this, resulting in
    the AUX transfers to fail.
    
    The initial TC port mode is kept fixed as BIOS left it for the above HW
    readout sequence (to prevent changing the mode on an enabled port).  If
    the port is disabled this initial mode is TBT - as in any case the PHY
    ownership is not held - even if a DP-alt sink is connected. Thus, the
    AUX transfers during this time will use TBT mode instead of the expected
    DP-alt mode and so time out.
    
    Fix the above by connecting the PHY during port initialization if the
    port is disabled, which will switch to the expected mode (DP-alt in the
    above case).
    
    As the encoder/pipe HW state isn't read-out yet at this point, check if
    the port is enabled based on the DDI_BUF enabled flag. Save the read-out
    initial mode, so intel_tc_port_sanitize_mode() can check this wrt. the
    read-out encoder HW state.
    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/20230316131724.359612-5-imre.deak@intel.com
    06f66261
intel_tc.c 29 KB