As the workaround list has the value as initialization time
constant, we can do the simple checking on the go. For the
user that doesn't have igt at hand and still server the igt's
needs.

Signed-off-by: Mika Kuoppala <[email protected]>
---
 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 c35c6ce..962c41e 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");
        }
 
        gen6_gt_force_wake_put(dev_priv, FORCEWAKE_ALL);
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to