drm/i915: Push irq_shift from gen8_cs_irq_handler() to caller
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 9 Mar 2018 01:08:08 +0000 (01:08 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 9 Mar 2018 09:24:36 +0000 (09:24 +0000)
commit51f6b0f99cab765477a636443ce63295b76b9bb4
tree30fd07da6ddc9977f96f2a294265dbd7c90b9a0d
parentd586b5f4cf0792f69644d1aea171f82d029fb5ed
drm/i915: Push irq_shift from gen8_cs_irq_handler() to caller

Originally we were inlining gen8_cs_irq_handler() and so expected the
compiler to constant-fold away the irq_shift (so we had hardcoded it as
opposed to use engine->irq_shift). However, we dropped the inline given
the proliferation of gen8_cs_irq_handler()s. If we pull the shifting
of the iir into the caller, we can shrink the code still further:

add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-34 (-34)
Function                                     old     new   delta
gen8_cs_irq_handler                          123     118      -5
gen8_gt_irq_handler                          261     248     -13
gen11_irq_handler                            722     706     -16

v2: Drop gen11_cs_irq_handler now that it is a simple
stub around gen8_cs_irq_handler (Daniele)

References: 5d3d69d5c119 ("drm/i915: Stop inlining the execlists IRQ handler")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180309010808.11921-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_irq.c