public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>,
	Egbert Eich <eich@freedesktop.org>
Cc: Egbert Eich <eich@suse.de>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	stable <stable@vger.kernel.org>, bitlord <bitlord0xff@gmail.com>
Subject: Re: [PATCH] drm/i915: Don't WARN about unexpected hpd interrupts on gmch platforms
Date: Thu, 24 Apr 2014 11:11:36 +0300	[thread overview]
Message-ID: <87y4yvw3if.fsf@intel.com> (raw)
In-Reply-To: <CAKMK7uH9j95LoN2QkaRMMAm1eSJnNTkzUrfVz0tNhWZJZtocZQ@mail.gmail.com>

On Sat, 12 Apr 2014, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> On Sat, Apr 12, 2014 at 8:12 PM, Egbert Eich <eich@freedesktop.org> wrote:
>>  > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>>  > index 7753249b3a95..f98ba4e6e70b 100644
>>  > --- a/drivers/gpu/drm/i915/i915_irq.c
>>  > +++ b/drivers/gpu/drm/i915/i915_irq.c
>>  > @@ -1362,10 +1362,20 @@ static inline void intel_hpd_irq_handler(struct drm_device *dev,
>>  >      spin_lock(&dev_priv->irq_lock);
>>  >      for (i = 1; i < HPD_NUM_PINS; i++) {
>>  >
>>  > -            WARN_ONCE(hpd[i] & hotplug_trigger &&
>>  > -                      dev_priv->hpd_stats[i].hpd_mark == HPD_DISABLED,
>>  > -                      "Received HPD interrupt (0x%08x) on pin %d (0x%08x) although disabled\n",
>>  > -                      hotplug_trigger, i, hpd[i]);
>>  > +            if (hpd[i] & hotplug_trigger &&
>>  > +                dev_priv->hpd_stats[i].hpd_mark == HPD_DISABLED) {
>>  > +                    /*
>>  > +                     * On GMCH platforms the interrupt mask bits only
>>  > +                     * prevent irq generation, not the setting of the
>>  > +                     * hotplug bits itself. So only WARN about unexpected
>>  > +                     * interrupts on saner platforms.
>>  > +                     */
>>  > +                    WARN_ONCE(INTEL_INFO(dev)->gen >= 5 && !IS_VALLEYVIEW(dev),
>>  > +                              "Received HPD interrupt (0x%08x) on pin %d (0x%08x) although disabled\n",
>>  > +                              hotplug_trigger, i, hpd[i]);
>>
>> Personally I'd prefer the condition in the WARN..() macro to be the
>> unexpected condition you want to warn about. This makes it easier for
>> anybody not up to speed with the details of hotplug handling to understand
>> the code.
>> Of course the way you structure this avoids a lot of unnecessary tests.
>> But if this is a concern maybe the entire for loop should be restructured
>> with
>>
>> if (!(hpd[i] & hotplug_trigger))
>>              continue;
>>
>> right at the beginning.
>>
>>  > +
>>  > +                    continue;
>>  > +            }
>
>
> We want to skip the hpd handling in any case if the interrupt is
> blocked, otherwise every time we have some unrelated interrupt on gmch
> platforms while a hpd storm is ongoing we'll fire off the hotplug
> work. Which we obviously don't want since that defeats the point of
> the storm handling code.

IMO this skipping the rest of hpd handling is actually the bigger (and
an actual functional) change here, but the commit message only talks
about limiting the WARN. Please amend the commit message.

BR,
Jani.


>
> But we only want to WARN on platforms where we can reliably stop the
> status bits too, hence why I've nested the checks like this.
> -Daniel
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center

  reply	other threads:[~2014-04-24  8:12 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-12 17:31 [PATCH] drm/i915: Don't WARN about unexpected hpd interrupts on gmch platforms Daniel Vetter
2014-04-12 18:12 ` Egbert Eich
2014-04-12 18:38   ` [Intel-gfx] " Daniel Vetter
2014-04-24  8:11     ` Jani Nikula [this message]
2014-04-24 10:03       ` [PATCH] drm/i915: Don't WARN nor handle " Daniel Vetter
2014-04-24 10:43         ` Jani Nikula

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=87y4yvw3if.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=bitlord0xff@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=eich@freedesktop.org \
    --cc=eich@suse.de \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=stable@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox