From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Lionel Landwerlin <lionel.g.landwerlin@intel.com>,
Chris Wilson <chris@chris-wilson.co.uk>,
intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 4/4] drm/i915: expose rcs topology through discovery uAPI
Date: Mon, 13 Nov 2017 09:14:15 +0000 [thread overview]
Message-ID: <99aed96a-ca21-29c3-ede5-52887ae238ca@linux.intel.com> (raw)
In-Reply-To: <46e4646f-3fb1-1cbd-6952-3cb0b8caf872@intel.com>
On 10/11/2017 18:29, Lionel Landwerlin wrote:
> On 10/11/17 16:47, Chris Wilson wrote:
>> Quoting Lionel Landwerlin (2017-11-10 16:37:33)
>>> On 09/11/17 17:34, Tvrtko Ursulin wrote:
>>>> On 08/11/2017 16:22, Lionel Landwerlin wrote:
>>>> But in general would it be feasible to define and name the returned
>>>> data more precisely? Like:
>>>>
>>>> struct drm_engine_rcs_engine_info {
>>>> ...
>>>> /existing_stuff/
>>>> ...
>>>>
>>>> #define HAS_TOPOLOGY
>>>> u32 flags;
>>>>
>>>> struct {
>>>> u32 this;
>>>> u32 that;
>>>> ...
>>>> u8 mask[SOME_FUTURE_PROOF_NUMBER];
>>>> } slice_topology;
>>>>
>>>> struct {
>>>> u32 this;
>>>> u32 that;
>>>> ...
>>>> u8 mask[SOME_FUTURE_PROOF_NUMBER];
>>>> } subslice_topology;
>>>>
>>>> struct {
>>>> u32 this;
>>>> u32 that;
>>>> ...
>>>> u8 mask[SOME_FUTURE_PROOF_NUMBER];
>>>> } eu_topology;
>>>> };
>>> I'm pretty sure we'll need to expose more than these 3 properties here
>>> (slice/subslice/eus) soon.
>>> Some of the components residing in the subslice could be of interest.
>>> So I'm reluctant to have all of this within a single struct which we
>>> can't change the size of.
>> The struct size doesn't have to be fixed, just reported. The underlying
>> question is can we construct an interface that is flexible enough?
>>
>> Something along the lines of perf (GL even) where the output format is
>> constructed by request from the user, then we only need to declare how
>> long each field will be, get to the user allocate the buffer, then fill
>> on the second pass.
>>
>> Alternatively we output some ASN string?
>>
>> I don't want to overengineer, but at the same time this looks to be the
>> perfect excuse to require enough flexibility to cater for future
>> complexity without going too meta. :)
>> -Chris
>>
> Heh, so one ioctl to get the string, another ioctl to get the data?
> And a list of enum for all the properties you can list?
>
> Unrelated question, have you considered ASN to describe the error state
> layout?
Or we go with sysfs, plain and simple?
$ cat $i915root/engine/vcs0/info
hevc
$ cat $i915root/engine/vcs1/instance
1
$ cat $i915root/engine/rcs0/class
render
...
$i915root/gpu/topology/slice_mask
Should be able to design to avoid issues with extensibility and avoids
the need to come up with complex binary structures or even adding new
protocols like the ASN mentioned above.
?
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-11-13 9:14 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-08 16:22 [PATCH 0/4] drm/i915: introduce query information Lionel Landwerlin
2017-11-08 16:22 ` [PATCH 1/4] drm/i915: introduce query info uAPI Lionel Landwerlin
2017-11-09 15:57 ` Joonas Lahtinen
2017-11-09 16:15 ` Lionel Landwerlin
2017-11-09 17:10 ` Tvrtko Ursulin
2017-11-08 16:22 ` [PATCH 2/4] drm/i915: store all subslice masks Lionel Landwerlin
2017-11-08 16:22 ` [PATCH 3/4] drm/i915/debugfs: reuse max slice/subslices already stored in sseu Lionel Landwerlin
2017-11-08 16:22 ` [PATCH 4/4] drm/i915: expose rcs topology through discovery uAPI Lionel Landwerlin
2017-11-09 17:34 ` Tvrtko Ursulin
2017-11-10 16:37 ` Lionel Landwerlin
2017-11-10 16:47 ` Chris Wilson
2017-11-10 18:29 ` Lionel Landwerlin
2017-11-10 19:03 ` Chris Wilson
2017-11-13 9:14 ` Tvrtko Ursulin [this message]
2017-11-13 10:00 ` Lionel Landwerlin
2017-11-13 11:14 ` Chris Wilson
2017-11-08 16:43 ` ✓ Fi.CI.BAT: success for drm/i915: introduce query information Patchwork
2017-11-08 20:04 ` ✓ Fi.CI.IGT: " Patchwork
2017-11-09 11:49 ` [PATCH 0/4] " Lionel Landwerlin
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=99aed96a-ca21-29c3-ede5-52887ae238ca@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
--cc=lionel.g.landwerlin@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.