[PATCH v2 2/2] drm/xe: Allow to inject error in early probe
Francois Dugast
francois.dugast at intel.com
Wed Mar 12 08:20:16 UTC 2025
On Tue, Mar 11, 2025 at 11:34:56AM -0700, Lucas De Marchi wrote:
> 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().
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
Reviewed-by: Francois Dugast <francois.dugast at intel.com>
> ---
> drivers/gpu/drm/xe/xe_device.c | 1 +
> drivers/gpu/drm/xe/xe_mmio.c | 1 +
> drivers/gpu/drm/xe/xe_pcode.c | 2 ++
> 3 files changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 023290e5be392..1b443f54ee16a 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -728,6 +728,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)
> {
> diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
> index 70a36e7775466..e1470fcf95d6d 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.c
> +++ b/drivers/gpu/drm/xe/xe_mmio.c
> @@ -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
> diff --git a/drivers/gpu/drm/xe/xe_pcode.c b/drivers/gpu/drm/xe/xe_pcode.c
> index 9333ce776a6e5..cf955b3ed52cd 100644
> --- a/drivers/gpu/drm/xe/xe_pcode.c
> +++ b/drivers/gpu/drm/xe/xe_pcode.c
> @@ -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 */
>
> --
> 2.48.1
>
More information about the Intel-xe
mailing list