From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 9/9] drm/i915: Leave interrupts enabled while disabling crtcs during suspend Date: Mon, 26 May 2014 17:49:33 +0200 Message-ID: <20140526154933.GA14357@phenom.ffwll.local> References: <1401104792-26560-1-git-send-email-ville.syrjala@linux.intel.com> <1401104792-26560-10-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: Content-Disposition: inline In-Reply-To: <1401104792-26560-10-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: dri-devel@lists.freedesktop.org On Mon, May 26, 2014 at 02:46:32PM +0300, ville.syrjala@linux.intel.com wro= te: > From: Ville Syrj=E4l=E4 > = > The new watermaek update mechanism requires interrupts to work > correctly. Because of this we need interrupts while disabling crtcs > during suspend. So move the irq disable to happen a bit later. > = > This also avoid clobbering the vblank.last count in case the > vblank interrupt was already disabled earlier by the timer. > In that case drm_vblank_off() will need .last to be correct so > that it can update the user visible vblank counter value > approapriately. > = > v2: Note vblank counter in commit message > = > Signed-off-by: Ville Syrj=E4l=E4 First round of this patch had a question from me whether we have sufficient amounts of WARN_ON(! or !!dev->irqs_enabled) sprinkled all over the place ... Do we have that? I'm specifically thinking of places where we cancel some work/time lauchned by interrupts and must have the guarantee in place that it can't rearm. Otoh we have places where we absolutely want interrupts to still work, e.g. in gpu_idle. Sprinkling some modeset amounts of WARNS in a follow-up would make me really happy. -Daniel > --- > drivers/gpu/drm/i915/i915_drv.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > = > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_= drv.c > index 4619c9e..21554a0 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -524,7 +524,6 @@ static int i915_drm_freeze(struct drm_device *dev) > return error; > } > = > - drm_irq_uninstall(dev); > dev_priv->enable_hotplug_processing =3D false; > = > intel_disable_gt_powersave(dev); > @@ -541,6 +540,8 @@ static int i915_drm_freeze(struct drm_device *dev) > } > mutex_unlock(&dev->mode_config.mutex); > = > + drm_irq_uninstall(dev); > + > intel_modeset_suspend_hw(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