From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: "Teres Alexis, Alan Previn" <alan.previn.teres.alexis@intel.com>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Cc: "intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"Lahtinen, Joonas" <joonas.lahtinen@intel.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH v6 5/8] drm/i915/pxp: Add ARB session creation and cleanup
Date: Thu, 30 Mar 2023 13:25:37 +0100 [thread overview]
Message-ID: <36548877-5352-8ff3-6e87-410089470a4b@linux.intel.com> (raw)
In-Reply-To: <f87c39a243d84e53d6c292c63d032b30c89adb3e.camel@intel.com>
On 30/03/2023 01:10, Teres Alexis, Alan Previn wrote:
>
> On Wed, 2023-03-29 at 08:43 +0100, Tvrtko Ursulin wrote:
>> On 28/03/2023 18:52, Rodrigo Vivi wrote:
>>> On Tue, Mar 28, 2023 at 05:01:36PM +0000, Teres Alexis, Alan Previn wrote:
>>>> On Mon, 2023-03-27 at 17:15 +0100, Tvrtko Ursulin wrote:
>>>>
> alan:snip
>> How will the context create path look like on those platforms:
>>
>> 1. Block, then potentially error out if the full initialization failed.
>> 2. Error out "in progress" while initializing, error out "something
>> else" if initialization failed.
>>
> alan:i was thinking of taking a page from huc-authentication's get-param where we could return different values based on startup progress - in all cases we never block:
If context create never blocks then the only added value of new getparam
is just granularity of reported statuses, versus potential overload of
errnos from context create?
> 1. we dont support it in hw/kernel (i.e. not pxp in device-info or not enough CONFIG_foo - reusing intel_pxp_is_supported?)
> 2. we support it in kernel but internal dependencies are still in progress (i.e. we have not yet completed huc-loading/huc-authen/proxy-init - UAPI spec should include how many
> max seconds delay per platform)
> 3. we support it in kernel but internal dependencies failed (i.e. we know huc-load/authent. failed ... or we know proxy-init failed).
> 4. we support it in kernel but platform has no support (at this stage we actually attempt to create a PXP context or create the arb-session from inside i915-get-param but we ended
> up a PXP fw error indicating select list of failures such as fusing / BIOS-config / wrong-version.
> 0. we support it completely i.e. step 4's attempt to create active PXP session succeeded
>
> I want to differentiate 3 and 4 (as opposed to return x-means-ENODEV) because i have am sure it will save debug time when facing customer issues.
> Ofc we will have to optimize the checking sequences above but at #4, we would be creating a session which might take up to ~200 milisecs for the round trip response from fw.
Not sure I get this. If getparam is trying to set this up, which is
possibly questionable in itself, where it needs to block for 200ms
(max?), and nothing else blocks, then where is the missing max delay
mentioned as a starting point for the discussion? Is it expected to
elapse while userspace is repeatedly calling getparam and it is getting
some "in progress" value?
> We could store a flag in i915-pxp-internal-struct to indicate if we ever did succeed a pxp creation after a fresh boot ... intel_pxp_is_ready_for_active()?
> ... true only if we ever did allocate a slot successfully at least once since boot.
> This also ensure mesa init will return almost immediately except at the first time when hitting #4.
Even 200ms is possibly not good enough since boot time targets (to UI
AFAIR) are pretty tight. Don't know... Maybe I'd need a timeline diagram
showing the involved components to understand this properly.
But intuitively I thought that what Mesa wants is a no-cost getparam
which would somewhat reliably tell it if the feature is supposed to be
there and context create at a later stage, with the protected flag set,
is supposed to work. AFAIU it can still fail at that point or probably
block until the required setup is done.
Regards,
Tvrtko
next prev parent reply other threads:[~2023-03-30 12:25 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-28 2:21 [Intel-gfx] [PATCH v6 0/8] drm/i915/pxp: Add MTL PXP Support Alan Previn
2023-02-28 2:21 ` [Intel-gfx] [PATCH v6 1/8] drm/i915/pxp: Add GSC-CS back-end resource init and cleanup Alan Previn
2023-02-28 2:21 ` [Intel-gfx] [PATCH v6 2/8] drm/i915/pxp: Add MTL hw-plumbing enabling for KCR operation Alan Previn
2023-02-28 2:21 ` [Intel-gfx] [PATCH v6 3/8] drm/i915/pxp: Add MTL helpers to submit Heci-Cmd-Packet to GSC Alan Previn
2023-03-03 1:14 ` Teres Alexis, Alan Previn
2023-02-28 2:21 ` [Intel-gfx] [PATCH v6 4/8] drm/i915/pxp: Add GSC-CS backend to send GSC fw messages Alan Previn
2023-03-04 1:07 ` Ceraolo Spurio, Daniele
2023-03-24 2:22 ` Teres Alexis, Alan Previn
2023-02-28 2:21 ` [Intel-gfx] [PATCH v6 5/8] drm/i915/pxp: Add ARB session creation and cleanup Alan Previn
2023-03-04 1:34 ` Ceraolo Spurio, Daniele
2023-03-25 6:11 ` Teres Alexis, Alan Previn
2023-03-25 6:19 ` Teres Alexis, Alan Previn
2023-03-26 11:18 ` Rodrigo Vivi
2023-03-27 7:07 ` Lionel Landwerlin
2023-03-27 16:15 ` Tvrtko Ursulin
2023-03-28 17:01 ` Teres Alexis, Alan Previn
2023-03-28 17:52 ` Rodrigo Vivi
2023-03-29 7:43 ` Tvrtko Ursulin
2023-03-30 0:10 ` Teres Alexis, Alan Previn
2023-03-30 12:25 ` Tvrtko Ursulin [this message]
2023-03-30 19:44 ` Teres Alexis, Alan Previn
2023-03-31 12:46 ` Tvrtko Ursulin
2023-02-28 2:21 ` [Intel-gfx] [PATCH v6 6/8] drm/i915/pxp: MTL-KCR interrupt ctrl's are in GT-0 Alan Previn
2023-03-04 1:53 ` Ceraolo Spurio, Daniele
2023-04-06 5:51 ` Teres Alexis, Alan Previn
2023-02-28 2:21 ` [Intel-gfx] [PATCH v6 7/8] drm/i915/pxp: On MTL, KCR enabling doesn't wait on tee component Alan Previn
2023-03-04 1:58 ` Ceraolo Spurio, Daniele
2023-04-06 5:44 ` Teres Alexis, Alan Previn
2023-02-28 2:21 ` [Intel-gfx] [PATCH v6 8/8] drm/i915/pxp: Enable PXP with MTL-GSC-CS Alan Previn
2023-03-04 2:00 ` Ceraolo Spurio, Daniele
2023-02-28 2:57 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/i915/pxp: Add MTL PXP Support (rev6) Patchwork
2023-02-28 3:12 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-02-28 6:21 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
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=36548877-5352-8ff3-6e87-410089470a4b@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=alan.previn.teres.alexis@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=joonas.lahtinen@intel.com \
--cc=rodrigo.vivi@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox