]> git.itanic.dy.fi Git - linux-stable/commit
arm64: dts: mediatek: mt8195: Set DSU PMU status to fail
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Tue, 3 Oct 2023 11:13:47 +0000 (13:13 +0200)
committerArnd Bergmann <arnd@arndb.de>
Fri, 6 Oct 2023 20:45:57 +0000 (22:45 +0200)
commitd192615c307ec9f74cd0582880ece698533eb99b
tree3b8a0437290e2a49a2dfd510dfdfc5a19e393d4a
parent963c3b0c47ec29b4c49c9f45965cd066f419d17f
arm64: dts: mediatek: mt8195: Set DSU PMU status to fail

The DSU PMU allows monitoring performance events in the DSU cluster,
which is done by configuring and reading back values from the DSU PMU
system registers. However, for write-access to be allowed by ELs lower
than EL3, the EL3 firmware needs to update the setting on the ACTLR3_EL3
register, as it is disallowed by default.

That configuration is not done on the firmware used by the MT8195 SoC,
as a consequence, booting a MT8195-based machine like
mt8195-cherry-tomato-r2 with CONFIG_ARM_DSU_PMU enabled hangs the kernel
just as it writes to the CLUSTERPMOVSCLR_EL1 register, since the
instruction faults to EL3, and BL31 apparently just re-runs the
instruction over and over.

Mark the DSU PMU node in the Devicetree with status "fail", as the
machine doesn't have a suitable firmware to make use of it from the
kernel, and allowing its driver to probe would hang the kernel.

Fixes: 37f2582883be ("arm64: dts: Add mediatek SoC mt8195 and evaluation board")
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230720200753.322133-1-nfraprado@collabora.com
Link: https://lore.kernel.org/r/20231003-mediatek-fixes-v6-7-v1-5-dad7cd62a8ff@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/arm64/boot/dts/mediatek/mt8195.dtsi