drm/xe: Introduce fault injection for guc mmio send/recv.
authorSatyanarayana K V P <satyanarayana.k.v.p@intel.com>
Thu, 3 Apr 2025 12:06:40 +0000 (17:36 +0530)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Thu, 17 Apr 2025 20:11:16 +0000 (22:11 +0200)
Fault can be injected with below steps.

FAILTYPE=fail_function
FAILFUNC=xe_guc_mmio_send_recv

echo > /sys/kernel/debug/$FAILTYPE/inject
echo $FAILFUNC > /sys/kernel/debug/$FAILTYPE/inject
printf %#x -5 > /sys/kernel/debug/$FAILTYPE/$FAILFUNC/retval

echo N > /sys/kernel/debug/$FAILTYPE/task-filter
echo 10 > /sys/kernel/debug/$FAILTYPE/probability
echo 0 > /sys/kernel/debug/$FAILTYPE/interval
echo -1 > /sys/kernel/debug/$FAILTYPE/times
echo 0 > /sys/kernel/debug/$FAILTYPE/space
echo 1 > /sys/kernel/debug/$FAILTYPE/verbose

Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: MichaƂ Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://lore.kernel.org/r/20250403120641.7258-2-satyanarayana.k.v.p@intel.com
drivers/gpu/drm/xe/xe_guc.c

index 38866135c019ea3339e6e642f553b042542a7220..c5aace59b62c7cf7cd510fbc490806515baf43f8 100644 (file)
@@ -1394,6 +1394,7 @@ proto:
        /* Use data from the GuC response as our return value */
        return FIELD_GET(GUC_HXG_RESPONSE_MSG_0_DATA0, header);
 }
+ALLOW_ERROR_INJECTION(xe_guc_mmio_send_recv, ERRNO);
 
 int xe_guc_mmio_send(struct xe_guc *guc, const u32 *request, u32 len)
 {