make the printf on skipping reset with gen7/gen8 debug only
authorjsg <jsg@openbsd.org>
Sun, 18 Jul 2021 10:20:06 +0000 (10:20 +0000)
committerjsg <jsg@openbsd.org>
Sun, 18 Jul 2021 10:20:06 +0000 (10:20 +0000)
With the 5.10 drm on vlv/ivb/hsw/bdw inteldrm has been known to reset
the chip when a gpu hang is falsely detected.  This appears to be
related to the workarounds for cleaning up after switching hardware
contexts.

intel_gt_reset *NOTICE* [drm] Resetting chip for context closure in glsl-uniform-int<99177>
mark_guilty *NOTICE* [drm] glsl-uniform-int[97885] context reset due to GPU hang

A local change skips the reset (which kills Xorg) on gen7/gen8.
The printf is in that path.

sys/dev/pci/drm/i915/gem/i915_gem_context.c

index 5944202..6911bd8 100644 (file)
@@ -549,11 +549,11 @@ static void kill_context(struct i915_gem_context *ctx)
                }
 
                /*
-                * XXX don't incorrectly reset chip on vlv/ivb/bdw cause unknown
+                * XXX don't incorrectly reset chip on vlv/ivb/hsw/bdw cause unknown
                 */
                if (IS_GEN_RANGE(ctx->i915, 7, 8)) {
                        if (warn) {
-                               printf("%s XXX skipping reset pos %p\n", __func__, pos);
+                               DRM_DEBUG("%s XXX skipping reset pos %p\n", __func__, pos);
                                warn = 0;
                        }
                        continue;