Devicetree
 help / color / mirror / Atom feed
* [PATCH v2 0/2] arm64: dts: renesas: Describe GPU on D3
@ 2026-06-16 17:58 Niklas Söderlund
  2026-06-16 17:58 ` [PATCH v2 1/2] dt-bindings: gpu: img,powervr-rogue: Document GE8300 GPU in Renesas R-Car D3 Niklas Söderlund
  2026-06-16 17:58 ` [PATCH v2 2/2] arm64: dts: renesas: r8a77995: Add GE8300 GPU node Niklas Söderlund
  0 siblings, 2 replies; 6+ messages in thread
From: Niklas Söderlund @ 2026-06-16 17:58 UTC (permalink / raw)
  To: Marek Vasut, Geert Uytterhoeven, Conor Dooley, David Airlie,
	Frank Binns, Krzysztof Kozlowski, Maarten Lankhorst, Magnus Damm,
	Matt Coster, Maxime Ripard, Rob Herring, Simona Vetter,
	Thomas Zimmermann, devicetree, dri-devel, linux-renesas-soc
  Cc: Niklas Söderlund

Hello,

This series adds the needed bindings to operate the PowerVR GPU on R-Car
D3 SoC.

Together with the D3 clock changes [1] and a still OOT patch for the PVR
driver [2], I'm able to load firmware.

    powervr fd000000.gpu: [drm] loaded firmware powervr/rogue_22.67.54.30_v1.fw
    powervr fd000000.gpu: [drm] FW version v1.0 (build 6889268 OS)
    powervr fd000000.gpu: [drm] Unsupported quirks in firmware image
    powervr fd000000.gpu: [drm] Unsupported enhancements in firmware image
    powervr fd000000.gpu: [drm] Unsupported features in firmware image
    [drm] Initialized powervr 1.0.0 for fd000000.gpu on minor 1

I can run vulkaninfo from mesa (need to add the driver to
pvr_drm_configs):

    $ PVR_I_WANT_A_BROKEN_VULKAN_DRIVER=1 meson devenv -C builddir vulkaninfo --summary
    WARNING: powervr is not a conformant Vulkan implementation, testing use only.
    MESA: warning: Warning: The available RAM is below the minimum required by the Vulkan specification!
    MESA: warning: ../src/imagination/vulkan/pvr_border.c:117: FINISHME: Devices without tpu_border_colour_enhanced require entries for compressed formats to be stored in the table pre-compressed.
    ==========
    VULKANINFO
    ==========

    Vulkan Instance Version: 1.4.335


    Instance Extensions: count = 20
    -------------------------------
    VK_EXT_debug_report                    : extension revision 10
    VK_EXT_debug_utils                     : extension revision 2
    VK_EXT_headless_surface                : extension revision 1
    VK_EXT_surface_maintenance1            : extension revision 1
    VK_EXT_swapchain_colorspace            : extension revision 5
    VK_KHR_device_group_creation           : extension revision 1
    VK_KHR_display                         : extension revision 23
    VK_KHR_external_fence_capabilities     : extension revision 1
    VK_KHR_external_memory_capabilities    : extension revision 1
    VK_KHR_external_semaphore_capabilities : extension revision 1
    VK_KHR_get_display_properties2         : extension revision 1
    VK_KHR_get_physical_device_properties2 : extension revision 2
    VK_KHR_get_surface_capabilities2       : extension revision 1
    VK_KHR_portability_enumeration         : extension revision 1
    VK_KHR_surface                         : extension revision 25
    VK_KHR_surface_protected_capabilities  : extension revision 1
    VK_KHR_wayland_surface                 : extension revision 6
    VK_KHR_xcb_surface                     : extension revision 6
    VK_KHR_xlib_surface                    : extension revision 6
    VK_LUNARG_direct_driver_loading        : extension revision 1

    Instance Layers:
    ----------------

    Devices:
    ========
    GPU0:
	    apiVersion         = 1.2.330
	    driverVersion      = 25.99.99
	    vendorID           = 0x1010
	    deviceID           = 0x22054030
	    deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	    deviceName         = PowerVR Rogue GE8300
	    driverID           = DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA
	    driverName         = Imagination open-source Mesa driver
	    driverInfo         = Mesa 26.0.0-devel (git-8fb0621f2d)
	    conformanceVersion = 1.3.8.4
	    deviceUUID         = 19031a08-e22f-9565-d78b-ddda8240380a
	    driverUUID         = 48685174-7bd0-6840-5716-9d00003566aa
    GPU1:
	    apiVersion         = 1.4.330
	    driverVersion      = 25.99.99
	    vendorID           = 0x10005
	    deviceID           = 0x0000
	    deviceType         = PHYSICAL_DEVICE_TYPE_CPU
	    deviceName         = llvmpipe (LLVM 21.1.4, 128 bits)
	    driverID           = DRIVER_ID_MESA_LLVMPIPE
	    driverName         = llvmpipe
	    driverInfo         = Mesa 26.0.0-devel (git-8fb0621f2d) (LLVM 21.1.4)
	    conformanceVersion = 1.3.1.1
	    deviceUUID         = 6d657361-3236-2e30-2e30-2d6465766500
	    driverUUID         = 6c6c766d-7069-7065-5555-494400000000

I can't run test Vulkan applications such as gears as the PVR driver do
not support all features need for GE8300, for example
simple_internal_parameter_format_v1, see [3].

1. https://lore.kernel.org/linux-renesas-soc/20260616175247.2104891-1-niklas.soderlund+renesas@ragnatech.se
2. https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38211#note_3177232
3. https://gitlab.freedesktop.org/imagination/mesa/-/issues/13

Niklas Söderlund (2):
  dt-bindings: gpu: img,powervr-rogue: Document GE8300 GPU in Renesas
    R-Car D3
  arm64: dts: renesas: r8a77995: Add GE8300 GPU node

 .../bindings/gpu/img,powervr-rogue.yaml           | 14 ++++++++++----
 arch/arm64/boot/dts/renesas/r8a77995.dtsi         | 15 +++++++++++++++
 2 files changed, 25 insertions(+), 4 deletions(-)

-- 
2.54.0


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

end of thread, other threads:[~2026-06-16 18:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-16 17:58 [PATCH v2 0/2] arm64: dts: renesas: Describe GPU on D3 Niklas Söderlund
2026-06-16 17:58 ` [PATCH v2 1/2] dt-bindings: gpu: img,powervr-rogue: Document GE8300 GPU in Renesas R-Car D3 Niklas Söderlund
2026-06-16 18:05   ` sashiko-bot
2026-06-16 18:28   ` Niklas Söderlund
2026-06-16 17:58 ` [PATCH v2 2/2] arm64: dts: renesas: r8a77995: Add GE8300 GPU node Niklas Söderlund
2026-06-16 18:11   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox