Commit 69ea47a5 authored by Chris Wilson's avatar Chris Wilson

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=103453Signed-off-by: default avatarChris 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.ukReviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
parent d36caeea
...@@ -90,6 +90,20 @@ config DRM_I915_SELFTEST ...@@ -90,6 +90,20 @@ config DRM_I915_SELFTEST
If in doubt, say "N". 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 config DRM_I915_LOW_LEVEL_TRACEPOINTS
bool "Enable low level request tracing events" bool "Enable low level request tracing events"
depends on DRM_I915 depends on DRM_I915
......
...@@ -120,10 +120,10 @@ static int intel_uncore_check_forcewake_domains(struct drm_i915_private *dev_pri ...@@ -120,10 +120,10 @@ static int intel_uncore_check_forcewake_domains(struct drm_i915_private *dev_pri
!IS_CHERRYVIEW(dev_priv)) !IS_CHERRYVIEW(dev_priv))
return 0; return 0;
if (IS_VALLEYVIEW(dev_priv)) /* XXX system lockup! */ /*
return 0; * This test may lockup the machine or cause GPU hangs afterwards.
*/
if (IS_BROADWELL(dev_priv)) /* XXX random GPU hang afterwards! */ if (!IS_ENABLED(CONFIG_DRM_I915_SELFTEST_BROKEN))
return 0; return 0;
valid = kzalloc(BITS_TO_LONGS(FW_RANGE) * sizeof(*valid), valid = kzalloc(BITS_TO_LONGS(FW_RANGE) * sizeof(*valid),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment