[PATCH 00/13] drm/msm: Hook up the DRM gpu scheduler
Sharat Masetty
smasetty at codeaurora.org
Mon Oct 1 12:31:32 UTC 2018
This series is an effort to have the msm drm driver start using the DRM gpu
scheduler for its general job scheduling needs. Immediate benefits to the msm
drm driver include async fencing and improved driver performance.
Testing is still under progress, but general GPU submissions, preemption,
timeout, fault recovery and slumber all work fine with these changes when
tested using my test apps. My workspace is based on ~4.18.rc6, so these changes
should apply on tip relatively easily.
Please review and share your valuable feedback :-).
Note that I backported a change from Linus's 4.19.rc1 tree to handle jiffie
wrapping. If it's not desirable, I will squash the last few changes of the
series under drm/msm into one single commit.
Matteo Croce (1):
jiffies: add utility function to calculate delta in ms
Sharat Masetty (12):
drm/msm: Track GPU fences with idr
drm/msm: Change msm_gpu_submit() API
drm/msm: Save the ring name in the ring structure
drm/msm: Change the name of the fence to hw_fence
drm/msm: rearrange submit buffer objects clean up
drm/msm: Use kzalloc for submit struct allocation
drm/msm: Fix leak in submitqueue create
drm/scheduler: set sched->thread to NULL in failure
drm/msm: Use the DRM common Scheduler
msm/drm: Remove unused code
drm/scheduler: Add a timeout_start_notify function op
drm/msm: Implement better timeout detection
drivers/gpu/drm/msm/Kconfig | 1 +
drivers/gpu/drm/msm/Makefile | 3 +-
drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 3 -
drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 29 +++
drivers/gpu/drm/msm/adreno/adreno_gpu.c | 3 +
drivers/gpu/drm/msm/msm_drv.c | 3 +-
drivers/gpu/drm/msm/msm_drv.h | 5 +-
drivers/gpu/drm/msm/msm_fence.c | 52 ++---
drivers/gpu/drm/msm/msm_fence.h | 5 +-
drivers/gpu/drm/msm/msm_gem.c | 44 +---
drivers/gpu/drm/msm/msm_gem.h | 10 +-
drivers/gpu/drm/msm/msm_gem_submit.c | 170 +++++++++-----
drivers/gpu/drm/msm/msm_gpu.c | 264 ++++------------------
drivers/gpu/drm/msm/msm_gpu.h | 11 +-
drivers/gpu/drm/msm/msm_ringbuffer.c | 17 +-
drivers/gpu/drm/msm/msm_ringbuffer.h | 7 +
drivers/gpu/drm/msm/msm_sched.c | 355 ++++++++++++++++++++++++++++++
drivers/gpu/drm/msm/msm_sched.h | 18 ++
drivers/gpu/drm/msm/msm_submitqueue.c | 16 +-
drivers/gpu/drm/scheduler/gpu_scheduler.c | 22 +-
include/drm/gpu_scheduler.h | 6 +
include/linux/jiffies.h | 5 +
22 files changed, 662 insertions(+), 387 deletions(-)
create mode 100644 drivers/gpu/drm/msm/msm_sched.c
create mode 100644 drivers/gpu/drm/msm/msm_sched.h
--
1.9.1
More information about the dri-devel
mailing list