diff options
| author | Hans de Goede <hdegoede@redhat.com> | 2014-08-28 04:20:46 -0400 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-09-01 19:53:44 -0400 |
| commit | 5f24079b021cd3147c8d24ba65833f7a0df7e80d (patch) | |
| tree | e368e031c6bdc05baea45ce8c576b3c512d58c7c | |
| parent | 25294e9f00f03b2b4f4c56e913bc8c573972f33b (diff) | |
ACPI / video: Add a disable_native_backlight quirk
Some laptops have a working acpi_video backlight control, and using native
backlight on these causes a regression where backlight control does not work
when userspace is not handling brightness key events. Disable native_backlight
on these to fix this.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=81691
Reported-and-tested-by: Andre Müller <andre.muller@web.de>
Cc: 3.16+ <stable@vger.kernel.org> # 3.16+
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
| -rw-r--r-- | drivers/acpi/video.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 58bcf7af3ac8..dd5c30257b86 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
| @@ -417,6 +417,12 @@ static int __init video_set_use_native_backlight(const struct dmi_system_id *d) | |||
| 417 | return 0; | 417 | return 0; |
| 418 | } | 418 | } |
| 419 | 419 | ||
| 420 | static int __init video_disable_native_backlight(const struct dmi_system_id *d) | ||
| 421 | { | ||
| 422 | use_native_backlight_dmi = false; | ||
| 423 | return 0; | ||
| 424 | } | ||
| 425 | |||
| 420 | static struct dmi_system_id video_dmi_table[] __initdata = { | 426 | static struct dmi_system_id video_dmi_table[] __initdata = { |
| 421 | /* | 427 | /* |
| 422 | * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121 | 428 | * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121 |
| @@ -720,6 +726,30 @@ static struct dmi_system_id video_dmi_table[] __initdata = { | |||
| 720 | DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8780w"), | 726 | DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8780w"), |
| 721 | }, | 727 | }, |
| 722 | }, | 728 | }, |
| 729 | |||
| 730 | /* | ||
| 731 | * These models have a working acpi_video backlight control, and using | ||
| 732 | * native backlight causes a regression where backlight does not work | ||
| 733 | * when userspace is not handling brightness key events. Disable | ||
| 734 | * native_backlight on these to fix this: | ||
| 735 | * https://bugzilla.kernel.org/show_bug.cgi?id=81691 | ||
| 736 | */ | ||
| 737 | { | ||
| 738 | .callback = video_disable_native_backlight, | ||
| 739 | .ident = "ThinkPad T420", | ||
| 740 | .matches = { | ||
| 741 | DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), | ||
| 742 | DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T420"), | ||
| 743 | }, | ||
| 744 | }, | ||
| 745 | { | ||
| 746 | .callback = video_disable_native_backlight, | ||
| 747 | .ident = "ThinkPad T520", | ||
| 748 | .matches = { | ||
| 749 | DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), | ||
| 750 | DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T520"), | ||
| 751 | }, | ||
| 752 | }, | ||
| 723 | {} | 753 | {} |
| 724 | }; | 754 | }; |
| 725 | 755 | ||
