[PATCH] drm/i915: Don't wait for vblank for sprite plane flips

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

 



> -----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: [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>



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