arm64: tegra: Add EL2 virtual timer interrupt for Tegra194
Subsystems (2)
Jon Hunter
maintainerPATCH 1/1 arm64: tegra: Add EL2 virtual timer interrupt for Tegra194
Commit d87773de9efe ("clocksource/drivers/arm_arch_timer: Default to EL2 virtual timer when running VHE") updated the ARM arch timer driver to use the virtual timer by default if the CPU is running at EL2 with VHE enabled. If the CPU is running at EL2 with VHE enabled but there is no interrupt provided for the virtual timer, then the following warning is displayed:
arch_timer: [Firmware Bug]: VHE-capable CPU without EL2 virtual timer
interrupt
This warning is observed on Tegra194 platforms. Tegra194 SoC includes NVIDIA Carmel ARM v8.2 CPUs and support an EL2 virtual timer. Fix the above warning by adding the PPI for the EL2 virtual timer interrupt for Tegra194.
--- arch/arm64/boot/dts/nvidia/tegra194.dtsi | 2 ++ 1 file changed, 2 insertions(+)
arch/arm64/boot/dts/nvidia/tegra194.dtsi +2 -0
@@ -3176,6 +3176,8 @@ timer { <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, <GIC_PPI 10 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 15 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; interrupt-parent = <&gic>; always-on;
Signature · 1 line
2.43.0
[email protected]
AI reviewThank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [High] The newly added EL2 virtual timer interrupt specifies GIC_PPI 15, but the ARM architectural…
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The newly added EL2 virtual timer interrupt specifies GIC_PPI 15, but the ARM architectural standard for the EL2 virtual timer is GIC_PPI 12. If the Carmel CPU hardware actually triggers PPI 12, the interrupt will be misrouted, leading to timer stalls when running in VHE mode. --
--- Patch [1]: [PATCH] arm64: tegra: Add EL2 virtual timer interrupt for Tegra194 --- commit c19a2a2ae7a6be54be1db9d69e5e65ad5a1e8682
Author: Jon Hunter <[email protected]>
arm64: tegra: Add EL2 virtual timer interrupt for Tegra194
This commit adds the EL2 virtual timer interrupt to the Tegra194 device tree to resolve a warning generated when running on VHE-capable CPUs. It updates the timer node by appending a new GIC_PPI definition for the virtual timer.
arch/arm64/boot/dts/nvidia/tegra194.dtsi timer { · line 3180
Quoted 9 lines
arch/arm64/boot/dts/nvidia/tegra194.dtsi +2
-0@@ -3176,6 +3176,8 @@ timer { <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, <GIC_PPI 10 + (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, + <GIC_PPI 15
[Severity: High]
Is this the correct interrupt number for the EL2 virtual timer on this platform? The standard ARM architecture definition for the EL2 virtual timer is GIC_PPI 12, whereas this specifies GIC_PPI 15.
If the Carmel CPU hardware actually triggers PPI 12, could specifying 15 cause the interrupt to be misrouted and lead to timer stalls when running in VHE mode?
Quoted 3 lines
arch/arm64/boot/dts/nvidia/tegra194.dtsi +0
-0(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; interrupt-parent = <&gic>; always-on;
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1