Re: [PATCH 4/5] drm/i915: Invalidate frontbuffer bits on FBDEV sync

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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...

I'm going to check dirty callback... thanks for the suggestion...



On Mon, Jun 22, 2015 at 6:56 AM Daniel Vetter <daniel@xxxxxxxx> wrote:
On Thu, Jun 18, 2015 at 11:43:25AM -0700, Rodrigo Vivi wrote:
> @@ -259,6 +269,15 @@ void intel_frontbuffer_flip_complete(struct drm_device *dev,
>       struct drm_i915_private *dev_priv = dev->dev_private;
>
>       mutex_lock(&dev_priv->fb_tracking.lock);
> +
> +     /*
> +      * Let's assume that if this asynchronous flip happened
> +      * FBDEV might not be in use anymore.
> +      * If this is not the case fb_sync will happen on next
> +      * frontbuffer touch and invalidate bits again
> +      */
> +     dev_priv->fb_tracking.fbdev_running = false;

This pretty much destroys frontbuffer tracking for everyone if they boot
up with fbdev.

Since this seems to be epic fun indeed I think what we need to do is:
- Fill out the ->dirty callback.
- Extend the drm fbdev helpers to call ->dirty at all suitable places if
  needed.

For an example of how to do this all see udl/udl_fb.c. Imo a good patch
would be to replace all the udl special casing with the new fbdev helpers,
just as a demonstration patch. i915 isn't the only driver where every
frontbuffer change must involve some manual driver action, there's no
reason we need to roll our own solution.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux