[PATCH v3 0/4] Introduce Panfrost JM contexts

Adrián Larumbe posted 4 patches 2 weeks, 6 days ago
There is a newer version of this series
drivers/gpu/drm/panfrost/panfrost_device.h |  11 +-
drivers/gpu/drm/panfrost/panfrost_drv.c    | 150 +++++++++++++++-
drivers/gpu/drm/panfrost/panfrost_job.c    | 195 +++++++++++++++++----
drivers/gpu/drm/panfrost/panfrost_job.h    |  25 ++-
include/uapi/drm/panfrost_drm.h            |  50 ++++++
5 files changed, 391 insertions(+), 40 deletions(-)
[PATCH v3 0/4] Introduce Panfrost JM contexts
Posted by Adrián Larumbe 2 weeks, 6 days ago
This patch series brings the notion of JM contexts into Panfrost.
UM will be able to create contexts, get a handle for them and attach
it to a job submission. Contexts describe basic HW resource assignment
to jobs, but at the moment that includes priorities only.

There's a MR for a Mesa commit series that makes use of these changes:
https://lore.kernel.org/dri-devel/20250904001054.147465-1-adrian.larumbe@collabora.com/

Changelog:
v3:
 - Cut down number of available contexts per file to 64.
 - Conservatively restored JS thread priority back to 8.
 - Rework of the context destruction and scheduler entity release
 logic to avoid races and that no new jobs are run after ctx destruction.
 - Refactor privilege checks when allowing high context priorities.
 - Checked that uapi struct padding fields are zeroed in ioctls

v2:
 - Core and L2 cache affinities are not longer part of the context uAPI
 - Individual JS priorites are no longer possible, and the same context
 priority is applied onto all the JS and scheduler entities.
 - Minor changes in the debugfs knob to reflect all the above.

Boris Brezillon (4):
  drm/panfrost: Introduce uAPI for JM context creation
  drm/panfrost: Introduce JM contexts for manging job resources
  drm/panfrost: Expose JM context IOCTLs to UM
  drm/panfrost: Display list of device JM contexts over debugfs

 drivers/gpu/drm/panfrost/panfrost_device.h |  11 +-
 drivers/gpu/drm/panfrost/panfrost_drv.c    | 150 +++++++++++++++-
 drivers/gpu/drm/panfrost/panfrost_job.c    | 195 +++++++++++++++++----
 drivers/gpu/drm/panfrost/panfrost_job.h    |  25 ++-
 include/uapi/drm/panfrost_drm.h            |  50 ++++++
 5 files changed, 391 insertions(+), 40 deletions(-)


base-commit: a3ae3384be7704fcf41279f13190bd8a11204bea
--
2.51.0