drm/xe: Allow to inject error in early probe
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 14 Mar 2025 13:54:27 +0000 (06:54 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 21 Mar 2025 18:48:22 +0000 (11:48 -0700)
Allow to test if driver behaves correctly when xe_pcode_probe_early()
fails. Note that this is not sufficient for testing survivability mode
as it's still required to read the hw to check for errors, which doesn't
happen on an injected failure.

To complete the early probe coverage, allow injection in the other
functions as well: xe_mmio_probe_early() and xe_device_probe_early().

Reviewed-by: Francois Dugast <francois.dugast@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250314-fix-survivability-v5-3-fdb3559ea965@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_device.c
drivers/gpu/drm/xe/xe_mmio.c
drivers/gpu/drm/xe/xe_pcode.c

index 0e8805f..1ffb7d1 100644 (file)
@@ -735,6 +735,7 @@ int xe_device_probe_early(struct xe_device *xe)
 
        return 0;
 }
+ALLOW_ERROR_INJECTION(xe_device_probe_early, ERRNO); /* See xe_pci_probe() */
 
 static int probe_has_flat_ccs(struct xe_device *xe)
 {
index 13e06a9..096c38c 100644 (file)
@@ -138,6 +138,7 @@ int xe_mmio_probe_early(struct xe_device *xe)
 
        return devm_add_action_or_reset(xe->drm.dev, mmio_fini, xe);
 }
+ALLOW_ERROR_INJECTION(xe_mmio_probe_early, ERRNO); /* See xe_pci_probe() */
 
 /**
  * xe_mmio_init() - Initialize an MMIO instance
index 9333ce7..cf955b3 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <linux/delay.h>
 #include <linux/errno.h>
+#include <linux/error-injection.h>
 
 #include <drm/drm_managed.h>
 
@@ -323,3 +324,4 @@ int xe_pcode_probe_early(struct xe_device *xe)
 {
        return xe_pcode_ready(xe, false);
 }
+ALLOW_ERROR_INJECTION(xe_pcode_probe_early, ERRNO); /* See xe_pci_probe */