Attention is currently required from: Furquan Shaikh, Kane Chen, Karthik Ramasubramanian. Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/52873 )
Change subject: soc/intel/{adl, tgl, jsl}: Don't disable bus master on PMC device in sleep smi ......................................................................
Patch Set 4:
(1 comment)
Commit Message:
https://review.coreboot.org/c/coreboot/+/52873/comment/37ca4be4_be91341f PS4, Line 7: soc/intel/{adl, tgl, jsl}: Don't disable bus master on PMC device in sleep smi : : We found system hang if the shutdown is triggered before fsps. : This is due to the io decode enable on pmc is disabled by : busmaster_disable_on_bus function. : Hence, the slp_en on acpi pm1_cnt register doesn't succeed. : So this change skip pmc bus disable before shutdown. : : The reason issue is not reproduced after fsps is beacause pmc pci : device is hidden after fsps. : That's why busmaster_disable_on_bus won't clear io deocde on pmc device. suggestion:
``` soc/intel/{adl,tgl,jsl}: Add smihandler_soc_disable_busmaster
If a power button SMI is triggered between where it is currently enabled and before FSP-S exits, when the SMI handler disables bus mastering for all devices, it inadvertently also disables the PMC's I/O decoding, so the register write to actually go into S5 does not succeed, and the system hangs.
This can be solved by skipping the PMC when disabling bus mastering in the SMI handler, for which a callback, smihandler_soc_disable_busmaster is provided. ```