Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Mallesh, Koujalagi" <mallesh.koujalagi@intel.com>
To: "Nilawar, Badal" <badal.nilawar@intel.com>,
	<intel-xe@lists.freedesktop.org>, <rodrigo.vivi@intel.com>,
	<matthew.brost@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>,
	<aravind.iddamsetty@linux.intel.com>,
	<jani.nikula@linux.intel.com>
Subject: Re: [PATCH v3 1/6] drm/xe/cper: Add software CPER emission entry point
Date: Tue, 10 Nov 2026 19:19:48 +0530	[thread overview]
Message-ID: <d7c8f01c-2e27-4e1a-93a2-35dfdbe0c5b2@intel.com> (raw)
In-Reply-To: <f58d57bc-05c2-42fc-94af-dbd5ea260323@intel.com>


On 10-11-2026 06:58 pm, Nilawar, Badal wrote:
>
> On 05-11-2026 14:23, Mallesh Koujalagi wrote:
>> Add a software CPER emission handler for CRI SIGIDs.
>>
>> Keep hardware CPER handling unchanged and return early
>> when the Xe device is unavailable.
>>
>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>> Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
>> ---
>> v3:
>> - Handle early PCI probe where xe device is null. (Sashiko)
>> ---
>>   drivers/gpu/drm/xe/xe_cper.c | 22 +++++++++++++++++++++-
>>   1 file changed, 21 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_cper.c b/drivers/gpu/drm/xe/xe_cper.c
>> index bb90030bcd2d..db3513c59834 100644
>> --- a/drivers/gpu/drm/xe/xe_cper.c
>> +++ b/drivers/gpu/drm/xe/xe_cper.c
>> @@ -32,6 +32,11 @@ static bool is_hw_sigid(enum xe_sigid sigid)
>>       return in_range(sigid, INTEL_SIGID_GPU_XE_HARDWARE_START, 
>> INTEL_SIGID_BATCH);
>>   }
>>   +static bool is_sw_sigid(enum xe_sigid sigid)
>> +{
>> +    return in_range(sigid, INTEL_SIGID_GPU_XE_SOFTWARE_START, 
>> INTEL_SIGID_BATCH);
>> +}
>> +
>>   /* CPER platform_id GUIDs (RFC 9562 UUIDv5) for each PCI device ID. */
>>   static const struct xe_device_guid_entry xe_device_guids[] = {
>>       { 0x674C, GUID_INIT(0x9046afe5, 0x9041, 0x5124,
>> @@ -240,6 +245,12 @@ 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);
>>   }
>>   +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)
>> +{
>> +}
>> +
>>   /**
>>    * xe_cper_emit() - Emit a CPER record for a SIGID log entry
>>    * @xe: The &xe_device
>> @@ -268,12 +279,21 @@ void xe_cper_emit(struct xe_device *xe, int 
>> cper_sev, enum xe_sigid sigid,
>>             u32 component, u32 location, const void *data, size_t len,
>>             struct va_format *vaf)
>>   {
>> +    if (!xe)
>> +        return;
>
> xe is expected to be valid here. Silently returning on NULL would hide 
> a caller bug.

During early probe function xe is null, only passed pdev (pcie device) 
to emit logs. In that

case we need to handle it.

>
>> +
>>       if (is_hw_sigid(sigid) && !IS_ERR_OR_NULL(data)) {
>>           cper_emit_hw_err(xe, cper_sev, sigid, data);
>>           return;
>>       }
>>   -    /* TODO software CPER */
>> +    if (xe->info.platform == XE_CRESCENTISLAND) {
>
> Introduce has_driver_cper flag here.

Ok, will update next revision.

Thanks,

-/Mallesh

>
> Thanks,
> Badal
>
>> +        if (is_sw_sigid(sigid) &&
>> +            (cper_sev == CPER_SEV_RECOVERABLE ||
>> +             cper_sev == CPER_SEV_FATAL))
>> +            cper_emit_sw_err(xe, cper_sev, sigid, component, 
>> location, data, vaf);
>> +        return;
>> +    }
>>   }
>>     static ssize_t cper_on_query_show(struct device *dev, struct 
>> device_attribute *attr, char *buf)

  reply	other threads:[~2026-11-10 13:50 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 [this message]
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
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=d7c8f01c-2e27-4e1a-93a2-35dfdbe0c5b2@intel.com \
    --to=mallesh.koujalagi@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=aravind.iddamsetty@linux.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