Hi all, The just released ACPI 6.4 spec [1] adds a new _OSC method that is used to negotiate OS support for native USB4 features such as PCIe tunneling. This patch series adds Linux support for the new _OSC and modifies the Thunderbolt/USB4 driver accordingly to enable/disable tunneling of different protocols. There is an additional setting in the firmware connection manager that allows the BIOS to disable PCIe tunneling, so we add support for this and also make the software connection manager to switch to this "nopcie" security level when the _OSC does not allow PCIe tunneling. This applies on top of thunderbolt.git/next. [1] https://uefi.org/sites/default/files/resources/ACPI_Spec_6_4_Jan22.pdf The previous version of the patch series can be found here: https://lore.kernel.org/linux-usb/20210126155723.9388-1-mika.westerberg@xxxxxxxxxxxxxxx/ Changes from v1: * Dropped patch 1/6. I already applied it to thunderbolt.git/fixes * Added ACK from Yehezkel to TBT patches * Updated changelog of patch 1/5 and fixed typos too * Added Rafael's tag to patch 4/5. Mario Limonciello (1): ACPI: Execute platform _OSC also with query bit clear Mika Westerberg (4): thunderbolt: Add support for PCIe tunneling disabled (SL5) thunderbolt: Allow disabling XDomain protocol ACPI: Add support for native USB4 control _OSC thunderbolt: Add support for native USB4 _OSC .../ABI/testing/sysfs-bus-thunderbolt | 2 + Documentation/admin-guide/thunderbolt.rst | 7 ++ drivers/acpi/bus.c | 119 ++++++++++++++++-- drivers/thunderbolt/acpi.c | 65 ++++++++++ drivers/thunderbolt/domain.c | 16 ++- drivers/thunderbolt/icm.c | 6 +- drivers/thunderbolt/nhi.c | 27 +++- drivers/thunderbolt/switch.c | 6 +- drivers/thunderbolt/tb.c | 22 +++- drivers/thunderbolt/tb.h | 13 ++ drivers/thunderbolt/tunnel.c | 10 +- drivers/thunderbolt/usb4.c | 11 +- drivers/thunderbolt/xdomain.c | 9 ++ include/linux/acpi.h | 10 ++ include/linux/thunderbolt.h | 3 + 15 files changed, 298 insertions(+), 28 deletions(-) -- 2.29.2