[PATCH 2/2] drm/i915: quirk disable i915 backlight on Dell XPS 13z

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Robert Hooker <robert.hooker at canonical.com>

Dell XPS 13z exhibits problems (backlight flashing/pulsating) when
intel_backlight is enabled at all, so disable it.

BugLink: https://launchpad.net/bugs/954661
Signed-off-by: Robert Hooker <robert.hooker at canonical.com>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
 drivers/gpu/drm/i915/intel_display.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 5908cd5..0c4cac4 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -9100,6 +9100,19 @@ static void quirk_ssc_force_disable(struct drm_device *dev)
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	dev_priv->quirks |= QUIRK_LVDS_SSC_DISABLE;
 }
+ 
+/*
+ * Some machines (Dell XPS 13z) exhibit problems with i915 control of the
+ * backlight registers; Others may need the intel_backlight interface
+ * disabled for some other reason.
+ */
+static void quirk_backlight_disable(struct drm_device *dev)
+{
+	if (i915_enable_backlight == -1) {
+	    i915_enable_backlight = 0;
+	    DRM_DEBUG_DRIVER("disabling intel_backlight interface via quirk\n");
+	}
+}
 
 struct intel_quirk {
 	int device;
@@ -9133,6 +9146,10 @@ struct intel_quirk intel_quirks[] = {
 
 	/* Sony Vaio Y cannot use SSC on LVDS */
 	{ 0x0046, 0x104d, 0x9076, quirk_ssc_force_disable },
+
+	/* Dell XPS 13z needs to disable the intel_backlight interface
+	   (LP: #954661) */
+	{ 0x0116, 0x1028, 0x052e, quirk_backlight_disable },
 };
 
 static void intel_init_quirks(struct drm_device *dev)
-- 
1.7.5.4



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux