All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH for stable 3.14 only 0/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE
@ 2014-04-28 10:10 Jani Nikula
  2014-04-28 10:10 ` [PATCH for stable 3.14 only 1/1] " Jani Nikula
  0 siblings, 1 reply; 7+ messages in thread
From: Jani Nikula @ 2014-04-28 10:10 UTC (permalink / raw)
  To: stable, Greg Kroah-Hartman; +Cc: jani.nikula, intel-gfx, Romain Francoise

Stable team -

I'd like to hear your opinions on this one. It reverts a commit that
regressed in 3.14, but the revert does not exist upstream. Instead we've
root caused the issue and provided a real fix for upstream, but we're
hesitant to backport that to stable. Functionally the effect of the
revert is similar to the real fix, but only impacts a few models, while
the real fix has much broader scope. See the commit message for details.

Romain, Kamal, I'd appreciate it if you could provide your tested-by
with this on top of 3.14.2 on the failing Dell XPS models. Thanks.

BR,
Jani.


Jani Nikula (1):
  drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE

 drivers/gpu/drm/i915/i915_drv.h      |  1 +
 drivers/gpu/drm/i915/intel_display.c | 16 ++++++++++++++++
 drivers/gpu/drm/i915/intel_panel.c   |  4 ++++
 3 files changed, 21 insertions(+)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH for stable 3.14 only 1/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE
  2014-04-28 10:10 [PATCH for stable 3.14 only 0/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE Jani Nikula
@ 2014-04-28 10:10 ` Jani Nikula
  2014-04-28 10:49   ` Romain Francoise
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Jani Nikula @ 2014-04-28 10:10 UTC (permalink / raw)
  To: stable, Greg Kroah-Hartman; +Cc: jani.nikula, intel-gfx, Romain Francoise

This reverts the bisected regressing

commit bc0bb9fd1c7810407ab810d204bbaecb255fddde
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Thu Nov 14 12:14:29 2013 +0200

    drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE

restoring QUIRK_NO_PCH_PWM_ENABLE for a couple of Dell XPS models which
broke in 3.14.

There is no such revert upstream. We have root caused and fixed the
issue upstream, without the quirk, with:

commit 39fbc9c8f6765959b55e0b127dd5c57df5a47d67
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Wed Apr 9 11:22:06 2014 +0300

    drm/i915: check VBT for supported backlight type

and

commit c675949ec58ca50d5a3ae3c757892f1560f6e896
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Wed Apr 9 11:31:37 2014 +0300

    drm/i915: do not setup backlight if not available according to VBT

While the commits are within the stable rules otherwise, and fix more
machines than just the regressed Dell XPS models, we feel backporting
them to stable may be too risky. The revert is limited to the broken
machines, and the impact should be effectively the same as what the
upstream commits do more generally.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76276
Reported-by: Romain Francoise <romain@orebokech.com>
CC: Kamal Mostafa <kamal@canonical.com>
CC: Daniel Vetter <daniel@ffwll.ch>
CC: stable@vger.kernel.org (3.14 only)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h      |  1 +
 drivers/gpu/drm/i915/intel_display.c | 16 ++++++++++++++++
 drivers/gpu/drm/i915/intel_panel.c   |  4 ++++
 3 files changed, 21 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index df77e20e3c3d..697f2150a997 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -734,6 +734,7 @@ enum intel_sbi_destination {
 #define QUIRK_PIPEA_FORCE (1<<0)
 #define QUIRK_LVDS_SSC_DISABLE (1<<1)
 #define QUIRK_INVERT_BRIGHTNESS (1<<2)
+#define QUIRK_NO_PCH_PWM_ENABLE (1<<3)
 
 struct intel_fbdev;
 struct intel_fbc_work;
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 9b8a7c7ea7fc..963639d9049b 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -10771,6 +10771,17 @@ static void quirk_invert_brightness(struct drm_device *dev)
 	DRM_INFO("applying inverted panel brightness quirk\n");
 }
 
+/*
+ * Some machines (Dell XPS13) suffer broken backlight controls if
+ * BLM_PCH_PWM_ENABLE is set.
+ */
+static void quirk_no_pcm_pwm_enable(struct drm_device *dev)
+{
+	struct drm_i915_private *dev_priv = dev->dev_private;
+	dev_priv->quirks |= QUIRK_NO_PCH_PWM_ENABLE;
+	DRM_INFO("applying no-PCH_PWM_ENABLE quirk\n");
+}
+
 struct intel_quirk {
 	int device;
 	int subsystem_vendor;
@@ -10839,6 +10850,11 @@ static struct intel_quirk intel_quirks[] = {
 
 	/* Acer Aspire 4736Z */
 	{ 0x2a42, 0x1025, 0x0260, quirk_invert_brightness },
+
+	/* Dell XPS13 HD Sandy Bridge */
+	{ 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable },
+	/* Dell XPS13 HD and XPS13 FHD Ivy Bridge */
+	{ 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable },
 };
 
 static void intel_init_quirks(struct drm_device *dev)
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 079ea38f14d9..9f1d7a9300e8 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -671,6 +671,10 @@ static void pch_enable_backlight(struct intel_connector *connector)
 	pch_ctl2 = panel->backlight.max << 16;
 	I915_WRITE(BLC_PWM_PCH_CTL2, pch_ctl2);
 
+	/* XXX: transitional */
+	if (dev_priv->quirks & QUIRK_NO_PCH_PWM_ENABLE)
+		return;
+
 	pch_ctl1 = 0;
 	if (panel->backlight.active_low_pwm)
 		pch_ctl1 |= BLM_PCH_POLARITY;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH for stable 3.14 only 1/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE
  2014-04-28 10:10 ` [PATCH for stable 3.14 only 1/1] " Jani Nikula
@ 2014-04-28 10:49   ` Romain Francoise
  2014-04-28 13:49   ` Daniel Vetter
  2014-04-29 16:32   ` Kamal Mostafa
  2 siblings, 0 replies; 7+ messages in thread
From: Romain Francoise @ 2014-04-28 10:49 UTC (permalink / raw)
  To: Jani Nikula; +Cc: stable, Greg Kroah-Hartman, intel-gfx, daniel, Kamal Mostafa

Jani Nikula <jani.nikula@intel.com> writes:

> This reverts the bisected regressing

> commit bc0bb9fd1c7810407ab810d204bbaecb255fddde
> Author: Jani Nikula <jani.nikula@intel.com>
> Date:   Thu Nov 14 12:14:29 2013 +0200

>     drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE

> restoring QUIRK_NO_PCH_PWM_ENABLE for a couple of Dell XPS models which
> broke in 3.14.

I've been running with this revert since v3.14-rc (and now v3.14.2), so:

Tested-by: Romain Francoise <romain@orebokech.com>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH for stable 3.14 only 1/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE
  2014-04-28 10:10 ` [PATCH for stable 3.14 only 1/1] " Jani Nikula
  2014-04-28 10:49   ` Romain Francoise
@ 2014-04-28 13:49   ` Daniel Vetter
  2014-05-06  6:57     ` Jani Nikula
  2014-04-29 16:32   ` Kamal Mostafa
  2 siblings, 1 reply; 7+ messages in thread
From: Daniel Vetter @ 2014-04-28 13:49 UTC (permalink / raw)
  To: Jani Nikula; +Cc: Greg Kroah-Hartman, intel-gfx, Romain Francoise, stable

On Mon, Apr 28, 2014 at 01:10:07PM +0300, Jani Nikula wrote:
> This reverts the bisected regressing
> 
> commit bc0bb9fd1c7810407ab810d204bbaecb255fddde
> Author: Jani Nikula <jani.nikula@intel.com>
> Date:   Thu Nov 14 12:14:29 2013 +0200
> 
>     drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE
> 
> restoring QUIRK_NO_PCH_PWM_ENABLE for a couple of Dell XPS models which
> broke in 3.14.
> 
> There is no such revert upstream. We have root caused and fixed the
> issue upstream, without the quirk, with:
> 
> commit 39fbc9c8f6765959b55e0b127dd5c57df5a47d67
> Author: Jani Nikula <jani.nikula@intel.com>
> Date:   Wed Apr 9 11:22:06 2014 +0300
> 
>     drm/i915: check VBT for supported backlight type
> 
> and
> 
> commit c675949ec58ca50d5a3ae3c757892f1560f6e896
> Author: Jani Nikula <jani.nikula@intel.com>
> Date:   Wed Apr 9 11:31:37 2014 +0300
> 
>     drm/i915: do not setup backlight if not available according to VBT
> 
> While the commits are within the stable rules otherwise, and fix more
> machines than just the regressed Dell XPS models, we feel backporting
> them to stable may be too risky. The revert is limited to the broken
> machines, and the impact should be effectively the same as what the
> upstream commits do more generally.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76276
> Reported-by: Romain Francoise <romain@orebokech.com>
> CC: Kamal Mostafa <kamal@canonical.com>
> CC: Daniel Vetter <daniel@ffwll.ch>
> CC: stable@vger.kernel.org (3.14 only)
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Ack from my side since the VBT-based fix we have in 3.15 really is a bit
too risky for backporting and should get the full -rc cycle for testing.
But we just can't let existing users on affected hw hang in there for 2
months.
-Daniel

> ---
>  drivers/gpu/drm/i915/i915_drv.h      |  1 +
>  drivers/gpu/drm/i915/intel_display.c | 16 ++++++++++++++++
>  drivers/gpu/drm/i915/intel_panel.c   |  4 ++++
>  3 files changed, 21 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index df77e20e3c3d..697f2150a997 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -734,6 +734,7 @@ enum intel_sbi_destination {
>  #define QUIRK_PIPEA_FORCE (1<<0)
>  #define QUIRK_LVDS_SSC_DISABLE (1<<1)
>  #define QUIRK_INVERT_BRIGHTNESS (1<<2)
> +#define QUIRK_NO_PCH_PWM_ENABLE (1<<3)
>  
>  struct intel_fbdev;
>  struct intel_fbc_work;
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 9b8a7c7ea7fc..963639d9049b 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -10771,6 +10771,17 @@ static void quirk_invert_brightness(struct drm_device *dev)
>  	DRM_INFO("applying inverted panel brightness quirk\n");
>  }
>  
> +/*
> + * Some machines (Dell XPS13) suffer broken backlight controls if
> + * BLM_PCH_PWM_ENABLE is set.
> + */
> +static void quirk_no_pcm_pwm_enable(struct drm_device *dev)
> +{
> +	struct drm_i915_private *dev_priv = dev->dev_private;
> +	dev_priv->quirks |= QUIRK_NO_PCH_PWM_ENABLE;
> +	DRM_INFO("applying no-PCH_PWM_ENABLE quirk\n");
> +}
> +
>  struct intel_quirk {
>  	int device;
>  	int subsystem_vendor;
> @@ -10839,6 +10850,11 @@ static struct intel_quirk intel_quirks[] = {
>  
>  	/* Acer Aspire 4736Z */
>  	{ 0x2a42, 0x1025, 0x0260, quirk_invert_brightness },
> +
> +	/* Dell XPS13 HD Sandy Bridge */
> +	{ 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable },
> +	/* Dell XPS13 HD and XPS13 FHD Ivy Bridge */
> +	{ 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable },
>  };
>  
>  static void intel_init_quirks(struct drm_device *dev)
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 079ea38f14d9..9f1d7a9300e8 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -671,6 +671,10 @@ static void pch_enable_backlight(struct intel_connector *connector)
>  	pch_ctl2 = panel->backlight.max << 16;
>  	I915_WRITE(BLC_PWM_PCH_CTL2, pch_ctl2);
>  
> +	/* XXX: transitional */
> +	if (dev_priv->quirks & QUIRK_NO_PCH_PWM_ENABLE)
> +		return;
> +
>  	pch_ctl1 = 0;
>  	if (panel->backlight.active_low_pwm)
>  		pch_ctl1 |= BLM_PCH_POLARITY;
> -- 
> 1.9.1
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH for stable 3.14 only 1/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE
  2014-04-28 10:10 ` [PATCH for stable 3.14 only 1/1] " Jani Nikula
  2014-04-28 10:49   ` Romain Francoise
  2014-04-28 13:49   ` Daniel Vetter
@ 2014-04-29 16:32   ` Kamal Mostafa
  2 siblings, 0 replies; 7+ messages in thread
From: Kamal Mostafa @ 2014-04-29 16:32 UTC (permalink / raw)
  To: Jani Nikula
  Cc: stable, Greg Kroah-Hartman, intel-gfx, daniel, Romain Francoise

[-- Attachment #1: Type: text/plain, Size: 4338 bytes --]

On Mon, 2014-04-28 at 13:10 +0300, Jani Nikula wrote:
> This reverts the bisected regressing
> 
> commit bc0bb9fd1c7810407ab810d204bbaecb255fddde
> Author: Jani Nikula <jani.nikula@intel.com>
> Date:   Thu Nov 14 12:14:29 2013 +0200
> 
>     drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE
> 
> restoring QUIRK_NO_PCH_PWM_ENABLE for a couple of Dell XPS models which
> broke in 3.14.


Confirmed: This patch (restore QUIRK_NO_PCH_PWM_ENABLE) on top of 3.14.2
does fix it again for the two affected models.

Tested-by: Kamal Mostafa <kamal@canonical.com>

Thanks, Jani!

 -Kamal


> There is no such revert upstream. We have root caused and fixed the
> issue upstream, without the quirk, with:
> 
> commit 39fbc9c8f6765959b55e0b127dd5c57df5a47d67
> Author: Jani Nikula <jani.nikula@intel.com>
> Date:   Wed Apr 9 11:22:06 2014 +0300
> 
>     drm/i915: check VBT for supported backlight type
> 
> and
> 
> commit c675949ec58ca50d5a3ae3c757892f1560f6e896
> Author: Jani Nikula <jani.nikula@intel.com>
> Date:   Wed Apr 9 11:31:37 2014 +0300
> 
>     drm/i915: do not setup backlight if not available according to VBT
> 
> While the commits are within the stable rules otherwise, and fix more
> machines than just the regressed Dell XPS models, we feel backporting
> them to stable may be too risky. The revert is limited to the broken
> machines, and the impact should be effectively the same as what the
> upstream commits do more generally.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76276
> Reported-by: Romain Francoise <romain@orebokech.com>
> CC: Kamal Mostafa <kamal@canonical.com>
> CC: Daniel Vetter <daniel@ffwll.ch>
> CC: stable@vger.kernel.org (3.14 only)
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.h      |  1 +
>  drivers/gpu/drm/i915/intel_display.c | 16 ++++++++++++++++
>  drivers/gpu/drm/i915/intel_panel.c   |  4 ++++
>  3 files changed, 21 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index df77e20e3c3d..697f2150a997 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -734,6 +734,7 @@ enum intel_sbi_destination {
>  #define QUIRK_PIPEA_FORCE (1<<0)
>  #define QUIRK_LVDS_SSC_DISABLE (1<<1)
>  #define QUIRK_INVERT_BRIGHTNESS (1<<2)
> +#define QUIRK_NO_PCH_PWM_ENABLE (1<<3)
>  
>  struct intel_fbdev;
>  struct intel_fbc_work;
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 9b8a7c7ea7fc..963639d9049b 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -10771,6 +10771,17 @@ static void quirk_invert_brightness(struct drm_device *dev)
>  	DRM_INFO("applying inverted panel brightness quirk\n");
>  }
>  
> +/*
> + * Some machines (Dell XPS13) suffer broken backlight controls if
> + * BLM_PCH_PWM_ENABLE is set.
> + */
> +static void quirk_no_pcm_pwm_enable(struct drm_device *dev)
> +{
> +	struct drm_i915_private *dev_priv = dev->dev_private;
> +	dev_priv->quirks |= QUIRK_NO_PCH_PWM_ENABLE;
> +	DRM_INFO("applying no-PCH_PWM_ENABLE quirk\n");
> +}
> +
>  struct intel_quirk {
>  	int device;
>  	int subsystem_vendor;
> @@ -10839,6 +10850,11 @@ static struct intel_quirk intel_quirks[] = {
>  
>  	/* Acer Aspire 4736Z */
>  	{ 0x2a42, 0x1025, 0x0260, quirk_invert_brightness },
> +
> +	/* Dell XPS13 HD Sandy Bridge */
> +	{ 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable },
> +	/* Dell XPS13 HD and XPS13 FHD Ivy Bridge */
> +	{ 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable },
>  };
>  
>  static void intel_init_quirks(struct drm_device *dev)
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 079ea38f14d9..9f1d7a9300e8 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -671,6 +671,10 @@ static void pch_enable_backlight(struct intel_connector *connector)
>  	pch_ctl2 = panel->backlight.max << 16;
>  	I915_WRITE(BLC_PWM_PCH_CTL2, pch_ctl2);
>  
> +	/* XXX: transitional */
> +	if (dev_priv->quirks & QUIRK_NO_PCH_PWM_ENABLE)
> +		return;
> +
>  	pch_ctl1 = 0;
>  	if (panel->backlight.active_low_pwm)
>  		pch_ctl1 |= BLM_PCH_POLARITY;


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH for stable 3.14 only 1/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE
  2014-04-28 13:49   ` Daniel Vetter
@ 2014-05-06  6:57     ` Jani Nikula
  2014-05-06 12:32       ` Greg Kroah-Hartman
  0 siblings, 1 reply; 7+ messages in thread
From: Jani Nikula @ 2014-05-06  6:57 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: intel-gfx, Romain Francoise, stable


Greg, ping? Can we go with this?

On Mon, 28 Apr 2014, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Mon, Apr 28, 2014 at 01:10:07PM +0300, Jani Nikula wrote:
>> This reverts the bisected regressing
>> 
>> commit bc0bb9fd1c7810407ab810d204bbaecb255fddde
>> Author: Jani Nikula <jani.nikula@intel.com>
>> Date:   Thu Nov 14 12:14:29 2013 +0200
>> 
>>     drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE
>> 
>> restoring QUIRK_NO_PCH_PWM_ENABLE for a couple of Dell XPS models which
>> broke in 3.14.
>> 
>> There is no such revert upstream. We have root caused and fixed the
>> issue upstream, without the quirk, with:
>> 
>> commit 39fbc9c8f6765959b55e0b127dd5c57df5a47d67
>> Author: Jani Nikula <jani.nikula@intel.com>
>> Date:   Wed Apr 9 11:22:06 2014 +0300
>> 
>>     drm/i915: check VBT for supported backlight type
>> 
>> and
>> 
>> commit c675949ec58ca50d5a3ae3c757892f1560f6e896
>> Author: Jani Nikula <jani.nikula@intel.com>
>> Date:   Wed Apr 9 11:31:37 2014 +0300
>> 
>>     drm/i915: do not setup backlight if not available according to VBT
>> 
>> While the commits are within the stable rules otherwise, and fix more
>> machines than just the regressed Dell XPS models, we feel backporting
>> them to stable may be too risky. The revert is limited to the broken
>> machines, and the impact should be effectively the same as what the
>> upstream commits do more generally.
>> 
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76276
>> Reported-by: Romain Francoise <romain@orebokech.com>
>> CC: Kamal Mostafa <kamal@canonical.com>
>> CC: Daniel Vetter <daniel@ffwll.ch>
>> CC: stable@vger.kernel.org (3.14 only)
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> Ack from my side since the VBT-based fix we have in 3.15 really is a bit
> too risky for backporting and should get the full -rc cycle for testing.
> But we just can't let existing users on affected hw hang in there for 2
> months.
> -Daniel
>
>> ---
>>  drivers/gpu/drm/i915/i915_drv.h      |  1 +
>>  drivers/gpu/drm/i915/intel_display.c | 16 ++++++++++++++++
>>  drivers/gpu/drm/i915/intel_panel.c   |  4 ++++
>>  3 files changed, 21 insertions(+)
>> 
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index df77e20e3c3d..697f2150a997 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -734,6 +734,7 @@ enum intel_sbi_destination {
>>  #define QUIRK_PIPEA_FORCE (1<<0)
>>  #define QUIRK_LVDS_SSC_DISABLE (1<<1)
>>  #define QUIRK_INVERT_BRIGHTNESS (1<<2)
>> +#define QUIRK_NO_PCH_PWM_ENABLE (1<<3)
>>  
>>  struct intel_fbdev;
>>  struct intel_fbc_work;
>> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
>> index 9b8a7c7ea7fc..963639d9049b 100644
>> --- a/drivers/gpu/drm/i915/intel_display.c
>> +++ b/drivers/gpu/drm/i915/intel_display.c
>> @@ -10771,6 +10771,17 @@ static void quirk_invert_brightness(struct drm_device *dev)
>>  	DRM_INFO("applying inverted panel brightness quirk\n");
>>  }
>>  
>> +/*
>> + * Some machines (Dell XPS13) suffer broken backlight controls if
>> + * BLM_PCH_PWM_ENABLE is set.
>> + */
>> +static void quirk_no_pcm_pwm_enable(struct drm_device *dev)
>> +{
>> +	struct drm_i915_private *dev_priv = dev->dev_private;
>> +	dev_priv->quirks |= QUIRK_NO_PCH_PWM_ENABLE;
>> +	DRM_INFO("applying no-PCH_PWM_ENABLE quirk\n");
>> +}
>> +
>>  struct intel_quirk {
>>  	int device;
>>  	int subsystem_vendor;
>> @@ -10839,6 +10850,11 @@ static struct intel_quirk intel_quirks[] = {
>>  
>>  	/* Acer Aspire 4736Z */
>>  	{ 0x2a42, 0x1025, 0x0260, quirk_invert_brightness },
>> +
>> +	/* Dell XPS13 HD Sandy Bridge */
>> +	{ 0x0116, 0x1028, 0x052e, quirk_no_pcm_pwm_enable },
>> +	/* Dell XPS13 HD and XPS13 FHD Ivy Bridge */
>> +	{ 0x0166, 0x1028, 0x058b, quirk_no_pcm_pwm_enable },
>>  };
>>  
>>  static void intel_init_quirks(struct drm_device *dev)
>> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
>> index 079ea38f14d9..9f1d7a9300e8 100644
>> --- a/drivers/gpu/drm/i915/intel_panel.c
>> +++ b/drivers/gpu/drm/i915/intel_panel.c
>> @@ -671,6 +671,10 @@ static void pch_enable_backlight(struct intel_connector *connector)
>>  	pch_ctl2 = panel->backlight.max << 16;
>>  	I915_WRITE(BLC_PWM_PCH_CTL2, pch_ctl2);
>>  
>> +	/* XXX: transitional */
>> +	if (dev_priv->quirks & QUIRK_NO_PCH_PWM_ENABLE)
>> +		return;
>> +
>>  	pch_ctl1 = 0;
>>  	if (panel->backlight.active_low_pwm)
>>  		pch_ctl1 |= BLM_PCH_POLARITY;
>> -- 
>> 1.9.1
>> 
>
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH for stable 3.14 only 1/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE
  2014-05-06  6:57     ` Jani Nikula
@ 2014-05-06 12:32       ` Greg Kroah-Hartman
  0 siblings, 0 replies; 7+ messages in thread
From: Greg Kroah-Hartman @ 2014-05-06 12:32 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx, Romain Francoise, stable

On Tue, May 06, 2014 at 09:57:01AM +0300, Jani Nikula wrote:
> 
> Greg, ping? Can we go with this?

I still have over 700 emails pending for the stable releases, I'm
working my way through the patches that were sent to me the "simple" way
(i.e. through the cc: tag on them), before I get to the rest.  And at
the same time, traveling a ton.  So give me a chance to catch up.

Don't worry, it's not lost, just behind a bunch of other stuff.

greg k-h

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-05-06 12:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-28 10:10 [PATCH for stable 3.14 only 0/1] drm/i915: restore QUIRK_NO_PCH_PWM_ENABLE Jani Nikula
2014-04-28 10:10 ` [PATCH for stable 3.14 only 1/1] " Jani Nikula
2014-04-28 10:49   ` Romain Francoise
2014-04-28 13:49   ` Daniel Vetter
2014-05-06  6:57     ` Jani Nikula
2014-05-06 12:32       ` Greg Kroah-Hartman
2014-04-29 16:32   ` Kamal Mostafa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.