intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 17/17] drm/i915: Rewrite GMCH irq handlers to follow the VLV/CHV pattern
Date: Thu, 22 Jun 2017 16:10:14 +0300	[thread overview]
Message-ID: <20170622131014.GD12629@intel.com> (raw)
In-Reply-To: <149813644975.15021.11170910020333734163@mail.alporthouse.com>

On Thu, Jun 22, 2017 at 02:00:49PM +0100, Chris Wilson wrote:
> Quoting ville.syrjala@linux.intel.com (2017-06-22 12:55:55)
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > 
> > Eliminate the loops from the gen2-3 irq handlers by following the same
> > trick used for VLV/CHV, ie. clear IER around acking the interrupts.
> > That way if some IIR bits still remain set we'll get another edge (and
> > thus another CPU interrupt) when the IER gets restored.
> > 
> > This shouldn't really be necessary when level triggered PCI interrupts
> > are used (gen2, some gen3), but let's follow the same pattern in
> > all the handlers so that we don't have to worry about MSI being enabled
> > or not. And consistency should help avoid confusing the reader as well.
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Having a common approach that just works is definitely worth it.
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> 
> Interrupts aren't so much of a concern for me for pre-snb, but every
> mmio read prior to waking up a waiter should be justified :) Before
> ilk, we have to run the entire interrupt handler before userspace can
> proceed. Just something to bear in mind, and prune as much as possible.

I guess we could nuke the IER read at least by storing the value
somewhere. I believe you actually suggested that when I redid the
VLV/CHV code. And I guess ripping out all POSTING_READs could be
a sane thing to do as well.

As for the underrun checks, I guess we could limit those to just happen
when some other pipe interrupt happens. While we're flipping or
reconfiguring planes we should have vblanks enabled anyway, so
we should still be able to catch the most glaring watermark failures
at least. But catching more subtle underruns caused by something like
memory self refresh or perhaps starvation due to heavy GPU memory
access etc. might go unnoticed then.

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

  reply	other threads:[~2017-06-22 13:10 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-22 11:55 [PATCH 00/17] drm/i915: Redo old gmch irq handling ville.syrjala
2017-06-22 11:55 ` [PATCH 01/17] drm/i915: Clear pipestat consistently ville.syrjala
2017-06-22 12:39   ` Chris Wilson
2017-06-30 11:34     ` Ville Syrjälä
2017-06-30 11:41       ` Chris Wilson
2017-06-30 11:59         ` Ville Syrjälä
2017-06-22 11:55 ` [PATCH 02/17] drm/i915: s/GEN3/GEN5/ ville.syrjala
2017-06-22 12:40   ` Chris Wilson
2017-06-26  7:06     ` Maarten Lankhorst
2017-06-22 11:55 ` [PATCH 03/17] drm/i915: Use GEN3_IRQ_RESET/INIT on gen3/4 ville.syrjala
2017-06-22 11:55 ` [PATCH 04/17] drm/i915: Introduce GEN2_IRQ_RESET/INIT ville.syrjala
2017-06-22 12:41   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 05/17] drm/i915: Setup EMR first on all gen2-4 ville.syrjala
2017-06-22 12:42   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 06/17] drm/i915: Eliminate PORT_HOTPLUG_EN setup from gen3/4 irq_postinstall ville.syrjala
2017-06-22 12:42   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 07/17] drm/i915: Unify the appearance of gen3/4 irq_postistall hooks ville.syrjala
2017-06-22 12:43   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 08/17] drm/i915: Remove NULL dev_priv checks from irq_uninstall ville.syrjala
2017-06-22 12:43   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 09/17] drm/i915: Mask everything in ring HWSTAM on gen6+ in ringbuffer mode ville.syrjala
2017-06-22 11:55 ` [PATCH 10/17] drm/i915: Gen3 HWSTAM is actually 32 bits ville.syrjala
2017-06-22 12:45   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 11/17] drm/i915: Clean up the HWSTAM mess ville.syrjala
2017-06-22 12:14   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 12/17] drm/i915: Remove duplicated irq_preinstall/uninstall hooks ville.syrjala
2017-06-22 12:46   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 13/17] drm/i915: Consolidatte intel_check_page_flip() into intel_pipe_handle_vblank() ville.syrjala
2017-06-22 12:48   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 14/17] drm/i915: Move the gen2-4 page flip handling code around ville.syrjala
2017-06-22 12:49   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 15/17] drm/i915: Simplify the gen2-4 flip_mask handling ville.syrjala
2017-06-22 12:51   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 16/17] drm/i915: Extract PIPESTAT irq handling into separate functions ville.syrjala
2017-06-22 12:55   ` Chris Wilson
2017-06-22 11:55 ` [PATCH 17/17] drm/i915: Rewrite GMCH irq handlers to follow the VLV/CHV pattern ville.syrjala
2017-06-22 13:00   ` Chris Wilson
2017-06-22 13:10     ` Ville Syrjälä [this message]
2017-06-22 12:00 ` [PATCH 00/17] drm/i915: Redo old gmch irq handling Ville Syrjälä
2017-06-22 12:15 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-06-22 13:02 ` [PATCH 00/17] " Chris Wilson
2017-06-22 13:12   ` Ville Syrjälä

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=20170622131014.GD12629@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=chris@chris-wilson.co.uk \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).