Skip to content

Commit 6556415

Browse files
NitinGotetursulin
authored andcommitted
drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8
We're seeing a GPU hang issue on a CHV platform, which was caused by commit bac24f5 ("drm/i915/execlists: Enable coarse preemption boundaries for Gen8"). The Gen8 platform only supports timeslicing and doesn't have a preemption mechanism, as its engines do not have a preemption timer. Commit 751f82b ("drm/i915/gt: Only disable preemption on Gen8 render engines") addressed this issue only for render engines. This patch extends that fix by ensuring that preemption is not considered for all engines on Gen8 platforms. v4: - Use the correct Fixes tag (Rodrigo Vivi) - Reworded commit log (Andi Shyti) v3: - Inside need_preempt(), condition of can_preempt() is not required as simplified can_preempt() is enough. (Chris Wilson) v2: Simplify can_preempt() function (Tvrtko Ursulin) Fixes: 751f82b ("drm/i915/gt: Only disable preemption on gen8 render engines") Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11396 Suggested-by: Andi Shyti <[email protected]> Signed-off-by: Nitin Gote <[email protected]> Cc: Chris Wilson <[email protected]> CC: <[email protected]> # v5.12+ Reviewed-by: Jonathan Cavitt <[email protected]> Reviewed-by: Andi Shyti <[email protected]> Signed-off-by: Andi Shyti <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 7df0be6) Signed-off-by: Tvrtko Ursulin <[email protected]>
1 parent 509580f commit 6556415

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3315,11 +3315,7 @@ static void remove_from_engine(struct i915_request *rq)
33153315

33163316
static bool can_preempt(struct intel_engine_cs *engine)
33173317
{
3318-
if (GRAPHICS_VER(engine->i915) > 8)
3319-
return true;
3320-
3321-
/* GPGPU on bdw requires extra w/a; not implemented */
3322-
return engine->class != RENDER_CLASS;
3318+
return GRAPHICS_VER(engine->i915) > 8;
33233319
}
33243320

33253321
static void kick_execlists(const struct i915_request *rq, int prio)

0 commit comments

Comments
 (0)