drm-uapi: Update i915_drm.h for I915_CONTEXT_PARAM_RECOVERABLE
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 17 Feb 2019 13:53:55 +0000 (13:53 +0000)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 9 May 2019 00:21:07 +0000 (17:21 -0700)
Pull i915_drm.h to include

kernel commit ba4fda620a5f7db521aa9e0262cf49854c1b1d9c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Feb 18 10:58:21 2019 +0000

    drm/i915: Optionally disable automatic recovery after a GPU reset

for improved resilience in handling GPU hangs.

include/drm-uapi/i915_drm.h

index d2792ab3640b11dca4ef8a9abd3595bf27bb638a..43fb8ede2fe08e360013e33edbe3601e27765642 100644 (file)
@@ -1491,6 +1491,26 @@ struct drm_i915_gem_context_param {
         * drm_i915_gem_context_param_sseu.
         */
 #define I915_CONTEXT_PARAM_SSEU                0x7
+
+/*
+ * Not all clients may want to attempt automatic recover of a context after
+ * a hang (for example, some clients may only submit very small incremental
+ * batches relying on known logical state of previous batches which will never
+ * recover correctly and each attempt will hang), and so would prefer that
+ * the context is forever banned instead.
+ *
+ * If set to false (0), after a reset, subsequent (and in flight) rendering
+ * from this context is discarded, and the client will need to create a new
+ * context to use instead.
+ *
+ * If set to true (1), the kernel will automatically attempt to recover the
+ * context by skipping the hanging batch and executing the next batch starting
+ * from the default context state (discarding the incomplete logical context
+ * state lost due to the reset).
+ *
+ * On creation, all new contexts are marked as recoverable.
+ */
+#define I915_CONTEXT_PARAM_RECOVERABLE 0x8
        __u64 value;
 };