On Tue, Jul 20, 2021 at 04:16:56PM +0200, Christian König wrote: > Am 20.07.21 um 16:07 schrieb Daniel Vetter: > > On Mon, Jul 19, 2021 at 10:40:57AM +0200, Christian König wrote: > > > Am 17.07.21 um 22:29 schrieb Rob Clark: > > > > From: Rob Clark <robdclark@xxxxxxxxxxxx> > > > > > > > > Conversion to gpu_scheduler, and bonus removal of > > > > drm_gem_object_put_locked() > > > Oh yes please! > > > > > > If I'm not completely mistaken that was the last puzzle piece missing to > > > unify TTMs and GEMs refcount of objects. > > Why does drm/msm, a driver not using ttm at all, block ttm refactorings? > > We can just check whether the TTM using driver is potentially using locked > > final unref and have a special version of > > drm_gem_object_put_guaranteed_unlocked or whatever the bikeshed will look > > like, which doesn't have the migth_lock. > > Because we now don't have any unrealistic lock inversion between > dev->struct_mutex and obj->resv lockdep can complain any more. Yeah I know, but we didn't have that since a while ago if you're limiting the audit to ttm using drivers. Which are the only ones that matter for this, the only thing that caused issues was object_put still being dev->struct_mutex infested for backwards compat. But even that changed a while ago I think. -Daniel > > Cheers, > Christian. > > > > > Anyway, deed is done now :-) > > -Daniel > > > > > Only problem is that I only see patch 7 and 9 in my inbox. Where is the > > > rest? > > > > > > Thanks, > > > Christian. > > > > > > > Rob Clark (11): > > > > 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 struct_mutex in submit path > > > > drm/msm: Utilize gpu scheduler priorities > > > > > > > > drivers/gpu/drm/drm_gem.c | 22 -- > > > > drivers/gpu/drm/msm/Kconfig | 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 | 2 +- > > > > 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 | 39 --- > > > > drivers/gpu/drm/msm/msm_fence.h | 2 - > > > > drivers/gpu/drm/msm/msm_gem.c | 91 +----- > > > > drivers/gpu/drm/msm/msm_gem.h | 37 ++- > > > > drivers/gpu/drm/msm/msm_gem_submit.c | 300 ++++++++++++-------- > > > > drivers/gpu/drm/msm/msm_gpu.c | 50 +--- > > > > drivers/gpu/drm/msm/msm_gpu.h | 41 ++- > > > > drivers/gpu/drm/msm/msm_ringbuffer.c | 70 ++++- > > > > drivers/gpu/drm/msm/msm_ringbuffer.h | 12 + > > > > drivers/gpu/drm/msm/msm_submitqueue.c | 49 +++- > > > > include/drm/drm_gem.h | 2 - > > > > include/uapi/drm/msm_drm.h | 10 +- > > > > 23 files changed, 440 insertions(+), 359 deletions(-) > > > > > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch