diff mbox

[4/4] drm/i915: Check workaround status on dfs read time

Message ID 1412691687-12466-4-git-send-email-mika.kuoppala@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mika Kuoppala Oct. 7, 2014, 2:21 p.m. UTC
As the workaround list has the value as initialization time
constant, we can do the simple checking on the go without
negleting igt.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

Comments

arun.siluvery@linux.intel.com Oct. 13, 2014, 3:22 p.m. UTC | #1
On 07/10/2014 15:21, Mika Kuoppala wrote:
> As the workaround list has the value as initialization time
> constant, we can do the simple checking on the go without
> negleting igt.
>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> ---
>   drivers/gpu/drm/i915/i915_debugfs.c | 14 +++++++-------
>   1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 87482f8..dbd5dc5 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2659,16 +2659,16 @@ static int i915_wa_registers(struct seq_file *m, void *unused)
>
>   	seq_printf(m, "Workarounds applied: %d\n", dev_priv->workarounds.count);
>   	for (i = 0; i < dev_priv->workarounds.count; ++i) {
> -		u32 addr, mask;
> +		u32 addr, mask, value, read;
> +		bool ok;
>
>   		addr = dev_priv->workarounds.reg[i].addr;
>   		mask = dev_priv->workarounds.reg[i].mask;
> -		dev_priv->workarounds.reg[i].value = I915_READ(addr) | mask;
> -		if (dev_priv->workarounds.reg[i].addr)
> -			seq_printf(m, "0x%X: 0x%08X, mask: 0x%08X\n",
> -				   dev_priv->workarounds.reg[i].addr,
> -				   dev_priv->workarounds.reg[i].value,
> -				   dev_priv->workarounds.reg[i].mask);
> +		value = dev_priv->workarounds.reg[i].value;
> +		read = I915_READ(addr);
> +		ok = (value & mask) == (read & mask);
> +		seq_printf(m, "0x%X: 0x%08X, mask: 0x%08X, read: 0x%08x, status: %s\n",
> +			   addr, value, mask, read, ok ? "OK" : "FAIL");
>   	}
>
>   	intel_runtime_pm_put(dev_priv);
>

Reviewed-by: Arun Siluvery <arun.siluvery@linux.intel.com>

regards
Arun
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 87482f8..dbd5dc5 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2659,16 +2659,16 @@  static int i915_wa_registers(struct seq_file *m, void *unused)
 
 	seq_printf(m, "Workarounds applied: %d\n", dev_priv->workarounds.count);
 	for (i = 0; i < dev_priv->workarounds.count; ++i) {
-		u32 addr, mask;
+		u32 addr, mask, value, read;
+		bool ok;
 
 		addr = dev_priv->workarounds.reg[i].addr;
 		mask = dev_priv->workarounds.reg[i].mask;
-		dev_priv->workarounds.reg[i].value = I915_READ(addr) | mask;
-		if (dev_priv->workarounds.reg[i].addr)
-			seq_printf(m, "0x%X: 0x%08X, mask: 0x%08X\n",
-				   dev_priv->workarounds.reg[i].addr,
-				   dev_priv->workarounds.reg[i].value,
-				   dev_priv->workarounds.reg[i].mask);
+		value = dev_priv->workarounds.reg[i].value;
+		read = I915_READ(addr);
+		ok = (value & mask) == (read & mask);
+		seq_printf(m, "0x%X: 0x%08X, mask: 0x%08X, read: 0x%08x, status: %s\n",
+			   addr, value, mask, read, ok ? "OK" : "FAIL");
 	}
 
 	intel_runtime_pm_put(dev_priv);