ソースを参照

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: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Deepak S <deepak.s@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Ville Syrjälä 11 年 前
コミット
fc9d83f747
1 ファイル変更5 行追加5 行削除
  1. 5 5
      drivers/gpu/drm/i915/intel_uncore.c

+ 5 - 5
drivers/gpu/drm/i915/intel_uncore.c

@@ -516,22 +516,22 @@ gen6_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
 static u##x \
 vlv_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
 	unsigned fwengine = 0; \
-	unsigned *fwcount; \
+	unsigned fwcount; \
 	REG_READ_HEADER(x); \
 	if (FORCEWAKE_VLV_RENDER_RANGE_OFFSET(reg)) {   \
 		fwengine = FORCEWAKE_RENDER;            \
-		fwcount = &dev_priv->uncore.fw_rendercount;    \
+		fwcount = dev_priv->uncore.fw_rendercount;    \
 	}                                               \
 	else if (FORCEWAKE_VLV_MEDIA_RANGE_OFFSET(reg)) {       \
 		fwengine = FORCEWAKE_MEDIA;             \
-		fwcount = &dev_priv->uncore.fw_mediacount;     \
+		fwcount = dev_priv->uncore.fw_mediacount;     \
 	}  \
 	if (fwengine != 0) {		\
-		if ((*fwcount)++ == 0) \
+		if (fwcount == 0) \
 			(dev_priv)->uncore.funcs.force_wake_get(dev_priv, \
 								fwengine); \
 		val = __raw_i915_read##x(dev_priv, reg); \
-		if (--(*fwcount) == 0) \
+		if (fwcount == 0) \
 			(dev_priv)->uncore.funcs.force_wake_put(dev_priv, \
 							fwengine); \
 	} else { \