Hi Dave & Daniel, An early pull for v5.15 (there'll be more coming in a week or two), consisting of the drm/scheduler conversion and a couple other small series that one was based one. Mostly sending this now because IIUC danvet wanted it in drm-next so he could rebase on it. (Daniel, if you disagree then speak up, and I'll instead include this in the main pull request once that is ready.) This also has a core patch to drop drm_gem_object_put_locked() now that the last use of it is removed. The following changes since commit ff1176468d368232b684f75e82563369208bc371: Linux 5.14-rc3 (2021-07-25 15:35:14 -0700) are available in the Git repository at: https://gitlab.freedesktop.org/drm/msm.git drm-msm-next-2021-07-28 for you to fetch changes up to 4541e4f2225c30b0e9442be9eb2fb8b7086cdd1f: drm/msm/gem: Mark active before pinning (2021-07-28 09:19:00 -0700) ---------------------------------------------------------------- Rob Clark (18): drm/msm: Let fences read directly from memptrs drm/msm: Signal fences sooner drm/msm: Split out devfreq handling drm/msm: Split out get_freq() helper drm/msm: Devfreq tuning drm/msm: Docs and misc cleanup drm/msm: Small submitqueue creation cleanup drm/msm: drop drm_gem_object_put_locked() drm: Drop drm_gem_object_put_locked() drm/msm/submit: Simplify out-fence-fd handling drm/msm: Consolidate submit bo state drm/msm: Track "seqno" fences by idr drm/msm: Return ERR_PTR() from submit_create() drm/msm: Conversion to drm scheduler drm/msm: Drop submit bo_list drm/msm: Drop struct_mutex in submit path drm/msm: Utilize gpu scheduler priorities drm/msm/gem: Mark active before pinning drivers/gpu/drm/drm_gem.c | 22 -- drivers/gpu/drm/msm/Kconfig | 1 + drivers/gpu/drm/msm/Makefile | 1 + drivers/gpu/drm/msm/adreno/a5xx_debugfs.c | 4 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +- drivers/gpu/drm/msm/adreno/a5xx_power.c | 2 +- drivers/gpu/drm/msm/adreno/a5xx_preempt.c | 7 +- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 12 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 6 +- drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 4 +- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 6 +- drivers/gpu/drm/msm/msm_drv.c | 30 ++- drivers/gpu/drm/msm/msm_fence.c | 53 +---- drivers/gpu/drm/msm/msm_fence.h | 44 +++- drivers/gpu/drm/msm/msm_gem.c | 94 +------- drivers/gpu/drm/msm/msm_gem.h | 47 ++-- drivers/gpu/drm/msm/msm_gem_submit.c | 344 +++++++++++++++++----------- drivers/gpu/drm/msm/msm_gpu.c | 220 ++++-------------- drivers/gpu/drm/msm/msm_gpu.h | 139 ++++++++++- drivers/gpu/drm/msm/msm_gpu_devfreq.c | 203 ++++++++++++++++ drivers/gpu/drm/msm/msm_rd.c | 6 +- drivers/gpu/drm/msm/msm_ringbuffer.c | 69 +++++- drivers/gpu/drm/msm/msm_ringbuffer.h | 12 + drivers/gpu/drm/msm/msm_submitqueue.c | 53 +++-- include/drm/drm_gem.h | 2 - include/uapi/drm/msm_drm.h | 14 +- 26 files changed, 865 insertions(+), 536 deletions(-) create mode 100644 drivers/gpu/drm/msm/msm_gpu_devfreq.c