[Intel-gfx] [PATCH v2 00/14] Forcewake binary search & code shrink
Chris Wilson
chris at chris-wilson.co.uk
Fri Sep 30 18:09:10 UTC 2016
On Fri, Sep 30, 2016 at 06:48:35PM +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>
> Motivation was to replace linear search comparison if-else ladders in MMIO
> accessors with a data driven approach.
>
> These lookups are needed to determine to correct forcewake domains to take
> when reading and writing to MMIO registers.
>
> Going data driven and keeping the tables sorted enabled binary search to be
> used. Followed by gradual extraction of commonality between existing functions,
> accompanying code reduction, and the end result is around 15KiB less code
> generated and also some saving in the source code lines.
>
> v2:
> * Updated cover letter given feedback.
> * Some rework for review comments.
> * New patch in the series (14) to inline the binary search.
>
> Tvrtko Ursulin (14):
> drm/i915: Remove redundant hsw_write* mmio functions
> drm/i915: Keep track of active forcewake domains in a bitmask
> drm/i915: Do not inline forcewake taking in mmio accessors
> drm/i915: Data driven register to forcewake domains lookup
> drm/i915: Sort forcewake mapping tables
> drm/i915: Use binary search when looking up forcewake domains
> drm/i915: Eliminate Gen9 special case
> drm/i915: Store the active forcewake range table pointer
> drm/i915: Remove identical macros
> drm/i915: Remove identical mmio read functions
> drm/i915: Remove identical write mmmio functions
> drm/i915: Sort the shadow register table
> drm/i915: Use binary search when looking for shadowed registers
> drm/i915: Inline binary search
Minor comments notwithstanding,
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list