public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 00/13] Forcewake binary search & code shrink
@ 2016-09-29 15:35 Tvrtko Ursulin
  2016-09-29 15:35 ` [PATCH 01/13] drm/i915: Remove redundant hsw_write* mmio functions Tvrtko Ursulin
                   ` (16 more replies)
  0 siblings, 17 replies; 34+ messages in thread
From: Tvrtko Ursulin @ 2016-09-29 15:35 UTC (permalink / raw)
  To: Intel-gfx

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

A bunch of cleaned up patches from one of my old branches. Just an idea I had
been toying about and probably more a RFC at this point. But it amazingly
passed trybot on (almost) the first try so I got tempted to post it.

Basically main motivation was to replace linear search comparison ladders in
all mmio accessors with something smarter - a binary search in this case.

Main enabler is moving the comparison ladders from the code into the data
tables. Then gradually, patch by patch, I was able to reduce the code and
end up with a total saving of approximately 14KiB for the series.

That is kind of nice, but whether the churn is worth it I leave open for
dicussion. It is slightly less code so perhaps more maintainable. Although
tastes will probably differ.

And I haven't been able to do any benchmarking to see if any performance
differece is at all detectable.

Tvrtko Ursulin (13):
  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

 drivers/gpu/drm/i915/i915_drv.h     |  13 +
 drivers/gpu/drm/i915/intel_uncore.c | 525 ++++++++++++++++--------------------
 2 files changed, 247 insertions(+), 291 deletions(-)

-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2016-09-30 11:22 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-29 15:35 [PATCH 00/13] Forcewake binary search & code shrink Tvrtko Ursulin
2016-09-29 15:35 ` [PATCH 01/13] drm/i915: Remove redundant hsw_write* mmio functions Tvrtko Ursulin
2016-09-29 15:35 ` [PATCH 02/13] drm/i915: Keep track of active forcewake domains in a bitmask Tvrtko Ursulin
2016-09-29 15:35 ` [PATCH 03/13] drm/i915: Do not inline forcewake taking in mmio accessors Tvrtko Ursulin
2016-09-29 15:35 ` [PATCH 04/13] drm/i915: Data driven register to forcewake domains lookup Tvrtko Ursulin
2016-09-29 15:35 ` [PATCH 05/13] drm/i915: Sort forcewake mapping tables Tvrtko Ursulin
2016-09-29 16:13   ` Chris Wilson
2016-09-29 15:35 ` [PATCH 06/13] drm/i915: Use binary search when looking up forcewake domains Tvrtko Ursulin
2016-09-29 16:16   ` Chris Wilson
2016-09-29 20:41     ` [PATCH] lib: Typesafe generator macro for bsearch Chris Wilson
2016-09-30 11:08     ` [PATCH 06/13] drm/i915: Use binary search when looking up forcewake domains Tvrtko Ursulin
2016-09-30 11:22       ` Chris Wilson
2016-09-29 15:35 ` [PATCH 07/13] drm/i915: Eliminate Gen9 special case Tvrtko Ursulin
2016-09-29 16:18   ` Chris Wilson
2016-09-29 15:35 ` [PATCH 08/13] drm/i915: Store the active forcewake range table pointer Tvrtko Ursulin
2016-09-29 16:21   ` Chris Wilson
2016-09-29 15:35 ` [PATCH 09/13] drm/i915: Remove identical macros Tvrtko Ursulin
2016-09-30  7:29   ` Joonas Lahtinen
2016-09-29 15:35 ` [PATCH 10/13] drm/i915: Remove identical mmio read functions Tvrtko Ursulin
2016-09-30  7:32   ` Joonas Lahtinen
2016-09-29 15:35 ` [PATCH 11/13] drm/i915: Remove identical write mmmio functions Tvrtko Ursulin
2016-09-30  8:11   ` Joonas Lahtinen
2016-09-29 15:35 ` [PATCH 12/13] drm/i915: Sort the shadow register table Tvrtko Ursulin
2016-09-29 16:23   ` Chris Wilson
2016-09-30  8:09   ` Joonas Lahtinen
2016-09-30  9:06     ` Tvrtko Ursulin
2016-09-30 11:13       ` Joonas Lahtinen
2016-09-29 15:35 ` [PATCH 13/13] drm/i915: Use binary search when looking for shadowed registers Tvrtko Ursulin
2016-09-30  7:54   ` Joonas Lahtinen
2016-09-30 10:01     ` Tvrtko Ursulin
2016-09-29 15:58 ` [PATCH 00/13] Forcewake binary search & code shrink Jani Nikula
2016-09-29 16:20 ` ✗ Fi.CI.BAT: warning for " Patchwork
2016-09-29 16:24 ` [PATCH 00/13] " Chris Wilson
2016-09-29 21:01 ` ✗ Fi.CI.BAT: failure for Forcewake binary search & code shrink (rev2) Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox