[PATCH v8 04/20] drm/imagination/uapi: Add PowerVR driver UAPI

2023-10-31 Thread Sarah Walker
are now zeroed) Co-developed-by: Frank Binns Signed-off-by: Frank Binns Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker

[PATCH v8 19/20] drm/imagination: Add firmware trace to debugfs

2023-10-31 Thread Sarah Walker
Firmware trace is exposed at /sys/debug/dri//pvr_fw/trace_0. Trace is enabled via the group mask at /sys/debug/dri//pvr_params/fw_trace_mask. Changes since v3: - Use drm_dev_{enter,exit} Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker --- drivers/gpu/drm

[PATCH v8 13/20] drm/imagination: Implement firmware infrastructure and META FW support

2023-10-31 Thread Sarah Walker
ssor on watchdog timeout - Switch to threaded IRQ - Rework FW object creation/initialisation to aid hard reset - Added MODULE_FIRMWARE() - Use drm_dev_{enter,exit} Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile |4 + drivers/gpu/drm/imagination/pvr_c

[PATCH v8 14/20] drm/imagination: Implement MIPS firmware processor and MMU support

2023-10-31 Thread Sarah Walker
allocating MIPS pagetable Changes since v3: - Get regs resource (removed from GPU resources commit) Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 4 +- drivers/gpu/drm/imagination/pvr_device.c | 5 +- drivers/gpu/drm/imagination/pvr_device.h | 3 + drivers/gpu

[PATCH v8 15/20] drm/imagination: Implement free list and HWRT create and destroy ioctls

2023-10-31 Thread Sarah Walker
() Changes since v4: - Remove use of drm_gem_shmem_get_pages() Changes since v3: - Support free list grow requests from FW - Use drm_dev_{enter,exit} Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah

[PATCH v8 10/20] drm/imagination: Add GPU ID parsing and firmware loading

2023-10-31 Thread Sarah Walker
devm_add_action_or_reset to release firmware Changes since v3: - Use drm_dev_{enter,exit} Co-developed-by: Frank Binns Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker

[PATCH v8 18/20] drm/imagination: Add firmware trace header

2023-10-31 Thread Sarah Walker
Changes since v5: - Split up header commit due to size Signed-off-by: Sarah Walker --- .../gpu/drm/imagination/pvr_rogue_fwif_sf.h | 1648 + 1 file changed, 1648 insertions(+) create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_sf.h diff --git a/drivers/gpu/drm

[PATCH v8 12/20] drm/imagination: Implement power management

2023-10-31 Thread Sarah Walker
off-by: Sarah Walker Reviewed-by: Maxime Ripard --- drivers/gpu/drm/imagination/Kconfig | 1 + drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 23 +- drivers/gpu/drm/imagination/pvr_device.h | 22 ++ drivers/gpu/drm/imagination/pvr_drv.c|

[PATCH v8 16/20] drm/imagination: Implement context creation/destruction ioctls

2023-10-31 Thread Sarah Walker
-by: Boris Brezillon Signed-off-by: Boris Brezillon Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 4 + drivers/gpu/drm/imagination/pvr_cccb.c| 267 ++ drivers/gpu/drm/imagination/pvr_cccb.h| 109 ++ drivers/gpu/drm/imagination

[PATCH v8 17/20] drm/imagination: Implement job submission and scheduling

2023-10-31 Thread Sarah Walker
for job scheduling Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Kconfig |1 + drivers/gpu/drm/imagination/Makefile |3 + drivers

[PATCH v8 08/20] drm/imagination: Add firmware and MMU related headers

2023-10-31 Thread Sarah Walker
Changes since v5: - Split up header commit due to size Signed-off-by: Sarah Walker Acked-by: Maxime Ripard --- .../drm/imagination/pvr_rogue_heap_config.h | 113 ++ drivers/gpu/drm/imagination/pvr_rogue_meta.h | 356 ++ drivers/gpu/drm/imagination/pvr_rogue_mips.h | 335

[PATCH v8 06/20] drm/imagination: Get GPU resources

2023-10-31 Thread Sarah Walker
Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 147 ++ drivers/gpu/drm/imagination

[PATCH v8 05/20] drm/imagination: Add skeleton PowerVR driver

2023-10-31 Thread Sarah Walker
Drop MODULE_FIRMWARE() Co-developed-by: Frank Binns Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- MAINTAINERS | 1 + drivers/gpu/drm/Kconfig |

[PATCH v8 20/20] drm/imagination: Add driver documentation

2023-10-31 Thread Sarah Walker
Add documentation for the UAPI. Changes since v5: - Remove obsolete VM documentation Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- Documentation/gpu/drivers.rst

[PATCH v8 03/20] dt-bindings: gpu: Add Imagination Technologies PowerVR/IMG GPU

2023-10-31 Thread Sarah Walker
Add the device tree binding documentation for the IMG AXE GPU used in TI AM62 SoCs. Co-developed-by: Frank Binns Signed-off-by: Frank Binns Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard Reviewed-by: Linus Walleij Reviewed-by: Conor Dooley --- Changes since v7: - Updated maintainer

[PATCH v8 01/20] sizes.h: Add entries between SZ_32G and SZ_64T

2023-10-31 Thread Sarah Walker
From: Matt Coster sizes.h has a gap in defines between SZ_32G and SZ_64T. Add the missing defines so they can be used in drivers. Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Linus Walleij --- include/linux/sizes.h | 9 + 1 file changed, 9 insertions(+) diff

[PATCH v8 00/20] Imagination Technologies PowerVR DRM driver

2023-10-31 Thread Sarah Walker
be found here: https://gitlab.freedesktop.org/sarah-walker-imgtec/powervr/-/tree/dev/v8_dts The full development history can be found here: https://gitlab.freedesktop.org/frankbinns/powervr/-/tree/powervr-next This patch series has dependencies on a number of patches not yet merged. They are listed below

[PATCH v8 02/20] drm/gpuvm: Helper to get range of unmap from a remap op.

2023-10-31 Thread Sarah Walker
: - Remove use of __always_inline Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- include/drm/drm_gpuvm.h | 28 1 file changed, 28 insertions(+) diff --git a/include/drm/drm_gpuvm.h b/include/drm/drm_gpuvm.h index c7ed6bf441d4..c64585dc4e8e 100644

[PATCH v7 10/20] drm/imagination: Add GPU ID parsing and firmware loading

2023-10-10 Thread Sarah Walker
drm_dev_{enter,exit} Co-developed-by: Frank Binns Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 2 + drivers/gpu/drm

[PATCH v7 17/20] drm/imagination: Implement job submission and scheduling

2023-10-10 Thread Sarah Walker
for job scheduling Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Kconfig |1 + drivers/gpu/drm/imagination/Makefile |3 + drivers

[PATCH v7 04/20] drm/imagination/uapi: Add PowerVR driver UAPI

2023-10-10 Thread Sarah Walker
zeroed) Co-developed-by: Frank Binns Signed-off-by: Frank Binns Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- MAINTAINERS

[PATCH v7 15/20] drm/imagination: Implement free list and HWRT create and destroy ioctls

2023-10-10 Thread Sarah Walker
() Changes since v4: - Remove use of drm_gem_shmem_get_pages() Changes since v3: - Support free list grow requests from FW - Use drm_dev_{enter,exit} Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah

[PATCH v7 08/20] drm/imagination: Add firmware and MMU related headers

2023-10-10 Thread Sarah Walker
Changes since v5: - Split up header commit due to size Signed-off-by: Sarah Walker Acked-by: Maxime Ripard --- .../drm/imagination/pvr_rogue_heap_config.h | 113 ++ drivers/gpu/drm/imagination/pvr_rogue_meta.h | 356 ++ drivers/gpu/drm/imagination/pvr_rogue_mips.h | 335

[PATCH v7 14/20] drm/imagination: Implement MIPS firmware processor and MMU support

2023-10-10 Thread Sarah Walker
allocating MIPS pagetable Changes since v3: - Get regs resource (removed from GPU resources commit) Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 4 +- drivers/gpu/drm/imagination/pvr_device.c | 5 +- drivers/gpu/drm/imagination/pvr_device.h | 3 + drivers/gpu

[PATCH v7 05/20] drm/imagination: Add skeleton PowerVR driver

2023-10-10 Thread Sarah Walker
Drop MODULE_FIRMWARE() Co-developed-by: Frank Binns Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- MAINTAINERS | 1 + drivers/gpu/drm/Kconfig |

[PATCH v7 03/20] dt-bindings: gpu: Add Imagination Technologies PowerVR/IMG GPU

2023-10-10 Thread Sarah Walker
Add the device tree binding documentation for the IMG AXE GPU used in TI AM62 SoCs. Co-developed-by: Frank Binns Signed-off-by: Frank Binns Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard Reviewed-by: Linus Walleij Reviewed-by: Conor Dooley --- Changes since v6: - Remove unused gpu

[PATCH v7 06/20] drm/imagination: Get GPU resources

2023-10-10 Thread Sarah Walker
Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 147 ++ drivers/gpu/drm/imagination

[PATCH v7 13/20] drm/imagination: Implement firmware infrastructure and META FW support

2023-10-10 Thread Sarah Walker
ssor on watchdog timeout - Switch to threaded IRQ - Rework FW object creation/initialisation to aid hard reset - Added MODULE_FIRMWARE() - Use drm_dev_{enter,exit} Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile |4 + drivers/gpu/drm/imagination/pvr_c

[PATCH v7 12/20] drm/imagination: Implement power management

2023-10-10 Thread Sarah Walker
off-by: Sarah Walker Reviewed-by: Maxime Ripard --- drivers/gpu/drm/imagination/Kconfig | 1 + drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 23 +- drivers/gpu/drm/imagination/pvr_device.h | 22 ++ drivers/gpu/drm/imagination/pvr_drv.c|

[PATCH v7 18/20] drm/imagination: Add firmware trace header

2023-10-10 Thread Sarah Walker
Changes since v5: - Split up header commit due to size Signed-off-by: Sarah Walker --- .../gpu/drm/imagination/pvr_rogue_fwif_sf.h | 1648 + 1 file changed, 1648 insertions(+) create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_sf.h diff --git a/drivers/gpu/drm

[PATCH v7 20/20] drm/imagination: Add driver documentation

2023-10-10 Thread Sarah Walker
Add documentation for the UAPI. Changes since v5: - Remove obsolete VM documentation Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- Documentation/gpu/drivers.rst

[PATCH v7 16/20] drm/imagination: Implement context creation/destruction ioctls

2023-10-10 Thread Sarah Walker
-by: Boris Brezillon Signed-off-by: Boris Brezillon Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 4 + drivers/gpu/drm/imagination/pvr_cccb.c| 267 ++ drivers/gpu/drm/imagination/pvr_cccb.h| 109 ++ drivers/gpu/drm/imagination

[PATCH v7 19/20] drm/imagination: Add firmware trace to debugfs

2023-10-10 Thread Sarah Walker
Firmware trace is exposed at /sys/debug/dri//pvr_fw/trace_0. Trace is enabled via the group mask at /sys/debug/dri//pvr_params/fw_trace_mask. Changes since v3: - Use drm_dev_{enter,exit} Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker --- drivers/gpu/drm

[PATCH v7 00/20] Imagination Technologies PowerVR DRM driver

2023-10-10 Thread Sarah Walker
) 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/sarah-walker-imgtec/powervr

[PATCH v7 01/20] sizes.h: Add entries between SZ_32G and SZ_64T

2023-10-10 Thread Sarah Walker
From: Matt Coster sizes.h has a gap in defines between SZ_32G and SZ_64T. Add the missing defines so they can be used in drivers. Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Linus Walleij --- include/linux/sizes.h | 9 + 1 file changed, 9 insertions(+) diff

[PATCH v7 02/20] drm/gpuvm: Helper to get range of unmap from a remap op.

2023-10-10 Thread Sarah Walker
From: Donald Robson Determining the start and range of the unmap stage of a remap op is a common piece of code currently implemented by multiple drivers. Add a helper for this. Changes since v6: - Remove use of __always_inline Signed-off-by: Donald Robson Signed-off-by: Sarah Walker

Re: [PATCH v6 02/20] drm/gpuva_mgr: Helper to get range of unmap from a remap op.

2023-09-06 Thread Sarah Walker
On Wed, 2023-09-06 at 13:35 +0200, Maxime Ripard wrote: > Hi Sarah, > > On Wed, Sep 06, 2023 at 10:55:24AM +0100, Sarah Walker wrote: > > From: Donald Robson > > > > Signed-off-by: Donald Robson > > Sorry, this applied to your previous versions too but I onl

[PATCH v6 17/20] drm/imagination: Implement job submission and scheduling

2023-09-06 Thread Sarah Walker
timeout handler - Split sync handling out of job code - Use drm_dev_{enter,exit} Changes since v2: - Use drm_sched for job scheduling Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker

[PATCH v6 13/20] drm/imagination: Implement firmware infrastructure and META FW support

2023-09-06 Thread Sarah Walker
tion/initialisation to aid hard reset - Added MODULE_FIRMWARE() - Use drm_dev_{enter,exit} Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile |4 + drivers/gpu/drm/imagination/pvr_ccb.c | 631 drivers/gpu/drm/imagination/pvr_ccb.h | 71 + drivers

[PATCH v6 18/20] drm/imagination: Add firmware trace header

2023-09-06 Thread Sarah Walker
Changes since v5: - Split up header commit due to size Signed-off-by: Sarah Walker --- .../gpu/drm/imagination/pvr_rogue_fwif_sf.h | 1648 + 1 file changed, 1648 insertions(+) create mode 100644 drivers/gpu/drm/imagination/pvr_rogue_fwif_sf.h diff --git a/drivers/gpu/drm

[PATCH v6 19/20] drm/imagination: Add firmware trace to debugfs

2023-09-06 Thread Sarah Walker
Firmware trace is exposed at /sys/debug/dri//pvr_fw/trace_0. Trace is enabled via the group mask at /sys/debug/dri//pvr_params/fw_trace_mask. Changes since v3: - Use drm_dev_{enter,exit} Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker --- drivers/gpu/drm

[PATCH v6 16/20] drm/imagination: Implement context creation/destruction ioctls

2023-09-06 Thread Sarah Walker
-by: Boris Brezillon Signed-off-by: Boris Brezillon Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 4 + drivers/gpu/drm/imagination/pvr_cccb.c| 267 ++ drivers/gpu/drm/imagination/pvr_cccb.h| 109 ++ drivers/gpu/drm/imagination

[PATCH v6 04/20] drm/imagination/uapi: Add PowerVR driver UAPI

2023-09-06 Thread Sarah Walker
Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- MAINTAINERS|1 + include/uapi/drm/pvr_drm.h | 1306 2 files changed, 1307 insertions(+) create mode 100644 include

[PATCH v6 20/20] drm/imagination: Add driver documentation

2023-09-06 Thread Sarah Walker
Add documentation for the UAPI. Changes since v5: - Remove obsolete VM documentation Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- Documentation/gpu/drivers.rst

[PATCH v6 08/20] drm/imagination: Add firmware and MMU related headers

2023-09-06 Thread Sarah Walker
Changes since v5: - Split up header commit due to size Signed-off-by: Sarah Walker --- .../drm/imagination/pvr_rogue_heap_config.h | 113 ++ drivers/gpu/drm/imagination/pvr_rogue_meta.h | 356 ++ drivers/gpu/drm/imagination/pvr_rogue_mips.h | 335

[PATCH v6 15/20] drm/imagination: Implement free list and HWRT create and destroy ioctls

2023-09-06 Thread Sarah Walker
: - Support free list grow requests from FW - Use drm_dev_{enter,exit} Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile| 2 + drivers/gpu/drm

[PATCH v6 14/20] drm/imagination: Implement MIPS firmware processor and MMU support

2023-09-06 Thread Sarah Walker
(removed from GPU resources commit) Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 4 +- drivers/gpu/drm/imagination/pvr_device.c | 5 +- drivers/gpu/drm/imagination/pvr_device.h | 3 + drivers/gpu/drm/imagination/pvr_fw.c | 2 + drivers/gpu/drm

[PATCH v6 12/20] drm/imagination: Implement power management

2023-09-06 Thread Sarah Walker
off-by: Sarah Walker Reviewed-by: Maxime Ripard --- drivers/gpu/drm/imagination/Kconfig | 1 + drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 23 +- drivers/gpu/drm/imagination/pvr_device.h | 22 ++ drivers/gpu/drm/imagination/pvr_drv.c|

[PATCH v6 10/20] drm/imagination: Add GPU ID parsing and firmware loading

2023-09-06 Thread Sarah Walker
drm_dev_{enter,exit} Co-developed-by: Frank Binns Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 2 + drivers/gpu/drm

[PATCH v6 06/20] drm/imagination: Get GPU resources

2023-09-06 Thread Sarah Walker
Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 147 ++ drivers/gpu/drm/imagination

[PATCH v6 03/20] dt-bindings: gpu: Add Imagination Technologies PowerVR/IMG GPU

2023-09-06 Thread Sarah Walker
Add the device tree binding documentation for the IMG AXE GPU used in TI AM62 SoCs. Co-developed-by: Frank Binns Signed-off-by: Frank Binns Signed-off-by: Sarah Walker --- Changes since v5: - Update compatible string & description to match marketing name - Remove unnecessary clock-n

[PATCH v6 05/20] drm/imagination: Add skeleton PowerVR driver

2023-09-06 Thread Sarah Walker
Drop MODULE_FIRMWARE() Co-developed-by: Frank Binns Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- MAINTAINERS | 1 + drivers/gpu/drm/Kconfig |

[PATCH v6 01/20] sizes.h: Add entries between 32G and 64T

2023-09-06 Thread Sarah Walker
From: Matt Coster Signed-off-by: Matt Coster Reviewed-by: Linus Walleij --- include/linux/sizes.h | 9 + 1 file changed, 9 insertions(+) diff --git a/include/linux/sizes.h b/include/linux/sizes.h index 84aa448d8bb3..c3a00b967d18 100644 --- a/include/linux/sizes.h +++

[PATCH v6 00/20] Imagination Technologies PowerVR DRM driver

2023-09-06 Thread Sarah Walker
of this kernel driver with the Mesa Vulkan driver (powervr-mesa-next branch) achieves 88.3% conformance. The code in this patch series, along with the needed dts changes can be found here: https://gitlab.freedesktop.org/sarah-walker-imgtec/powervr/-/tree/dev/v6_dts The full development history can be found

[PATCH v6 02/20] drm/gpuva_mgr: Helper to get range of unmap from a remap op.

2023-09-06 Thread Sarah Walker
From: Donald Robson Signed-off-by: Donald Robson --- include/drm/drm_gpuva_mgr.h | 27 +++ 1 file changed, 27 insertions(+) diff --git a/include/drm/drm_gpuva_mgr.h b/include/drm/drm_gpuva_mgr.h index ed8d50200cc3..be7b3a6d7e67 100644 --- a/include/drm/drm_gpuva_mgr.h

Re: [PATCH v5 00/17] Imagination Technologies PowerVR DRM driver

2023-08-24 Thread Sarah Walker
On Thu, 2023-08-24 at 09:08 +0100, Sarah Walker wrote: > On Thu, 2023-08-24 at 07:31 +0900, Masahiro Yamada wrote: > > On Fri, Aug 18, 2023 at 4:35 AM Sarah Walker > > wrote: > > > This patch series adds the initial DRM driver for Imagination > > > Technolo

Re: [PATCH v5 00/17] Imagination Technologies PowerVR DRM driver

2023-08-24 Thread Sarah Walker
On Thu, 2023-08-24 at 07:31 +0900, Masahiro Yamada wrote: > On Fri, Aug 18, 2023 at 4:35 AM Sarah Walker wrote: > > This patch series adds the initial DRM driver for Imagination Technologies > > PowerVR > > GPUs, starting with those based on our Rogue architecture. It'

Re: [EXTERNAL] Re: [PATCH v5 08/17] drm/imagination: Add GEM and VM related code

2023-08-18 Thread Sarah Walker
upstream > driver for PowerVR. :) > > On Wed, Aug 16, 2023 at 10:25 AM Sarah Walker wrote: > > +#define PVR_BO_CPU_CACHED BIT_ULL(63) > > + > > +#define PVR_BO_FW_NO_CLEAR_ON_RESET BIT_ULL(62) > > + > > +/* Bits 62..3 are undefined. */ > > +/* Bits

Re: [EXTERNAL] Re: [PATCH v5 03/17] drm/imagination/uapi: Add PowerVR driver UAPI

2023-08-18 Thread Sarah Walker
On Thu, 2023-08-17 at 19:43 -0500, Faith Ekstrand wrote: > On Wed, Aug 16, 2023 at 3:26 AM Sarah Walker wrote: > > > > +/** > > + * struct drm_pvr_dev_query_runtime_info - Container used to fetch > > information > > + * about the graphics runtime. > &

Re: [EXTERNAL] Re: [PATCH v5 13/17] drm/imagination: Implement context creation/destruction ioctls

2023-08-18 Thread Sarah Walker
On Fri, 2023-08-18 at 00:42 +0200, Jann Horn wrote: > *** CAUTION: This email originates from a source not known to Imagination > Technologies. Think before you click a link or open an attachment *** > > On Wed, Aug 16, 2023 at 10:25 AM Sarah Walker wrote: > > Implement ioctl

[PATCH v5 15/17] drm/imagination: Add firmware trace to debugfs

2023-08-16 Thread Sarah Walker
Firmware trace is exposed at /sys/debug/dri//pvr_fw/trace_0. Trace is enabled via the group mask at /sys/debug/dri//pvr_params/fw_trace_mask. Changes since v3: - Use drm_dev_{enter,exit} Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker --- drivers/gpu/drm

[PATCH v5 10/17] drm/imagination: Implement firmware infrastructure and META FW support

2023-08-16 Thread Sarah Walker
e v4: - Remove use of drm_gem_shmem_get_pages() - Remove interrupt resource name Changes since v3: - Hard reset FW processor on watchdog timeout - Switch to threaded IRQ - Rework FW object creation/initialisation to aid hard reset - Added MODULE_FIRMWARE() - Use drm_dev_{enter,exit} Signed-off-by: S

[PATCH v5 05/17] drm/imagination: Get GPU resources

2023-08-16 Thread Sarah Walker
Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 147 ++ drivers/gpu/drm/imagination

[PATCH v5 13/17] drm/imagination: Implement context creation/destruction ioctls

2023-08-16 Thread Sarah Walker
Implement ioctls for the creation and destruction of contexts. Contexts are used for job submission and each is associated with a particular job type. Changes since v3: - Use drm_dev_{enter,exit} Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Signed-off-by: Sarah Walker

[PATCH v5 14/17] drm/imagination: Implement job submission and scheduling

2023-08-16 Thread Sarah Walker
drm_dev_{enter,exit} Changes since v2: - Use drm_sched for job scheduling Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Kconfig |1 + drivers

[PATCH v5 07/17] drm/imagination: Add GPU ID parsing and firmware loading

2023-08-16 Thread Sarah Walker
Signed-off-by: Frank Binns Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 2 + drivers/gpu/drm/imagination/pvr_device.c | 323

[PATCH v5 12/17] drm/imagination: Implement free list and HWRT create and destroy ioctls

2023-08-16 Thread Sarah Walker
: - Support free list grow requests from FW - Use drm_dev_{enter,exit} Co-developed-by: Boris Brezillon Signed-off-by: Boris Brezillon Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile| 2 + drivers/gpu/drm

[PATCH v5 16/17] drm/imagination: Add driver documentation

2023-08-16 Thread Sarah Walker
Add documentation for the UAPI and for the virtual memory design. Co-developed-by: Matt Coster Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- Documentation/gpu/drivers.rst

[PATCH v5 11/17] drm/imagination: Implement MIPS firmware processor and MMU support

2023-08-16 Thread Sarah Walker
Add support for the MIPS firmware processor, used in the Series AXE GPU. The MIPS firmware processor uses a separate MMU to the rest of the GPU, so this patch adds support for that as well. Changes since v3: - Get regs resource (removed from GPU resources commit) Signed-off-by: Sarah Walker

[PATCH v5 17/17] arm64: dts: ti: k3-am62-main: Add GPU device node [DO NOT MERGE]

2023-08-16 Thread Sarah Walker
Add the Series AXE GPU node to the AM62 device tree. Changes since v4: - Remove interrupt name - Make property order consistent across dts and bindings doc - Fixed formatting (replaced spaces with tabs) Signed-off-by: Sarah Walker --- arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 9 + 1

[PATCH v5 04/17] drm/imagination: Add skeleton PowerVR driver

2023-08-16 Thread Sarah Walker
Signed-off-by: Sarah Walker Reviewed-by: Maxime Ripard --- MAINTAINERS | 1 + drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/imagination/Kconfig | 15 + drivers/gpu/drm/imagination/Makefile

[PATCH v5 09/17] drm/imagination: Implement power management

2023-08-16 Thread Sarah Walker
() - Documentation for pvr_dev->lost has been improved - pvr_power_init() renamed to pvr_watchdog_init() - Use drm_dev_{enter,exit} Changes since v2: - Use runtime PM - Implement watchdog Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imaginat

[PATCH v5 03/17] drm/imagination/uapi: Add PowerVR driver UAPI

2023-08-16 Thread Sarah Walker
Signed-off-by: Matt Coster Co-developed-by: Donald Robson Signed-off-by: Donald Robson Signed-off-by: Sarah Walker --- MAINTAINERS|1 + include/uapi/drm/pvr_drm.h | 1303 2 files changed, 1304 insertions(+) create mode 100644 include

[PATCH v5 02/17] dt-bindings: gpu: Add Imagination Technologies PowerVR GPU

2023-08-16 Thread Sarah Walker
Add the device tree binding documentation for the Series AXE GPU used in TI AM62 SoCs. Co-developed-by: Frank Binns Signed-off-by: Frank Binns Signed-off-by: Sarah Walker --- Changes since v4: - Add clocks constraint for ti,am62-gpu - Remove excess address and size cells in example - Remove

[PATCH v5 00/17] Imagination Technologies PowerVR DRM driver

2023-08-16 Thread Sarah Walker
...@imgtec.com/ Matt Coster (1): sizes.h: Add entries between 32G and 64T Sarah Walker (16): dt-bindings: gpu: Add Imagination Technologies PowerVR GPU drm/imagination/uapi: Add PowerVR driver UAPI drm/imagination: Add skeleton PowerVR driver drm/imagination: Get GPU resources drm/imagination: Add

[PATCH v5 01/17] sizes.h: Add entries between 32G and 64T

2023-08-16 Thread Sarah Walker
From: Matt Coster Signed-off-by: Matt Coster Reviewed-by: Linus Walleij --- include/linux/sizes.h | 9 + 1 file changed, 9 insertions(+) diff --git a/include/linux/sizes.h b/include/linux/sizes.h index 84aa448d8bb3..c3a00b967d18 100644 --- a/include/linux/sizes.h +++

[PATCH v4 17/17] arm64: dts: ti: k3-am62-main: Add GPU device node [DO NOT MERGE]

2023-07-14 Thread Sarah Walker
Add the Series AXE GPU node to the AM62 device tree. Signed-off-by: Sarah Walker --- arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 13 + 1 file changed, 13 insertions(+) diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi index

[PATCH v4 16/17] drm/imagination: Add driver documentation

2023-07-14 Thread Sarah Walker
Add documentation for the UAPI and for the virtual memory design. Signed-off-by: Sarah Walker --- Documentation/gpu/drivers.rst | 2 + Documentation/gpu/imagination/index.rst | 14 + Documentation/gpu/imagination/uapi.rst| 174 +++ .../gpu/imagination

[PATCH v4 15/17] drm/imagination: Add firmware trace to debugfs

2023-07-14 Thread Sarah Walker
Firmware trace is exposed at /sys/debug/dri//pvr_fw/trace_0. Trace is enabled via the group mask at /sys/debug/dri//pvr_params/fw_trace_mask. Changes since v3: - Use drm_dev_{enter,exit} Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 4 + drivers/gpu/drm

[PATCH v4 14/17] drm/imagination: Implement job submission and scheduling

2023-07-14 Thread Sarah Walker
since v2: - Use drm_sched for job scheduling Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile |3 + drivers/gpu/drm/imagination/pvr_context.c | 127 +- drivers/gpu/drm/imagination/pvr_context.h | 44 + drivers/gpu/drm/imagination/pvr_device.c | 31

[PATCH v4 13/17] drm/imagination: Implement context creation/destruction ioctls

2023-07-14 Thread Sarah Walker
Implement ioctls for the creation and destruction of contexts. Contexts are used for job submission and each is associated with a particular job type. Changes since v3: - Use drm_dev_{enter,exit} Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 4 + drivers/gpu

[PATCH v4 12/17] drm/imagination: Implement free list and HWRT create and destroy ioctls

2023-07-14 Thread Sarah Walker
{enter,exit} Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile| 2 + drivers/gpu/drm/imagination/pvr_ccb.c | 10 + drivers/gpu/drm/imagination/pvr_device.h| 24 + drivers/gpu/drm/imagination/pvr_drv.c | 112 +++- drivers/gpu/drm/imagination

[PATCH v4 11/17] drm/imagination: Implement MIPS firmware processor and MMU support

2023-07-14 Thread Sarah Walker
Add support for the MIPS firmware processor, used in the Series AXE GPU. The MIPS firmware processor uses a separate MMU to the rest of the GPU, so this patch adds support for that as well. Changes since v3: - Get regs resource (removed from GPU resources commit) Signed-off-by: Sarah Walker

[PATCH v4 10/17] drm/imagination: Implement firmware infrastructure and META FW support

2023-07-14 Thread Sarah Walker
e v3: - Hard reset FW processor on watchdog timeout - Switch to threaded IRQ - Rework FW object creation/initialisation to aid hard reset - Added MODULE_FIRMWARE() - Use drm_dev_{enter,exit} Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile |5 + drivers/gpu/drm/imagina

[PATCH v4 09/17] drm/imagination: Implement power management

2023-07-14 Thread Sarah Walker
nit() renamed to pvr_watchdog_init() - Use drm_dev_{enter,exit} Changes since v2: - Use runtime PM - Implement watchdog Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 27 ++- drivers/gpu/drm/imagination/pvr_device.h |

[PATCH v4 07/17] drm/imagination: Add GPU ID parsing and firmware loading

2023-07-14 Thread Sarah Walker
this information to the firmware image. Changes since v3: - Use drm_dev_{enter,exit} Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 331 ++- drivers/gpu/drm/imagination/pvr_device.h | 220

[PATCH v4 05/17] drm/imagination: Get GPU resources

2023-07-14 Thread Sarah Walker
pvr_device_clk_core_get_freq() helper - Drop pvr_device_reg_fini() - Drop NULLing of clocks in pvr_device_clk_init() - Use dev_err_probe() on clock acquisition failure - Remove PVR_CR_READ/WRITE helper macros - Improve documentation for GPU clocks - Remove regs resource (not used in this commit) Signed-off-by: Sarah Walker

[PATCH v4 02/17] dt-bindings: gpu: Add Imagination Technologies PowerVR GPU

2023-07-14 Thread Sarah Walker
quotes from $id and $schema - Remove reg: minItems - Drop _clk suffixes from clock-names - Remove operating-points-v2 property and cooling-cells (not currently used) - Add additionalProperties: false - Remove stray blank line at the end of file Signed-off-by: Sarah Walker --- .../devicetree

[PATCH v4 04/17] drm/imagination: Add skeleton PowerVR driver

2023-07-14 Thread Sarah Walker
to macros - Fix IS_PTR/PTR_ERR confusion in pvr_probe() - Remove err_out labels in favour of direct returning - Remove specific am62 compatible match string - Drop MODULE_FIRMWARE() Signed-off-by: Sarah Walker --- MAINTAINERS | 1 + drivers/gpu/drm/Kconfig

[PATCH v4 03/17] drm/imagination/uapi: Add PowerVR driver UAPI

2023-07-14 Thread Sarah Walker
Add the UAPI implementation for the PowerVR driver. Signed-off-by: Sarah Walker --- MAINTAINERS|1 + include/uapi/drm/pvr_drm.h | 1304 2 files changed, 1305 insertions(+) create mode 100644 include/uapi/drm/pvr_drm.h diff --git

[PATCH v4 01/17] sizes.h: Add entries between 32G and 64T

2023-07-14 Thread Sarah Walker
From: Matt Coster Signed-off-by: Matt Coster Reviewed-by: Linus Walleij --- include/linux/sizes.h | 9 + 1 file changed, 9 insertions(+) diff --git a/include/linux/sizes.h b/include/linux/sizes.h index 84aa448d8bb3..c3a00b967d18 100644 --- a/include/linux/sizes.h +++

[PATCH v4 00/17] Imagination Technologies PowerVR DRM driver

2023-07-14 Thread Sarah Walker
and 64T Sarah Walker (16): dt-bindings: gpu: Add Imagination Technologies PowerVR GPU drm/imagination/uapi: Add PowerVR driver UAPI drm/imagination: Add skeleton PowerVR driver drm/imagination: Get GPU resources drm/imagination: Add GPU register and FWIF headers drm/imagination: Add GPU

[PATCH v3 14/17] drm/imagination: Implement job submission and scheduling

2023-06-13 Thread Sarah Walker
drm_sched_fence_set_parent() from drm_sched_fence_scheduled(): https://lists.freedesktop.org/archives/dri-devel/2023-June/408904.html Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile |2 + drivers/gpu/drm/imagination/pvr_context.c | 127 +- drivers/gpu/drm/imagination

[PATCH v3 17/17] arm64: dts: ti: k3-am62-main: Add GPU device node [DO NOT MERGE]

2023-06-13 Thread Sarah Walker
Add the Series AXE GPU node to the AM62 device tree. Signed-off-by: Sarah Walker --- arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 13 + 1 file changed, 13 insertions(+) diff --git a/arch/arm64/boot/dts/ti/k3-am62-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62-main.dtsi index

[PATCH v3 04/17] drm/imagination: Add skeleton PowerVR driver

2023-06-13 Thread Sarah Walker
This adds the basic skeleton of the driver. The driver registers itself with DRM on probe. Ioctl handlers are currently implemented as stubs. Signed-off-by: Sarah Walker --- MAINTAINERS | 1 + drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm

[PATCH v3 01/17] sizes.h: Add entries between 32G and 64T

2023-06-13 Thread Sarah Walker
From: Matt Coster Signed-off-by: Matt Coster --- include/linux/sizes.h | 9 + 1 file changed, 9 insertions(+) diff --git a/include/linux/sizes.h b/include/linux/sizes.h index 84aa448d8bb3..c3a00b967d18 100644 --- a/include/linux/sizes.h +++ b/include/linux/sizes.h @@ -47,8 +47,17 @@

[PATCH v3 12/17] drm/imagination: Implement free list and HWRT create and destroy ioctls

2023-06-13 Thread Sarah Walker
Implement ioctls to create and destroy free lists and HWRT datasets. Free lists are used for GPU-side memory allocation during geometry processing. HWRT datasets are the FW-side structures representing render targets. Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile

[PATCH v3 10/17] drm/imagination: Implement firmware infrastructure and META FW support

2023-06-13 Thread Sarah Walker
ends on: drm: fix drmm_mutex_init(): https://lists.freedesktop.org/archives/dri-devel/2023-May/404863.html Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile |5 + drivers/gpu/drm/imagination/pvr_ccb.c | 637 drivers/gpu/drm/imagination/pvr_c

[PATCH v3 03/17] drm/imagination/uapi: Add PowerVR driver UAPI

2023-06-13 Thread Sarah Walker
Add the UAPI implementation for the PowerVR driver. Signed-off-by: Sarah Walker --- MAINTAINERS|1 + include/uapi/drm/pvr_drm.h | 1333 2 files changed, 1334 insertions(+) create mode 100644 include/uapi/drm/pvr_drm.h diff --git

[PATCH v3 07/17] drm/imagination: Add GPU ID parsing and firmware loading

2023-06-13 Thread Sarah Walker
this information to the firmware image. Signed-off-by: Sarah Walker --- drivers/gpu/drm/imagination/Makefile | 1 + drivers/gpu/drm/imagination/pvr_device.c | 359 drivers/gpu/drm/imagination/pvr_device.h | 221 +++ drivers/gpu/drm/imagination/pvr_device_info.c | 223

  1   2   >