diff options
author | Tzung-Bi Shih <tzungbi@chromium.org> | 2020-05-27 11:41:52 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-06-10 10:37:37 +0000 |
commit | 5a9b65332e77cd0ab547dcadb4e8f21b658d758d (patch) | |
tree | 84cd97466bf0c054f6357b3789e350861c9254cf | |
parent | c4c40177d87b64bd4aa6fa6a07d71c375176c830 (diff) | |
download | chrome-ec-5a9b65332e77cd0ab547dcadb4e8f21b658d758d.tar.gz |
chip/mt8192_scp: read MRV micause for interrupt source
Reads MRV micause is the most reliable way to get the interrupt source.
Although lower group number has higher priority in INTC_IRQ_OUT, MRV
doesn't always select lower group number (due to some race conditions).
BRANCH=none
BUG=b:146213943
BUG=b:156218912
TEST=make BOARD=asurada_scp
Signed-off-by: Tzung-Bi Shih <tzungbi@chromium.org>
Change-Id: Ic392abca9395be4591eace381606fa3d998bfd78
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2217598
Reviewed-by: Eric Yilun Lin <yllin@chromium.org>
-rw-r--r-- | chip/mt8192_scp/intc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chip/mt8192_scp/intc.c b/chip/mt8192_scp/intc.c index 4b9c1aa9a9..3afb0980ea 100644 --- a/chip/mt8192_scp/intc.c +++ b/chip/mt8192_scp/intc.c @@ -162,7 +162,7 @@ int chip_get_ec_int(void) if (!SCP_CORE0_INTC_IRQ_OUT) goto error; - group = __builtin_ctz(SCP_CORE0_INTC_IRQ_OUT); + group = read_csr(CSR_VIC_MICAUSE); for (word = SCP_INTC_GRP_LEN - 1; word >= 0; --word) { sta = SCP_CORE0_INTC_IRQ_GRP_STA(group, word); |