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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox