From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 06/15] drm/i915: get init power domain for gpu error state capture Date: Wed, 9 Apr 2014 16:17:27 +0200 Message-ID: <20140409141727.GY9262@phenom.ffwll.local> References: <1396976276-32714-1-git-send-email-imre.deak@intel.com> <1396976276-32714-7-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ee0-f52.google.com (mail-ee0-f52.google.com [74.125.83.52]) by gabe.freedesktop.org (Postfix) with ESMTP id 40CA36EB65 for ; Wed, 9 Apr 2014 07:17:31 -0700 (PDT) Received: by mail-ee0-f52.google.com with SMTP id e49so1916567eek.25 for ; Wed, 09 Apr 2014 07:17:29 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1396976276-32714-7-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Tue, Apr 08, 2014 at 07:57:47PM +0300, Imre Deak wrote: > Since the state capture happens from a deferred work, we may drop the > last power domain/RPM reference since the error got triggered (from an > interrupt handler for example). I hit this by writing to the i915_wedged > debugfs file. > > Signed-off-by: Imre Deak This looks fishy - as long as the gpu is busy we should keep a runtime pm ref around. Also same comment as before, grabbing a display power domain for this seems wrong. -Daniel > --- > drivers/gpu/drm/i915/i915_irq.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index b8f64d7..a586c16 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -2174,6 +2174,8 @@ static void i915_error_work_func(struct work_struct *work) > kobject_uevent_env(&dev->primary->kdev->kobj, KOBJ_CHANGE, > reset_event); > > + intel_display_power_get(dev_priv, POWER_DOMAIN_INIT); > + > /* > * All state reset _must_ be completed before we update the > * reset counter, for otherwise waiters might miss the reset > @@ -2184,6 +2186,8 @@ static void i915_error_work_func(struct work_struct *work) > > intel_display_handle_reset(dev); > > + intel_display_power_put(dev_priv, POWER_DOMAIN_INIT); > + > if (ret == 0) { > /* > * After all the gem state is reset, increment the reset > -- > 1.8.4 > > _______________________________________________ > 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