All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Imre Deak <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Skip PIPESTAT reads from irq handler on VLV/CHV when power well is down
Date: Mon, 22 Feb 2016 19:46:18 +0200	[thread overview]
Message-ID: <20160222174618.GC23290@intel.com> (raw)
In-Reply-To: <1455896269.2380.17.camel@intel.com>

On Fri, Feb 19, 2016 at 05:37:49PM +0200, Imre Deak wrote:
> On to, 2016-02-18 at 21:54 +0200, ville.syrjala@linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > PIPESTAT registers live in the display power well on VLV/CHV, so we
> > shouldn't access them when things are powered down. Let's check
> > whether the display interrupts are on or off before accessing the
> > PIPESTAT registers.
> > 
> > Another option would be to read the PIPESTAT registers only when
> > the IIR register indicates that there's a pending pipe event. But
> > that would mean we might miss even more underrun reports than we
> > do now, because the underrun status bit lives in PIPESTAT but doesn't
> > actually generate an interrupt.
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93738
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Reviewed-by: Imre Deak <imre.deak@intel.com>

Pushed to dinq. Thanks for the review.

> 
> Btw, I think gen8_de_irq_handler would need to be fixed too for example
> by using display_irqs_enabled there as well.
> 
> > ---
> >  drivers/gpu/drm/i915/i915_irq.c | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c
> > b/drivers/gpu/drm/i915/i915_irq.c
> > index 25a89373df63..d56c261ad867 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -1651,6 +1651,12 @@ static void
> > valleyview_pipestat_irq_handler(struct drm_device *dev, u32 iir)
> >  	int pipe;
> >  
> >  	spin_lock(&dev_priv->irq_lock);
> > +
> > +	if (!dev_priv->display_irqs_enabled) {
> > +		spin_unlock(&dev_priv->irq_lock);
> > +		return;
> > +	}
> > +
> >  	for_each_pipe(dev_priv, pipe) {
> >  		i915_reg_t reg;
> >  		u32 mask, iir_bit = 0;

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

      parent reply	other threads:[~2016-02-22 17:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-18 19:54 [PATCH] drm/i915: Skip PIPESTAT reads from irq handler on VLV/CHV when power well is down ville.syrjala
2016-02-19  8:20 ` ✗ Fi.CI.BAT: failure for " Patchwork
2016-02-19 19:28   ` Ville Syrjälä
2016-02-22 15:42   ` Ville Syrjälä
2016-02-19 15:37 ` [PATCH] " Imre Deak
2016-02-19 15:50   ` Ville Syrjälä
2016-02-22 17:46   ` Ville Syrjälä [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160222174618.GC23290@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.