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 --]
next prev parent 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