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
1 changed files with 6 additions and 0 deletions

View File

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