All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oscar Mateo <oscar.mateo@intel.com>
To: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	intel-gfx@lists.freedesktop.org
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: Re: [PATCH 3/5] drm/i915: Generate the engine name based on the instance number
Date: Thu, 6 Apr 2017 04:22:01 -0700	[thread overview]
Message-ID: <f1752a0b-d6ae-49ce-135f-b00e2d803cf6@intel.com> (raw)
In-Reply-To: <7d5c8e0e-ea14-5706-d04a-5ff2a2018bed@linux.intel.com>



On 04/06/2017 11:02 AM, Tvrtko Ursulin wrote:
>
> On 05/04/2017 10:30, Oscar Mateo wrote:
>> Not really needed, but makes the next change a little bit more compact.
>>
>> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Cc: Chris Wilson <chris@chris-wilson.co.uk>
>> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>> Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
>> ---
>>  drivers/gpu/drm/i915/intel_engine_cs.c       | 8 ++++++--
>>  drivers/gpu/drm/i915/intel_ringbuffer.h      | 4 +++-
>>  drivers/gpu/drm/i915/selftests/mock_engine.c | 2 +-
>>  3 files changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c 
>> b/drivers/gpu/drm/i915/intel_engine_cs.c
>> index abc0a9c..530f822 100644
>> --- a/drivers/gpu/drm/i915/intel_engine_cs.c
>> +++ b/drivers/gpu/drm/i915/intel_engine_cs.c
>> @@ -71,7 +71,7 @@
>>          .init_legacy = intel_init_bsd_ring_buffer,
>>      },
>>      [VCS2] = {
>> -        .name = "vcs2",
>> +        .name = "vcs",
>
> Rename the field to class_name perhaps?
>

In the following patch, when I move .name to the class table, it becomes 
much more obvious what it refers to, but I can change it to class_name 
if you feel strongly about it (or change it here and then back to name 
in the next patch?).

>>          .hw_id = VCS2_HW,
>>          .exec_id = I915_EXEC_BSD,
>>          .class = VIDEO_DECODE_CLASS,
>> @@ -100,6 +100,7 @@
>>  {
>>      const struct engine_info *info = &intel_engines[id];
>>      struct intel_engine_cs *engine;
>> +    char instance[3] = "";
>>
>>      GEM_BUG_ON(dev_priv->engine[id]);
>>      engine = kzalloc(sizeof(*engine), GFP_KERNEL);
>> @@ -108,7 +109,10 @@
>>
>>      engine->id = id;
>>      engine->i915 = dev_priv;
>> -    engine->name = info->name;
>> +    /* For historical reasons the engines are called: name, name2... */
>> +    if (info->instance)
>> +        snprintf(instance, sizeof(instance), "%u", info->instance + 1);
>> +    snprintf(engine->name, sizeof(engine->name), "%s%s", info->name, 
>> instance);
>
> Since Chris has recently renamed all the engines, I'd say who cares 
> about the numbering scheme. Just drop it for simplicity.
>

Oooohh!
Can I also use zero-based numbering, like in the Bspec? (so xcs0, xcs1 
... xcsN?)

>>      engine->exec_id = info->exec_id;
>>      engine->hw_id = engine->guc_id = info->hw_id;
>>      engine->mmio_base = info->mmio_base;
>> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h 
>> b/drivers/gpu/drm/i915/intel_ringbuffer.h
>> index 5c1a27f..d617049 100644
>> --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
>> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
>> @@ -187,9 +187,11 @@ enum intel_engine_id {
>>      VECS
>>  };
>>
>> +#define INTEL_ENGINE_CS_MAX_NAME 8
>> +
>>  struct intel_engine_cs {
>>      struct drm_i915_private *i915;
>> -    const char    *name;
>> +    char name[INTEL_ENGINE_CS_MAX_NAME];
>>      enum intel_engine_id id;
>>      unsigned int exec_id;
>>      unsigned int hw_id;
>> diff --git a/drivers/gpu/drm/i915/selftests/mock_engine.c 
>> b/drivers/gpu/drm/i915/selftests/mock_engine.c
>> index b89050e..4a1ffca 100644
>> --- a/drivers/gpu/drm/i915/selftests/mock_engine.c
>> +++ b/drivers/gpu/drm/i915/selftests/mock_engine.c
>> @@ -140,7 +140,7 @@ struct intel_engine_cs *mock_engine(struct 
>> drm_i915_private *i915,
>>
>>      /* minimal engine setup for requests */
>>      engine->base.i915 = i915;
>> -    engine->base.name = name;
>> +    strncpy(engine->base.name, name, sizeof(engine->base.name) - 1);
>
> Can this miss to null-terminate? Or it relies on the mock_engine being 
> kzalloced?
>

It relies on the kzalloc, but I can add a \0 at the end for extra security?

>>      engine->base.id = id++;
>>      engine->base.status_page.page_addr = (void *)(engine + 1);
>>
>>
>
> Regards,
>
> Tvrtko

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

  reply	other threads:[~2017-04-06 18:21 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-05  9:30 [PATCH 0/5] Classify the engines in class + instance Oscar Mateo
2017-04-05  9:30 ` [PATCH 1/5] drm/i915: " Oscar Mateo
2017-04-06 17:45   ` Tvrtko Ursulin
2017-04-05  9:30 ` [PATCH 2/5] drm/i915: Use the same vfunc for BSD2 ring init Oscar Mateo
2017-04-06 17:48   ` Tvrtko Ursulin
2017-04-06 11:14     ` Oscar Mateo
2017-04-05  9:30 ` [PATCH 3/5] drm/i915: Generate the engine name based on the instance number Oscar Mateo
2017-04-06 18:02   ` Tvrtko Ursulin
2017-04-06 11:22     ` Oscar Mateo [this message]
2017-04-06 18:37       ` Tvrtko Ursulin
2017-04-06 18:44         ` Chris Wilson
2017-04-06 18:10     ` Chris Wilson
2017-04-05  9:30 ` [PATCH 4/5] drm/i915: Split the engine info table in two levels, using class + instance Oscar Mateo
2017-04-06 18:09   ` Tvrtko Ursulin
2017-04-05  9:30 ` [PATCH 5/5] drm/i915: Use the engine class to get the context size Oscar Mateo
2017-04-06 18:19   ` Tvrtko Ursulin
2017-04-05 16:58 ` ✓ Fi.CI.BAT: success for Classify the engines in class + instance Patchwork
2017-04-06 12:55 [PATCH 0/5] Classify the engines in class + instance (v2) Oscar Mateo
2017-04-06 12:55 ` [PATCH 3/5] drm/i915: Generate the engine name based on the instance number Oscar Mateo
2017-04-06 20:10   ` Chris Wilson
2017-04-06 13:15     ` Oscar Mateo
2017-04-06 15:00 [PATCH 0/5] Classify the engines in class + instance (v3) Oscar Mateo
2017-04-06 15:00 ` [PATCH 3/5] drm/i915: Generate the engine name based on the instance number Oscar Mateo
2017-04-07  8:12   ` Tvrtko Ursulin
2017-04-07 10:31   ` Michal Wajdeczko
2017-04-07  9:15 [PATCH 0/5] Classify the engines in class + instance (v4) Oscar Mateo
2017-04-07  9:15 ` [PATCH 3/5] drm/i915: Generate the engine name based on the instance number Oscar Mateo
2017-04-07 16:23   ` Michal Wajdeczko
2017-04-07 17:11     ` Chris Wilson
2017-04-07 12:08       ` Oscar Mateo
2017-04-10 14:34 [PATCH 0/5] Classify the engines in class + instance (v5) Oscar Mateo
2017-04-10 14:34 ` [PATCH 3/5] drm/i915: Generate the engine name based on the instance number Oscar Mateo

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=f1752a0b-d6ae-49ce-135f-b00e2d803cf6@intel.com \
    --to=oscar.mateo@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --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.