CoolStar has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/80718?usp=email )
Change subject: soc/intel/tigerlake: Fix processor hang while plug unplug of TBT device ......................................................................
soc/intel/tigerlake: Fix processor hang while plug unplug of TBT device
Backport 9c348a7b7ea3422a74af9b820275751e9abb4a12 from Alder Lake to fix a similar issue present on Tiger Lake
Change-Id: Ie5409111d4239be86c0b153f01b4fe5fc6af352c Signed-off-by: CoolStar coolstarorganization@gmail.com --- M src/soc/intel/tigerlake/acpi/tcss.asl M src/soc/intel/tigerlake/acpi/tcss_dma.asl 2 files changed, 10 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/18/80718/1
diff --git a/src/soc/intel/tigerlake/acpi/tcss.asl b/src/soc/intel/tigerlake/acpi/tcss.asl index 5af78ed..608b464 100644 --- a/src/soc/intel/tigerlake/acpi/tcss.asl +++ b/src/soc/intel/tigerlake/acpi/tcss.asl @@ -567,6 +567,10 @@ /* DMA0 is not in D3Cold now. */ _SB.PCI0.TDM0.D3CE() /* Enable DMA RTD3 */
+ If (_SB.PCI0.TDM0.IF30 != 1) { + Return + } + Printf("Push TBT RPs to D3Cold together") If (_SB.PCI0.TRP0.VDID != 0xFFFFFFFF) { /* Put RP0 to D3 cold. */ @@ -622,6 +626,10 @@ /* DMA1 is not in D3Cold now */ _SB.PCI0.TDM1.D3CE() /* Enable DMA RTD3. */
+ If (_SB.PCI0.TDM0.IF30 != 1) { + Return + } + Printf("Push TBT RPs to D3Cold together") If (_SB.PCI0.TRP2.VDID != 0xFFFFFFFF) { /* Put RP2 to D3 cold. */ diff --git a/src/soc/intel/tigerlake/acpi/tcss_dma.asl b/src/soc/intel/tigerlake/acpi/tcss_dma.asl index 9082469..e966456 100644 --- a/src/soc/intel/tigerlake/acpi/tcss_dma.asl +++ b/src/soc/intel/tigerlake/acpi/tcss_dma.asl @@ -11,7 +11,8 @@ , 6, PMES, 1, /* 15, PME_STATUS */ Offset(0xC8), /* 0xC8, TBT NVM FW Revision */ - , 31, + , 30, + IF30, 1, /* ITBT FW Version Bit30 */ INFR, 1, /* TBT NVM FW Ready */ Offset(0xEC), /* 0xEC, TBT TO PCIE Register */ TB2P, 32, /* TBT to PCIe */