patch "usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation" added to usb-linus
Subsystems (4)
This is a note to let you know that I've just added the patch titled
usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From 7c6bbdf086ac7f1374bcf1ef0994b15109ecaf48 Mon Sep 17 00:00:00 2001
From: Utkarsh Patel <[email protected]>
Date: Mon, 7 Sep 2020 17:21:52 +0300
Subject: usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation
in Alternate modes
According to the PMC Type C Subsystem (TCSS) Mux programming guide rev 0.7, bits 4 and 5 are reserved in Alternate modes.
SBU Orientation and HSL Orientation needs to be configured only during initial cable detection in USB connect flow based on device property of "sbu-orientation" and "hsl-orientation".
Configuring these reserved bits in the Alternate modes may result in delay in display link training or some unexpected behaviour.
So do not configure them while issuing Alternate Mode requests.
--- drivers/usb/typec/mux/intel_pmc_mux.c | 8 -------- 1 file changed, 8 deletions(-)
drivers/usb/typec/mux/intel_pmc_mux.c +0 -8
@@ -61,8 +61,6 @@ enum {#define PMC_USB_ALTMODE_ORI_SHIFT 1#define PMC_USB_ALTMODE_UFP_SHIFT 3 -#define PMC_USB_ALTMODE_ORI_AUX_SHIFT 4 -#define PMC_USB_ALTMODE_ORI_HSL_SHIFT 5/* DP specific Mode Data bits */ #define PMC_USB_ALTMODE_DP_MODE_SHIFT 8
@@ -178,9 +176,6 @@ pmc_usb_mux_dp(struct pmc_usb_port *port, struct typec_mux_state *state) req.mode_data = (port->orientation -1 ) <<PMC_USB_ALTMODE_ORI_SHIFT ; req.mode_data |= (port->role -1 ) <<PMC_USB_ALTMODE_UFP_SHIFT ; - req.mode_data |=sbu_orientation (port) <<PMC_USB_ALTMODE_ORI_AUX_SHIFT ; - req.mode_data |=hsl_orientation (port) <<PMC_USB_ALTMODE_ORI_HSL_SHIFT ; - req.mode_data |= (state->mode -TYPEC_STATE_MODAL ) <<PMC_USB_ALTMODE_DP_MODE_SHIFT ;
@@ -208,9 +203,6 @@ pmc_usb_mux_tbt(struct pmc_usb_port *port, struct typec_mux_state *state) req.mode_data = (port->orientation -1 ) <<PMC_USB_ALTMODE_ORI_SHIFT ; req.mode_data |= (port->role -1 ) <<PMC_USB_ALTMODE_UFP_SHIFT ; - req.mode_data |=sbu_orientation (port) <<PMC_USB_ALTMODE_ORI_AUX_SHIFT ; - req.mode_data |=hsl_orientation (port) <<PMC_USB_ALTMODE_ORI_HSL_SHIFT ; -if (TBT_ADAPTER (data->device_mode) ==TBT_ADAPTER_TBT3 ) req.mode_data |=PMC_USB_ALTMODE_TBT_TYPE ;
Signature · 1 line
2.28.0