On Fri, Nov 9, 2012 at 1:39 AM, Inki Dae <inki.dae@xxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel