* 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 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
* 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