On Fri, Nov 9, 2012 at 1:39 AM, Inki Dae inki.dae@samsung.com wrote:
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h index 3fa18b7..92889be 100644 --- a/include/drm/drm_crtc.h +++ b/include/drm/drm_crtc.h @@ -256,6 +256,7 @@ struct drm_framebuffer { struct kref refcount; struct list_head head; struct drm_mode_object base;
struct drm_crtc *crtc;
note that one fb can be attached to multiple crtc's (and/or planes).. so this will never work.
Anyways, I think the right answer is somehow reference-counting. You should *somewhere* be holding a ref to bo's until there is no more dma access, either directly or indirectly by holding a ref to the fb (which holds a ref to the bo(s))
BR, -R
const struct drm_framebuffer_funcs *funcs; unsigned int pitches[4]; unsigned int offsets[4];
-- 1.7.4.1
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel