[PATCH 00/12] drm/i915: VLV/CHV irq handler fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>

The main motivation here is to fix CHV irq handling which got a bit broken
by the removal of the loop. The loop is still gone after I'm done, and
I also killed the loop from the VLV code. That's roughly the first half
of the series.

The second half of the series goes a bit further and splits up the VLV/CHV
irq handlers into clear ack and handle phases. One idea I had long ago that
we could try to move the handling part into a thread, leaving only the ack
part in hard irq context. But this series doesn't go quite that far. Also
I only did the split for VLV/CHV, but if we go ahead with it, we should do
it for all platforms. It's mostly mechanical work anyway.

The whole series is available here:
git://github.com/vsyrjala/linux.git vlv_chv_irq_fixes

Ville Syrjälä (12):
  drm/i915: Use GEN8_MASTER_IRQ_CONTROL consistently
  drm/i915: Set up VLV_MASTER_IER consistently
  drm/i915: Clear VLV_IIR after PIPESTAT
  drm/i915: Clear VLV_MASTER_IER around irq processing
  drm/i915: Clear VLV_IER around irq processing
  drm/i915: Eliminate loop from VLV irq handler
  drm/i915: Move variables to narrower scope in VLV/CHV irq handlers
  drm/i915: Split PORT_HOTPLUG_STAT ack out from i9xx_hpd_irq_handler()
  drm/i915: Split VLV/CVH PIPESTAT handling into ack+handler
  drm/i915: Move gt/pm irq handling out from irq disabled section on VLV
  drm/i915: Eliminate passing dev+dev_priv to {snb,ilk}_gt_irq_handler()
  drm/i915: Split gen8_gt_irq_handler into ack+handle

 drivers/gpu/drm/i915/i915_irq.c | 280 ++++++++++++++++++++++++++--------------
 1 file changed, 183 insertions(+), 97 deletions(-)

-- 
2.7.4

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




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux