[PATCH v2 00/12] drm/panfrost: Misc fixes/improvements

Boris Brezillon boris.brezillon at collabora.com
Mon Jun 21 13:38:55 UTC 2021


Hello,

Sorry for the noise, but I forgot 2 fixes (one fixing the error
set to the sched fence when the driver fence allocation fails,
and the other one shrinking the dma signalling section to get
rid of spurious lockdep warnings).

The rest of the series hasn't changed.

The first patch has been submitted a while ago but was lacking a way
to kill in-flight jobs when a context is closed; which is now addressed
in patch 10.

The rest of those patches are improving fault handling (with some code
refactoring in the middle).

"drm/panfrost: Do the exception -> string translation using a table"
still has a TODO. I basically mapped all exception types to
EINVAL since most faults are triggered by invalid job/shaders, but
there might be some exceptions that should be translated to something
else. Any feedback on that aspect is welcome.

Regards,

Boris

Changes in v2:
* Added patch 11 and 12

Boris Brezillon (12):
  drm/panfrost: Make sure MMU context lifetime is not bound to
    panfrost_priv
  drm/panfrost: Get rid of the unused JS_STATUS_EVENT_ACTIVE definition
  drm/panfrost: Drop the pfdev argument passed to
    panfrost_exception_name()
  drm/panfrost: Expose exception types to userspace
  drm/panfrost: Disable the AS on unhandled page faults
  drm/panfrost: Expose a helper to trigger a GPU reset
  drm/panfrost: Reset the GPU when the AS_ACTIVE bit is stuck
  drm/panfrost: Do the exception -> string translation using a table
  drm/panfrost: Don't reset the GPU on job faults unless we really have
    to
  drm/panfrost: Kill in-flight jobs on FD close
  drm/panfrost: Make ->run_job() return an ERR_PTR() when appropriate
  drm/panfrost: Shorten the fence signalling section

 drivers/gpu/drm/panfrost/panfrost_device.c | 143 +++++++++++------
 drivers/gpu/drm/panfrost/panfrost_device.h |  21 ++-
 drivers/gpu/drm/panfrost/panfrost_drv.c    |  50 ++----
 drivers/gpu/drm/panfrost/panfrost_gem.c    |  20 ++-
 drivers/gpu/drm/panfrost/panfrost_gpu.c    |   2 +-
 drivers/gpu/drm/panfrost/panfrost_job.c    |  83 ++++++----
 drivers/gpu/drm/panfrost/panfrost_mmu.c    | 173 ++++++++++++++-------
 drivers/gpu/drm/panfrost/panfrost_mmu.h    |   5 +-
 drivers/gpu/drm/panfrost/panfrost_regs.h   |   3 -
 include/uapi/drm/panfrost_drm.h            |  65 ++++++++
 10 files changed, 375 insertions(+), 190 deletions(-)

-- 
2.31.1



More information about the dri-devel mailing list