diff options
author | Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com> | 2023-07-27 04:56:50 +0530 |
---|---|---|
committer | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2023-12-21 11:39:15 -0500 |
commit | 8f3013e0b22206b27f37dcf1b96ce68df3393040 (patch) | |
tree | 6cb7413d278ff1d402a05a6b93c9ebede120148c /drivers/gpu/drm/xe/xe_gt.h | |
parent | 4f027e304a6c7ae77150965d10b8a1edee0398a2 (diff) |
drm/xe: Introduce fault injection for gt reset
To trigger gt reset failure:
echo 100 > /sys/kernel/debug/dri/<cardX>/fail_gt_reset/probability
echo 2 > /sys/kernel/debug/dri/<cardX>/fail_gt_reset/times
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_gt.h')
-rw-r--r-- | drivers/gpu/drm/xe/xe_gt.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_gt.h b/drivers/gpu/drm/xe/xe_gt.h index 7298653a73de..caded203a8a0 100644 --- a/drivers/gpu/drm/xe/xe_gt.h +++ b/drivers/gpu/drm/xe/xe_gt.h @@ -7,6 +7,7 @@ #define _XE_GT_H_ #include <drm/drm_util.h> +#include <linux/fault-inject.h> #include "xe_device_types.h" #include "xe_hw_engine.h" @@ -16,6 +17,19 @@ for_each_if(((hwe__) = (gt__)->hw_engines + (id__)) && \ xe_hw_engine_is_valid((hwe__))) +#ifdef CONFIG_FAULT_INJECTION +extern struct fault_attr gt_reset_failure; +static inline bool xe_fault_inject_gt_reset(void) +{ + return should_fail(>_reset_failure, 1); +} +#else +static inline bool xe_fault_inject_gt_reset(void) +{ + return false; +} +#endif + struct xe_gt *xe_gt_alloc(struct xe_tile *tile); int xe_gt_init_early(struct xe_gt *gt); int xe_gt_init(struct xe_gt *gt); |