[Intel-gfx] [PATCH 4/4] drm/i915: Restrict SNB LP3+ disable to Thinkpad X220 tablet

Ville Syrjala ville.syrjala at linux.intel.com
Fri Feb 22 15:52:51 UTC 2019


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

The only machine we know for sure to require the LP3+ disable
is the Lenovo Thinkpad X220 tablet. Originally in commit
03981c6ebec4 ("drm/i915: Disable LP3 watermarks on all SNB
machines") I disabled LP3+ watermarks on all SNB machines,
partially for safety, and partially since I didn't want to
add a quirk. But since we now have another watermark quirk
anyway let's reduce the SNB LP3+ disable scope to the x220
tablet only.

Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 drivers/gpu/drm/i915/intel_pm.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 2a4b5014f56e..b225461455c2 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -3038,7 +3038,7 @@ static void ilk_wm_disable_quirk(struct drm_i915_private *dev_priv,
 	intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
 }
 
-static void snb_wm_lp3_irq_quirk(struct drm_i915_private *dev_priv)
+static void ilk_wm_disable_lp3(struct drm_i915_private *dev_priv)
 {
 	/*
 	 * On some SNB machines (Thinkpad X220 Tablet at least)
@@ -3060,6 +3060,11 @@ static void ilk_wm_disable_lp1_quirk(struct drm_i915_private *dev_priv)
 }
 
 static const struct intel_pci_quirk ilk_wm_quirks[] = {
+	/*
+	 * Lenovo ThinkPad X220 Tablet (snb)
+	 * CPU doesn't wake up for vblank interrupts with LP3.
+	 */
+	{ 0x0126, 0x17aa, 0x21db, ilk_wm_disable_lp3 },
 	/*
 	 * Lenovo Thinkpad T431s (ivb)
 	 * Massive underruns with LP1+.
@@ -3084,10 +3089,8 @@ static void ilk_setup_wm_latency(struct drm_i915_private *dev_priv)
 	intel_print_wm_latency(dev_priv, "Sprite", dev_priv->wm.spr_latency);
 	intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
 
-	if (IS_GEN(dev_priv, 6)) {
+	if (IS_GEN(dev_priv, 6))
 		snb_wm_latency_quirk(dev_priv);
-		snb_wm_lp3_irq_quirk(dev_priv);
-	}
 
 	intel_apply_pci_quirks(dev_priv, ilk_wm_quirks);
 }
-- 
2.19.2



More information about the Intel-gfx mailing list