drm/i915: print FBC compression status on debugfs
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 12 Jun 2015 17:36:18 +0000 (14:36 -0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 15 Jun 2015 16:36:24 +0000 (18:36 +0200)
We already had a few bugs in the past where FBC was compressing
nothing when it was enabled, which makes the feature quite useless.
Add this information to debugfs so the test suites can check for
regressions in this piece of the code.

Our igt/tests/kms_frontbuffer_tracking already has support for this
message.

v2: - Remove pointless VLV check (Ville).

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_reg.h

index 698c0a2db0674715425a712a7ffbac4f39caf7e0..6c788e434255bc7c89aa2f09518df87edc047d7f 100644 (file)
@@ -1638,6 +1638,11 @@ static int i915_fbc_status(struct seq_file *m, void *unused)
                seq_putc(m, '\n');
        }
 
+       if (INTEL_INFO(dev_priv)->gen >= 7)
+               seq_printf(m, "Compressing: %s\n",
+                          yesno(I915_READ(FBC_STATUS2) &
+                                FBC_COMPRESSION_MASK));
+
        intel_runtime_pm_put(dev_priv);
 
        return 0;
index a66967fd0197727a073182be8f24a942fc688fe9..2261609d1d755c47d1e9c8a845f42963f222a427 100644 (file)
@@ -1951,6 +1951,9 @@ enum skl_disp_power_wells {
 #define FBC_FENCE_OFF          0x03218 /* BSpec typo has 321Bh */
 #define FBC_TAG                        0x03300
 
+#define FBC_STATUS2            0x43214
+#define  FBC_COMPRESSION_MASK  0x7ff
+
 #define FBC_LL_SIZE            (1536)
 
 /* Framebuffer compression for GM45+ */