<br><br><div class="gmail_quote">2012/12/5 Daniel Vetter <span dir="ltr"><<a href="mailto:daniel@ffwll.ch" target="_blank">daniel@ffwll.ch</a>></span><br><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
<div class="im">On Tue, Dec 4, 2012 at 1:14 PM, Inki Dae <<a href="mailto:inki.dae@samsung.com">inki.dae@samsung.com</a>> wrote:<br>
> Changelog v2:<br>
> fix page fault issue.<br>
> - defer to unreference old fb to avoid page fault issue.<br>
> So with this fixup, new fb would be updated to hardware<br>
> prior to old fb unreferencing. And it removes unnecessary<br>
> patch, "drm/exynos: Unreference fb in exynos_disable_plane()"<br>
><br>
> Changelog v1:<br>
> This patch releases the fb pended by page flip after fbdev is<br>
> restored propely. And fixes invalid memory access when drm is<br>
> released while doing pageflip.<br>
><br>
> This patch makes fb's refcount to be increased when setcrtc and<br>
> pageflip are requested. In other words, it increases fb's refcount<br>
> only if dma is going to access memory region to fb and decreases<br>
> old fb's because the old fb isn't accessed by dma anymore.<br>
><br>
> This could guarantee releasing gem buffer to the fb after dma<br>
> access to the gem buffer has been completed.<br>
><br>
> Signed-off-by: Inki Dae <<a href="mailto:inki.dae@samsung.com">inki.dae@samsung.com</a>><br>
> Signed-off-by: Kyungmin Park <<a href="mailto:kyungmin.park@samsung.com">kyungmin.park@samsung.com</a>><br>
<br>
</div>Just an fyi, I'm looking into revamping the locking/refcounting in<br>
this area in the drm core right now. No patches yet for public<br>
consumption, but I hope that I can send out and rfc at the end of this<br>
week. Might fix your problem, too, and certainly addresses the issue<br>
Prathyush noticed, since the refcounting is done in the drm core and<br>
should be able to catch all the cases where we need to<br>
reference/unreference an fb.<br></blockquote><div> </div><div>Right, referencing/unreferencing an fb should be done in drm core and I think this is generic way. </div><div> </div><div>Thanks for your effort,</div><div>Inki Dae</div>
<div> </div><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote">
<span class="HOEnZb"><font color="#888888">-Daniel<br>
--<br>
Daniel Vetter<br>
Software Engineer, Intel Corporation<br>
+41 (0) 79 365 57 48 - <a href="http://blog.ffwll.ch" target="_blank">http://blog.ffwll.ch</a><br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
dri-devel mailing list<br>
<a href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/dri-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/dri-devel</a><br>
</div></div></blockquote></div><br>