2021-07-11 21:42:18

by Martin Blumenstingl

[permalink] [raw]
Subject: [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency

We are seeing "imprecise external abort (0x1406)" errors during boot
(which then cause the whole board to hang) on Meson8 (but not Meson8m2).
These are observed while trying to access the GPU's registers when the
MALI clock is running at it's default setting of 24MHz. The 3.10 vendor
kernel uses 318.75MHz as "default" GPU frequency. Using that makes the
"imprecise external aborts" go away.
Add the assigned-clocks and assigned-clock-rates properties to also bump
the MALI clock to 318.75MHz before accessing any of it's registers.

Fixes: 7d3f6b536e72c9 ("ARM: dts: meson8: add the Mali-450 MP6 GPU")
Reported-by: Demetris Ierokipides <[email protected]>
Signed-off-by: Martin Blumenstingl <[email protected]>
---
arch/arm/boot/dts/meson8.dtsi | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi
index 157a950a55d3..686c7b7c79d5 100644
--- a/arch/arm/boot/dts/meson8.dtsi
+++ b/arch/arm/boot/dts/meson8.dtsi
@@ -304,8 +304,13 @@ mali: gpu@c0000 {
"pp2", "ppmmu2", "pp4", "ppmmu4",
"pp5", "ppmmu5", "pp6", "ppmmu6";
resets = <&reset RESET_MALI>;
+
clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>;
clock-names = "bus", "core";
+
+ assigned-clocks = <&clkc CLKID_MALI>;
+ assigned-clock-rates = <318750000>;
+
operating-points-v2 = <&gpu_opp_table>;
#cooling-cells = <2>; /* min followed by max */
};
--
2.32.0


2021-07-26 07:57:52

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency

On 11/07/2021 23:40, Martin Blumenstingl wrote:
> We are seeing "imprecise external abort (0x1406)" errors during boot
> (which then cause the whole board to hang) on Meson8 (but not Meson8m2).
> These are observed while trying to access the GPU's registers when the
> MALI clock is running at it's default setting of 24MHz. The 3.10 vendor
> kernel uses 318.75MHz as "default" GPU frequency. Using that makes the
> "imprecise external aborts" go away.
> Add the assigned-clocks and assigned-clock-rates properties to also bump
> the MALI clock to 318.75MHz before accessing any of it's registers.
>
> Fixes: 7d3f6b536e72c9 ("ARM: dts: meson8: add the Mali-450 MP6 GPU")
> Reported-by: Demetris Ierokipides <[email protected]>
> Signed-off-by: Martin Blumenstingl <[email protected]>
> ---
> arch/arm/boot/dts/meson8.dtsi | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi
> index 157a950a55d3..686c7b7c79d5 100644
> --- a/arch/arm/boot/dts/meson8.dtsi
> +++ b/arch/arm/boot/dts/meson8.dtsi
> @@ -304,8 +304,13 @@ mali: gpu@c0000 {
> "pp2", "ppmmu2", "pp4", "ppmmu4",
> "pp5", "ppmmu5", "pp6", "ppmmu6";
> resets = <&reset RESET_MALI>;
> +
> clocks = <&clkc CLKID_CLK81>, <&clkc CLKID_MALI>;
> clock-names = "bus", "core";
> +
> + assigned-clocks = <&clkc CLKID_MALI>;
> + assigned-clock-rates = <318750000>;
> +
> operating-points-v2 = <&gpu_opp_table>;
> #cooling-cells = <2>; /* min followed by max */
> };
>

Reviewed-by: Neil Armstrong <[email protected]>

2021-07-26 08:15:22

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency

Hi,

On Sun, 11 Jul 2021 23:40:23 +0200, Martin Blumenstingl wrote:
> We are seeing "imprecise external abort (0x1406)" errors during boot
> (which then cause the whole board to hang) on Meson8 (but not Meson8m2).
> These are observed while trying to access the GPU's registers when the
> MALI clock is running at it's default setting of 24MHz. The 3.10 vendor
> kernel uses 318.75MHz as "default" GPU frequency. Using that makes the
> "imprecise external aborts" go away.
> Add the assigned-clocks and assigned-clock-rates properties to also bump
> the MALI clock to 318.75MHz before accessing any of it's registers.

Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (for-next)

[1/1] ARM: dts: meson8: Use a higher default GPU clock frequency
https://git.kernel.org/amlogic/c/44cf630bcb8c5ec78125805c9447dd5766792224

--
Neil