On Tue, Dec 12, 2023 at 01:51:30PM +0200, Mika Kahola wrote: > When going through the disconnection flow we don't need to wait for PHY > readiness and hence we can skip the wait part. For disabling the function > returns false as an indicator that the power is not enabled. After all, > we are not even using the return value when Type-C is disconnecting. > > v2: Cleanup for increased readibility (Imre) > > BSpec: 65380 > > For VLK-53734 > > Signed-off-by: Mika Kahola <mika.kahola@xxxxxxxxx> For next time: it would've been better to separate to refactor + fix patches. The change looks ok: Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_tc.c | 25 ++++++++++++++++--------- > 1 file changed, 16 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_tc.c b/drivers/gpu/drm/i915/display/intel_tc.c > index f64d348a969e..dcf05e00e505 100644 > --- a/drivers/gpu/drm/i915/display/intel_tc.c > +++ b/drivers/gpu/drm/i915/display/intel_tc.c > @@ -1030,18 +1030,25 @@ static bool xelpdp_tc_phy_enable_tcss_power(struct intel_tc_port *tc, bool enabl > > __xelpdp_tc_phy_enable_tcss_power(tc, enable); > > - if ((!tc_phy_wait_for_ready(tc) || > - !xelpdp_tc_phy_wait_for_tcss_power(tc, enable)) && > - !drm_WARN_ON(&i915->drm, tc->mode == TC_PORT_LEGACY)) { > - if (enable) { > - __xelpdp_tc_phy_enable_tcss_power(tc, false); > - xelpdp_tc_phy_wait_for_tcss_power(tc, false); > - } > + if (enable && !tc_phy_wait_for_ready(tc)) > + goto out_disable; > > - return false; > - } > + if (!xelpdp_tc_phy_wait_for_tcss_power(tc, enable)) > + goto out_disable; > > return true; > + > +out_disable: > + if (drm_WARN_ON(&i915->drm, tc->mode == TC_PORT_LEGACY)) > + return false; > + > + if (!enable) > + return false; > + > + __xelpdp_tc_phy_enable_tcss_power(tc, false); > + xelpdp_tc_phy_wait_for_tcss_power(tc, false); > + > + return false; > } > > static void xelpdp_tc_phy_take_ownership(struct intel_tc_port *tc, bool take) > -- > 2.34.1 >