soc/intel/common/block/smm: Ignore PM1 and GPE0 events in SCI mode
commit517750745f7fa4c29771c8fc0e03aa1449e44518
authorAngel Pons <th3fanbus@gmail.com>
Mon, 15 Feb 2021 14:15:22 +0000 (15 15:15 +0100)
committerAngel Pons <th3fanbus@gmail.com>
Wed, 10 Mar 2021 09:52:22 +0000 (10 09:52 +0000)
treebcdbf969b8f73ec9f28da327751d7196ab25d43a
parent8d735d2aa34655fa49c86b3df3ae9c478315ca61
soc/intel/common/block/smm: Ignore PM1 and GPE0 events in SCI mode

When the SCI_EN bit is set, PM1 and GPE0 events will trigger a SCI
instead of a SMI#. However, SMI_STS bits PM1_STS and GPE0_STS can
still be set. Therefore, when SCI_EN is set, ignore PM1 and GPE0
events in the SMI# handler, as these events have triggered a SCI.
Do not ignore any other SMI# types, since they cannot cause a SCI.

Note that these bits are reserved on APL and GLK. However, SoC-specific
code already accounts for it. Thus, no special handling is needed here.

Change-Id: I5998b6bd61d796101786b57f9094cdaf0c3dfbaa
Signed-off-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/50750
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
src/soc/intel/common/block/include/intelblocks/smihandler.h
src/soc/intel/common/block/smm/smihandler.c