]> www.infradead.org Git - linux.git/commitdiff
tools/include: Sync uapi/drm/i915_drm.h with the kernel sources
authorNamhyung Kim <namhyung@kernel.org>
Tue, 6 Aug 2024 16:59:26 +0000 (09:59 -0700)
committerNamhyung Kim <namhyung@kernel.org>
Tue, 6 Aug 2024 19:30:31 +0000 (12:30 -0700)
To pick up changes from:

  0f1bb41bf396 drm/i915: Support replaying GPU hangs with captured context image

This should be used to beautify DRM syscall arguments and it addresses
these tools/perf build warnings:

  Warning: Kernel ABI header differences:
    diff -u tools/include/uapi/drm/i915_drm.h include/uapi/drm/i915_drm.h

Please see tools/include/uapi/README for details (it's in the first patch
of this series).

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/include/uapi/drm/i915_drm.h

index d4d86e566e0777e7173ccfc9deb30d5ef10d3cc8..535cb68fdb5c4b49b3ae4784338b66e5bb18268f 100644 (file)
@@ -2163,6 +2163,15 @@ struct drm_i915_gem_context_param {
  * supports this per context flag.
  */
 #define I915_CONTEXT_PARAM_LOW_LATENCY         0xe
+
+/*
+ * I915_CONTEXT_PARAM_CONTEXT_IMAGE:
+ *
+ * Allows userspace to provide own context images.
+ *
+ * Note that this is a debug API not available on production kernel builds.
+ */
+#define I915_CONTEXT_PARAM_CONTEXT_IMAGE       0xf
 /* Must be kept compact -- no holes and well documented */
 
        /** @value: Context parameter value to be set or queried */
@@ -2564,6 +2573,24 @@ struct i915_context_param_engines {
        struct i915_engine_class_instance engines[N__]; \
 } __attribute__((packed)) name__
 
+struct i915_gem_context_param_context_image {
+       /** @engine: Engine class & instance to be configured. */
+       struct i915_engine_class_instance engine;
+
+       /** @flags: One of the supported flags or zero. */
+       __u32 flags;
+#define I915_CONTEXT_IMAGE_FLAG_ENGINE_INDEX (1u << 0)
+
+       /** @size: Size of the image blob pointed to by @image. */
+       __u32 size;
+
+       /** @mbz: Must be zero. */
+       __u32 mbz;
+
+       /** @image: Userspace memory containing the context image. */
+       __u64 image;
+} __attribute__((packed));
+
 /**
  * struct drm_i915_gem_context_create_ext_setparam - Context parameter
  * to set or query during context creation.