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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel