All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/17] drm/i915: Redo old gmch irq handling
@ 2017-06-22 11:55 ville.syrjala
  2017-06-22 11:55 ` [PATCH 01/17] drm/i915: Clear pipestat consistently ville.syrjala
                   ` (19 more replies)
  0 siblings, 20 replies; 42+ messages in thread
From: ville.syrjala @ 2017-06-22 11:55 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Apparently we have some issues [1] on g4x which smells like irqs not getting
delivered after some point in time. The gen2-4 irq code is rather crusty
so I thought I'd bring it up to the same quality standards as the VLV/CHV
irq code. And to avoid any chances of missing the edges I changed all the
gmch platforms to use the "disable IER -> ack IIR -> enable IER" trick
we use on VLV and CHV. That should be robust with both level and edge
triggered interrupts, and single and double buffered IIR.

I think the only slightly scary bits are the ones touching HWSTAM
programming. While that's not strictly needed for this series, I really
wanted to remove a bunch of duplicat irq setup code, and for that
I wanted to make the HWSTAM programming consistent. We don't actually
use any of the interrupt information written into the status page,
but I have slight concern that the extra status page writes may have
had some unintended effect on seqno coherency. Fingers crossed...

There's potentially more unification we could do on the various gmch
interrupts functions, but as the series was already ballooning out of
control I decided not to pursue that angle very far.

I smoke tested this on 830, pnv, g4x, and ilk.

Series is available here:
git://github.com/vsyrjala/linux.git gmch_irq_redo

Ville Syrjälä (17):
  drm/i915: Clear pipestat consistently
  drm/i915: s/GEN3/GEN5/
  drm/i915: Use GEN3_IRQ_RESET/INIT on gen3/4
  drm/i915: Introduce GEN2_IRQ_RESET/INIT
  drm/i915: Setup EMR first on all gen2-4
  drm/i915: Eliminate PORT_HOTPLUG_EN setup from gen3/4 irq_postinstall
  drm/i915: Unify the appearance of gen3/4 irq_postistall hooks
  drm/i915: Remove NULL dev_priv checks from irq_uninstall
  drm/i915: Mask everything in ring HWSTAM on gen6+ in ringbuffer mode
  drm/i915: Gen3 HWSTAM is actually 32 bits
  drm/i915: Clean up the HWSTAM mess
  drm/i915: Remove duplicated irq_preinstall/uninstall hooks
  drm/i915: Consolidatte intel_check_page_flip() into
    intel_pipe_handle_vblank()
  drm/i915: Move the gen2-4 page flip handling code around
  drm/i915: Simplify the gen2-4 flip_mask handling
  drm/i915: Extract PIPESTAT irq handling into separate functions
  drm/i915: Rewrite GMCH irq handlers to follow the VLV/CHV pattern

 drivers/gpu/drm/i915/i915_irq.c         | 909 ++++++++++++++------------------
 drivers/gpu/drm/i915/intel_ringbuffer.c |   3 +
 2 files changed, 394 insertions(+), 518 deletions(-)

-- 
2.13.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2017-06-30 11:59 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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ä
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ä

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.