All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ye, Tony" <tony.ye@intel.com>
To: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Chris Wilson <chris@chris-wilson.co.uk>,
	intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v2] drm/i915: Introduce struct class_instance for engines across the uAPI
Date: Fri, 12 Apr 2019 22:17:00 +0800	[thread overview]
Message-ID: <25a4b1c4-bd97-41f2-83fc-b97a9ccbd5ff@intel.com> (raw)
In-Reply-To: <f606faa0-8b4f-d2ac-3369-73eddf629e82@linux.intel.com>


On 4/12/2019 8:10 PM, Tvrtko Ursulin wrote:
>
> On 12/04/2019 08:14, Chris Wilson wrote:
>> 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: Tony Ye <tony.ye@intel.com>
>> Cc: Andi Shyti <andi@etezian.org>
>> ---
>> Drop the union foible. It's only going to hinder a decision ;)
>> -Chris
>> ---
>>   drivers/gpu/drm/i915/i915_gem_context.c |  8 ++++----
>>   include/uapi/drm/i915_drm.h             | 16 ++++++++++++++--
>>   2 files changed, 18 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..bbc453b1e50f 100644
>> --- a/include/uapi/drm/i915_drm.h
>> +++ b/include/uapi/drm/i915_drm.h
>> @@ -126,6 +126,19 @@ enum drm_i915_gem_engine_class {
>>       I915_ENGINE_CLASS_INVALID    = -1
>>   };
>>   +
>> +/*
>> + * There may be more than one engine fulfilling any role within the 
>> system.
>> + * Each engine of a class is given a unique instance number and 
>> therefore
>> + * any engine can be specified by its class:instance tuplet. APIs 
>> that allow
>> + * access to any engine in the system will use struct 
>> i915_engine_class_instance
>> + * for this identification.
>> + */
>> +struct i915_engine_class_instance {
>> +    __u16 engine_class; /* see enum drm_i915_gem_engine_class */
>> +    __u16 engine_instance;
>> +};
>> +
>>   /**
>>    * DOC: perf_events exposed by i915 through 
>> /sys/bus/event_sources/drivers/i915
>>    *
>> @@ -1525,8 +1538,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.
>>
>
> This will definitely be tidier in the near future (despite a bit of 
> ugliness in engine.engine_*). I have also checked that this indeed is 
> part of 5.1 which hasn't been shipped yet.
>
> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>
> If we can get an ack from Joonas and Tony, to whom it probably falls 
> to do the media-driver change I think we are good to do.
>
> Regards,
>
> Tvrtko

Acked-by: Tony Ye <tony.ye@intel.com>

Regards, --Tony


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

  reply	other threads:[~2019-04-12 14:17 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=25a4b1c4-bd97-41f2-83fc-b97a9ccbd5ff@intel.com \
    --to=tony.ye@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=tvrtko.ursulin@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.