[PATCH i-g-t v6 0/3] tests/intel/xe_fault_injection: Inject errors during xe_guc_ct_send_recv() xe_guc_mmio_send_recv()

Satyanarayana K V P satyanarayana.k.v.p at intel.com
Tue Apr 15 08:27:08 UTC 2025


Use the kernel fault injection infrastructure to test error handling of xe
at probe time when error is injected for functions xe_guc_mmio_send_recv()
and xe_guc_ct_send_recv().

Error can be injected using:
igt at xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv
igt at xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv

All xe_init() kind of functions are called just once during driver probe,
so it is sufficient to fail first/all calls to them. Driver communicates
with the GuC multiple times, and the real failure can happen at different
call, hence the need to inject failure in GuC communication functions,
like guc_mmio_send() or guc_ct_send(), but it can't be just first call or
all calls, but we need to be able to select specific iteration to fail.

To address this problem, an optional input argument is introduced. If the
argument is not set, an error will be injected in every possible function
call starting from first up to the max number of iteration defined by
INJECT_ITERATIONS, currently hardcoded as 100. If the input argument is
set, an error can be injected at specific function call.

Satyanarayana K V P (3):
  tests/intel/xe_fault_injection: Make setup_injection_fault()
    programmable.
  tests/intel/xe_fault_injection: Inject errors in xe_guc_* calls
  tests/intel/xe_fault_injection: Do not assert for probe_guc_fail_*
    functions.

 tests/intel/xe_fault_injection.c | 132 ++++++++++++++++++++++++++++---
 1 file changed, 122 insertions(+), 10 deletions(-)

-- 
2.43.0



More information about the igt-dev mailing list