OSDN Git Service

drm/i915: Prune gen8_gt_irq_handler
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 19 Feb 2018 10:09:26 +0000 (10:09 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 19 Feb 2018 15:38:59 +0000 (15:38 +0000)
commit2e4a5b25886cde308d3fc896fd584c844bde92a2
treea38d1e5c58dc477e68ce49bcad1ba6d6d0063ef6
parentf0fd96f546fb9e726ff66b1e53b115ada61ebc35
drm/i915: Prune gen8_gt_irq_handler

The compiler is not automatically caching the i915->regs address inside
a register and emitting a load for every mmio access. For simple
functions like gen8_gt_irq_handler that are already using the raw
accessors, we can open-code them for substantial savings:

add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-83 (-83)
Function                                     old     new   delta
gen8_gt_irq_handler                          290     266     -24
gen8_gt_irq_ack                              181     122     -59
Total: Before=954637, After=954554, chg -0.01%

v2: Add raw_reg_read/raw_reg_write.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180219100926.16554-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_uncore.h