On Wed, 30 Jun 2021 08:27:35 +0200 Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> wrote: > Hello, > > Bunch of improvements to make the panfrost driver more robust and allow > queuing jobs at the HW level. > > Changes in v6: > * Collected acks/reviews > * Got rid of the cancel_delayed_work() calls in the reset path > > Changes in this v5: > * Document what's excepted in the ->timedout_job() hook > * Add a patch increasing the AS_ACTIVE polling timeout > * Fix a few minor things here and there (see each commit for a detailed > changelog) and collect R-b/A-b tags > > Changes in this v4: > * fixing the reset serialization > * fixing a deadlock in the reset path > * moving the exception enum to a private header > > Regards, > > Boris > > Boris Brezillon (15): > drm/sched: Document what the timedout_job method should do > drm/sched: Allow using a dedicated workqueue for the timeout/fault tdr > drm/panfrost: Make ->run_job() return an ERR_PTR() when appropriate > 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: Do the exception -> string translation using a table > drm/panfrost: Expose a helper to trigger a GPU reset > drm/panfrost: Use a threaded IRQ for job interrupts > drm/panfrost: Simplify the reset serialization logic > drm/panfrost: Make sure job interrupts are masked before resetting > drm/panfrost: Disable the AS on unhandled page faults > drm/panfrost: Reset the GPU when the AS_ACTIVE bit is stuck > 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: Increase the AS_ACTIVE polling timeout > > Steven Price (1): > drm/panfrost: Queue jobs on the hardware Series queued to drm-misc-next. > > drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c | 2 +- > drivers/gpu/drm/etnaviv/etnaviv_sched.c | 3 +- > drivers/gpu/drm/lima/lima_sched.c | 3 +- > drivers/gpu/drm/panfrost/panfrost_device.c | 139 +++-- > drivers/gpu/drm/panfrost/panfrost_device.h | 91 ++- > drivers/gpu/drm/panfrost/panfrost_gpu.c | 2 +- > drivers/gpu/drm/panfrost/panfrost_job.c | 626 +++++++++++++++------ > drivers/gpu/drm/panfrost/panfrost_mmu.c | 43 +- > drivers/gpu/drm/panfrost/panfrost_regs.h | 3 - > drivers/gpu/drm/scheduler/sched_main.c | 14 +- > drivers/gpu/drm/v3d/v3d_sched.c | 10 +- > include/drm/gpu_scheduler.h | 37 +- > 12 files changed, 717 insertions(+), 256 deletions(-) >