diff options
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.patch | 79 |
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 + |