On Tue, 2021-09-21 at 03:23 +0300, Imre Deak wrote:
> 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.

Reviewed-by: José Roberto de Souza <jose.so...@intel.com>

> 
> Cc: José Roberto de Souza <jose.so...@intel.com>
> Signed-off-by: Imre Deak <imre.d...@intel.com>
> ---
>  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));

Reply via email to