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