summaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-08-15 00:02:33 +0200
committerDave Airlie <airlied@redhat.com>2013-08-19 10:46:35 +1000
commit7106bf96f81b0c207aaab4b46aa2acc5cab334d4 (patch)
tree782617e44aac3d710293f32272c6055ceec98e3c /include/drm
parent01ce605a7bd8f4aaaf3c0accdaa5e106982b698c (diff)
downloadlinux-7106bf96f81b0c207aaab4b46aa2acc5cab334d4.tar.gz
linux-7106bf96f81b0c207aaab4b46aa2acc5cab334d4.tar.bz2
linux-7106bf96f81b0c207aaab4b46aa2acc5cab334d4.zip
drm/prime: add a bit of documentation about gem_obj->import_attach
Lifetime rules seem to be solid around ->import_attach. So this patch just properly documents them. Note that pointing directly at the attachment might have issues for devices that have multiple struct device *dev parts constituting the logical gpu and so might need multiple attachment points. Similarly for drm devices which don't need a dma attachment at all (like udl). But fixing that up is material for different patches. Reviewed-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drmP.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 5ebed3ea10ba..5dc98947375c 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -665,7 +665,16 @@ struct drm_gem_object {
/* dma buf exported from this GEM object */
struct dma_buf *export_dma_buf;
- /* dma buf attachment backing this object */
+ /**
+ * import_attach - dma buf attachment backing this object
+ *
+ * Any foreign dma_buf imported as a gem object has this set to the
+ * attachment point for the device. This is invariant over the lifetime
+ * of a gem object.
+ *
+ * The driver's ->gem_free_object callback is responsible for cleaning
+ * up the dma_buf attachment and references acquired at import time.
+ */
struct dma_buf_attachment *import_attach;
};