Browse Source

drm/i915: POSTING_READs are simply flushes and so irrelevant to tracing

As we use POSTING_READ to flush the write to the register before
proceeding, we do not care what the return value is and similar we do
not care for the read to be recorded whilst tracing register
read/writes.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson 14 years ago
parent
commit
374c479bef
2 changed files with 7 additions and 5 deletions
  1. 5 3
      drivers/gpu/drm/i915/i915_drv.h
  2. 2 2
      drivers/gpu/drm/i915/intel_i2c.c

+ 5 - 3
drivers/gpu/drm/i915/i915_drv.h

@@ -1226,12 +1226,14 @@ i915_write(struct drm_i915_private *dev_priv, u32 reg, u64 val, int len)
 #define I915_WRITE8(reg, val)	i915_write(dev_priv, (reg), (val), 1)
 #define I915_WRITE64(reg, val)	i915_write(dev_priv, (reg), (val), 8)
 #define I915_READ64(reg)	i915_read(dev_priv, (reg), 8)
-#define POSTING_READ(reg)	(void)I915_READ(reg)
-#define POSTING_READ16(reg)	(void)I915_READ16(reg)
 
 #define I915_READ_NOTRACE(reg)		readl(dev_priv->regs + (reg))
 #define I915_WRITE_NOTRACE(reg, val)	writel(val, dev_priv->regs + (reg))
-#define POSTING_READ_NOTRACE(reg)	(void)I915_READ_NOTRACE(reg)
+#define I915_READ16_NOTRACE(reg)		readw(dev_priv->regs + (reg))
+#define I915_WRITE16_NOTRACE(reg, val)	writew(val, dev_priv->regs + (reg))
+
+#define POSTING_READ(reg)	(void)I915_READ_NOTRACE(reg)
+#define POSTING_READ16(reg)	(void)I915_READ16_NOTRACE(reg)
 
 
 #define BEGIN_LP_RING(n) \

+ 2 - 2
drivers/gpu/drm/i915/intel_i2c.c

@@ -126,7 +126,7 @@ static void set_clock(void *data, int state_high)
 			GPIO_CLOCK_VAL_MASK;
 
 	I915_WRITE_NOTRACE(gpio->reg, reserved | clock_bits);
-	POSTING_READ_NOTRACE(gpio->reg);
+	POSTING_READ(gpio->reg);
 }
 
 static void set_data(void *data, int state_high)
@@ -143,7 +143,7 @@ static void set_data(void *data, int state_high)
 			GPIO_DATA_VAL_MASK;
 
 	I915_WRITE_NOTRACE(gpio->reg, reserved | data_bits);
-	POSTING_READ_NOTRACE(gpio->reg);
+	POSTING_READ(gpio->reg);
 }
 
 static struct i2c_adapter *