On 31/10/2025 08:43, Geert Uytterhoeven wrote: > Hi Matt, > > On Thu, 30 Oct 2025 at 13:18, Matt Coster <[email protected]> wrote: >> On 29/10/2025 14:08, Geert Uytterhoeven wrote: >>> While playing with the PowerVR driver on various R-Car SoCs, I ran into >>> a crash/race condition on Gray Hawk Single (R-Car V4M). After adding >>> the GPU device node to DTS, the driver fails to probe due to lack of >>> suitable firmware, as expected: >> >> Thanks for the detailed report! I'll make time to look into this. Do you >> encounter a similar issue on other R-Car platforms, or is this exclusive >> to the V4M? > > Yes, I managed to trigger it on Salvator-X with R-Car M3-W, too. > Reproduction steps at: > https://lore.kernel.org/linux-renesas-soc/camuhmdwykeqq31gek+-y4boazfccxjnac63s7noocmj1cyk...@mail.gmail.com > > > renesas-drivers-2025-10-28 is available at > https://web.git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git/tag/?h=renesas-drivers-2025-10-28-v6.18-rc3 > > My aarch64-linux-gnu-gcc is gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) >
Hi Geert,
I've managed to get some time with a Gray Hawk board today, but I'm
struggling to reproduce the original issue. Can you share the DTS node
you've constructed for the GPU? The patch below contains what I put
together based on the previous gen3 DTS changes and the V4M TRM.
That said, it's not all clear sailing. I hit this error way before the
original reported error could occur:
renesas-cpg-mssr e6150000.clock-controller: Cannot get module clock 0: -2
This is emitted when attempting to dev_pm_domain_attach_by_name() for
the first domain (A33DGA), and is reproducible on the tag mentioned
above, as well as the master branch in renesas-drivers and drm-misc-next
(as of this morning).
Cheers,
Matt
> Thanks!
>
> Gr{oetje,eeting}s,
>
> Geert
>
diff --git a/arch/arm64/boot/dts/renesas/gray-hawk-single.dtsi
b/arch/arm64/boot/dts/renesas/gray-hawk-single.dtsi
index 2edb5cb3407b..7c54094344af 100644
--- a/arch/arm64/boot/dts/renesas/gray-hawk-single.dtsi
+++ b/arch/arm64/boot/dts/renesas/gray-hawk-single.dtsi
@@ -864,3 +864,7 @@ &vin14 {
&vin15 {
status = "okay";
};
+
+&gpu {
+ status = "okay";
+};
diff --git a/arch/arm64/boot/dts/renesas/r8a779h0.dtsi
b/arch/arm64/boot/dts/renesas/r8a779h0.dtsi
index 4dc0e5304f72..b66d3fc56f9d 100644
--- a/arch/arm64/boot/dts/renesas/r8a779h0.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a779h0.dtsi
@@ -1859,6 +1859,23 @@ gic: interrupt-controller@f1000000 {
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
};
+ gpu: gpu@fd000000 {
+ compatible = "renesas,r8a779h0-gpu",
+ "img,img-bxs-4-64",
+ "img,img-rogue";
+ reg = <0 0xfd000000 0 0x800000>;
+ interrupts = <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_CORE R8A779H0_CLK_ZG>,
+ <&cpg CPG_CORE R8A779H0_CLK_S0D2>,
+ <&cpg CPG_MOD 0>;
+ clock-names = "core", "mem", "sys";
+ power-domains = <&sysc R8A779H0_PD_A33DGA>,
+ <&sysc R8A779H0_PD_A23DGB>;
+ power-domain-names = "a", "b";
+ resets = <&cpg 0>;
+ status = "disabled";
+ };
+
csi40: csi2@fe500000 {
compatible = "renesas,r8a779h0-csi2";
reg = <0 0xfe500000 0 0x40000>;
--
Matt Coster
E: [email protected]
OpenPGP_signature.asc
Description: OpenPGP digital signature
