summaryrefslogtreecommitdiffstats
path: root/drivers/irqchip/irq-zevio.c
diff options
context:
space:
mode:
authorXu Qiang <xuqiang36@huawei.com>2020-11-07 10:42:26 +0000
committerMarc Zyngier <maz@kernel.org>2020-11-22 12:58:35 +0000
commit74cde1a53368aed4f2b4b54bf7030437f64a534b (patch)
tree30919212432bdd84c56f3801c1289cd6e4b24fa3 /drivers/irqchip/irq-zevio.c
parentd001e41e1b15716e9b759df5ef00510699f85282 (diff)
downloadlinux-74cde1a53368aed4f2b4b54bf7030437f64a534b.tar.gz
linux-74cde1a53368aed4f2b4b54bf7030437f64a534b.tar.bz2
linux-74cde1a53368aed4f2b4b54bf7030437f64a534b.zip
irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
On systems without HW-based collections (i.e. anything except GIC-500), we rely on firmware to perform the ITS save/restore. This doesn't really work, as although FW can properly save everything, it cannot fully restore the state of the command queue (the read-side is reset to the head of the queue). This results in the ITS consuming previously processed commands, potentially corrupting the state. Instead, let's always save the ITS state on suspend, disabling it in the process, and restore the full state on resume. This saves us from broken FW as long as it doesn't enable the ITS by itself (for which we can't do anything). This amounts to simply dropping the ITS_FLAGS_SAVE_SUSPEND_STATE. Signed-off-by: Xu Qiang <xuqiang36@huawei.com> [maz: added warning on resume, rewrote commit message] Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20201107104226.14282-1-xuqiang36@huawei.com
Diffstat (limited to 'drivers/irqchip/irq-zevio.c')
0 files changed, 0 insertions, 0 deletions