From: Egbert Eich <eich@freedesktop.org>
To: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Egbert Eich <eich@suse.de>,
Daniel Vetter <daniel.vetter@intel.com>,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v3 1/7] drm/i915: Add HPD IRQ storm detection (v4)
Date: Tue, 16 Apr 2013 13:34:58 +0200 [thread overview]
Message-ID: <20130416113458.GD17947@debian> (raw)
In-Reply-To: <87hajdpg42.fsf@intel.com>
Hi Jani,
I've rebased and regenerated all the patches now, as there
were some other bikesheds i had not adressed. I've also
included all Reviewed-By:
This should make it easier to integrate the patches.
Some comments below:
On Thu, Apr 11, 2013 at 12:32:29PM +0300, Jani Nikula wrote:
> > + struct {
> > + unsigned long hpd_last_jiffies;
> > + int hpd_cnt;
> > + enum {
> > + HPD_ENABLED = 0,
> > + HPD_DISABLED = 1,
> > + HPD_MARK_DISABLED = 2
> > + } hpd_mark;
> > + } hpd_stats[HPD_NUM_PINS];
>
> With all the hotplug stuff being added, I think it's getting time to
> group all the hotplug stuff under a struct.
I will postpone this until I address the issues that I have on my TODO.
>
> > int num_pch_pll;
> > int num_plane;
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > index 4c5bdd0..32b5527 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -582,6 +582,37 @@ static void gen6_queue_rps_work(struct drm_i915_private *dev_priv,
> > queue_work(dev_priv->wq, &dev_priv->rps.work);
> > }
> >
> > +#define HPD_STORM_DETECT_PERIOD 1000
> > +
> > +static inline void hotplug_irq_storm_detect(struct drm_device *dev,
> > + u32 hotplug_trigger,
> > + const u32 *hpd)
>
> I think you should just add the bool return status right here instead of
> postponing until the later patch that needs it.
I thought about this and left it as it is: Returning a bool status now
will raise other questions as the logic in this patch doesn't require it.
I'd rather have a bigger patch later which will however clearly explains
the reason for the change to the function.
>
> > +{
> > + drm_i915_private_t *dev_priv = dev->dev_private;
> > + unsigned long irqflags;
> > + int i;
> > +
> > + spin_lock_irqsave(&dev_priv->irq_lock, irqflags);
> > +
> > + for (i = 1; i < HPD_NUM_PINS; i++) {
> > + if ((hpd[i] & hotplug_trigger) &&
> > + dev_priv->hpd_stats[i].hpd_mark == HPD_ENABLED) {
>
> Bikeshed: You might get a nicer layout below by negating that if and
> adding continue.
Fixed.
>
> > + if (!time_in_range(jiffies, dev_priv->hpd_stats[i].hpd_last_jiffies,
> > + dev_priv->hpd_stats[i].hpd_last_jiffies
> > + + msecs_to_jiffies(HPD_STORM_DETECT_PERIOD))) {
> > + dev_priv->hpd_stats[i].hpd_last_jiffies = jiffies;
> > + dev_priv->hpd_stats[i].hpd_cnt = 0;
> > + } else if (dev_priv->hpd_stats[i].hpd_cnt > 5) {
> > + dev_priv->hpd_stats[i].hpd_mark = HPD_MARK_DISABLED;
> > + DRM_DEBUG_KMS("HPD interrupt storm detected on PIN %d\n", i);
>
> Extra space before "PIN".
Fixed.
>
> > + } else
> > + dev_priv->hpd_stats[i].hpd_cnt++;
>
> If one branch requires braces, then all do.
Fixed.
Cheers,
Egbert.
next prev parent reply other threads:[~2013-04-16 11:35 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-09 9:24 [PATCH v3 0/7] Add HPD interrupt storm detection Egbert Eich
2013-04-09 9:24 ` [PATCH v3 1/7] drm/i915: Add HPD IRQ storm detection (v4) Egbert Eich
2013-04-11 9:32 ` Jani Nikula
2013-04-11 10:46 ` Daniel Vetter
2013-04-16 9:50 ` Egbert Eich
2013-04-16 11:34 ` Egbert Eich [this message]
2013-04-16 11:36 ` [PATCH 1/7] drm/i915: Add HPD IRQ storm detection (v5) Egbert Eich
2013-04-16 11:36 ` [PATCH 2/7] drm/i915: (re)init HPD interrupt storm statistics Egbert Eich
2013-04-16 11:36 ` [PATCH 3/7] drm/i915: Mask out the HPD irq bits before setting them individually Egbert Eich
2013-04-16 11:36 ` [PATCH 4/7] drm/i915: Disable HPD interrupt on pin when irq storm is detected (v3) Egbert Eich
2013-04-16 11:36 ` [PATCH 5/7] drm/i915: Add Reenable Timer to turn Hotplug Detection back on (v4) Egbert Eich
2013-04-16 18:07 ` Daniel Vetter
2013-04-16 20:22 ` Egbert Eich
2013-04-16 20:26 ` Daniel Vetter
2013-04-16 11:36 ` [PATCH 6/7] drm/i915: Add bit field to record which pins have received HPD events (v3) Egbert Eich
2013-04-16 11:37 ` [PATCH 7/7] drm/i915: Only reprobe display on encoder which has received an HPD event (v2) Egbert Eich
2013-04-09 9:24 ` [PATCH v3 2/7] drm/i915: (re)init HPD interrupt storm statistics Egbert Eich
2013-04-11 9:54 ` Jani Nikula
2013-04-09 9:24 ` [PATCH v3 3/7] drm/i915: Mask out the HPD irq bits before setting them individually Egbert Eich
2013-04-11 9:56 ` Jani Nikula
2013-04-09 9:24 ` [PATCH v3 4/7] drm/i915: Disable HPD interrupt on pin when irq storm is detected (v2) Egbert Eich
2013-04-11 10:13 ` Jani Nikula
2013-04-11 13:25 ` [PATCH v3] drm/i915: Disable HPD interrupt on pin when irq storm is detected (v3) Egbert Eich
2013-04-11 14:20 ` Jani Nikula
2013-04-09 9:24 ` [PATCH v3 5/7] drm/i915: Add Reenable Timer to turn Hotplug Detection back on (v3) Egbert Eich
2013-04-11 10:44 ` Jani Nikula
2013-04-11 13:10 ` Egbert Eich
2013-04-11 14:48 ` Jani Nikula
2013-04-11 13:28 ` [PATCH v4] drm/i915: Add Reenable Timer to turn Hotplug Detection back on (v4) Egbert Eich
2013-04-11 14:30 ` Jani Nikula
2013-04-09 9:24 ` [PATCH v3 6/7] drm/i915: Add bit field to record which pins have received HPD events (v2) Egbert Eich
2013-04-11 13:21 ` Jani Nikula
2013-04-11 13:34 ` Egbert Eich
2013-04-11 13:57 ` [PATCH v3] drm/i915: Add bit field to record which pins have received HPD events (v3) Egbert Eich
2013-04-11 14:03 ` [PATCH v3 Update] " Egbert Eich
2013-04-11 15:00 ` Jani Nikula
2013-04-09 9:24 ` [PATCH v3 7/7] drm/i915: Only reprobe display on encoder which has received an HPD event Egbert Eich
2013-04-11 13:35 ` Jani Nikula
[not found] <Message-ID: <87wqs9nqbb.fsf@intel.com>
2013-04-11 14:00 ` [PATCH v2] drm/i915: Only reprobe display on encoder which has received an HPD event (v2) Egbert Eich
2013-04-11 15:06 ` Jani Nikula
2013-04-23 12:26 ` Daniel Vetter
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=20130416113458.GD17947@debian \
--to=eich@freedesktop.org \
--cc=daniel.vetter@intel.com \
--cc=eich@suse.de \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
/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.