mirror of https://gitee.com/openkylin/linux.git
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
This commit is contained in:
parent
09b20988ff
commit
5823cca39d
|
@ -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