A follow-up patch will disconnect/reconnect PHYs around AUX transfers
and modeset enable/disables. To prepare for that and make things
consistent for all TypeC modes stop connecting the PHY in legacy mode
without a sink being connected. This was done before since in legacy
mode the PHY is dedicated to display usage, so there was no point in
disconnecting it. However after the follow-up changes the TC-cold
blocking power domains will be held as long as the PHY is in the
connected state, so we'll need to disconnect/re-connect the PHY in all
TypeC modes to allow for power saving.

Cc: José Roberto de Souza <[email protected]>
Signed-off-by: Imre Deak <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_tc.c | 12 +-----------
 1 file changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_tc.c 
b/drivers/gpu/drm/i915/display/intel_tc.c
index 511c46e36e237..aa4c1e5e0c002 100644
--- a/drivers/gpu/drm/i915/display/intel_tc.c
+++ b/drivers/gpu/drm/i915/display/intel_tc.c
@@ -511,8 +511,6 @@ static void icl_tc_phy_disconnect(struct intel_digital_port 
*dig_port)
 {
        switch (dig_port->tc_mode) {
        case TC_PORT_LEGACY:
-               /* Nothing to do, we never disconnect from legacy mode */
-               break;
        case TC_PORT_DP_ALT:
                tc_phy_take_ownership(dig_port, false);
                dig_port->tc_mode = TC_PORT_TBT_ALT;
@@ -580,9 +578,7 @@ intel_tc_port_get_target_mode(struct intel_digital_port 
*dig_port)
        if (live_status_mask)
                return fls(live_status_mask) - 1;
 
-       return tc_phy_status_complete(dig_port) &&
-              dig_port->tc_legacy_port ? TC_PORT_LEGACY :
-                                         TC_PORT_TBT_ALT;
+       return TC_PORT_TBT_ALT;
 }
 
 static void intel_tc_port_reset_mode(struct intel_digital_port *dig_port,
@@ -643,14 +639,8 @@ void intel_tc_port_sanitize(struct intel_digital_port 
*dig_port)
                                    "Port %s: PHY disconnected with %d active 
link(s)\n",
                                    dig_port->tc_port_name, active_links);
                intel_tc_port_link_init_refcount(dig_port, active_links);
-
-               goto out;
        }
 
-       if (dig_port->tc_legacy_port)
-               icl_tc_phy_connect(dig_port, 1);
-
-out:
        drm_dbg_kms(&i915->drm, "Port %s: sanitize mode (%s)\n",
                    dig_port->tc_port_name,
                    tc_port_mode_name(dig_port->tc_mode));
-- 
2.27.0

Reply via email to