public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Introduce struct class_instance for engines across the uAPI
@ 2019-04-12  6:51 Chris Wilson
  2019-04-12  7:02 ` Tvrtko Ursulin
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Chris Wilson @ 2019-04-12  6:51 UTC (permalink / raw)
  To: intel-gfx

SSEU reprogramming of the context introduced the notion of engine class
and instance for a forwards compatible method of describing any engine
beyond the old execbuf interface. We wish to adopt this class:instance
description for more interfaces, so pull it out into a separate type for
userspace convenience.

References: e46c2e99f600 ("drm/i915: Expose RPCS (SSEU) configuration to userspace (Gen11 only)")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
Cc: Andi Shyti <andi@etezian.org>
---
Commit e46c2e99f600 ("drm/i915: Expose RPCS (SSEU) configuration to
userspace (Gen11 only)") is for v5.1, so we still do have a tiny bit of
time to enact this change.
---
 drivers/gpu/drm/i915/i915_gem_context.c |  8 ++++----
 include/uapi/drm/i915_drm.h             | 11 +++++++++--
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index 7fc34ab6df87..dd728b26b5aa 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -1386,8 +1386,8 @@ static int set_sseu(struct i915_gem_context *ctx,
 		return -EINVAL;
 
 	engine = intel_engine_lookup_user(i915,
-					  user_sseu.engine_class,
-					  user_sseu.engine_instance);
+					  user_sseu.engine.engine_class,
+					  user_sseu.engine.engine_instance);
 	if (!engine)
 		return -EINVAL;
 
@@ -1626,8 +1626,8 @@ static int get_sseu(struct i915_gem_context *ctx,
 		return -EINVAL;
 
 	engine = intel_engine_lookup_user(ctx->i915,
-					  user_sseu.engine_class,
-					  user_sseu.engine_instance);
+					  user_sseu.engine.engine_class,
+					  user_sseu.engine.engine_instance);
 	if (!engine)
 		return -EINVAL;
 
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
index 52051d24d89d..f6369c462458 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -1500,6 +1500,14 @@ struct drm_i915_gem_context_param {
 	__u64 value;
 };
 
+union drm_i915_engine_class_instance {
+	struct i915_engine_class_instance {
+		__u16 engine_class;
+		__u16 engine_instance;
+	} class_instance;
+	__u32 ci;
+};
+
 /**
  * Context SSEU programming
  *
@@ -1525,8 +1533,7 @@ struct drm_i915_gem_context_param_sseu {
 	/*
 	 * Engine class & instance to be configured or queried.
 	 */
-	__u16 engine_class;
-	__u16 engine_instance;
+	struct i915_engine_class_instance engine;
 
 	/*
 	 * Unused for now. Must be cleared to zero.
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-05-01  9:51 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-12  6:51 [PATCH] drm/i915: Introduce struct class_instance for engines across the uAPI Chris Wilson
2019-04-12  7:02 ` Tvrtko Ursulin
2019-04-12  7:07   ` Chris Wilson
2019-04-12  7:10 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2019-04-12  7:14 ` [PATCH v2] " Chris Wilson
2019-04-12 12:10   ` Tvrtko Ursulin
2019-04-12 14:17     ` Ye, Tony
2019-04-12  8:48 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Introduce struct class_instance for engines across the uAPI (rev2) Patchwork
2019-04-12 11:36 ` ✗ Fi.CI.BAT: failure " Patchwork
2019-04-29 17:08 ` [PATCH] drm/i915: Introduce struct class_instance for engines across the uAPI Rodrigo Vivi
2019-05-01  9:50   ` Chris Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox