[PATCH v5 02/12] drm/xe: Correct BMG VSEC header sizing
Ruhl, Michael J
michael.j.ruhl at intel.com
Mon Jun 30 22:00:52 UTC 2025
>-----Original Message-----
>From: Vivi, Rodrigo <rodrigo.vivi at intel.com>
>Sent: Monday, June 30, 2025 3:58 PM
>To: Ruhl, Michael J <michael.j.ruhl at intel.com>
>Cc: platform-driver-x86 at vger.kernel.org; intel-xe at lists.freedesktop.org;
>hdegoede at redhat.com; ilpo.jarvinen at linux.intel.com; De Marchi, Lucas
><lucas.demarchi at intel.com>; thomas.hellstrom at linux.intel.com;
>airlied at gmail.com; simona at ffwll.ch; david.e.box at linux.intel.com
>Subject: Re: [PATCH v5 02/12] drm/xe: Correct BMG VSEC header sizing
>
>On Fri, Jun 27, 2025 at 04:43:11PM -0400, Michael J. Ruhl wrote:
>> The intel_vsec_header information for the crashlog feature is
>> incorrect.
>>
>> Update the VSEC header with correct sizing and count.
>>
>> Since the crashlog entries are "merged" (num_entries = 2), the
>> separate capabilities entries must be merged as well.
>
>if you share some doc I might be able to help with reviews on this.
>But for now,
>
>Acked-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
>
>to get this Xe patch merged with the rest of the series in the
>PMT subsystem trees.
Hi Rodrigo,
The data structure is matching the data structure defined by section 7.3.5 of this doc:
https://www.intel.com/content/www/us/en/content-details/710389/intel-platform-monitoring-technology-intel-pmt-technical-specification.html
Originally I was thinking that the data structure was just the basic PMT discovery struct (Section 7.1.1),
a misunderstanding on my part, but this is the Crashlog discovery/control structure.
The two entries are consecutive, so I can say 2 entries and size them correctly.
Thanks!
Mike
>>
>> Fixes: 0c45e76fcc62 ("drm/xe/vsec: Support BMG devices")
>> Signed-off-by: Michael J. Ruhl <michael.j.ruhl at intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_vsec.c | 20 +++++---------------
>> 1 file changed, 5 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_vsec.c b/drivers/gpu/drm/xe/xe_vsec.c
>> index 3e573b0b7ebd..67238fc57a4d 100644
>> --- a/drivers/gpu/drm/xe/xe_vsec.c
>> +++ b/drivers/gpu/drm/xe/xe_vsec.c
>> @@ -32,28 +32,18 @@ static struct intel_vsec_header bmg_telemetry = {
>> .offset = BMG_DISCOVERY_OFFSET,
>> };
>>
>> -static struct intel_vsec_header bmg_punit_crashlog = {
>> - .length = 0x10,
>> +static struct intel_vsec_header bmg_crashlog = {
>> + .length = 0x18,
>> .id = VSEC_ID_CRASHLOG,
>> - .num_entries = 1,
>> - .entry_size = 4,
>> + .num_entries = 2,
>> + .entry_size = 6,
>> .tbir = 0,
>> .offset = BMG_DISCOVERY_OFFSET + 0x60,
>> };
>>
>> -static struct intel_vsec_header bmg_oobmsm_crashlog = {
>> - .length = 0x10,
>> - .id = VSEC_ID_CRASHLOG,
>> - .num_entries = 1,
>> - .entry_size = 4,
>> - .tbir = 0,
>> - .offset = BMG_DISCOVERY_OFFSET + 0x78,
>> -};
>> -
>> static struct intel_vsec_header *bmg_capabilities[] = {
>> &bmg_telemetry,
>> - &bmg_punit_crashlog,
>> - &bmg_oobmsm_crashlog,
>> + &bmg_crashlog,
>> NULL
>> };
>>
>> --
>> 2.49.0
>>
More information about the Intel-xe
mailing list