From: "Mallesh, Koujalagi" <mallesh.koujalagi@intel.com>
To: "Nilawar, Badal" <badal.nilawar@intel.com>,
Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Cc: <anshuman.gupta@intel.com>, <vinay.belgaumkar@intel.com>,
<riana.tauro@intel.com>, <karthik.poosa@intel.com>,
<sk.anirban@intel.com>, <raag.jadav@intel.com>,
<jani.nikula@linux.intel.com>,
"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
Matthew Brost <matthew.brost@intel.com>
Subject: Re: [PATCH v3 3/6] drm/xe/cper: Emit software CPER records
Date: Wed, 11 Nov 2026 13:50:32 +0530 [thread overview]
Message-ID: <6b815695-c727-4e60-99ba-ef9cdddbc5bc@intel.com> (raw)
In-Reply-To: <08229e79-3a43-413a-95ee-c0baf3838045@intel.com>
On 10-11-2026 08:42 pm, Nilawar, Badal wrote:
>
> On 05-11-2026 14:23, Mallesh Koujalagi wrote:
>> Emit CPER records for software SIGIDs and attach the
>> formatted log message as record data.
>>
>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>> Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_cper.c | 12 ++++++++++++
>> drivers/gpu/drm/xe/xe_cper_types.h | 4 ++++
>> 2 files changed, 16 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_cper.c b/drivers/gpu/drm/xe/xe_cper.c
>> index 10aa10bbf282..9510dcd1754c 100644
>> --- a/drivers/gpu/drm/xe/xe_cper.c
>> +++ b/drivers/gpu/drm/xe/xe_cper.c
>> @@ -248,6 +248,13 @@ static void cper_emit_hw_err(struct xe_device
>> *xe, int cper_sev, enum xe_sigid s
>> xe_cper_emit_counter(xe, cper_sev, sigid, counter, &response);
>> }
>> +#define XE_CPER_SW_MSG_MAX 256
>> +
>> +static size_t cper_format_sw_msg(struct va_format *vaf, char *buf,
>> size_t size)
>> +{
>> + return scnprintf(buf, size, "%pV", vaf) + 1;
>> +}
>> +
>> static void cper_emit_sw_err(struct xe_device *xe, int cper_sev,
>> enum xe_sigid sigid,
>> u32 component, u32 location, const void *data,
>> struct va_format *vaf)
>> @@ -256,6 +263,8 @@ static void cper_emit_sw_err(struct xe_device
>> *xe, int cper_sev, enum xe_sigid s
>> struct xe_cper_intel_hdr ihdr = {};
>> struct xe_cper_driver_error_class *driver = &error_class.driver;
>> u64 timestamp = ktime_get_boottime_ns();
>> + char msg[XE_CPER_SW_MSG_MAX];
>> + size_t msg_len;
>> driver->error_type = cper_sev;
>> driver->error_component = component;
>> @@ -263,7 +272,10 @@ static void cper_emit_sw_err(struct xe_device
>> *xe, int cper_sev, enum xe_sigid s
>> if (IS_ERR(data))
>> driver->cause = -PTR_ERR(data);
>> + msg_len = cper_format_sw_msg(vaf, msg, sizeof(msg));
>> +
>> cper_init_intel_hdr(xe, &error_class, timestamp, sigid, 1, &ihdr);
>> + cper_record_emit(xe, cper_sev, &INTEL_CPER_NOTIFY_DRV_ERROR,
>> &ihdr, msg, msg_len);
>
> xe_cper_driver_error_class already contains the necessary information.
> Why does <msg> need to be passed to CPER record?
Discussed with Arch team, along with xe_cper_driver_error_class info, we
need to emit <msg> in case of software CPER.
Thanks,
-/Mallesh
>
> Thanks,
> Badal
>
>> }
>> /**
>> diff --git a/drivers/gpu/drm/xe/xe_cper_types.h
>> b/drivers/gpu/drm/xe/xe_cper_types.h
>> index d8581992dc45..268995a537c4 100644
>> --- a/drivers/gpu/drm/xe/xe_cper_types.h
>> +++ b/drivers/gpu/drm/xe/xe_cper_types.h
>> @@ -40,6 +40,10 @@
>> GUID_INIT(0x4ae12aef, 0x8745, 0x5fc7, \
>> 0xb9, 0x96, 0x71, 0xee, 0xbb, 0x51, 0xf2, 0x23)
>> +#define INTEL_CPER_NOTIFY_DRV_ERROR \
>> + GUID_INIT(0xcef7e934, 0x51e7, 0x535f, \
>> + 0xa6, 0x78, 0x5a, 0x4c, 0xcc, 0xb6, 0x96, 0x09)
>> +
>> /* Section Types */
>> #define INTEL_CPER_SECTION_ACCEL_GENERIC \
>> GUID_INIT(0xea9d8f84, 0x4258, 0x5227, \
next prev parent reply other threads:[~2026-11-11 8:21 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 8:53 [PATCH v3 0/6] drm/xe/cper: Software (driver-detected) CPER error reporting Mallesh Koujalagi
2026-11-05 8:53 ` [PATCH v3 1/6] drm/xe/cper: Add software CPER emission entry point Mallesh Koujalagi
2026-11-10 13:28 ` Nilawar, Badal
2026-11-10 13:49 ` Mallesh, Koujalagi
2026-11-10 14:58 ` Nilawar, Badal
2026-11-11 8:51 ` Mallesh, Koujalagi
2026-11-05 8:53 ` [PATCH v3 2/6] drm/xe/cper: Prepare CPER headers for software errors Mallesh Koujalagi
2026-11-10 13:55 ` Nilawar, Badal
2026-11-11 10:31 ` Mallesh, Koujalagi
2026-11-05 8:53 ` [PATCH v3 3/6] drm/xe/cper: Emit software CPER records Mallesh Koujalagi
2026-11-10 15:12 ` Nilawar, Badal
2026-11-11 8:20 ` Mallesh, Koujalagi [this message]
2026-11-05 8:53 ` [PATCH v3 4/6] drm/xe/cper: Make software CPER emission atomic-safe Mallesh Koujalagi
2026-11-10 15:01 ` Nilawar, Badal
2026-11-11 4:59 ` Mallesh, Koujalagi
2026-11-05 8:53 ` [PATCH v3 5/6] drm/xe/log: Add software CPER information to KUnit output Mallesh Koujalagi
2026-11-05 8:53 ` [PATCH v3 6/6] drm/xe/log: Test software CPER emission parameters Mallesh Koujalagi
2026-11-05 9:03 ` ✓ CI.KUnit: success for drm/xe/cper: Software (driver-detected) CPER error reporting (rev3) Patchwork
2026-11-05 9:39 ` ✓ Xe.CI.BAT: " Patchwork
2026-11-06 4:19 ` ✗ Xe.CI.FULL: failure " 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=6b815695-c727-4e60-99ba-ef9cdddbc5bc@intel.com \
--to=mallesh.koujalagi@intel.com \
--cc=anshuman.gupta@intel.com \
--cc=aravind.iddamsetty@intel.com \
--cc=badal.nilawar@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@linux.intel.com \
--cc=karthik.poosa@intel.com \
--cc=matthew.brost@intel.com \
--cc=raag.jadav@intel.com \
--cc=riana.tauro@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=sk.anirban@intel.com \
--cc=vinay.belgaumkar@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.