drm/i915: Catch non-existent registers in find_fw_domain
authorJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 7 Dec 2016 14:22:39 +0000 (16:22 +0200)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Thu, 8 Dec 2016 07:37:23 +0000 (09:37 +0200)
Add WARN_ON to find_fw_domain to registers related to uninitialized
hardware.

v2:
- Print the uninitialized domains and register (Chris)

Cc: Imre Deak <imre.deak@intel.com>
Cc: Wang Elaine <elaine.wang@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/1481120559-17413-1-git-send-email-joonas.lahtinen@linux.intel.com
drivers/gpu/drm/i915/intel_uncore.c

index 2007b13..8fc5f29 100644 (file)
@@ -625,7 +625,14 @@ find_fw_domain(struct drm_i915_private *dev_priv, u32 offset)
                        dev_priv->uncore.fw_domains_table_entries,
                        fw_range_cmp);
 
-       return entry ? entry->domains : 0;
+       if (!entry)
+               return 0;
+
+       WARN(entry->domains & ~dev_priv->uncore.fw_domains,
+            "Uninitialized forcewake domain(s) 0x%x accessed at 0x%x\n",
+            entry->domains & ~dev_priv->uncore.fw_domains, offset);
+
+       return entry->domains;
 }
 
 static void