Thunderbolt cable generation bits received as a part of Thunderbolt 3 cable
discover mode VDO needs to be configured for Thunderbolt rounded and
non-rounded cable support in the Thunderbolt alternate mode.

Signed-off-by: Utkarsh Patel <utkarsh.h.pa...@intel.com>
---
 drivers/usb/typec/mux/intel_pmc_mux.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/typec/mux/intel_pmc_mux.c 
b/drivers/usb/typec/mux/intel_pmc_mux.c
index d7f63b74c6b1..aa3211f1c4c3 100644
--- a/drivers/usb/typec/mux/intel_pmc_mux.c
+++ b/drivers/usb/typec/mux/intel_pmc_mux.c
@@ -256,6 +256,7 @@ static int
 pmc_usb_mux_tbt(struct pmc_usb_port *port, struct typec_mux_state *state)
 {
        struct typec_thunderbolt_data *data = state->data;
+       u8 cable_rounded = TBT_CABLE_ROUNDED_SUPPORT(data->cable_mode);
        u8 cable_speed = TBT_CABLE_SPEED(data->cable_mode);
        struct altmode_req req = { };
 
@@ -284,6 +285,8 @@ pmc_usb_mux_tbt(struct pmc_usb_port *port, struct 
typec_mux_state *state)
 
        req.mode_data |= PMC_USB_ALTMODE_CABLE_SPD(cable_speed);
 
+       req.mode_data |= PMC_USB_ALTMODE_TBT_GEN(cable_rounded);
+
        return pmc_usb_command(port, (void *)&req, sizeof(req));
 }
 
-- 
2.17.1

Reply via email to