Re: [PATCH v3 12/23] drm/xe/ras: Check RAS and LOG component definitions

"Mallesh, Koujalagi" <[email protected]>
Newsgroups org.freedesktop.lists.intel-xe
Message-ID <[email protected]>
On 30-07-2026 08:51 pm, Michal Wajdeczko wrote:
> While not strictly required, we want to make sure that components
> definitions used by the RAS firmware are in the same fixed relation
> with HW components definitions used by the LOG infrastructure to
> allow code simplification. Add static asserts to enforce that.
>
> Signed-off-by: Michal Wajdeczko <[email protected]>
LGTM,
Reviewed-by: Mallesh Koujalagi <[email protected]>
> Cc: Rodrigo Vivi <[email protected]>
> Cc: Aravind Iddamsetty <[email protected]>
> ---
> Cc: Mallesh Koujalagi <[email protected]>
> ---
>   drivers/gpu/drm/xe/xe_ras.c | 11 +++++++++++
>   1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_ras.c b/drivers/gpu/drm/xe/xe_ras.c
> index a31e06b8aa67..56c0c31e46fb 100644
> --- a/drivers/gpu/drm/xe/xe_ras.c
> +++ b/drivers/gpu/drm/xe/xe_ras.c
> @@ -5,6 +5,7 @@
>   
>   #include "xe_device.h"
>   #include "xe_drm_ras.h"
> +#include "xe_log.h"
>   #include "xe_pm.h"
>   #include "xe_printk.h"
>   #include "xe_ras.h"
> @@ -45,6 +46,16 @@ enum xe_ras_component {
>   	XE_RAS_COMP_MAX
>   };
>   
> +#define CHECK_COMPONENT(RAS_COMP, LOG_COMP) \
> +	static_assert(MAKE_XE_LOG_COMPONENT(HARDWARE, (RAS_COMP)) == (LOG_COMP))
> +	/* make sure components definitions maintain stable relation */
> +	CHECK_COMPONENT(XE_RAS_COMP_DEVICE_MEMORY, XE_LOG_COMPONENT_DEVMEM);
> +	CHECK_COMPONENT(XE_RAS_COMP_CORE_COMPUTE, XE_LOG_COMPONENT_HWCORE);
> +	CHECK_COMPONENT(XE_RAS_COMP_PCIE, XE_LOG_COMPONENT_PCIE);
> +	CHECK_COMPONENT(XE_RAS_COMP_FABRIC, XE_LOG_COMPONENT_FABRIC);
> +	CHECK_COMPONENT(XE_RAS_COMP_SOC_INTERNAL, XE_LOG_COMPONENT_SOC);
> +#undef CHECK_COMPONENT
> +
>   /* RAS response status codes */
>   enum xe_ras_response_status {
>   	XE_RAS_STATUS_SUCCESS = 0,
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.