Attention is currently required from: Subrata Banik, Maulik V Vaghela, Sridhar Siricilla, Nick Vaccaro, Eric Lai, Felix Held. Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/63552 )
Change subject: mb/google/brya: Reset XHCI controller while preparing for S5 ......................................................................
Patch Set 4:
(8 comments)
Commit Message:
https://review.coreboot.org/c/coreboot/+/63552/comment/bc7f1abc_63c361d6 PS4, Line 9: calls into Just “calls”?
https://review.coreboot.org/c/coreboot/+/63552/comment/4307c95e_4d5e2e4d PS4, Line 12: Without this patch the PMC IPC timeout issue is seen Currently, the PMC IPC times out while sending the USB-C (0xA7) command during …
https://review.coreboot.org/c/coreboot/+/63552/comment/6d57a7de_0dd91c14 PS4, Line 12: the PMC IPC timeout issue As you use “the”, is it a common known problem? Is there some errata?
https://review.coreboot.org/c/coreboot/+/63552/comment/176a13d4_34313430 PS4, Line 34: active USB port Excuse my ignorance, does “active” mean, something needs to be connected to the port?
https://review.coreboot.org/c/coreboot/+/63552/comment/6a0ed398_4614430d PS4, Line 37: SMI handler Why does this have to be done in SMM?
https://review.coreboot.org/c/coreboot/+/63552/comment/8bdaf478_65e3a727 PS4, Line 9: This patch calls into `xhci_host_reset()` function to perform XHCI : controller reset. : : Without this patch the PMC IPC timeout issue is seen while sending the : USB-C (0xA7) command during poweron from S5 (S5->S4->S3->S0). : : On Brya variants, poweron from S5 state results in PMC error while : sending PMC IPC (0xA7) to USB-C active ports, log here: : : localhost ~ # cbmem -c | grep ERROR : : [ERROR] PMC IPC timeout after 1000 ms : [ERROR] PMC IPC command 0x200a7 failed : [ERROR] pmc_send_ipc_cmd failed : [ERROR] Failed to setup port:0 to initial state : [ERROR] PMC IPC timeout after 1000 ms : [ERROR] PMC IPC command 0x200a7 failed : [ERROR] pmc_send_ipc_cmd failed : [ERROR] Failed to setup port:1 to initial state : [ERROR] PMC IPC timeout after 1000 ms : [ERROR] PMC IPC command 0x20a0 failed : : This problem is not seen while powering on from G3 (G3->S5->S4->S3->S0). : : During poweron the state of USB ports are not the same between S5 and G3 : and it appears that the active USB port still is in U3 (suspend) while : PMC tries to send the IPC command, which results in a timeout. : : This patch utilises the S5 SMI handler to reset the XHCI controller : using `xhci_host_reset()` prior entering into the S5, it helps to : restore the port state to active hence, no PMC timeout is seen with : this code change. I’d start by stating the problem, and then describing the fix.
https://review.coreboot.org/c/coreboot/+/63552/comment/4bcba6de_f595e60d PS4, Line 41: Does resetting add anything to the shutdown time? (Boottime should be unaffected?)
File src/mainboard/google/brya/smihandler.c:
https://review.coreboot.org/c/coreboot/+/63552/comment/9e86deb0_8c2b7e7e PS4, Line 15: /* USB sleep preparations */ Maybe elaborate?