Commit fc9d83f7 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter

drm/i915: Drop the forcewake count inc/dec around register read on VLV

VLV is the only platform where we increment/decrement the forcewake
count around register access. Drop the inc/dec on VLV to make the
forcewake code a bit more unified.

The inc/dec are not necessary since we hold the uncore lock around
the whole operation.
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarDeepak S <deepak.s@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent ee7fa12c
...@@ -516,22 +516,22 @@ gen6_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \ ...@@ -516,22 +516,22 @@ gen6_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
static u##x \ static u##x \
vlv_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \ vlv_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
unsigned fwengine = 0; \ unsigned fwengine = 0; \
unsigned *fwcount; \ unsigned fwcount; \
REG_READ_HEADER(x); \ REG_READ_HEADER(x); \
if (FORCEWAKE_VLV_RENDER_RANGE_OFFSET(reg)) { \ if (FORCEWAKE_VLV_RENDER_RANGE_OFFSET(reg)) { \
fwengine = FORCEWAKE_RENDER; \ fwengine = FORCEWAKE_RENDER; \
fwcount = &dev_priv->uncore.fw_rendercount; \ fwcount = dev_priv->uncore.fw_rendercount; \
} \ } \
else if (FORCEWAKE_VLV_MEDIA_RANGE_OFFSET(reg)) { \ else if (FORCEWAKE_VLV_MEDIA_RANGE_OFFSET(reg)) { \
fwengine = FORCEWAKE_MEDIA; \ fwengine = FORCEWAKE_MEDIA; \
fwcount = &dev_priv->uncore.fw_mediacount; \ fwcount = dev_priv->uncore.fw_mediacount; \
} \ } \
if (fwengine != 0) { \ if (fwengine != 0) { \
if ((*fwcount)++ == 0) \ if (fwcount == 0) \
(dev_priv)->uncore.funcs.force_wake_get(dev_priv, \ (dev_priv)->uncore.funcs.force_wake_get(dev_priv, \
fwengine); \ fwengine); \
val = __raw_i915_read##x(dev_priv, reg); \ val = __raw_i915_read##x(dev_priv, reg); \
if (--(*fwcount) == 0) \ if (fwcount == 0) \
(dev_priv)->uncore.funcs.force_wake_put(dev_priv, \ (dev_priv)->uncore.funcs.force_wake_put(dev_priv, \
fwengine); \ fwengine); \
} else { \ } else { \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment