Message ID | cover.1700668843.git.donald.robson@imgtec.com (mailing list archive) |
---|---|
Headers | show |
Series | Imagination Technologies PowerVR DRM driver | expand |
Hi, On Wed, Nov 22, 2023 at 04:34:21PM +0000, Donald Robson wrote: > This patch series adds the initial DRM driver for Imagination Technologies PowerVR > GPUs, starting with those based on our Rogue architecture. It's worth pointing > out that this is a new driver, written from the ground up, rather than a > refactored version of our existing downstream driver (pvrsrvkm). > > This new DRM driver supports: > - GEM shmem allocations > - dma-buf / PRIME > - Per-context userspace managed virtual address space > - DRM sync objects (binary and timeline) > - Power management suspend / resume > - GPU job submission (geometry, fragment, compute, transfer) > - META firmware processor > - MIPS firmware processor > - GPU hang detection and recovery > > Currently our main focus is on the AXE-1-16M GPU. Testing so far has been done > using a TI SK-AM62 board (AXE-1-16M GPU). The driver has also been confirmed to > work on the BeaglePlay board. Firmware for the AXE-1-16M can be found here: > https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/tree/powervr > > A Vulkan driver that works with our downstream kernel driver has already been > merged into Mesa [1][2]. Support for this new DRM driver is being maintained in > a merge request [3], with the branch located here: > https://gitlab.freedesktop.org/frankbinns/mesa/-/tree/powervr-winsys > > Vulkan driver links referred to above: > [1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15243 > [2] https://gitlab.freedesktop.org/mesa/mesa/-/tree/main/src/imagination/vulkan > [3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15507 > > Job stream formats are documented at: > https://gitlab.freedesktop.org/mesa/mesa/-/blob/f8d2b42ae65c2f16f36a43e0ae39d288431e4263/src/imagination/csbgen/rogue_kmd_stream.xml > > The Vulkan driver is progressing towards Vulkan 1.0. The current combination of this > kernel driver with the Mesa Vulkan driver (powervr-mesa-next branch) successfully > completes Vulkan CTS 1.3.4.1 in our local runs. The driver is expected to pass the > Khronos Conformance Process once the submission is made. > > The code in this patch series, along with the needed dts changes can be found here: > https://gitlab.freedesktop.org/frankbinns/powervr/-/tree/dev/v9_dts > The full development history can be found here: > https://gitlab.freedesktop.org/frankbinns/powervr/-/tree/powervr-next I just merged all the patches to drm-misc-next. Congrats :) Maxime
> Am 22.11.2023 um 20:34 schrieb Maxime Ripard <mripard@kernel.org>: > > Hi, > > On Wed, Nov 22, 2023 at 04:34:21PM +0000, Donald Robson wrote: >> This patch series adds the initial DRM driver for Imagination Technologies PowerVR >> GPUs, starting with those based on our Rogue architecture. It's worth pointing >> out that this is a new driver, written from the ground up, rather than a >> refactored version of our existing downstream driver (pvrsrvkm). >> >> This new DRM driver supports: >> - GEM shmem allocations >> - dma-buf / PRIME >> - Per-context userspace managed virtual address space >> - DRM sync objects (binary and timeline) >> - Power management suspend / resume >> - GPU job submission (geometry, fragment, compute, transfer) >> - META firmware processor >> - MIPS firmware processor >> - GPU hang detection and recovery >> >> Currently our main focus is on the AXE-1-16M GPU. Testing so far has been done >> using a TI SK-AM62 board (AXE-1-16M GPU). The driver has also been confirmed to >> work on the BeaglePlay board. Firmware for the AXE-1-16M can be found here: >> https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/tree/powervr >> >> A Vulkan driver that works with our downstream kernel driver has already been >> merged into Mesa [1][2]. Support for this new DRM driver is being maintained in >> a merge request [3], with the branch located here: >> https://gitlab.freedesktop.org/frankbinns/mesa/-/tree/powervr-winsys >> >> Vulkan driver links referred to above: >> [1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15243 >> [2] https://gitlab.freedesktop.org/mesa/mesa/-/tree/main/src/imagination/vulkan >> [3] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15507 >> >> Job stream formats are documented at: >> https://gitlab.freedesktop.org/mesa/mesa/-/blob/f8d2b42ae65c2f16f36a43e0ae39d288431e4263/src/imagination/csbgen/rogue_kmd_stream.xml >> >> The Vulkan driver is progressing towards Vulkan 1.0. The current combination of this >> kernel driver with the Mesa Vulkan driver (powervr-mesa-next branch) successfully >> completes Vulkan CTS 1.3.4.1 in our local runs. The driver is expected to pass the >> Khronos Conformance Process once the submission is made. >> >> The code in this patch series, along with the needed dts changes can be found here: >> https://gitlab.freedesktop.org/frankbinns/powervr/-/tree/dev/v9_dts >> The full development history can be found here: >> https://gitlab.freedesktop.org/frankbinns/powervr/-/tree/powervr-next > > I just merged all the patches to drm-misc-next. > > Congrats :) A big applause to the team that accomplished this! Let me take this opportunity to ask if there could be a similar effort supported by imgtec for the SGX drivers? There are still a lot of devices using this version of PVR in the wild, like OpenPandora or Pyra Handheld, that are stuck with older Linux kernels (which are now unmaintained) because there are no compatible SGX drivers for modern kernels. And we have the openpvrsgx community that can definitely help with debugging (we all own various OMAP and jz4780 devices), but we lack the documentation to actually develop and upstream such a driver (and user-space code) ourselves. Nikolaus
Hi Nikolaus, I can't say it won't happen, but for commercial reasons we need to concentrate our efforts on current and next generation product lines. We just don't have the resources to look back at the moment. Thanks, Donald On Thu, 2023-11-23 at 10:04 +0100, H. Nikolaus Schaller wrote: > *** CAUTION: This email originates from a source not known to Imagination Technologies. Think before you click a link or open an attachment *** > > > > > Am 22.11.2023 um 20:34 schrieb Maxime Ripard <mripard@kernel.org>: > > > > Hi, > > > > On Wed, Nov 22, 2023 at 04:34:21PM +0000, Donald Robson wrote: > > > This patch series adds the initial DRM driver for Imagination Technologies PowerVR > > > GPUs, starting with those based on our Rogue architecture. It's worth pointing > > > out that this is a new driver, written from the ground up, rather than a > > > refactored version of our existing downstream driver (pvrsrvkm). > > > > > > This new DRM driver supports: > > > - GEM shmem allocations > > > - dma-buf / PRIME > > > - Per-context userspace managed virtual address space > > > - DRM sync objects (binary and timeline) > > > - Power management suspend / resume > > > - GPU job submission (geometry, fragment, compute, transfer) > > > - META firmware processor > > > - MIPS firmware processor > > > - GPU hang detection and recovery > > > > > > Currently our main focus is on the AXE-1-16M GPU. Testing so far has been done > > > using a TI SK-AM62 board (AXE-1-16M GPU). The driver has also been confirmed to > > > work on the BeaglePlay board. Firmware for the AXE-1-16M can be found here: > > > https://urldefense.com/v3/__https://gitlab.freedesktop.org/frankbinns/linux-firmware/-/tree/powervr__;!!KCwjcDI!yZZE_N0XquRbG3VaxrJrJJ19ddP0moZpD-DPJPVOJfMLizcx68mSiCDl2ynN7QAwYSKkGnhRuWmtYQX2$ > > > > > > A Vulkan driver that works with our downstream kernel driver has already been > > > merged into Mesa [1][2]. Support for this new DRM driver is being maintained in > > > a merge request [3], with the branch located here: > > > https://urldefense.com/v3/__https://gitlab.freedesktop.org/frankbinns/mesa/-/tree/powervr-winsys__;!!KCwjcDI!yZZE_N0XquRbG3VaxrJrJJ19ddP0moZpD-DPJPVOJfMLizcx68mSiCDl2ynN7QAwYSKkGnhRubWjA943$ > > > > > > Vulkan driver links referred to above: > > > [1] https://urldefense.com/v3/__https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15243__;!!KCwjcDI!yZZE_N0XquRbG3VaxrJrJJ19ddP0moZpD-DPJPVOJfMLizcx68mSiCDl2ynN7QAwYSKkGnhRuZ5VTcM5$ > > > [2] https://urldefense.com/v3/__https://gitlab.freedesktop.org/mesa/mesa/-/tree/main/src/imagination/vulkan__;!!KCwjcDI!yZZE_N0XquRbG3VaxrJrJJ19ddP0moZpD-DPJPVOJfMLizcx68mSiCDl2ynN7QAwYSKkGnhRueSpfoT-$ > > > [3] https://urldefense.com/v3/__https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15507__;!!KCwjcDI!yZZE_N0XquRbG3VaxrJrJJ19ddP0moZpD-DPJPVOJfMLizcx68mSiCDl2ynN7QAwYSKkGnhRuTmZ1wrW$ > > > > > > Job stream formats are documented at: > > > https://urldefense.com/v3/__https://gitlab.freedesktop.org/mesa/mesa/-/blob/f8d2b42ae65c2f16f36a43e0ae39d288431e4263/src/imagination/csbgen/rogue_kmd_stream.xml__;!!KCwjcDI!yZZE_N0XquRbG3VaxrJrJJ19ddP0moZpD-DPJPVOJfMLizcx68mSiCDl2ynN7QAwYSKkGnhRuac_cqbR$ > > > > > > The Vulkan driver is progressing towards Vulkan 1.0. The current combination of this > > > kernel driver with the Mesa Vulkan driver (powervr-mesa-next branch) successfully > > > completes Vulkan CTS 1.3.4.1 in our local runs. The driver is expected to pass the > > > Khronos Conformance Process once the submission is made. > > > > > > The code in this patch series, along with the needed dts changes can be found here: > > > https://urldefense.com/v3/__https://gitlab.freedesktop.org/frankbinns/powervr/-/tree/dev/v9_dts__;!!KCwjcDI!yZZE_N0XquRbG3VaxrJrJJ19ddP0moZpD-DPJPVOJfMLizcx68mSiCDl2ynN7QAwYSKkGnhRuSVv2Zfk$ > > > The full development history can be found here: > > > https://urldefense.com/v3/__https://gitlab.freedesktop.org/frankbinns/powervr/-/tree/powervr-next__;!!KCwjcDI!yZZE_N0XquRbG3VaxrJrJJ19ddP0moZpD-DPJPVOJfMLizcx68mSiCDl2ynN7QAwYSKkGnhRuQaCnjgE$ > > > > I just merged all the patches to drm-misc-next. > > > > Congrats :) > > A big applause to the team that accomplished this! > > Let me take this opportunity to ask if there could be a similar effort supported by imgtec > for the SGX drivers? There are still a lot of devices using this version of PVR in the wild, > like OpenPandora or Pyra Handheld, that are stuck with older Linux kernels (which are now > unmaintained) because there are no compatible SGX drivers for modern kernels. > > And we have the openpvrsgx community that can definitely help with debugging (we all own > various OMAP and jz4780 devices), but we lack the documentation to actually develop and > upstream such a driver (and user-space code) ourselves. > > Nikolaus >