platform/chrome: cros_ec_lpc: Separate host command and irq disable
authorLalith Rajendran <lalithkraj@chromium.org>
Fri, 27 Oct 2023 21:02:22 +0000 (16:02 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:08 +0000 (11:59 +0100)
commit5eafd56d0992eeebd3df3a8f25a2583e6ddad0dc
tree3210122348c3779eaad75f5f967532f828a71231
parent2584e54502e1c77ce143d5874520f36240395e6f
platform/chrome: cros_ec_lpc: Separate host command and irq disable

[ Upstream commit 47ea0ddb1f5604ba3496baa19110aec6a3151f2e ]

Both cros host command and irq disable were moved to suspend
prepare stage from late suspend recently. This is causing EC
to report MKBP event timeouts during suspend stress testing.
When the MKBP event timeouts happen during suspend, subsequent
wakeup of AP by EC using MKBP doesn't happen properly. Move the
irq disabling part back to late suspend stage which is a general
suggestion from the suspend kernel documentaiton to do irq
disable as late as possible.

Fixes: 4b9abbc132b8 ("platform/chrome: cros_ec_lpc: Move host command to prepare/complete")
Signed-off-by: Lalith Rajendran <lalithkraj@chromium.org>
Link: https://lore.kernel.org/r/20231027160221.v4.1.I1725c3ed27eb7cd9836904e49e8bfa9fb0200a97@changeid
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/platform/chrome/cros_ec.c
drivers/platform/chrome/cros_ec.h
drivers/platform/chrome/cros_ec_lpc.c