Re: [PATCH 5/7] drm/i915: Expose RPCS (SSEU) configuration to userspace (Gen11 only)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 14/12/2018 13:33, Chris Wilson wrote:
Quoting Tvrtko Ursulin (2018-12-14 12:34:47)
+static int get_sseu(struct i915_gem_context *ctx,
+                   struct drm_i915_gem_context_param *args)
+{
+       struct drm_i915_gem_context_param_sseu user_sseu;
+       struct intel_engine_cs *engine;
+       struct intel_context *ce;
+       int ret;
+
+       if (args->size == 0)
+               goto out;
+       else if (args->size < sizeof(user_sseu))
+               return -EINVAL;
+
+       if (copy_from_user(&user_sseu, u64_to_user_ptr(args->value),
+                          sizeof(user_sseu)))
+               return -EFAULT;
+
+       if (user_sseu.rsvd1 || user_sseu.rsvd2)
+               return -EINVAL;

I'd vote for s/rsvd2/flags/ straight away as already I can suggest we
allow for USE_CTX_ENGINE to swap class/instance for engine-id so that we
can set rpcs for, and not least, a virtual engine.

Hm.. would it be useful? It would just be a way of indirection.

engines = [vcs:0, vcs:1]
ctx.set_map(engines)

And then a):

foreach engine in engines:
	ctx.set_sseu(engine, flags=0)

vs b):

for i = 0; i < len(engines); i++:
	ctx.set_sseu(i, flags=USE_CTX_ENGINE)

So I don't see any benefit. But maybe I missed your idea.

Regards,

Tvrtko


+
+       engine = intel_engine_lookup_user(ctx->i915,
+                                         user_sseu.class,
+                                         user_sseu.instance);
+       if (!engine)
+               return -EINVAL;
-Chris

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




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux