summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2017-10-25 16:32:07 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2017-11-06 11:17:03 +0000
commit69ea47a5a98b198c9d36fe157a3986748a9e2554 (patch)
tree2d6ab51832cd1cb82506b00d0db39a48120ffa3b /drivers/gpu/drm/i915
parentd36caeea4b0f76bf691c7d0cddc4a71ed93783c5 (diff)
downloadtalos-obmc-linux-69ea47a5a98b198c9d36fe157a3986748a9e2554.tar.gz
talos-obmc-linux-69ea47a5a98b198c9d36fe157a3986748a9e2554.zip
drm/i915/selftests: Hide dangerous tests
Some tests are designed to exercise the limits of the HW and may trigger unintended side-effects making the machine unusable. This should not be executed by default, but are still useful for early platform validation. References: https://bugs.freedesktop.org/show_bug.cgi?id=103453 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171025153207.9589-1-chris@chris-wilson.co.uk Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r--drivers/gpu/drm/i915/Kconfig.debug14
-rw-r--r--drivers/gpu/drm/i915/selftests/intel_uncore.c8
2 files changed, 18 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug
index aed7d207ea84..19c77c6feb24 100644
--- a/drivers/gpu/drm/i915/Kconfig.debug
+++ b/drivers/gpu/drm/i915/Kconfig.debug
@@ -90,6 +90,20 @@ config DRM_I915_SELFTEST
If in doubt, say "N".
+config DRM_I915_SELFTEST_BROKEN
+ bool "Enable broken and dangerous selftests"
+ depends on DRM_I915_SELFTEST
+ depends on BROKEN
+ default n
+ help
+ This option enables the execution of selftests that are "dangerous"
+ and may trigger unintended HW side-effects as they break strict
+ rules given in the HW specification. For science.
+
+ Recommended for masochistic driver developers only.
+
+ If in doubt, say "N".
+
config DRM_I915_LOW_LEVEL_TRACEPOINTS
bool "Enable low level request tracing events"
depends on DRM_I915
diff --git a/drivers/gpu/drm/i915/selftests/intel_uncore.c b/drivers/gpu/drm/i915/selftests/intel_uncore.c
index 3cac22eb47ce..f52a4ab9aa98 100644
--- a/drivers/gpu/drm/i915/selftests/intel_uncore.c
+++ b/drivers/gpu/drm/i915/selftests/intel_uncore.c
@@ -120,10 +120,10 @@ static int intel_uncore_check_forcewake_domains(struct drm_i915_private *dev_pri
!IS_CHERRYVIEW(dev_priv))
return 0;
- if (IS_VALLEYVIEW(dev_priv)) /* XXX system lockup! */
- return 0;
-
- if (IS_BROADWELL(dev_priv)) /* XXX random GPU hang afterwards! */
+ /*
+ * This test may lockup the machine or cause GPU hangs afterwards.
+ */
+ if (!IS_ENABLED(CONFIG_DRM_I915_SELFTEST_BROKEN))
return 0;
valid = kzalloc(BITS_TO_LONGS(FW_RANGE) * sizeof(*valid),
OpenPOWER on IntegriCloud