Skip to content

Unify ILK/SNB/IVB/HSW IRQ vfuncs

Paulo Zanoni intel-gfx 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 10 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10drm/i915: kill ivybridge_irq_preinstalldrivers/gpu/drm/i915/i915_irq.c+1 -201 reply
2/10drm/i915: extract ilk_display_irq_handlerdrivers/gpu/drm/i915/i915_irq.c+56 -483 replies
3/10drm/i915: extract ivb_display_irq_handlerdrivers/gpu/drm/i915/i915_irq.c+35 -281 reply
4/10drm/i915: don't read or write GEN6_PMIIR on Gen 5drivers/gpu/drm/i915/i915_irq.c+5 -33 replies
5/10drm/i915: reorganize ironlake_irq_handlerdrivers/gpu/drm/i915/i915_irq.c+22 -223 replies
6/10drm/i915: POSTING_READ(DEIER) on ivybridge_irq_handlerdrivers/gpu/drm/i915/i915_irq.c+1 -01 reply
7/10drm/i915: add ILK/SNB support to ivybridge_irq_handlerdrivers/gpu/drm/i915/i915_irq.c+31 -822 replies
8/10drm/i915: kill ivybridge_enable_vblankdrivers/gpu/drm/i915/i915_irq.c+7 -183 replies
9/10drm/i915: kill ivybridge_disable_vblankdrivers/gpu/drm/i915/i915_irq.c+7 -130 replies
10/10drm/i915: kill ivybridge_irq_postinstalldrivers/gpu/drm/i915/i915_irq.c+20 -494 replies

Reviews trailers per patch

9 of 10 patches have a Reviewed-by or Acked-by.

PatchMika Kuoppala
1/10R-b
2/10R-b
3/10R-b
4/10R-b
5/10R-b
6/10R-b
7/10R-b
8/10R-b
9/10
10/10R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/10] Unify ILK/SNB/IVB/HSW IRQ vfuncs

From: Paulo Zanoni <[email protected]>

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(-)
Signature · 1 line
1.8.1.2