Message ID | 20241213153543.v5.8.Ic14738918e3d026fa2d85e95fb68f8e07a0828d0@changeid (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Thunderbolt and DP altmode support for cros-ec-typec | expand |
On Fri, Dec 13, 2024 at 03:35:49PM -0800, Abhishek Pandit-Subedi wrote: > Altmodes with cros_ec are either automatically entered by the EC or > entered by the AP if TBT or USB4 are supported on the system. Due to the > security risk of PCIe tunneling, TBT modes should not be auto entered by > the kernel at this time and will require user intervention. > > With this change, a userspace program will need to explicitly activate > the thunderbolt mode on the port and partner in order to enter the mode > and the thunderbolt driver will not automatically enter when a partner > is connected. > > Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org> > --- > > (no changes since v3) > > Changes in v3: > - Set port.inactive = true instead of auto-enter. > > Changes in v2: > - Only disable auto-enter for Thunderbolt > - Update commit message to clearly indicate the need for userspace > intervention to enter TBT mode > > drivers/platform/chrome/cros_ec_typec.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c > index 1ac5798d887f..6ee182101bc9 100644 > --- a/drivers/platform/chrome/cros_ec_typec.c > +++ b/drivers/platform/chrome/cros_ec_typec.c > @@ -311,6 +311,7 @@ static int cros_typec_register_port_altmodes(struct cros_typec_data *typec, > memset(&desc, 0, sizeof(desc)); > desc.svid = USB_TYPEC_TBT_SID; > desc.mode = TBT_MODE; > + desc.inactive = true; > amode = cros_typec_register_thunderbolt(port, &desc); > if (IS_ERR(amode)) > return PTR_ERR(amode); > -- > 2.47.1.613.gc27f4b7a9f-goog >
diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c index 1ac5798d887f..6ee182101bc9 100644 --- a/drivers/platform/chrome/cros_ec_typec.c +++ b/drivers/platform/chrome/cros_ec_typec.c @@ -311,6 +311,7 @@ static int cros_typec_register_port_altmodes(struct cros_typec_data *typec, memset(&desc, 0, sizeof(desc)); desc.svid = USB_TYPEC_TBT_SID; desc.mode = TBT_MODE; + desc.inactive = true; amode = cros_typec_register_thunderbolt(port, &desc); if (IS_ERR(amode)) return PTR_ERR(amode);
Altmodes with cros_ec are either automatically entered by the EC or entered by the AP if TBT or USB4 are supported on the system. Due to the security risk of PCIe tunneling, TBT modes should not be auto entered by the kernel at this time and will require user intervention. With this change, a userspace program will need to explicitly activate the thunderbolt mode on the port and partner in order to enter the mode and the thunderbolt driver will not automatically enter when a partner is connected. Signed-off-by: Abhishek Pandit-Subedi <abhishekpandit@chromium.org> --- (no changes since v3) Changes in v3: - Set port.inactive = true instead of auto-enter. Changes in v2: - Only disable auto-enter for Thunderbolt - Update commit message to clearly indicate the need for userspace intervention to enter TBT mode drivers/platform/chrome/cros_ec_typec.c | 1 + 1 file changed, 1 insertion(+)