[Intel-gfx] [PATCH 44/71] drm/i915/chv: Fix for decrementing fw count in chv read/write.

ville.syrjala at linux.intel.com ville.syrjala at linux.intel.com
Wed Apr 9 12:28:42 CEST 2014


From: Deepak S <deepak.s at intel.com>

This was fumbled in chv specific forcewake count during mmio reg read/write.

Issue introduced in

commit 95cf8b69f647322048929baffa8c7865aa6df2ad
Author: Deepak S <deepak.s at intel.com>
Date:   Mon Dec 16 12:16:54 2013 +0530
Subject: drm/i915/chv: Added CHV specific register read and write

Signed-off-by: Deepak S <deepak.s at intel.com>
---
 drivers/gpu/drm/i915/intel_uncore.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index 8e3c686..ccad770 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -638,12 +638,12 @@ chv_read##x(struct drm_i915_private *dev_priv, off_t reg, bool trace) { \
 	} \
 	val = __raw_i915_read##x(dev_priv, reg); \
 	if (FORCEWAKE_RENDER & fwengine) { \
-		if (dev_priv->uncore.fw_rendercount++ == 0) \
+		if (--dev_priv->uncore.fw_rendercount == 0) \
 			(dev_priv)->uncore.funcs.force_wake_put(dev_priv, \
 								fwengine); \
 	} \
 	if (FORCEWAKE_MEDIA & fwengine) { \
-		if (dev_priv->uncore.fw_mediacount++ == 0) \
+		if (--dev_priv->uncore.fw_mediacount == 0) \
 			(dev_priv)->uncore.funcs.force_wake_put(dev_priv, \
 								fwengine); \
 	} \
@@ -803,12 +803,12 @@ chv_write##x(struct drm_i915_private *dev_priv, off_t reg, u##x val, bool trace)
 	} \
 	__raw_i915_write##x(dev_priv, reg, val); \
 	if (__needs_put && (FORCEWAKE_RENDER & fwengine)) { \
-			if (dev_priv->uncore.fw_rendercount++ == 0) \
+			if (--dev_priv->uncore.fw_rendercount == 0) \
 				(dev_priv)->uncore.funcs.force_wake_put(dev_priv, \
 									fwengine); \
 	} \
 	if (__needs_put && (FORCEWAKE_MEDIA & fwengine)) { \
-		if (dev_priv->uncore.fw_mediacount++ == 0) \
+		if (--dev_priv->uncore.fw_mediacount == 0) \
 			(dev_priv)->uncore.funcs.force_wake_put(dev_priv, \
 								fwengine); \
 	} \
-- 
1.8.3.2




More information about the Intel-gfx mailing list