drm/todo: Add entry for moving to dma_resv_lock
Requested by Thomas. I think it justifies a new level, since I tried
to make some forward progress on this last summer, and gave up (for
now). This is very tricky.
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Link: https://patchwork.freedesktop.org/patch/msgid/20210122133624.1751802-1-daniel.vetter@ffwll.ch
(cherry picked from commit 5823cca39d
)
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
This commit is contained in:
parent
b9377df121
commit
e2e2e008f9
@ -23,6 +23,9 @@ Advanced: Tricky tasks that need fairly good understanding of the DRM subsystem
|
||||
and graphics topics. Generally need the relevant hardware for development and
|
||||
testing.
|
||||
|
||||
Expert: Only attempt these if you've successfully completed some tricky
|
||||
refactorings already and are an expert in the specific area
|
||||
|
||||
Subsystem-wide refactorings
|
||||
===========================
|
||||
|
||||
@ -168,6 +171,22 @@ Contact: Daniel Vetter, respective driver maintainers
|
||||
|
||||
Level: Advanced
|
||||
|
||||
Move Buffer Object Locking to dma_resv_lock()
|
||||
---------------------------------------------
|
||||
|
||||
Many drivers have their own per-object locking scheme, usually using
|
||||
mutex_lock(). This causes all kinds of trouble for buffer sharing, since
|
||||
depending which driver is the exporter and importer, the locking hierarchy is
|
||||
reversed.
|
||||
|
||||
To solve this we need one standard per-object locking mechanism, which is
|
||||
dma_resv_lock(). This lock needs to be called as the outermost lock, with all
|
||||
other driver specific per-object locks removed. The problem is tha rolling out
|
||||
the actual change to the locking contract is a flag day, due to struct dma_buf
|
||||
buffer sharing.
|
||||
|
||||
Level: Expert
|
||||
|
||||
Convert logging to drm_* functions with drm_device paramater
|
||||
------------------------------------------------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user