soc/intel/alderlake: Skip D3Cold for TBT

Check TBT NVM FW Ready (INFR) bit to skip D3Cold for TBT when device
is in disconnected state.

Not adhering this recommendation is blocking the S0ix state transition.

BUG=b:183670327
TEST=S0ix state transition occurs with TBT disconnected.

Change-Id: Ib9b9ceee4393aeba37fdcb4e05d1b279a6ff72d2
Signed-off-by: Sugnan Prabhu S <sugnan.prabhu.s@intel.com>
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51274
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
This commit is contained in:
Subrata Banik
2021-04-09 20:35:09 +05:30
parent 7c25317093
commit 8cbe43b8d7

View File

@ -555,6 +555,9 @@ Scope (\_SB.PCI0)
Printf("TDM0 does not exist.") Printf("TDM0 does not exist.")
} Else { } Else {
If (\_SB.PCI0.TDM0.STAT == 1) { If (\_SB.PCI0.TDM0.STAT == 1) {
If (\_SB.PCI0.TDM0.INFR != 1) {
Return
}
/* DMA0 is not in D3Cold now. */ /* DMA0 is not in D3Cold now. */
\_SB.PCI0.TDM0.D3CE() /* Enable DMA RTD3 */ \_SB.PCI0.TDM0.D3CE() /* Enable DMA RTD3 */
@ -610,6 +613,9 @@ Scope (\_SB.PCI0)
Printf("TDM1 does not exist.") Printf("TDM1 does not exist.")
} Else { } Else {
If (\_SB.PCI0.TDM1.STAT == 1) { If (\_SB.PCI0.TDM1.STAT == 1) {
If (\_SB.PCI0.TDM1.INFR != 1) {
Return
}
/* DMA1 is not in D3Cold now */ /* DMA1 is not in D3Cold now */
\_SB.PCI0.TDM1.D3CE() /* Enable DMA RTD3. */ \_SB.PCI0.TDM1.D3CE() /* Enable DMA RTD3. */