summaryrefslogtreecommitdiffstats
path: root/nouveau-Don-t-check-acpi_video_backlight_support-bef.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nouveau-Don-t-check-acpi_video_backlight_support-bef.patch')
-rw-r--r--nouveau-Don-t-check-acpi_video_backlight_support-bef.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/nouveau-Don-t-check-acpi_video_backlight_support-bef.patch b/nouveau-Don-t-check-acpi_video_backlight_support-bef.patch
new file mode 100644
index 000000000..b6ed45c39
--- /dev/null
+++ b/nouveau-Don-t-check-acpi_video_backlight_support-bef.patch
@@ -0,0 +1,79 @@
+Bugzilla: 1093171
+Upstream-status: Queued for 3.16
+
+From abf17f7885656ccc181a608d2a9ee770b23d9e23 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Mon, 2 Jun 2014 17:41:07 +0200
+Subject: [PATCH 10/14] nouveau: Don't check acpi_video_backlight_support()
+ before registering backlight
+
+acpi_video_backlight_support() is supposed to be called by other (vendor
+specific) firmware backlight controls, not by native / raw backlight controls
+like nv_backlight.
+
+Userspace will normally prefer firmware interfaces over raw interfaces, so
+if acpi_video backlight support is present it will use that even if
+nv_backlight is registered as well.
+
+Except when video.use_native_backlight is present on the kernel cmdline
+(or enabled through a dmi based quirk). As the name indicates the goal here
+is to make only the raw interface available to userspace so that it will use
+that (it only does this when it sees a win8 compliant bios).
+
+This is done by:
+1) Not registering any acpi_video# backlight devices; and
+2) Making acpi_video_backlight_support() return true so that other firmware
+drivers, ie acer_wmi, thinkpad_acpi, dell_laptop, etc. Don't register their
+own vender specific interfaces.
+
+Currently nouveau breaks this setup, as when acpi_video_backlight_support()
+returns true, it does not register itself, resulting in no backlight control
+at all.
+
+This is esp. going to be a problem with 3.16 which will default to
+video.use_native_backlight=1, and thus nouveau based laptops with a win8 bios
+will get no backlight control at all.
+
+This also likely explains why the previous attempt to make
+video.use_native_backlight=1 the default was not a success, as without this
+patch having a default of video.use_native_backlight=1 will cause regressions.
+
+Note this effectively reverts commit 5bead799
+
+Also see: https://bugzilla.redhat.com/show_bug.cgi?id=1093171
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/gpu/drm/nouveau/nouveau_backlight.c | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c
+index 630f6e84fc01..2c1e4aad7da3 100644
+--- a/drivers/gpu/drm/nouveau/nouveau_backlight.c
++++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
+@@ -31,7 +31,6 @@
+ */
+
+ #include <linux/backlight.h>
+-#include <linux/acpi.h>
+
+ #include "nouveau_drm.h"
+ #include "nouveau_reg.h"
+@@ -222,14 +221,6 @@ nouveau_backlight_init(struct drm_device *dev)
+ struct nouveau_device *device = nv_device(drm->device);
+ struct drm_connector *connector;
+
+-#ifdef CONFIG_ACPI
+- if (acpi_video_backlight_support()) {
+- NV_INFO(drm, "ACPI backlight interface available, "
+- "not registering our own\n");
+- return 0;
+- }
+-#endif
+-
+ list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
+ if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS &&
+ connector->connector_type != DRM_MODE_CONNECTOR_eDP)
+--
+1.9.0
+