Skip to content

Commit a7b4667

Browse files
vsyrjaladanvet
authored andcommitted
drm/i915: Never fully mask the the EI up rps interrupt on SNB/IVB
SNB (and IVB too I suppose) starts to misbehave if the GPU gets stuck in an infinite batch buffer loop. The GPU apparently hogs something critical and CPUs start to lose interrupts and whatnot. We can keep the system limping along by unmasking some interrupts in GEN6_PMINTRMSK. The EI up interrupt has been previously chosen for that task, so let's never mask it. v2: s/gen6_rps_pm_mask/gen6_sanitize_rps_pm_mask/ (Chris) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93122 Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected] Cc: [email protected] (cherry picked from commit 12c100b) Signed-off-by: Daniel Vetter <[email protected]>
1 parent 3b2c171 commit a7b4667

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/gpu/drm/i915/intel_pm.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4892,7 +4892,8 @@ void gen6_rps_idle(struct drm_i915_private *dev_priv)
48924892
else
48934893
gen6_set_rps(dev_priv, dev_priv->rps.idle_freq);
48944894
dev_priv->rps.last_adj = 0;
4895-
I915_WRITE(GEN6_PMINTRMSK, 0xffffffff);
4895+
I915_WRITE(GEN6_PMINTRMSK,
4896+
gen6_sanitize_rps_pm_mask(dev_priv, ~0));
48964897
}
48974898
mutex_unlock(&dev_priv->rps.hw_lock);
48984899

0 commit comments

Comments
 (0)