Commit 73f517b8 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki

Merge branches 'acpi-video' and 'acpi-ec'

* acpi-video:
  ACPI / video: Disable native_backlight on HP ENVY 15 Notebook PC
  ACPI / video: Add a disable_native_backlight quirk
  ACPI / video: Fix use_native_backlight selection logic

* acpi-ec:
  ACPI / EC: Add msi quirk for Clevo W350etq
...@@ -1030,6 +1030,10 @@ static struct dmi_system_id ec_dmi_table[] __initdata = { ...@@ -1030,6 +1030,10 @@ static struct dmi_system_id ec_dmi_table[] __initdata = {
DMI_MATCH(DMI_SYS_VENDOR, "Quanta"), DMI_MATCH(DMI_SYS_VENDOR, "Quanta"),
DMI_MATCH(DMI_PRODUCT_NAME, "TW9/SW9"),}, NULL}, DMI_MATCH(DMI_PRODUCT_NAME, "TW9/SW9"),}, NULL},
{ {
ec_flag_msi, "Clevo W350etq", {
DMI_MATCH(DMI_SYS_VENDOR, "CLEVO CO."),
DMI_MATCH(DMI_PRODUCT_NAME, "W35_37ET"),}, NULL},
{
ec_validate_ecdt, "ASUS hardware", { ec_validate_ecdt, "ASUS hardware", {
DMI_MATCH(DMI_BIOS_VENDOR, "ASUS") }, NULL}, DMI_MATCH(DMI_BIOS_VENDOR, "ASUS") }, NULL},
{ {
......
...@@ -82,9 +82,9 @@ module_param(allow_duplicates, bool, 0644); ...@@ -82,9 +82,9 @@ module_param(allow_duplicates, bool, 0644);
* For Windows 8 systems: used to decide if video module * For Windows 8 systems: used to decide if video module
* should skip registering backlight interface of its own. * should skip registering backlight interface of its own.
*/ */
static int use_native_backlight_param = 1; static int use_native_backlight_param = -1;
module_param_named(use_native_backlight, use_native_backlight_param, int, 0444); module_param_named(use_native_backlight, use_native_backlight_param, int, 0444);
static bool use_native_backlight_dmi = false; static bool use_native_backlight_dmi = true;
static int register_count; static int register_count;
static struct mutex video_list_lock; static struct mutex video_list_lock;
...@@ -417,6 +417,12 @@ static int __init video_set_use_native_backlight(const struct dmi_system_id *d) ...@@ -417,6 +417,12 @@ static int __init video_set_use_native_backlight(const struct dmi_system_id *d)
return 0; return 0;
} }
static int __init video_disable_native_backlight(const struct dmi_system_id *d)
{
use_native_backlight_dmi = false;
return 0;
}
static struct dmi_system_id video_dmi_table[] __initdata = { static struct dmi_system_id video_dmi_table[] __initdata = {
/* /*
* Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121 * Broken _BQC workaround http://bugzilla.kernel.org/show_bug.cgi?id=13121
...@@ -720,6 +726,41 @@ static struct dmi_system_id video_dmi_table[] __initdata = { ...@@ -720,6 +726,41 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8780w"), DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook 8780w"),
}, },
}, },
/*
* These models have a working acpi_video backlight control, and using
* native backlight causes a regression where backlight does not work
* when userspace is not handling brightness key events. Disable
* native_backlight on these to fix this:
* https://bugzilla.kernel.org/show_bug.cgi?id=81691
*/
{
.callback = video_disable_native_backlight,
.ident = "ThinkPad T420",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T420"),
},
},
{
.callback = video_disable_native_backlight,
.ident = "ThinkPad T520",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T520"),
},
},
/* The native backlight controls do not work on some older machines */
{
/* https://bugs.freedesktop.org/show_bug.cgi?id=81515 */
.callback = video_disable_native_backlight,
.ident = "HP ENVY 15 Notebook",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP ENVY 15 Notebook PC"),
},
},
{} {}
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment