<div dir="ltr">it didn't destroy the frontbuffer tracking with x running... fb_sync wasn't being called... but it indeed destroyed with igt So I agree this is not the solution to go with...<div><br></div><div>I'm going to check dirty callback... thanks for the suggestion...</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jun 22, 2015 at 6:56 AM Daniel Vetter <<a href="mailto:daniel@ffwll.ch">daniel@ffwll.ch</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, Jun 18, 2015 at 11:43:25AM -0700, Rodrigo Vivi wrote:<br>
> @@ -259,6 +269,15 @@ void intel_frontbuffer_flip_complete(struct drm_device *dev,<br>
> struct drm_i915_private *dev_priv = dev->dev_private;<br>
><br>
> mutex_lock(&dev_priv->fb_tracking.lock);<br>
> +<br>
> + /*<br>
> + * Let's assume that if this asynchronous flip happened<br>
> + * FBDEV might not be in use anymore.<br>
> + * If this is not the case fb_sync will happen on next<br>
> + * frontbuffer touch and invalidate bits again<br>
> + */<br>
> + dev_priv->fb_tracking.fbdev_running = false;<br>
<br>
This pretty much destroys frontbuffer tracking for everyone if they boot<br>
up with fbdev.<br>
<br>
Since this seems to be epic fun indeed I think what we need to do is:<br>
- Fill out the ->dirty callback.<br>
- Extend the drm fbdev helpers to call ->dirty at all suitable places if<br>
needed.<br>
<br>
For an example of how to do this all see udl/udl_fb.c. Imo a good patch<br>
would be to replace all the udl special casing with the new fbdev helpers,<br>
just as a demonstration patch. i915 isn't the only driver where every<br>
frontbuffer change must involve some manual driver action, there's no<br>
reason we need to roll our own solution.<br>
-Daniel<br>
--<br>
Daniel Vetter<br>
Software Engineer, Intel Corporation<br>
<a href="http://blog.ffwll.ch" rel="noreferrer" target="_blank">http://blog.ffwll.ch</a><br>
_______________________________________________<br>
Intel-gfx mailing list<br>
<a href="mailto:Intel-gfx@lists.freedesktop.org" target="_blank">Intel-gfx@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/intel-gfx" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/intel-gfx</a><br>
</blockquote></div>