From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 01/16] drm/i915: Keep vblank interrupts enabled while enabling/disabling planes Date: Mon, 26 May 2014 15:56:17 +0200 Message-ID: <20140526135617.GR14357@phenom.ffwll.local> References: <1400770101-14277-1-git-send-email-ville.syrjala@linux.intel.com> <1400770101-14277-2-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-f41.google.com (mail-wg0-f41.google.com [74.125.82.41]) by gabe.freedesktop.org (Postfix) with ESMTP id 0216F6E304 for ; Mon, 26 May 2014 06:56:21 -0700 (PDT) Received: by mail-wg0-f41.google.com with SMTP id z12so8149410wgg.24 for ; Mon, 26 May 2014 06:56:21 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1400770101-14277-2-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 List-Id: intel-gfx@lists.freedesktop.org On Thu, May 22, 2014 at 05:48:06PM +0300, ville.syrjala@linux.intel.com wro= te: > From: Ville Syrj=E4l=E4 > = > Because of the upcoming vblank interrupt driven watermark update > mechanism we will have use for vblank interrupts during plane > enabling/disabling. So don't call drm_vblank_off() until planes > are off, and call drm_vblank_on() just before we start to enable > the planes. > = > v2: Pimp commit message (Paulo) > = > Reviewed-by: Paulo Zanoni > Signed-off-by: Ville Syrj=E4l=E4 Merged up to this one until I've stumbled into the first patch lacking an r-b. Can you please update the review board a bit with the current state and maybe repoke reviewers that there's a new series? Thanks, Daniel > --- > drivers/gpu/drm/i915/intel_display.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > = > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/= intel_display.c > index 019e9e1..a11bd78 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -3885,6 +3885,8 @@ static void intel_crtc_enable_planes(struct drm_crt= c *crtc) > int pipe =3D intel_crtc->pipe; > int plane =3D intel_crtc->plane; > = > + drm_vblank_on(dev, pipe); > + > intel_enable_primary_hw_plane(dev_priv, plane, pipe); > intel_enable_planes(crtc); > /* The fixup needs to happen before cursor is enabled */ > @@ -3910,7 +3912,6 @@ static void intel_crtc_disable_planes(struct drm_cr= tc *crtc) > int plane =3D intel_crtc->plane; > = > intel_crtc_wait_for_pending_flips(crtc); > - drm_crtc_vblank_off(crtc); > = > if (dev_priv->fbc.plane =3D=3D plane) > intel_disable_fbc(dev); > @@ -3921,6 +3922,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); > + > + drm_vblank_off(dev, pipe); > } > = > static void ironlake_crtc_enable(struct drm_crtc *crtc) > @@ -3999,8 +4002,6 @@ static void ironlake_crtc_enable(struct drm_crtc *c= rtc) > cpt_verify_modeset(dev, intel_crtc->pipe); > = > intel_crtc_enable_planes(crtc); > - > - drm_crtc_vblank_on(crtc); > } > = > /* IPS only exists on ULT machines and is tied to pipe A. */ > @@ -4114,8 +4115,6 @@ static void haswell_crtc_enable(struct drm_crtc *cr= tc) > * to change the workaround. */ > haswell_mode_set_planes_workaround(intel_crtc); > intel_crtc_enable_planes(crtc); > - > - drm_crtc_vblank_on(crtc); > } > = > static void ironlake_pfit_disable(struct intel_crtc *crtc) > @@ -4625,8 +4624,6 @@ static void valleyview_crtc_enable(struct drm_crtc = *crtc) > = > intel_crtc_enable_planes(crtc); > = > - drm_crtc_vblank_on(crtc); > - > /* Underruns don't raise interrupts, so check manually. */ > i9xx_check_fifo_underruns(dev); > } > @@ -4719,8 +4716,6 @@ static void i9xx_crtc_enable(struct drm_crtc *crtc) > if (IS_GEN2(dev)) > intel_set_cpu_fifo_underrun_reporting(dev, pipe, true); > = > - drm_crtc_vblank_on(crtc); > - > /* Underruns don't raise interrupts, so check manually. */ > i9xx_check_fifo_underruns(dev); > } > -- = > 1.8.5.5 > = > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- = Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch