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