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.328


    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-49440000000

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/[email protected]/T/#u
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       | 20 +++++++++++++++++++
 arch/arm64/boot/dts/renesas/r8a77995.dtsi     | 15 ++++++++++++++
 2 files changed, 35 insertions(+)

-- 
2.52.0

Reply via email to