soc/intel/skylake: Prevent false logs in pch_xhci_port_wake_check

1. Ensure that port_status read is not all 1s to ensure that read from
mmio address returned valid data.
2. If device connect/disconnect shows that it was a wake source, there
is no need to check for usb activity.

BUG=b:67874513

Change-Id: Id8b4a1fec7bfe530fe435a0f52944b273cdd89ad
Signed-off-by: Furquan Shaikh <furquan@chromium.org>
Reviewed-on: https://review.coreboot.org/22088
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Furquan Shaikh 2017-10-17 15:01:55 -07:00 committed by Furquan Shaikh
parent 8f2eadd8d0
commit 7284efe594
1 changed files with 5 additions and 0 deletions

View File

@ -101,6 +101,10 @@ static bool pch_xhci_port_wake_check(uintptr_t base, uint8_t num,
/* Read port status and control register for the port. */
port_status = read32((void *)base);
/* Ensure that the status is not all 1s. */
if (port_status == 0xffffffff)
continue;
/*
* Check if CSC bit is set and port is capable of wake on
* connect/disconnect to identify if the port caused wake
@ -110,6 +114,7 @@ static bool pch_xhci_port_wake_check(uintptr_t base, uint8_t num,
pch_xhci_wake_capable(port_status)) {
elog_add_event_wake(event, i + 1);
found = true;
continue;
}
/*