thunderbolt: Fix PCIe adapter capability length for USB4 v2 routers
authorGil Fine <gil.fine@linux.intel.com>
Wed, 25 Jan 2023 09:48:14 +0000 (11:48 +0200)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 16 Jun 2023 06:53:28 +0000 (09:53 +0300)
For USB4 v2 routers, the PCIe adapter capability length is longer.
Display the correct capability length in the debugfs register dump.

Signed-off-by: Gil Fine <gil.fine@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/debugfs.c

index 78bcf77..c9ddd49 100644 (file)
@@ -14,7 +14,8 @@
 #include "tb.h"
 #include "sb_regs.h"
 
-#define PORT_CAP_PCIE_LEN      1
+#define PORT_CAP_V1_PCIE_LEN   1
+#define PORT_CAP_V2_PCIE_LEN   2
 #define PORT_CAP_POWER_LEN     2
 #define PORT_CAP_LANE_LEN      3
 #define PORT_CAP_USB3_LEN      5
@@ -1175,7 +1176,10 @@ static void port_cap_show(struct tb_port *port, struct seq_file *s,
 
        case TB_PORT_CAP_ADAP:
                if (tb_port_is_pcie_down(port) || tb_port_is_pcie_up(port)) {
-                       length = PORT_CAP_PCIE_LEN;
+                       if (usb4_switch_version(port->sw) < 2)
+                               length = PORT_CAP_V1_PCIE_LEN;
+                       else
+                               length = PORT_CAP_V2_PCIE_LEN;
                } else if (tb_port_is_dpin(port)) {
                        if (usb4_switch_version(port->sw) < 2)
                                length = PORT_CAP_DP_V1_LEN;