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]


Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to