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.laru...@collabora.com/ Discussion of the previous patch series revision can be found at: https://lore.kernel.org/dri-devel/20250912132002.304187-1-adrian.laru...@collabora.com/ Changelog: v4: - Iterate over all the indices for the scheduler entity array when creating, releasing or otherwise destroying a job context, in case someone would want to implement compute support in the future. - Add R-b tags to other patches. 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