diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2013-12-13 06:26:20 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2013-12-13 11:48:28 -0500 |
commit | a3564d2b5236b73bceb271f482965d38cd9d8d8e (patch) | |
tree | b183e114c73f72f7c1797f47f98ac9806be387d8 /drivers/gpu/drm/i915 | |
parent | 97058870e616631a80721e08d5797d7da4b23b0a (diff) |
drm/i915/bdw: Don't use forcewake needlessly
Not all registers need forcewake even if they're not shadowed.
Add the missing check to gen8_writeX() to avoid needless forcewake
usage when writing eg. display registers.
v2: Use straight up <0x40000 check instead of NEEDS_FORCE_WAKE()
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r-- | drivers/gpu/drm/i915/intel_uncore.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c index 32527a74dc46..2c8143c37de3 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c | |||
@@ -634,7 +634,7 @@ static bool is_gen8_shadowed(struct drm_i915_private *dev_priv, u32 reg) | |||
634 | #define __gen8_write(x) \ | 634 | #define __gen8_write(x) \ |
635 | static void \ | 635 | static void \ |
636 | gen8_write##x(struct drm_i915_private *dev_priv, off_t reg, u##x val, bool trace) { \ | 636 | gen8_write##x(struct drm_i915_private *dev_priv, off_t reg, u##x val, bool trace) { \ |
637 | bool __needs_put = !is_gen8_shadowed(dev_priv, reg); \ | 637 | bool __needs_put = reg < 0x40000 && !is_gen8_shadowed(dev_priv, reg); \ |
638 | REG_WRITE_HEADER; \ | 638 | REG_WRITE_HEADER; \ |
639 | if (__needs_put) { \ | 639 | if (__needs_put) { \ |
640 | dev_priv->uncore.funcs.force_wake_get(dev_priv, \ | 640 | dev_priv->uncore.funcs.force_wake_get(dev_priv, \ |