thunderbolt: Do not change default USB4 router notification timeout
authorMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 2 Apr 2020 09:24:48 +0000 (12:24 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 3 Sep 2020 09:06:41 +0000 (12:06 +0300)
Some early stage USB4 devices do not like that any of the enumerating
router config space fields (ROUTER_CS_1 - ROUTER_CS_4) are written after
the initial enumeration for example when entering sleep states. The
default timeout by the USB4 spec is 10 ms which should be fine for the
driver to handle.

For this reason do not change the notification timeout from the default
10 ms for USB4 routers.

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

index 0d4e4b7..02f981e 100644 (file)
@@ -1268,7 +1268,7 @@ static int tb_plug_events_active(struct tb_switch *sw, bool active)
        u32 data;
        int res;
 
-       if (tb_switch_is_icm(sw))
+       if (tb_switch_is_icm(sw) || tb_switch_is_usb4(sw))
                return 0;
 
        sw->config.plug_events_delay = 0xff;
@@ -1276,10 +1276,6 @@ static int tb_plug_events_active(struct tb_switch *sw, bool active)
        if (res)
                return res;
 
-       /* Plug events are always enabled in USB4 */
-       if (tb_switch_is_usb4(sw))
-               return 0;
-
        res = tb_sw_read(sw, &data, TB_CFG_SWITCH, sw->cap_plug_events + 1, 1);
        if (res)
                return res;