[Intel-gfx] [PATCH] drm/i915: Don't wait for vblank for sprite plane flips
Kumar, Shobhit
shobhit.kumar at intel.com
Fri Jun 28 16:22:20 CEST 2013
> -----Original Message-----
> From: intel-gfx-bounces+shobhit.kumar=intel.com at lists.freedesktop.org
> [mailto:intel-gfx-bounces+shobhit.kumar=intel.com at lists.freedesktop.org]
> On Behalf Of Vijay Purushothaman
> Sent: Friday, June 28, 2013 7:46 PM
> To: Intel Graphics
> Subject: [Intel-gfx] [PATCH] drm/i915: Don't wait for vblank for sprite plane
> flips
>
> 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)
>
> 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
Tested on VLV. Works fine
Tested-by: Shobhit Kumar <Shobhit.kumar at intel.com>
More information about the Intel-gfx
mailing list