[PATCH v3 0/9] Some Panfrost fixes and improvements
From: Adrián Larumbe
Date: Wed Dec 04 2024 - 13:50:37 EST
This is v3 of https://lore.kernel.org/dri-devel/20241128211223.1805830-1-adrian.larumbe@xxxxxxxxxxxxx/
This patch series is a collection of minor fixes and improvements I came up
with while working on driver related stuff.
Changelog:
v3:
- Minor convenience fixes to patches 3 and 4 in the series
- Move unmapping of maped range of BO to the function's error path
in case of BO mapping failure, also for putting BO's pages
- Split patch 6/8 into two: one makes sure the Job IRQ enablement mask
isn't recalculated at every device reset and uses the same expression
everywhere in the driver, and another one that breaks the enablement
function into two stages.
v2:
- Removed commit that provided an explicit fence cleanup function
- Added commit for removing unused Panfrost device structure member
- Refactored how optional job interrupt reenabling during reset is handled
- Make the way errors and successful return values are delivered from inside
panfrost_mmu_as_get more according to standard.
- Simplify unmapping of already mapped area when mapping the pages of a BO
- Fixing management of runtime-PM reference counts when failing HW job submission.
Adrián Larumbe (9):
drm/panfrost: Replace DRM driver allocation method with newer one
drm/panfrost: Handle inexistent GPU during probe
drm/panfrost: Handle job HW submit errors
drm/panfrost: Handle error when allocating AS number
drm/panfrost: Handle page mapping failure
drm/panfrost: Don't rework job IRQ enable mask in the enable path
drm/panfrost: Make re-enabling job interrupts at device reset optional
drm/panfrost: Add forward declaration and types header
drm/panfrost: Remove unused device property
drivers/gpu/drm/panfrost/panfrost_devfreq.c | 4 +-
drivers/gpu/drm/panfrost/panfrost_device.c | 58 +++++------
drivers/gpu/drm/panfrost/panfrost_device.h | 13 +--
drivers/gpu/drm/panfrost/panfrost_drv.c | 68 +++++--------
drivers/gpu/drm/panfrost/panfrost_dump.c | 8 +-
drivers/gpu/drm/panfrost/panfrost_gem.c | 6 +-
.../gpu/drm/panfrost/panfrost_gem_shrinker.c | 4 +-
drivers/gpu/drm/panfrost/panfrost_gpu.c | 64 ++++++++-----
drivers/gpu/drm/panfrost/panfrost_job.c | 95 ++++++++++---------
drivers/gpu/drm/panfrost/panfrost_job.h | 1 +
drivers/gpu/drm/panfrost/panfrost_mmu.c | 95 ++++++++++++++-----
drivers/gpu/drm/panfrost/panfrost_mmu.h | 3 +-
drivers/gpu/drm/panfrost/panfrost_perfcnt.c | 31 +++---
13 files changed, 254 insertions(+), 196 deletions(-)
base-commit: c6eabbab359c156669e10d5dec3e71e80ff09bd2
--
2.47.0