RE: [PATCH v2 06/10] drm/xe/vsec: Support Crescent Island PMT

"Ruhl, Michael J" <[email protected]>
Newsgroups dev.linux.lists.sashiko-reviews,org.freedesktop.lists.intel-xe
Message-ID <IA1PR11MB6418DA0630271FAF1004A2D7C1DB2@IA1PR11MB6418.namprd11.prod.outlook.com>
>-----Original Message-----
>From: [email protected] <[email protected]>
>Sent: Wednesday, August 12, 2026 3:49 PM
>To: Ruhl, Michael J <[email protected]>
>Cc: [email protected]
>Subject: Re: [PATCH v2 06/10] drm/xe/vsec: Support Crescent Island PMT
>
>Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to
>consider:
>- [Medium] The Crescent Island (CRI) PMT feature is completely non-functional
>and unreachable due to multiple missing integration steps across the VSEC
>initialization and decoding paths.
>--
>
>--- Patch [6]: [PATCH v2 06/10] drm/xe/vsec: Support Crescent Island PMT ---
>commit 0135683ab7b7649c2500e35c35f765f517103d98
>Author: Michael J. Ruhl <[email protected]>
>
>    drm/xe/vsec: Support Crescent Island PMT
>
>    Crescent Island (CRI) supports PMT telemetry and crashlog.
>
>    Add Crescent Island (CRI) discovery structure (DVSEC)
>    information to allow for Xe registration.
>
>> diff --git a/drivers/gpu/drm/xe/xe_vsec.c b/drivers/gpu/drm/xe/xe_vsec.c
>> index 8abe11e6312f0..6345b0b4b26b8 100644
>> --- a/drivers/gpu/drm/xe/xe_vsec.c
>> +++ b/drivers/gpu/drm/xe/xe_vsec.c
>> @@ -21,8 +21,19 @@
>>
>>  #include "regs/xe_pmt.h"
>>
>> -/* PMT GUID value for BMG devices.  NOTE: this is NOT a PCI id */
>> +/* PMT GUID value for BMG and CRI devices.  NOTE: this is NOT a PCI id */
>>  #define BMG_DEVICE_ID 0xE2F8
>> +#define CRI_DEVICE_ID 0xE2FA
>
>[Severity: Medium]
>Does CRI_DEVICE_ID need to be added to xe_guid_decode()?
>
>Currently xe_guid_decode() unconditionally checks for BMG_DEVICE_ID:
>
>drivers/gpu/drm/xe/xe_vsec.c:xe_guid_decode() {
>	...
>	if (device_id != BMG_DEVICE_ID)
>		return -ENODEV;
>	...
>}
>
>Will this reject CRI devices when they try to decode their GUID?

This is a preliminary setup patch.  Implementation usage happens in the follow up patches.

M

>[ ... ]
>
>>  enum xe_vsec {
>>  	XE_VSEC_UNKNOWN = 0,
>>  	XE_VSEC_BMG,
>> +	XE_VSEC_CRI,
>>  };
>>
>>  static struct intel_vsec_platform_info xe_vsec_info[] = {
>> @@ -60,6 +98,10 @@ static struct intel_vsec_platform_info xe_vsec_info[] =
>{
>>  		.caps = VSEC_CAP_TELEMETRY | VSEC_CAP_CRASHLOG,
>>  		.headers = bmg_capabilities,
>>  	},
>> +	[XE_VSEC_CRI] = {
>> +		.caps = VSEC_CAP_TELEMETRY | VSEC_CAP_CRASHLOG,
>> +		.headers = cri_capabilities,
>> +	},
>>  	{ }
>>  };
>
>[Severity: Medium]
>Are there missing updates to get_platform_info() and vsec_platforms[] to
>actually return XE_VSEC_CRI?
>
>Currently get_platform_info() returns XE_VSEC_UNKNOWN for any platform
>greater than XE_BATTLEMAGE:
>
>drivers/gpu/drm/xe/xe_vsec.c:get_platform_info() {
>	if (xe->info.platform > XE_BATTLEMAGE)
>		return XE_VSEC_UNKNOWN;
>
>	return vsec_platforms[xe->info.platform];
>}
>
>Additionally, does xe_vsec_init() need a case for XE_VSEC_CRI to set up
>the PMT callbacks?
>
>drivers/gpu/drm/xe/xe_vsec.c:xe_vsec_init() {
>	...
>	switch (platform) {
>	case XE_VSEC_BMG:
>		if (!xe->soc_remapper.set_telem_region)
>			return;
>		info->priv_data = &xe_pmt_cb;
>		break;
>	default:
>		break;
>	}
>	...
>}
>
>Without these additions, it appears the CRI platform will not be fully
>detected and the PMT feature will remain unreachable.
>
>--
>Sashiko AI review ·
>https://sashiko.dev/#/patchset/20260812193742.2170188-12-
>[email protected]?part=6
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.