From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Only wait one vblank when disabling crc if the pipe is on Date: Fri, 6 Jun 2014 11:57:10 +0300 Message-ID: <20140606085710.GG27580@intel.com> References: <1402035728-10127-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 9ABEE6EA1F for ; Fri, 6 Jun 2014 01:57:13 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1402035728-10127-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org On Fri, Jun 06, 2014 at 08:22:08AM +0200, Daniel Vetter wrote: > Otherwise we incur an unsightly WARNING. The mutex locking is a bit > overkill, but it curbs races and eventially we might grow a locking > check in the vblank wait code to make sure the right crtc lock is > held. > = > This is fallout from > = > commit 9393707190194eb8b42e412b444a03331db6862f > Author: Jesse Barnes > AuthorDate: Fri Apr 4 16:12:09 2014 -0700 > = > drm/i915: warn when a vblank wait times out > = > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=3D79612 > Tested-by: Guo Jinxian > Signed-off-by: Daniel Vetter > --- > drivers/gpu/drm/i915/i915_debugfs.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > = > diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i= 915_debugfs.c > index 601caa88c092..cf94e9640627 100644 > --- a/drivers/gpu/drm/i915/i915_debugfs.c > +++ b/drivers/gpu/drm/i915/i915_debugfs.c > @@ -2927,11 +2927,16 @@ static int pipe_crc_set_source(struct drm_device = *dev, enum pipe pipe, > /* real source -> none transition */ > if (source =3D=3D INTEL_PIPE_CRC_SOURCE_NONE) { > struct intel_pipe_crc_entry *entries; > + struct intel_crtc *crtc =3D > + crtc =3D to_intel_crtc(dev_priv->pipe_to_crtc_mapping[pipe]); ^^^^^^ What's that? Otherwise: Reviewed-by: Ville Syrj=E4l=E4 > = > DRM_DEBUG_DRIVER("stopping CRCs for pipe %c\n", > pipe_name(pipe)); > = > - intel_wait_for_vblank(dev, pipe); > + mutex_lock(&crtc->base.mutex); > + if (crtc->active) > + intel_wait_for_vblank(dev, pipe); > + mutex_unlock(&crtc->base.mutex); > = > spin_lock_irq(&pipe_crc->lock); > entries =3D pipe_crc->entries; > -- = > 2.0.0 > = > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- = Ville Syrj=E4l=E4 Intel OTC