[Intel-gfx] [PATCH 00/15] Unify interrupt register init/reset

Paulo Zanoni przanoni at gmail.com
Wed Jul 24 00:33:40 CEST 2013


From: Paulo Zanoni <paulo.r.zanoni at intel.com>

Hi

This patch series is based on emails I sent a few days ago, with subject
"proposals/questions about the IRQ registers". The biggest goal of the series is
to have an unified way to initialize/reset IRQ regsiters. After this series,
when you add new interrupts to our driver you won't need to think about doing
the correct reads, writes and posting_reads, all you'll need to worry about is
to call the macros everyone else calls. So now either all the registers are
initialized correctly or all the registers are initialized wrongly.

The first 10 patches do all the rework on i915+. The changes should be
incremental and any non-trivial changes are on separate patches, so bisecting
regressions should be very easy. It is worth mentioning that patches 2, 6, 9 and
10 touch VLV-specific code, and I don't have a way to test this code.

On my intial patches the i8xx code was changed along with the i915+ code, but
Ben suggested I shouldn't be touching i8xx code, so patches 11-15 do the i8xx
work.  I don't know if we really want these patches, but they're here anyway, so
feel free to give them a NACK, I won't complain. In case we decide to merge the
patches, git bisect should easily spot regressions.

Patches tested on Haswell (constant use for 2 weeks), SandyBridge (a few hours
of usage) and Atom (only booted and then suspend/resumed once).

Thanks,
Paulo

Paulo Zanoni (15):
  drm/i915: add INTEL_IRQ_REG_RESET
  drm/i915: change how VLV_IIR is reset
  drm/i915: port i965_irq_uninstall go INTEL_IRQ_REG_RESET
  drm/i915: really clear the IIR registers
  drm/i915: add INTEL_IRQ_REG_INIT
  drm/i915: use INTEL_IRQ_REG_INIT on VLV too
  drm/i915: reset the IIR registers at preinstall
  drm/i915: WARN if IIR is not zero at irq_postinstall
  drm/i915: remove additional zerogin of VLV_IIR at postinstall
  drm/i915: remove extra clearing of GTIIR from VLV irq preinstall
  drm/i915: add INTEL_IRQ_REG_RESET16
  drm/i915: really clear the IIR registers on i8xx
  drm/i915: add INTEL_IRQ_REG_INIT16
  drm/i915: reset the i8xx IIR registers at preinstall
  drm/i915: WARN if IIR is not zero at i8xx irq_postinstall

 drivers/gpu/drm/i915/i915_irq.c | 144 +++++++++++++++++-----------------------
 1 file changed, 62 insertions(+), 82 deletions(-)

-- 
1.8.1.2




More information about the Intel-gfx mailing list