All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Wajdeczko <michal.wajdeczko@intel.com>
To: Aravind Iddamsetty <aravind.iddamsetty@linux.intel.com>,
	<intel-xe@lists.freedesktop.org>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Yoni Levitt <yoni.levitt@intel.com>
Subject: Re: [PATCH 10/19] drm/xe/log: Extend components list with hardware items
Date: Fri, 24 Jul 2026 17:11:57 +0200	[thread overview]
Message-ID: <2b075c91-db8a-4099-84cb-0102db5d3225@intel.com> (raw)
In-Reply-To: <91c76e0f-073c-416c-969e-5cf81c0a330c@linux.intel.com>



On 7/24/2026 1:49 PM, Aravind Iddamsetty wrote:
> 
> On 24-07-2026 02:07, Michal Wajdeczko wrote:
>> Update our super macro with new top level hardware components.
>>
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> ---
>>  drivers/gpu/drm/xe/abi/xe_log_abi.h | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/abi/xe_log_abi.h b/drivers/gpu/drm/xe/abi/xe_log_abi.h
>> index cde86c6c08f2..edf4dc13377d 100644
>> --- a/drivers/gpu/drm/xe/abi/xe_log_abi.h
>> +++ b/drivers/gpu/drm/xe/abi/xe_log_abi.h
>> @@ -124,6 +124,10 @@ enum xe_log_location_bits {
>>   *     @SIGID is the default xe_sigid for the component (without the XE_SIGID_ prefix)
>>   */
>>  #define DEFINE_XE_LOG_COMPONENTS(define) \
>> +	DEFINE_XE_LOG_SOFTWARE_COMPONENTS(define) \
>> +	DEFINE_XE_LOG_HARDWARE_COMPONENTS(define)
>> +
>> +#define DEFINE_XE_LOG_SOFTWARE_COMPONENTS(define) \
>>  	/* */									\
>>  	define(SYSTEM, 1, PCI, SW, "Linux PCI Subsystem")			\
>>  	define(SYSTEM, 2, DRM, SW, "DRM")					\
>> @@ -151,6 +155,13 @@ enum xe_log_location_bits {
>>  	define(DRIVER_FIRMWARE, 3, GSC, RUNTIME_FW, "GSC")			\
>>  	define(DRIVER_FIRMWARE, 16, PCODE, DEVICE_FW, "PCode")			\
>>  	define(DRIVER_FIRMWARE, 17, SYSCTRL, DEVICE_FW, "System Controller")	\
>> +
>> +#define DEFINE_XE_LOG_HARDWARE_COMPONENTS(define) \
>> +	define(HARDWARE, 1, PCIE, PCIE, "PCIe Interface")			\
>> +	define(HARDWARE, 2, HWCORE, CORE_COMPUTE, "Core Compute")		\
>> +	define(HARDWARE, 3, DEVMEM, DEVICE_MEMORY, "Device Memory")		\
>> +	define(HARDWARE, 4, FABRIC, FABRIC, "Fabric")				\
>> +	define(HARDWARE, 5, SOC, SOC_INTERNAL, "SoC Internal")			\
>>  	/* eod */
>>  
> 
> For HW errors FW already reports the components, we already have
> definition of component "enum xe_ras_component" that matches how FW
> reports the errors we shall reuse it not redefine again.

from what I can see in [1] this enum was defined just as local definition and there was no mention that they are fixed HW originated values and wasn't placed in regs/ (like we do with all HW related stuff)

OTOH, these LOG components definitions are supposed to be part of the log ABI, so shall be defined in more exposed place (like our abi/ folder)

but there is still a solution for this.

we can define HW LOG components in this LOG abi/ as:

+	define(HARDWARE, 1, DEVMEM, DEVICE_MEMORY, "Device Memory")		\
+	define(HARDWARE, 2, HWCORE, CORE_COMPUTE, "Core Compute")		\
+	define(HARDWARE, 4, PCIE, PCIE, "PCIe Interface")			\
+	define(HARDWARE, 5, FABRIC, FABRIC, "Fabric")				\
+	define(HARDWARE, 6, SOC, SOC_INTERNAL, "SoC Internal")			\

as this will include TYPE(HARDWARE) definition for each component identifier
so the XE_LOG_COMPONENT_SOC is still defined as 0x0608, not as a plain 6

and have separate HW components definitions as reported by the FW in another abi/ as:

	SYSCTRL_COMP_DEVICE_MEMORY = 1,
	SYSCTRL_COMP_CORE_COMPUTE = 2,
	SYSCTRL_COMP_PCIE = 4,
	SYSCTRL_COMP_FABRIC = 5,
	SYSCTRL_COMP_SOC_INTERNAL = 6,

and finally somewhere in the code we can make sure we don't change that accidentally:

	BUILD_BUG_ON(SYSCTRL_COMP_DEVICE_MEMORY !=
		     FIELD_GET(XE_LOG_LOCATION_ID_MASK,
			       XE_LOG_COMPONENT_DEVICE_MEMORY));
	...
	BUILD_BUG_ON(SYSCTRL_COMP_SOC_INTERNAL !=	// aka 6
		     FIELD_GET(XE_LOG_LOCATION_ID_MASK,	// aka 0xFF00
			       XE_LOG_COMPONENT_SOC));  // aka 0x0608


[1] https://elixir.bootlin.com/linux/v7.2-rc4/source/drivers/gpu/drm/xe/xe_ras.c#L23


> 
> Thanks,
> Aravind.
>>  /**


  reply	other threads:[~2026-07-24 15:12 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-23 20:37 [PATCH 00/19] drm/xe: Add structured SIGID error logging infrastructure Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 01/19] drm/xe/log: " Michal Wajdeczko
2026-07-24 13:01   ` Aravind Iddamsetty
2026-07-24 14:34     ` Michal Wajdeczko
2026-07-28 19:04       ` Rodrigo Vivi
2026-07-23 20:37 ` [PATCH 02/19] drm/xe: Introduce xe_any helpers Michal Wajdeczko
2026-07-28  5:23   ` Mallesh, Koujalagi
2026-07-23 20:37 ` [PATCH 03/19] drm/xe/log: Add simple helpers for xe_log_emit Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 04/19] drm/xe/log: Allow to emit SIGID dmesg/cper separately Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 05/19] drm/xe/log: Add Tile/GT decorations for dmesg message Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 06/19] drm/xe/log: Introduce structured log components Michal Wajdeczko
2026-07-24 13:28   ` Aravind Iddamsetty
2026-07-24 14:45     ` Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 07/19] drm/xe/log: Add component based SIGID log helper Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 08/19] drm/xe/log: Add errno-only SIGID log helpers Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 09/19] drm/xe/log: Add hardware error signatures Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 10/19] drm/xe/log: Extend components list with hardware items Michal Wajdeczko
2026-07-24 11:49   ` Aravind Iddamsetty
2026-07-24 15:11     ` Michal Wajdeczko [this message]
2026-07-28 14:47       ` Aravind Iddamsetty
2026-07-28 16:31         ` Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 11/19] drm/xe/tests: Add Kunit tests for xe_log Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 12/19] drm/xe: Report 'probe blocked' error using SIGID Michal Wajdeczko
2026-07-24 12:28   ` Aravind Iddamsetty
2026-07-24 14:19     ` Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 13/19] drm/xe: Report 'device wedged' errors " Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 14/19] drm/xe: Report 'Survivability Mode' " Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 15/19] drm/xe/guc: Report 'GuC mmio' " Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 16/19] drm/xe/pcode: Report 'Mailbox failed' error " Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 17/19] drm/xe/gt: Report 'reset failed' errors " Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 18/19] drm/xe/gt: Report 'pagefault' " Michal Wajdeczko
2026-07-23 22:02   ` Michal Wajdeczko
2026-07-23 20:37 ` [PATCH 19/19] drm/xe/pci: Report 'cannot re-enable' error " Michal Wajdeczko
2026-07-23 20:44 ` ✗ CI.checkpatch: warning for drm/xe: Add structured SIGID error logging infrastructure Patchwork
2026-07-23 20:45 ` ✓ CI.KUnit: success " Patchwork
2026-07-23 21:35 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-07-24 18:35 ` ✗ Xe.CI.FULL: " 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=2b075c91-db8a-4099-84cb-0102db5d3225@intel.com \
    --to=michal.wajdeczko@intel.com \
    --cc=aravind.iddamsetty@linux.intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=yoni.levitt@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.