linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency
@ 2021-07-11 21:40 Martin Blumenstingl
  2021-07-26  7:56 ` Neil Armstrong
  2021-07-26  8:12 ` Neil Armstrong
  0 siblings, 2 replies; 3+ messages in thread
From: Martin Blumenstingl @ 2021-07-11 21:40 UTC (permalink / raw)
  To: linux-amlogic
  Cc: narmstrong, khilman, jbrunet, linux-arm-kernel, linux-kernel,
	Martin Blumenstingl, Demetris Ierokipides

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 <ierokipides.dem@gmail.com>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
 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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency
  2021-07-11 21:40 [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency Martin Blumenstingl
@ 2021-07-26  7:56 ` Neil Armstrong
  2021-07-26  8:12 ` Neil Armstrong
  1 sibling, 0 replies; 3+ messages in thread
From: Neil Armstrong @ 2021-07-26  7:56 UTC (permalink / raw)
  To: Martin Blumenstingl, linux-amlogic
  Cc: khilman, jbrunet, linux-arm-kernel, linux-kernel, Demetris Ierokipides

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 <ierokipides.dem@gmail.com>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> ---
>  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 <narmstrong@baylibre.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency
  2021-07-11 21:40 [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency Martin Blumenstingl
  2021-07-26  7:56 ` Neil Armstrong
@ 2021-07-26  8:12 ` Neil Armstrong
  1 sibling, 0 replies; 3+ messages in thread
From: Neil Armstrong @ 2021-07-26  8:12 UTC (permalink / raw)
  To: linux-amlogic, Martin Blumenstingl
  Cc: Neil Armstrong, jbrunet, khilman, Demetris Ierokipides,
	linux-kernel, linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-07-26  8:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-11 21:40 [PATCH] ARM: dts: meson8: Use a higher default GPU clock frequency Martin Blumenstingl
2021-07-26  7:56 ` Neil Armstrong
2021-07-26  8:12 ` Neil Armstrong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).