Message ID | 20200618132737.14243-1-narmstrong@baylibre.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | b2037dafcf082cd24b88ae9283af628235df36e1 |
Headers | show |
Series | arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency | expand |
On Thu, 18 Jun 2020 15:27:37 +0200, Neil Armstrong wrote: > When starting at 744MHz, the Mali 450 core crashes on S805X based boards: > lima d00c0000.gpu: IRQ ppmmu3 not found > lima d00c0000.gpu: IRQ ppmmu4 not found > lima d00c0000.gpu: IRQ ppmmu5 not found > lima d00c0000.gpu: IRQ ppmmu6 not found > lima d00c0000.gpu: IRQ ppmmu7 not found > Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP > Modules linked in: > CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.7.2+ #492 > Hardware name: Libre Computer AML-S805X-AC (DT) > pstate: 40000005 (nZcv daif -PAN -UAO) > pc : lima_gp_init+0x28/0x188 > ... > Call trace: > lima_gp_init+0x28/0x188 > lima_device_init+0x334/0x534 > lima_pdev_probe+0xa4/0xe4 > ... > Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b > > [...] Applied, thanks! [1/1] arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency commit: b2037dafcf082cd24b88ae9283af628235df36e1 Best regards,
Hello: This patch was applied to khilman/linux-amlogic.git (refs/heads/for-next). On Thu, 18 Jun 2020 15:27:37 +0200 you wrote: > When starting at 744MHz, the Mali 450 core crashes on S805X based boards: > lima d00c0000.gpu: IRQ ppmmu3 not found > lima d00c0000.gpu: IRQ ppmmu4 not found > lima d00c0000.gpu: IRQ ppmmu5 not found > lima d00c0000.gpu: IRQ ppmmu6 not found > lima d00c0000.gpu: IRQ ppmmu7 not found > Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP > Modules linked in: > CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.7.2+ #492 > Hardware name: Libre Computer AML-S805X-AC (DT) > pstate: 40000005 (nZcv daif -PAN -UAO) > pc : lima_gp_init+0x28/0x188 > ... > Call trace: > lima_gp_init+0x28/0x188 > lima_device_init+0x334/0x534 > lima_pdev_probe+0xa4/0xe4 > ... > Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b > > [...] Here is a summary with links: - arm64: dts: meson-gxl-s805x: reduce initial Mali450 core frequency https://git.kernel.org/khilman/linux-amlogic/c/b2037dafcf082cd24b88ae9283af628235df36e1 You are awesome, thank you!
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts index 6a226faab183..9e43f4dca90d 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dts @@ -10,7 +10,7 @@ #include <dt-bindings/input/input.h> #include <dt-bindings/sound/meson-aiu.h> -#include "meson-gxl-s905x.dtsi" +#include "meson-gxl-s805x.dtsi" / { compatible = "libretech,aml-s805x-ac", "amlogic,s805x", diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts index 867e30f1d62b..eb7f5a3fefd4 100644 --- a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts @@ -9,7 +9,7 @@ #include <dt-bindings/input/input.h> -#include "meson-gxl-s905x.dtsi" +#include "meson-gxl-s805x.dtsi" / { compatible = "amlogic,p241", "amlogic,s805x", "amlogic,meson-gxl"; diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x.dtsi new file mode 100644 index 000000000000..f9d705648426 --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x.dtsi @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2020 BayLibre SAS + * Author: Neil Armstrong <narmstrong@baylibre.com> + */ + +#include "meson-gxl-s905x.dtsi" + +/ { + compatible = "amlogic,s805x", "amlogic,meson-gxl"; +}; + +/* The S805X Package doesn't seem to handle the 744MHz OPP correctly */ +&mali { + assigned-clocks = <&clkc CLKID_MALI_0_SEL>, + <&clkc CLKID_MALI_0>, + <&clkc CLKID_MALI>; /* Glitch free mux */ + assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, + <0>, /* Do Nothing */ + <&clkc CLKID_MALI_0>; + assigned-clock-rates = <0>, /* Do Nothing */ + <666666666>, + <0>; /* Do Nothing */ +};
When starting at 744MHz, the Mali 450 core crashes on S805X based boards: lima d00c0000.gpu: IRQ ppmmu3 not found lima d00c0000.gpu: IRQ ppmmu4 not found lima d00c0000.gpu: IRQ ppmmu5 not found lima d00c0000.gpu: IRQ ppmmu6 not found lima d00c0000.gpu: IRQ ppmmu7 not found Internal error: synchronous external abort: 96000210 [#1] PREEMPT SMP Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.7.2+ #492 Hardware name: Libre Computer AML-S805X-AC (DT) pstate: 40000005 (nZcv daif -PAN -UAO) pc : lima_gp_init+0x28/0x188 ... Call trace: lima_gp_init+0x28/0x188 lima_device_init+0x334/0x534 lima_pdev_probe+0xa4/0xe4 ... Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b Reverting to a safer 666Mhz frequency on the S805X that doesn't use the GP0 PLL makes it more stable. Fixes: fd47716479f5 ("ARM64: dts: add S805X based P241 board") Fixes: 0449b8e371ac ("arm64: dts: meson: add libretech aml-s805x-ac board") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> --- .../amlogic/meson-gxl-s805x-libretech-ac.dts | 2 +- .../boot/dts/amlogic/meson-gxl-s805x-p241.dts | 2 +- .../boot/dts/amlogic/meson-gxl-s805x.dtsi | 24 +++++++++++++++++++ 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 arch/arm64/boot/dts/amlogic/meson-gxl-s805x.dtsi