Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
irqchip/gicv3-its: Disable the ITS before initializing it
When starting a kexec/kdump kernel, the GIC ITS will already have been enabled. According to the ARM Generic Interrupt Controller Architecture Specification (GIC architecture Version 3.0 and version 4.0), writing to GITS_BASER<n> or GITS_CBASER is "UNPREDICTABLE" when the ITS is enabled. On Cavium Thunder systems, this prevents the ITS from being initializing in the kexec/kdump kernel, resulting in failure to register/enable interrupts for all devices. The fix is to disable the ITS if it is not already in the disabled state. This allows the ITS to be properly initialized and then re-enabled in the kexec/kdump kernel. Acked-by: Marc Zyngier <[email protected]> Signed-off-by: David Daney <[email protected]> Signed-off-by: Marc Zyngier <[email protected]>
- Loading branch information