Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Aravind Iddamsetty <aravind.iddamsetty@linux.intel.com>
To: Michal Wajdeczko <michal.wajdeczko@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: Tue, 28 Jul 2026 20:17:39 +0530	[thread overview]
Message-ID: <b935fecb-ad8d-4e4c-b63e-8bcbc764320e@linux.intel.com> (raw)
In-Reply-To: <2b075c91-db8a-4099-84cb-0102db5d3225@intel.com>

[-- Attachment #1: Type: text/plain, Size: 4285 bytes --]


On 24-07-2026 20:41, Michal Wajdeczko wrote:
>
> 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)

check
this https://gitlab.com/freedesktop-mirror/drm-tip/-/blob/drm-tip/drivers/gpu/drm/xe/xe_ras.c?ref_type=heads#L379

where error details is retrieved from FW and component details are
extracted into structxe_ras_error_class
<https://elixir.bootlin.com/linux/v7.2-rc4/C/ident/xe_ras_error_class>

>
> 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 the component needs to go to CPER in case of HW errors it will
derived from structxe_ras_error_class
<https://elixir.bootlin.com/linux/v7.2-rc4/C/ident/xe_ras_error_class>
given by FW which will go into CPER. We shall use whatever the FW has given.

Thanks,

Aravind.

>
> 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.
>>>  /**

[-- Attachment #2: Type: text/html, Size: 10768 bytes --]

  reply	other threads:[~2026-07-28 14:47 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
2026-07-28 14:47       ` Aravind Iddamsetty [this message]
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=b935fecb-ad8d-4e4c-b63e-8bcbc764320e@linux.intel.com \
    --to=aravind.iddamsetty@linux.intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=michal.wajdeczko@intel.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox