From: Paulo Zanoni <paulo.r.zanoni at intel.com> Hi These patches apply on top of -nightly + 4 patches from Daniel Vetter (the 4 unmerged patches from his irq series v2). I imagine we're probably going to merge them soon in their current form, so if we have conflicts, they will be small. The basic idea here is that the IRQ handling for ILK, SNB, IVB and HSW is actually pretty similar. If you look at the current code it looks very different, but after moving some gen-specific code to separate functions everything gets really similar. So on this series I just merged all the vfuncs. I imagine not everybody will like all the patches, so we could discard one or two or all if there are objections. The biggest advantage is that we now have less vfuncs to change whenever we want to do work on the interrupt code, and we also have a smaller amount of total source code lines: 151 insertions and 249 deletions. Also, IMHO, the resulting code is easier to maintain. Another argument in favor of merging all the vfuncs is, for example, a few of Daniel's fixes from his last IRQ rework and the one or two bugs I fix in this series. We had quite a few registers that were exactly the same on SNB/IVB/HSW, but they were handled in completely different ways between SNB (which uses the ILK IRQ handlers) and IVB/HSW (which use the IVB IRQ handlers). Patches 2-7 were already sent to this mailing list, but they were not on top of Daniel's IRQ rework, so the versions contained here are the new ones, and you can discard that old series. Flames, bikesheds? Cheers, Paulo Paulo Zanoni (10): drm/i915: kill ivybridge_irq_preinstall drm/i915: extract ilk_display_irq_handler drm/i915: extract ivb_display_irq_handler drm/i915: don't read or write GEN6_PMIIR on Gen 5 drm/i915: reorganize ironlake_irq_handler drm/i915: POSTING_READ(DEIER) on ivybridge_irq_handler drm/i915: add ILK/SNB support to ivybridge_irq_handler drm/i915: kill ivybridge_enable_vblank drm/i915: kill ivybridge_disable_vblank drm/i915: kill ivybridge_irq_postinstall drivers/gpu/drm/i915/i915_irq.c | 400 +++++++++++++++------------------------- 1 file changed, 151 insertions(+), 249 deletions(-) -- 1.8.1.2