static void __intel_gt_set_wedged(struct intel_gt *gt)
{
+ struct intel_display *display = gt->i915->display;
struct intel_engine_cs *engine;
intel_engine_mask_t awake;
enum intel_engine_id id;
awake = reset_prepare(gt);
/* Even if the GPU reset fails, it should still stop the engines */
- if (!intel_gt_gpu_reset_clobbers_display(gt))
+ if (!intel_gt_gpu_reset_clobbers_display(gt) &&
+ !intel_display_reset_test(display))
intel_gt_reset_all_engines(gt);
for_each_engine(engine, gt, id)
/*
* Try engine reset when available. We fall back to full reset if
- * single reset fails.
+ * single reset fails. Display reset test needs a full reset.
*/
- if (!intel_uc_uses_guc_submission(>->uc) &&
+ if (!intel_display_reset_test(gt->i915->display) &&
+ !intel_uc_uses_guc_submission(>->uc) &&
intel_has_reset_engine(gt) && !intel_gt_is_wedged(gt)) {
local_bh_disable();
for_each_engine_masked(engine, gt, engine_mask, tmp) {