From: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
To: John Harrison <john.c.harrison@intel.com>,
<intel-xe@lists.freedesktop.org>
Subject: Re: [Intel-xe] [PATCH 09/12] drm/xe/gsc: Add an interface for GSC packet submissions
Date: Mon, 13 Nov 2023 13:19:18 -0800 [thread overview]
Message-ID: <6cd979ca-e5fe-4752-b3bb-dc99a0762c81@intel.com> (raw)
In-Reply-To: <0a3d8812-fb91-4e4d-b3f6-ae4af119cab6@intel.com>
On 11/13/2023 11:59 AM, John Harrison wrote:
> On 10/27/2023 15:29, Daniele Ceraolo Spurio wrote:
>> Communication with the GSC FW is done via input/output buffers, whose
>> addresses are provided via a GSCCS command. The buffers contain a
>> generic header and a client-specific packet (e.g. PXP, HDCP); the
>> clients don't care about the header format and/or the GSCCS command in
>> the batch, they only care about their client-specific header. This patch
>> therefore introduces helpers that allow the callers to automatically
>> fill in the input header, submit the GSCCS job and decode the output
>> header, to make it so that the caller only needs to worry about their
>> client-specific input and output messages.
>>
>> NOTE: this patch by itself only adds the interface so it does nothing,
>> I've kept it separate for review but the plan is to squash it with the
>> follow up patch before merge, so that the interface and the user are
>> introduced at the same time.
>>
>> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>> Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
>> Cc: Suraj Kandpal <suraj.kandpal@intel.com>
>> ---
>> drivers/gpu/drm/xe/Makefile | 1 +
>> .../gpu/drm/xe/abi/gsc_command_header_abi.h | 46 +++++
>> .../gpu/drm/xe/instructions/xe_gsc_commands.h | 2 +
>> drivers/gpu/drm/xe/xe_gsc_submit.c | 170 ++++++++++++++++++
>> drivers/gpu/drm/xe/xe_gsc_submit.h | 30 ++++
>> 5 files changed, 249 insertions(+)
>> create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>> create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
>> create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
>>
>> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
>> index 4a442dcf4d79..876c122ad63c 100644
>> --- a/drivers/gpu/drm/xe/Makefile
>> +++ b/drivers/gpu/drm/xe/Makefile
>> @@ -58,6 +58,7 @@ xe-y += xe_bb.o \
>> xe_force_wake.o \
>> xe_ggtt.o \
>> xe_gsc.o \
>> + xe_gsc_submit.o \
>> xe_gt.o \
>> xe_gt_clock.o \
>> xe_gt_debugfs.o \
>> diff --git a/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>> b/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>> new file mode 100644
>> index 000000000000..a4c2646803b5
>> --- /dev/null
>> +++ b/drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>> @@ -0,0 +1,46 @@
>> +/* SPDX-License-Identifier: MIT */
>> +/*
>> + * Copyright © 2023 Intel Corporation
>> + */
>> +
>> +#ifndef _ABI_GSC_COMMAND_HEADER_ABI_H
>> +#define _ABI_GSC_COMMAND_HEADER_ABI_H
>> +
>> +#include <linux/types.h>
>> +
>> +struct intel_gsc_mtl_header {
> Is this all really MTL platform specific? Or is it GSC version specific?
>
> Given that the reset of the driver is moving to be IP version based
> instead of platform name based, it seems like this should also be
> based in some kind of version rather than platform name. Or are the
> GSC versions all just relative to the platform anyway?
GSC versioning is relative to the platform. As far as I'm aware the
expectation so far is that this header will stay the same for LNL, but
that's not a guarantee. Some of the binary headers for example are
slightly different in the LNL blob (but the differences don't impact any
of the areas we actually look at, so we can re-use the MTL code there as
well). If you want to avoid the platform name I can call it
intel_gsc_cmd_header for now and we can think about per-platform naming
if we ever get different versions. Would that work?
Daniele
>
> Apart from that, it all looks good to me.
>
> John.
>
next prev parent reply other threads:[~2023-11-13 21:19 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-27 22:29 [Intel-xe] [PATCH 00/12] GSC FW loading Daniele Ceraolo Spurio
2023-10-27 22:29 ` [Intel-xe] [PATCH 01/12] drm/xe: implement driver initiated function-reset Daniele Ceraolo Spurio
2023-11-07 23:46 ` John Harrison
2023-11-08 18:14 ` Daniele Ceraolo Spurio
2023-10-27 22:29 ` [Intel-xe] [PATCH 02/12] fixup! drm/xe/guc: Report submission version of GuC firmware Daniele Ceraolo Spurio
2023-10-31 14:09 ` Andrzej Hajda
2023-10-31 19:00 ` Daniele Ceraolo Spurio
2023-11-07 23:07 ` John Harrison
2023-11-07 23:24 ` Daniele Ceraolo Spurio
2023-11-07 23:38 ` John Harrison
2023-11-09 19:59 ` Daniele Ceraolo Spurio
2023-10-27 22:29 ` [Intel-xe] [PATCH 03/12] drm/xe/uc: Rework uC version tracking Daniele Ceraolo Spurio
2023-11-07 23:20 ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 04/12] drm/xe/gsc: Introduce GSC FW Daniele Ceraolo Spurio
2023-11-07 23:26 ` John Harrison
2023-11-07 23:32 ` Daniele Ceraolo Spurio
2023-11-07 23:52 ` John Harrison
2023-11-07 23:59 ` Daniele Ceraolo Spurio
2023-10-27 22:29 ` [Intel-xe] [PATCH 05/12] drm/xe/gsc: Parse GSC FW header Daniele Ceraolo Spurio
2023-11-07 23:45 ` John Harrison
2023-11-07 23:57 ` Daniele Ceraolo Spurio
2023-11-08 0:42 ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 06/12] drm/xe/gsc: GSC FW load Daniele Ceraolo Spurio
2023-11-08 22:17 ` John Harrison
2023-11-08 22:23 ` Daniele Ceraolo Spurio
2023-11-08 22:29 ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 07/12] drm/xe/gsc: Implement WA 14015076503 Daniele Ceraolo Spurio
2023-11-08 22:22 ` John Harrison
2023-11-08 22:35 ` Daniele Ceraolo Spurio
2023-11-08 22:40 ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 08/12] drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload Daniele Ceraolo Spurio
2023-11-08 22:24 ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 09/12] drm/xe/gsc: Add an interface for GSC packet submissions Daniele Ceraolo Spurio
2023-10-31 8:08 ` Kandpal, Suraj
2023-10-31 19:29 ` Daniele Ceraolo Spurio
2023-11-08 8:25 ` Kandpal, Suraj
2023-11-13 19:59 ` John Harrison
2023-11-13 21:19 ` Daniele Ceraolo Spurio [this message]
2023-11-14 19:32 ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 10/12] drm/xe/gsc: Query GSC compatibility version Daniele Ceraolo Spurio
2023-11-13 20:10 ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 11/12] drm/xe/gsc: Define GSCCS for MTL Daniele Ceraolo Spurio
2023-11-13 20:23 ` John Harrison
2023-11-13 21:32 ` Daniele Ceraolo Spurio
2023-11-14 19:39 ` John Harrison
2023-10-27 22:29 ` [Intel-xe] [PATCH 12/12] drm/xe/gsc: Define GSC FW " Daniele Ceraolo Spurio
2023-11-13 20:26 ` John Harrison
2023-11-13 21:33 ` Daniele Ceraolo Spurio
2023-10-27 22:32 ` [Intel-xe] ✓ CI.Patch_applied: success for GSC FW loading Patchwork
2023-10-27 22:32 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-11-13 20:29 ` John Harrison
2023-10-27 22:33 ` [Intel-xe] ✗ CI.KUnit: failure " Patchwork
2023-11-13 20:30 ` John Harrison
2023-11-13 21:13 ` Daniele Ceraolo Spurio
2023-11-13 16:05 ` [Intel-xe] [PATCH 00/12] " Lucas De Marchi
2023-11-13 16:09 ` Daniele Ceraolo Spurio
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=6cd979ca-e5fe-4752-b3bb-dc99a0762c81@intel.com \
--to=daniele.ceraolospurio@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=john.c.harrison@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.