From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 2/9] drm/i915: Warn if drm_vblank_get() still works after drm_vblank_off() Date: Mon, 26 May 2014 15:54:10 +0200 Message-ID: <20140526135410.GQ14357@phenom.ffwll.local> References: <20140526132245.GJ14357@phenom.ffwll.local> <1401112168-18714-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail-wg0-f44.google.com (mail-wg0-f44.google.com [74.125.82.44]) by gabe.freedesktop.org (Postfix) with ESMTP id 0E2386E569 for ; Mon, 26 May 2014 06:54:16 -0700 (PDT) Received: by mail-wg0-f44.google.com with SMTP id a1so8045438wgh.27 for ; Mon, 26 May 2014 06:54:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1401112168-18714-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Mon, May 26, 2014 at 04:49:28PM +0300, ville.syrjala@linux.intel.com wro= te: > From: Ville Syrj=E4l=E4 > = > v2: Drop the drm_vblank_off() (Daniel) > Use drm_crtc_vblank_{get,put}() > = > Signed-off-by: Ville Syrj=E4l=E4 Reviewed-by: Daniel Vetter > --- > drivers/gpu/drm/i915/intel_display.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > = > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/= intel_display.c > index 3da73ef..94ac51f 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -1305,6 +1305,12 @@ static void assert_sprites_disabled(struct drm_i91= 5_private *dev_priv, > } > } > = > +static void assert_vblank_disabled(struct drm_crtc *crtc) > +{ > + if (WARN_ON(drm_crtc_vblank_get(crtc) =3D=3D 0)) > + drm_crtc_vblank_put(crtc); > +} > + > static void ibx_assert_pch_refclk_enabled(struct drm_i915_private *dev_p= riv) > { > u32 val; > @@ -3885,6 +3891,8 @@ static void intel_crtc_enable_planes(struct drm_crt= c *crtc) > int pipe =3D intel_crtc->pipe; > int plane =3D intel_crtc->plane; > = > + assert_vblank_disabled(crtc); > + > intel_enable_primary_hw_plane(dev_priv, plane, pipe); > intel_enable_planes(crtc); > /* The fixup needs to happen before cursor is enabled */ > @@ -3921,6 +3929,8 @@ static void intel_crtc_disable_planes(struct drm_cr= tc *crtc) > intel_crtc_update_cursor(crtc, false); > intel_disable_planes(crtc); > intel_disable_primary_hw_plane(dev_priv, plane, pipe); > + > + assert_vblank_disabled(crtc); > } > = > static void ironlake_crtc_enable(struct drm_crtc *crtc) > -- = > 1.8.5.5 > = -- = Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch