drm/i915/dp: Do not switch aux to TBT mode for non-TC ports
Non-TC ports always have tc_mode == TC_PORT_TBT_ALT so it was switching aux to TBT mode for all combo-phy ports, happily this did not caused any issue but is better follow BSpec. Also this is reserved bit before ICL. Cc: Imre Deak <imre.deak@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Fixes:e9b7e1422d
("drm/i915: Sanitize the terminology used for TypeC port modes") Reviewed-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191029011014.286885-1-jose.souza@intel.com (cherry picked from commit4974826482
) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
1f1be49fb6
commit
ee2c5ef8a9
|
@ -1256,6 +1256,9 @@ static u32 skl_get_aux_send_ctl(struct intel_dp *intel_dp,
|
||||||
u32 unused)
|
u32 unused)
|
||||||
{
|
{
|
||||||
struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
|
struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
|
||||||
|
struct drm_i915_private *i915 =
|
||||||
|
to_i915(intel_dig_port->base.base.dev);
|
||||||
|
enum phy phy = intel_port_to_phy(i915, intel_dig_port->base.port);
|
||||||
u32 ret;
|
u32 ret;
|
||||||
|
|
||||||
ret = DP_AUX_CH_CTL_SEND_BUSY |
|
ret = DP_AUX_CH_CTL_SEND_BUSY |
|
||||||
|
@ -1268,7 +1271,8 @@ static u32 skl_get_aux_send_ctl(struct intel_dp *intel_dp,
|
||||||
DP_AUX_CH_CTL_FW_SYNC_PULSE_SKL(32) |
|
DP_AUX_CH_CTL_FW_SYNC_PULSE_SKL(32) |
|
||||||
DP_AUX_CH_CTL_SYNC_PULSE_SKL(32);
|
DP_AUX_CH_CTL_SYNC_PULSE_SKL(32);
|
||||||
|
|
||||||
if (intel_dig_port->tc_mode == TC_PORT_TBT_ALT)
|
if (intel_phy_is_tc(i915, phy) &&
|
||||||
|
intel_dig_port->tc_mode == TC_PORT_TBT_ALT)
|
||||||
ret |= DP_AUX_CH_CTL_TBT_IO;
|
ret |= DP_AUX_CH_CTL_TBT_IO;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue