drm/i915: Don't pretend ips is always enabled on BDW.
authorRodrigo Vivi <rodrigo.vivi@intel.com>
Mon, 30 Jun 2014 11:45:01 +0000 (04:45 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 7 Jul 2014 16:13:22 +0000 (18:13 +0200)
As pointed out before we don't have a reliable way to read back ips
status on BDW without the risk to disable it when reading.
However now we are pretending that IPS on BDW is always on and getting
people confused about it.

So this patch allows people to know if ips was ever attempted to be enabled.
Even if the current status is impossible to be ascertain.

v2: (spotted by Paulo):
     * A version that at least compiles
     * with more clear messages
     * let Cheryview on the safe side until we aren't sure that checking ips
       state on ips won't disable it.

Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c

index 8da998561b35caed629693307b13b6fca75b39a1..8cc99369c794ab741f2b9b098f16a3eb38b1c48b 100644 (file)
@@ -1523,10 +1523,17 @@ static int i915_ips_status(struct seq_file *m, void *unused)
 
        intel_runtime_pm_get(dev_priv);
 
-       if (IS_BROADWELL(dev) || I915_READ(IPS_CTL) & IPS_ENABLE)
-               seq_puts(m, "enabled\n");
-       else
-               seq_puts(m, "disabled\n");
+       seq_printf(m, "Enabled by kernel parameter: %s\n",
+                  yesno(i915.enable_ips));
+
+       if (INTEL_INFO(dev)->gen >= 8) {
+               seq_puts(m, "Currently: unknown\n");
+       } else {
+               if (I915_READ(IPS_CTL) & IPS_ENABLE)
+                       seq_puts(m, "Currently: enabled\n");
+               else
+                       seq_puts(m, "Currently: disabled\n");
+       }
 
        intel_runtime_pm_put(dev_priv);