[kernel] r19783 - in dists/sid/linux/debian: . patches patches/bugfix/x86

Ben Hutchings benh at alioth.debian.org
Mon Jan 28 05:17:48 UTC 2013


Author: benh
Date: Mon Jan 28 05:17:46 2013
New Revision: 19783

Log:
[x86] i915: Invert backlight brightness control for various models

...including Packard Bell NCL20 (Closes: #627372)

Also allow this behaviour to be enabled via module parameter invert_brightness=1

Added:
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-emachines-e725.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-emachines-g725.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-packard-bell-ncl20.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk_invert_brightness-for-ncr-machine.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-acer-aspire-5734z.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-via-parameter.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-via-quirk.patch
Modified:
   dists/sid/linux/debian/changelog
   dists/sid/linux/debian/patches/series

Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog	Mon Jan 28 04:28:29 2013	(r19782)
+++ dists/sid/linux/debian/changelog	Mon Jan 28 05:17:46 2013	(r19783)
@@ -103,6 +103,10 @@
   * net: Add alx driver for Atheros AR8161 and AR8162 (Closes: #699129)
     - Mark as staging, since it has not been accepted upstream
   * [armel/kirkwood] rtc-s35390a: add wakealarm support (Closes: #693997)
+  * [x86] i915: Invert backlight brightness control for various models
+    including Packard Bell NCL20 (Closes: #627372)
+    - Also allow this behaviour to be enabled via module parameter
+      invert_brightness=1
 
   [ Aurelien Jarno ]
   * [armhf/vexpress] Add kernel udebs.

Added: dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-emachines-e725.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-emachines-e725.patch	Mon Jan 28 05:17:46 2013	(r19783)
@@ -0,0 +1,26 @@
+From: Jani Nikula <jani.nikula at intel.com>
+Date: Tue, 22 Jan 2013 10:50:35 +0000
+Subject: drm/i915: add quirk to invert brightness on eMachines e725
+
+commit 01e3a8feb40e54b962a20fa7eb595c5efef5e109 upstream.
+
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=31522#c35
+[Note: There are more than one broken setups in the bug. This fixes one.]
+Reported-by: Martins <andrissr at inbox.lv>
+Signed-off-by: Jani Nikula <jani.nikula at intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+---
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 44f9d8f..8575a62 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8602,6 +8602,9 @@ static struct intel_quirk intel_quirks[] = {
+ 
+ 	/* Acer/eMachines G725 */
+ 	{ 0x2a42, 0x1025, 0x0210, quirk_invert_brightness },
++
++	/* Acer/eMachines e725 */
++	{ 0x2a42, 0x1025, 0x0212, quirk_invert_brightness },
+ };
+ 
+ static void intel_init_quirks(struct drm_device *dev)

Added: dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-emachines-g725.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-emachines-g725.patch	Mon Jan 28 05:17:46 2013	(r19783)
@@ -0,0 +1,25 @@
+From: Jani Nikula <jani.nikula at intel.com>
+Date: Tue, 22 Jan 2013 10:50:34 +0000
+Subject: drm/i915: add quirk to invert brightness on eMachines G725
+
+commit 1ffff60320879830e469e26062c18f75236822ba upstream.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59628
+Reported-by: Roland Gruber <post at rolandgruber.de>
+Signed-off-by: Jani Nikula <jani.nikula at intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+---
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 7725446..44f9d8f 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8599,6 +8599,9 @@ static struct intel_quirk intel_quirks[] = {
+ 
+ 	/* Acer Aspire 5734Z must invert backlight brightness */
+ 	{ 0x2a42, 0x1025, 0x0459, quirk_invert_brightness },
++
++	/* Acer/eMachines G725 */
++	{ 0x2a42, 0x1025, 0x0210, quirk_invert_brightness },
+ };
+ 
+ static void intel_init_quirks(struct drm_device *dev)

Added: dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-packard-bell-ncl20.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-packard-bell-ncl20.patch	Mon Jan 28 05:17:46 2013	(r19783)
@@ -0,0 +1,25 @@
+From: Jani Nikula <jani.nikula at intel.com>
+Date: Tue, 22 Jan 2013 10:50:36 +0000
+Subject: drm/i915: add quirk to invert brightness on Packard Bell NCL20
+
+commit 5559ecadad5a73b27f863e92f4b4f369501dce6f upstream.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44156
+Reported-by: Alan Zimmerman <alan.zimm at gmail.com>
+Signed-off-by: Jani Nikula <jani.nikula at intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+---
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 8575a62..7262786 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -8605,6 +8605,9 @@ static struct intel_quirk intel_quirks[] = {
+ 
+ 	/* Acer/eMachines e725 */
+ 	{ 0x2a42, 0x1025, 0x0212, quirk_invert_brightness },
++
++	/* Acer/Packard Bell NCL20 */
++	{ 0x2a42, 0x1025, 0x034b, quirk_invert_brightness },
+ };
+ 
+ static void intel_init_quirks(struct drm_device *dev)

Added: dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk_invert_brightness-for-ncr-machine.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/x86/drm-i915-add-quirk_invert_brightness-for-ncr-machine.patch	Mon Jan 28 05:17:46 2013	(r19783)
@@ -0,0 +1,77 @@
+From: Egbert Eich <eich at suse.de>
+Date: Sun, 14 Oct 2012 15:46:38 +0200
+Subject: DRM/i915: Add QUIRK_INVERT_BRIGHTNESS for NCR machines.
+
+commit 5f85f176c2f1c9d2a23f60ca0b99e4d0aa5a26a7 upstream.
+
+NCR machines with LVDS panels using Intel chipsets need to have the
+QUIRK_INVERT_BRIGHTNESS bit set.
+Unfortunately NCR doesn't set a meaningful subvendor/subdevice ID,
+therefore we add a DMI dependent quirk list.
+
+Signed-off-by: Egbert Eich <eich at suse.de>
+[danvet: fixup whitespace fail.]
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+[bwh: Backported to 3.2:
+ - Adjust context
+ - Add #include <linux/dmi.h>]
+---
+ drivers/gpu/drm/i915/intel_display.c |   32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -25,6 +25,7 @@
+  */
+ 
+ #include <linux/cpufreq.h>
++#include <linux/dmi.h>
+ #include <linux/module.h>
+ #include <linux/input.h>
+ #include <linux/i2c.h>
+@@ -8839,6 +8840,34 @@ struct intel_quirk {
+ 	void (*hook)(struct drm_device *dev);
+ };
+ 
++/* For systems that don't have a meaningful PCI subdevice/subvendor ID */
++struct intel_dmi_quirk {
++	void (*hook)(struct drm_device *dev);
++	const struct dmi_system_id (*dmi_id_list)[];
++};
++
++static int intel_dmi_reverse_brightness(const struct dmi_system_id *id)
++{
++	DRM_INFO("Backlight polarity reversed on %s\n", id->ident);
++	return 1;
++}
++
++static const struct intel_dmi_quirk intel_dmi_quirks[] = {
++	{
++		.dmi_id_list = &(const struct dmi_system_id[]) {
++			{
++				.callback = intel_dmi_reverse_brightness,
++				.ident = "NCR Corporation",
++				.matches = {DMI_MATCH(DMI_SYS_VENDOR, "NCR Corporation"),
++					    DMI_MATCH(DMI_PRODUCT_NAME, ""),
++				},
++			},
++			{ }  /* terminating entry */
++		},
++		.hook = quirk_invert_brightness,
++	},
++};
++
+ struct intel_quirk intel_quirks[] = {
+ 	/* HP Compaq 2730p needs pipe A force quirk (LP: #291555) */
+ 	{ 0x2a42, 0x103c, 0x30eb, quirk_pipea_force },
+@@ -8886,6 +8915,10 @@ static void intel_init_quirks(struct drm
+ 		     q->subsystem_device == PCI_ANY_ID))
+ 			q->hook(dev);
+ 	}
++	for (i = 0; i < ARRAY_SIZE(intel_dmi_quirks); i++) {
++		if (dmi_check_system(*intel_dmi_quirks[i].dmi_id_list) != 0)
++			intel_dmi_quirks[i].hook(dev);
++	}
+ }
+ 
+ /* Disable the VGA plane that we never use */

Added: dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-acer-aspire-5734z.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-acer-aspire-5734z.patch	Mon Jan 28 05:17:46 2013	(r19783)
@@ -0,0 +1,41 @@
+From: Carsten Emde <C.Emde at osadl.org>
+Date: Thu, 15 Mar 2012 15:56:27 +0100
+Subject: drm/i915: panel: invert brightness acer aspire 5734z
+
+commit 5a15ab5b93e4a3ebcd4fa6c76cf646a45e9cf806 upstream.
+
+Mark the Acer Aspire 5734Z that this machines requires the module to
+invert the panel backlight brightness value after reading from and prior
+to writing to the PCI configuration space.
+
+Signed-off-by: Carsten Emde <C.Emde at osadl.org>
+Acked-by: Chris Wilson <chris at chris-wilson.co.uk>
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+---
+ drivers/gpu/drm/i915/intel_display.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 92208f8..683002fb 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -9021,7 +9021,8 @@ static void quirk_ssc_force_disable(struct drm_device *dev)
+ }
+ 
+ /*
+- * A machine may need to invert the panel backlight brightness value
++ * A machine (e.g. Acer Aspire 5734Z) may need to invert the panel backlight
++ * brightness value
+  */
+ static void quirk_invert_brightness(struct drm_device *dev)
+ {
+@@ -9061,6 +9062,9 @@ struct intel_quirk intel_quirks[] = {
+ 
+ 	/* Sony Vaio Y cannot use SSC on LVDS */
+ 	{ 0x0046, 0x104d, 0x9076, quirk_ssc_force_disable },
++
++	/* Acer Aspire 5734Z must invert backlight brightness */
++	{ 0x2a42, 0x1025, 0x0459, quirk_invert_brightness },
+ };
+ 
+ static void intel_init_quirks(struct drm_device *dev)

Added: dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-via-parameter.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-via-parameter.patch	Mon Jan 28 05:17:46 2013	(r19783)
@@ -0,0 +1,98 @@
+From: Carsten Emde <C.Emde at osadl.org>
+Date: Thu, 15 Mar 2012 15:56:25 +0100
+Subject: drm/i915: panel: invert brightness via parameter
+
+commit 7bd90909bbf9ce7c40e1da3d72b97b93839c188a upstream.
+
+Following the documentation of the Legacy Backlight Brightness (LBB)
+Register in the configuration space of some Intel PCI graphics adapters,
+setting the LBB register with the value 0x0 causes the backlight to be
+turned off, and 0xFF causes the backlight to be set to 100% intensity
+(http://download.intel.com/embedded/processors/Whitepaper/324567.pdf).
+The Acer Aspire 5734Z, however, turns the backlight off at 0xFF and sets
+it to maximum intensity at 0. In consequence, the screen of this systems
+becomes dark at an early boot stage which makes it unusable. The same
+inversion applies to the BLC_PWM_CTL I915 register. This problem was
+introduced in kernel version 2.6.38 when the PCI device of this system
+was first supported by the i915 KMS module.
+
+This patch adds a parameter to the i915 module to enable inversion of
+the brightness variable (i915.invert_brightness).
+
+Signed-off-by: Carsten Emde <C.Emde at osadl.org>
+Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+---
+ Documentation/kernel-parameters.txt |    9 +++++++++
+ drivers/gpu/drm/i915/intel_panel.c  |   17 +++++++++++++++++
+ 2 files changed, 26 insertions(+)
+
+diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
+index 033d4e6..9f6ba8f 100644
+--- a/Documentation/kernel-parameters.txt
++++ b/Documentation/kernel-parameters.txt
+@@ -967,6 +967,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
+ 	i8k.restricted	[HW] Allow controlling fans only if SYS_ADMIN
+ 			capability is set.
+ 
++	i915.invert_brightness
++			[DRM] Invert the sense of the variable that is used to
++			set the brightness of the panel backlight. Normally a
++			value of 0 indicates backlight switched off, and the
++			maximum value sets the backlight to maximum brightness.
++			If this parameter is specified, a value of 0 sets the
++			backlight to maximum brightness, and the maximum value
++			switches the backlight off.
++
+ 	icn=		[HW,ISDN]
+ 			Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]
+ 
+diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
+index 230a141..c4b3f34 100644
+--- a/drivers/gpu/drm/i915/intel_panel.c
++++ b/drivers/gpu/drm/i915/intel_panel.c
+@@ -28,6 +28,7 @@
+  *      Chris Wilson <chris at chris-wilson.co.uk>
+  */
+ 
++#include <linux/moduleparam.h>
+ #include "intel_drv.h"
+ 
+ #define PCI_LBPC 0xf4 /* legacy/combination backlight modes */
+@@ -191,6 +192,20 @@ u32 intel_panel_get_max_backlight(struct drm_device *dev)
+ 	return max;
+ }
+ 
++static bool i915_panel_invert_brightness;
++MODULE_PARM_DESC(invert_brightness, "Invert backlight brightness, please "
++	"report PCI device ID, subsystem vendor and subsystem device ID "
++	"to dri-devel at lists.freedesktop.org, if your machine needs it. "
++	"It will then be included in an upcoming module version.");
++module_param_named(invert_brightness, i915_panel_invert_brightness, bool, 0600);
++static u32 intel_panel_compute_brightness(struct drm_device *dev, u32 val)
++{
++	if (i915_panel_invert_brightness)
++		return intel_panel_get_max_backlight(dev) - val;
++
++	return val;
++}
++
+ u32 intel_panel_get_backlight(struct drm_device *dev)
+ {
+ 	struct drm_i915_private *dev_priv = dev->dev_private;
+@@ -211,6 +226,7 @@ u32 intel_panel_get_backlight(struct drm_device *dev)
+ 		}
+ 	}
+ 
++	val = intel_panel_compute_brightness(dev, val);
+ 	DRM_DEBUG_DRIVER("get backlight PWM = %d\n", val);
+ 	return val;
+ }
+@@ -228,6 +244,7 @@ static void intel_panel_actually_set_backlight(struct drm_device *dev, u32 level
+ 	u32 tmp;
+ 
+ 	DRM_DEBUG_DRIVER("set backlight PWM = %d\n", level);
++	level = intel_panel_compute_brightness(dev, level);
+ 
+ 	if (HAS_PCH_SPLIT(dev))
+ 		return intel_pch_panel_set_backlight(dev, level);

Added: dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-via-quirk.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/x86/drm-i915-panel-invert-brightness-via-quirk.patch	Mon Jan 28 05:17:46 2013	(r19783)
@@ -0,0 +1,112 @@
+From: Carsten Emde <C.Emde at osadl.org>
+Date: Thu, 15 Mar 2012 15:56:26 +0100
+Subject: drm/i915: panel: invert brightness via quirk
+
+commit 4dca20efb1a9c2efefc28ad2867e5d6c3f5e1955 upstream.
+
+A machine may need to invert the panel backlight brightness value. This
+patch adds the infrastructure for a quirk to do so.
+
+Signed-off-by: Carsten Emde <C.Emde at osadl.org>
+Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+---
+ Documentation/kernel-parameters.txt  |   17 +++++++++++------
+ drivers/gpu/drm/i915/i915_drv.h      |    1 +
+ drivers/gpu/drm/i915/intel_display.c |    9 +++++++++
+ drivers/gpu/drm/i915/intel_panel.c   |   15 +++++++++++----
+ 4 files changed, 32 insertions(+), 10 deletions(-)
+
+diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
+index 9f6ba8f..da44999 100644
+--- a/Documentation/kernel-parameters.txt
++++ b/Documentation/kernel-parameters.txt
+@@ -967,14 +967,19 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
+ 	i8k.restricted	[HW] Allow controlling fans only if SYS_ADMIN
+ 			capability is set.
+ 
+-	i915.invert_brightness
++	i915.invert_brightness=
+ 			[DRM] Invert the sense of the variable that is used to
+ 			set the brightness of the panel backlight. Normally a
+-			value of 0 indicates backlight switched off, and the
+-			maximum value sets the backlight to maximum brightness.
+-			If this parameter is specified, a value of 0 sets the
+-			backlight to maximum brightness, and the maximum value
+-			switches the backlight off.
++			brightness value of 0 indicates backlight switched off,
++			and the maximum of the brightness value sets the backlight
++			to maximum brightness. If this parameter is set to 0
++			(default) and the machine requires it, or this parameter
++			is set to 1, a brightness value of 0 sets the backlight
++			to maximum brightness, and the maximum of the brightness
++			value switches the backlight off.
++			-1 -- never invert brightness
++			 0 -- machine default
++			 1 -- force brightness inversion
+ 
+ 	icn=		[HW,ISDN]
+ 			Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]]
+diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
+index c0f19f5..e7a00b7 100644
+--- a/drivers/gpu/drm/i915/i915_drv.h
++++ b/drivers/gpu/drm/i915/i915_drv.h
+@@ -295,6 +295,7 @@ enum intel_pch {
+ 
+ #define QUIRK_PIPEA_FORCE (1<<0)
+ #define QUIRK_LVDS_SSC_DISABLE (1<<1)
++#define QUIRK_INVERT_BRIGHTNESS (1<<2)
+ 
+ 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 615b397..92208f8 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -9020,6 +9020,15 @@ static void quirk_ssc_force_disable(struct drm_device *dev)
+ 	dev_priv->quirks |= QUIRK_LVDS_SSC_DISABLE;
+ }
+ 
++/*
++ * A machine may need to invert the panel backlight brightness value
++ */
++static void quirk_invert_brightness(struct drm_device *dev)
++{
++	struct drm_i915_private *dev_priv = dev->dev_private;
++	dev_priv->quirks |= QUIRK_INVERT_BRIGHTNESS;
++}
++
+ struct intel_quirk {
+ 	int device;
+ 	int subsystem_vendor;
+diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
+index c4b3f34..7998ca6 100644
+--- a/drivers/gpu/drm/i915/intel_panel.c
++++ b/drivers/gpu/drm/i915/intel_panel.c
+@@ -192,15 +192,22 @@ u32 intel_panel_get_max_backlight(struct drm_device *dev)
+ 	return max;
+ }
+ 
+-static bool i915_panel_invert_brightness;
+-MODULE_PARM_DESC(invert_brightness, "Invert backlight brightness, please "
++static int i915_panel_invert_brightness;
++MODULE_PARM_DESC(invert_brightness, "Invert backlight brightness "
++	"(-1 force normal, 0 machine defaults, 1 force inversion), please "
+ 	"report PCI device ID, subsystem vendor and subsystem device ID "
+ 	"to dri-devel at lists.freedesktop.org, if your machine needs it. "
+ 	"It will then be included in an upcoming module version.");
+-module_param_named(invert_brightness, i915_panel_invert_brightness, bool, 0600);
++module_param_named(invert_brightness, i915_panel_invert_brightness, int, 0600);
+ static u32 intel_panel_compute_brightness(struct drm_device *dev, u32 val)
+ {
+-	if (i915_panel_invert_brightness)
++	struct drm_i915_private *dev_priv = dev->dev_private;
++
++	if (i915_panel_invert_brightness < 0)
++		return val;
++
++	if (i915_panel_invert_brightness > 0 ||
++	    dev_priv->quirks & QUIRK_INVERT_BRIGHTNESS)
+ 		return intel_panel_get_max_backlight(dev) - val;
+ 
+ 	return val;

Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series	Mon Jan 28 04:28:29 2013	(r19782)
+++ dists/sid/linux/debian/patches/series	Mon Jan 28 05:17:46 2013	(r19783)
@@ -482,3 +482,10 @@
 features/all/alx/remove-atl1c-devices-from-alx.patch
 features/all/alx/mark-as-staging.patch
 features/arm/rtc-s35390a-wakealarm.patch
+bugfix/x86/drm-i915-panel-invert-brightness-via-parameter.patch
+bugfix/x86/drm-i915-panel-invert-brightness-via-quirk.patch
+bugfix/x86/drm-i915-panel-invert-brightness-acer-aspire-5734z.patch
+bugfix/x86/drm-i915-add-quirk_invert_brightness-for-ncr-machine.patch
+bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-emachines-g725.patch
+bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-emachines-e725.patch
+bugfix/x86/drm-i915-add-quirk-to-invert-brightness-on-packard-bell-ncl20.patch



More information about the Kernel-svn-changes mailing list