thunderbolt: Move TMU configuration to tb_enable_tmu()
authorMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 7 Oct 2022 13:53:58 +0000 (16:53 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 9 Jun 2023 09:07:23 +0000 (12:07 +0300)
There is no need to duplicate the code the enables TMU. Also update the
comment to better explain why we do this in the first place.

No functional changes.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/tb.c

index 39ec709..0630b87 100644 (file)
@@ -387,6 +387,16 @@ static int tb_enable_tmu(struct tb_switch *sw)
 {
        int ret;
 
+       /*
+        * If CL1 is enabled then we need to configure the TMU accuracy
+        * level to normal. Otherwise we keep the TMU running at the
+        * highest accuracy.
+        */
+       if (tb_switch_is_clx_enabled(sw, TB_CL1))
+               tb_switch_tmu_configure(sw, TB_SWITCH_TMU_RATE_NORMAL, true);
+       else
+               tb_switch_tmu_configure(sw, TB_SWITCH_TMU_RATE_HIFI, false);
+
        /* If it is already enabled in correct mode, don't touch it */
        if (tb_switch_tmu_is_enabled(sw))
                return 0;
@@ -873,16 +883,6 @@ static void tb_scan_port(struct tb_port *port)
                                   tb_switch_clx_name(TB_CL1));
        }
 
-       if (tb_switch_is_clx_enabled(sw, TB_CL1))
-               /*
-                * To support highest CLx state, we set router's TMU to
-                * Normal-Uni mode.
-                */
-               tb_switch_tmu_configure(sw, TB_SWITCH_TMU_RATE_NORMAL, true);
-       else
-               /* If CLx disabled, configure router's TMU to HiFi-Bidir mode*/
-               tb_switch_tmu_configure(sw, TB_SWITCH_TMU_RATE_HIFI, false);
-
        if (tb_enable_tmu(sw))
                tb_sw_warn(sw, "failed to enable TMU\n");
 
@@ -2035,16 +2035,6 @@ static void tb_restore_children(struct tb_switch *sw)
                tb_sw_warn(sw, "failed to re-enable %s on upstream port\n",
                           tb_switch_clx_name(TB_CL1));
 
-       if (tb_switch_is_clx_enabled(sw, TB_CL1))
-               /*
-                * To support highest CLx state, we set router's TMU to
-                * Normal-Uni mode.
-                */
-               tb_switch_tmu_configure(sw, TB_SWITCH_TMU_RATE_NORMAL, true);
-       else
-               /* If CLx disabled, configure router's TMU to HiFi-Bidir mode*/
-               tb_switch_tmu_configure(sw, TB_SWITCH_TMU_RATE_HIFI, false);
-
        if (tb_enable_tmu(sw))
                tb_sw_warn(sw, "failed to restore TMU configuration\n");