diff options
author | Nianyao Tang <tangnianyao@huawei.com> | 2024-04-06 02:27:37 +0000 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2024-04-09 11:11:18 +0200 |
commit | 80e9963fb3b5509dfcabe9652d56bf4b35542055 (patch) | |
tree | 8a046c81e9ab8249e6a2ea4f65e7a76aabe45a11 /drivers/gpu/drm/xe/xe_pat.h | |
parent | fec50db7033ea478773b159e0e2efb135270e3b7 (diff) | |
download | linux-stable-80e9963fb3b5509dfcabe9652d56bf4b35542055.tar.gz linux-stable-80e9963fb3b5509dfcabe9652d56bf4b35542055.tar.bz2 linux-stable-80e9963fb3b5509dfcabe9652d56bf4b35542055.zip |
irqchip/gic-v3-its: Fix VSYNC referencing an unmapped VPE on GIC v4.1
As per the GICv4.1 spec (Arm IHI 0069H, 5.3.19):
"A VMAPP with {V, Alloc}=={0, x} is self-synchronizing, This means the ITS
command queue does not show the command as consumed until all of its
effects are completed."
Furthermore, VSYNC is allowed to deliver an SError when referencing a
non existent VPE.
By these definitions, a VMAPP followed by a VSYNC is a bug, as the
later references a VPE that has been unmapped by the former.
Fix it by eliding the VSYNC in this scenario.
Fixes: 64edfaa9a234 ("irqchip/gic-v4.1: Implement the v4.1 flavour of VMAPP")
Signed-off-by: Nianyao Tang <tangnianyao@huawei.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>
Link: https://lore.kernel.org/r/20240406022737.3898763-1-tangnianyao@huawei.com
Diffstat (limited to 'drivers/gpu/drm/xe/xe_pat.h')
0 files changed, 0 insertions, 0 deletions