Skip to content

Commit 31c3c53

Browse files
nirmoyAndi Shyti
authored andcommitted
drm/i915: Refactor confusing __intel_gt_reset()
__intel_gt_reset() is really for resetting engines though the name might suggest something else. So add a helper function to remove confusions with no functional changes. v2: Move intel_gt_reset_all_engines() next to intel_gt_reset_engine() to make diff simple(John) Cc: John Harrison <[email protected]> Signed-off-by: Nirmoy Das <[email protected]> Reviewed-by: John Harrison <[email protected]> Reviewed-by: Andi Shyti <[email protected]> Signed-off-by: Andi Shyti <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent c3015eb commit 31c3c53

File tree

8 files changed

+37
-13
lines changed

8 files changed

+37
-13
lines changed

drivers/gpu/drm/i915/gt/intel_engine_cs.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@ void intel_engines_release(struct intel_gt *gt)
679679
*/
680680
GEM_BUG_ON(intel_gt_pm_is_awake(gt));
681681
if (!INTEL_INFO(gt->i915)->gpu_reset_clobbers_display)
682-
__intel_gt_reset(gt, ALL_ENGINES);
682+
intel_gt_reset_all_engines(gt);
683683

684684
/* Decouple the backend; but keep the layout for late GPU resets */
685685
for_each_engine(engine, gt, id) {

drivers/gpu/drm/i915/gt/intel_execlists_submission.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2898,7 +2898,7 @@ static void enable_error_interrupt(struct intel_engine_cs *engine)
28982898
drm_err(&engine->i915->drm,
28992899
"engine '%s' resumed still in error: %08x\n",
29002900
engine->name, status);
2901-
__intel_gt_reset(engine->gt, engine->mask);
2901+
intel_gt_reset_engine(engine);
29022902
}
29032903

29042904
/*

drivers/gpu/drm/i915/gt/intel_gt.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -832,7 +832,7 @@ void intel_gt_driver_unregister(struct intel_gt *gt)
832832

833833
/* Scrub all HW state upon release */
834834
with_intel_runtime_pm(gt->uncore->rpm, wakeref)
835-
__intel_gt_reset(gt, ALL_ENGINES);
835+
intel_gt_reset_all_engines(gt);
836836
}
837837

838838
void intel_gt_driver_release(struct intel_gt *gt)

drivers/gpu/drm/i915/gt/intel_gt_pm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ static bool reset_engines(struct intel_gt *gt)
159159
if (INTEL_INFO(gt->i915)->gpu_reset_clobbers_display)
160160
return false;
161161

162-
return __intel_gt_reset(gt, ALL_ENGINES) == 0;
162+
return intel_gt_reset_all_engines(gt) == 0;
163163
}
164164

165165
static void gt_sanitize(struct intel_gt *gt, bool force)

drivers/gpu/drm/i915/gt/intel_reset.c

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -764,7 +764,7 @@ wa_14015076503_end(struct intel_gt *gt, intel_engine_mask_t engine_mask)
764764
HECI_H_GS1_ER_PREP, 0);
765765
}
766766

767-
int __intel_gt_reset(struct intel_gt *gt, intel_engine_mask_t engine_mask)
767+
static int __intel_gt_reset(struct intel_gt *gt, intel_engine_mask_t engine_mask)
768768
{
769769
const int retries = engine_mask == ALL_ENGINES ? RESET_MAX_RETRIES : 1;
770770
reset_func reset;
@@ -978,7 +978,7 @@ static void __intel_gt_set_wedged(struct intel_gt *gt)
978978

979979
/* Even if the GPU reset fails, it should still stop the engines */
980980
if (!INTEL_INFO(gt->i915)->gpu_reset_clobbers_display)
981-
__intel_gt_reset(gt, ALL_ENGINES);
981+
intel_gt_reset_all_engines(gt);
982982

983983
for_each_engine(engine, gt, id)
984984
engine->submit_request = nop_submit_request;
@@ -1088,7 +1088,7 @@ static bool __intel_gt_unset_wedged(struct intel_gt *gt)
10881088
/* We must reset pending GPU events before restoring our submission */
10891089
ok = !HAS_EXECLISTS(gt->i915); /* XXX better agnosticism desired */
10901090
if (!INTEL_INFO(gt->i915)->gpu_reset_clobbers_display)
1091-
ok = __intel_gt_reset(gt, ALL_ENGINES) == 0;
1091+
ok = intel_gt_reset_all_engines(gt) == 0;
10921092
if (!ok) {
10931093
/*
10941094
* Warn CI about the unrecoverable wedged condition.
@@ -1132,10 +1132,10 @@ static int do_reset(struct intel_gt *gt, intel_engine_mask_t stalled_mask)
11321132
{
11331133
int err, i;
11341134

1135-
err = __intel_gt_reset(gt, ALL_ENGINES);
1135+
err = intel_gt_reset_all_engines(gt);
11361136
for (i = 0; err && i < RESET_MAX_RETRIES; i++) {
11371137
msleep(10 * (i + 1));
1138-
err = __intel_gt_reset(gt, ALL_ENGINES);
1138+
err = intel_gt_reset_all_engines(gt);
11391139
}
11401140
if (err)
11411141
return err;
@@ -1269,7 +1269,30 @@ void intel_gt_reset(struct intel_gt *gt,
12691269
goto finish;
12701270
}
12711271

1272-
static int intel_gt_reset_engine(struct intel_engine_cs *engine)
1272+
/**
1273+
* intel_gt_reset_all_engines() - Reset all engines in the given gt.
1274+
* @gt: the GT to reset all engines for.
1275+
*
1276+
* This function resets all engines within the given gt.
1277+
*
1278+
* Returns:
1279+
* Zero on success, negative error code on failure.
1280+
*/
1281+
int intel_gt_reset_all_engines(struct intel_gt *gt)
1282+
{
1283+
return __intel_gt_reset(gt, ALL_ENGINES);
1284+
}
1285+
1286+
/**
1287+
* intel_gt_reset_engine() - Reset a specific engine within a gt.
1288+
* @engine: engine to be reset.
1289+
*
1290+
* This function resets the specified engine within a gt.
1291+
*
1292+
* Returns:
1293+
* Zero on success, negative error code on failure.
1294+
*/
1295+
int intel_gt_reset_engine(struct intel_engine_cs *engine)
12731296
{
12741297
return __intel_gt_reset(engine->gt, engine->mask);
12751298
}

drivers/gpu/drm/i915/gt/intel_reset.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ int intel_gt_terminally_wedged(struct intel_gt *gt);
5454
void intel_gt_set_wedged_on_init(struct intel_gt *gt);
5555
void intel_gt_set_wedged_on_fini(struct intel_gt *gt);
5656

57-
int __intel_gt_reset(struct intel_gt *gt, intel_engine_mask_t engine_mask);
57+
int intel_gt_reset_engine(struct intel_engine_cs *engine);
58+
int intel_gt_reset_all_engines(struct intel_gt *gt);
5859

5960
int intel_reset_guc(struct intel_gt *gt);
6061

drivers/gpu/drm/i915/gt/selftest_reset.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ static int igt_atomic_reset(void *arg)
281281
awake = reset_prepare(gt);
282282
p->critical_section_begin();
283283

284-
err = __intel_gt_reset(gt, ALL_ENGINES);
284+
err = intel_gt_reset_all_engines(gt);
285285

286286
p->critical_section_end();
287287
reset_finish(gt, awake);

drivers/gpu/drm/i915/i915_driver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ static void sanitize_gpu(struct drm_i915_private *i915)
202202
unsigned int i;
203203

204204
for_each_gt(gt, i915, i)
205-
__intel_gt_reset(gt, ALL_ENGINES);
205+
intel_gt_reset_all_engines(gt);
206206
}
207207
}
208208

0 commit comments

Comments
 (0)