On Wed, Jul 22, 2026 at 03:11:37PM +0530, Riana Tauro wrote:
When an interrupt is received for correctable errors indicating that error
counter has crossed its threshold, read the current counter value and
deliver a drm-ras error-event to userspace for each affected component.
Also send drm-ras error-event to userspace for uncorrectable errors on
receiving an AER.
To avoid sending duplicate events when the same component appears multiple
times in the response, Send the error-event once per component.
...
quoted hunk ↗ jump to hunk
@@ -425,6 +487,12 @@ enum xe_ras_recovery_action xe_ras_process_errors(struct xe_device *xe)
xe_info(xe, "[RAS]: %s %s detected\n", comp_to_str(component),
sev_to_str(severity));
Similar to threshold crossed case, we should probably have a BUILD_BUG_ON()
against XE_RAS_NUM_ERROR_ARR.
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
+ /* Send event once per component */
+ if (!(sent & BIT(component))) {
+ sent |= BIT(component);
+ ras_send_error_event(xe, severity, component);
+ }
+
switch (component) {
case XE_RAS_COMP_CORE_COMPUTE:
action = handle_core_compute_errors(arr);
--
2.47.1