[Intel-gfx] [PATCH] drm/i915: Don't wait for vblank for sprite plane flips
Ville Syrjälä
ville.syrjala at linux.intel.com
Fri Jun 28 16:24:50 CEST 2013
On Fri, Jun 28, 2013 at 07:45:31PM +0530, Vijay Purushothaman wrote:
> Since the sprite planes are using synchronized MMIO based flip, no need
> to wait for vblank. Removing this wait allows us to get a nice
> performance boost to both 3D & media workloads based on sprite (~60 fps
> from ~20 fps)
Nak. We can't unpin the buffer until the hardware has finished reading
from it.
The proper fix is to do the unpin asynchronously after the flip has
completed. That's one part of the bigger atomic pageflip story.
>
> Signed-off-by: Vijay Purushothaman <vijay.a.purushothaman at intel.com>
> Signed-off-by: Gary Smith <gary.k.smith at intel.com>
> ---
> drivers/gpu/drm/i915/intel_sprite.c | 14 +-------------
> 1 file changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 1fa5612..1d14fc0 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -828,20 +828,8 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
> intel_disable_primary(crtc);
>
> /* Unpin old obj after new one is active to avoid ugliness */
> - if (old_obj) {
> - /*
> - * It's fairly common to simply update the position of
> - * an existing object. In that case, we don't need to
> - * wait for vblank to avoid ugliness, we only need to
> - * do the pin & ref bookkeeping.
> - */
> - if (old_obj != obj) {
> - mutex_unlock(&dev->struct_mutex);
> - intel_wait_for_vblank(dev, to_intel_crtc(crtc)->pipe);
> - mutex_lock(&dev->struct_mutex);
> - }
> + if (old_obj)
> intel_unpin_fb_obj(old_obj);
> - }
>
> out_unlock:
> mutex_unlock(&dev->struct_mutex);
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
More information about the Intel-gfx
mailing list