Commit 545ef368 authored by Aaron Lu's avatar Aaron Lu Committed by Rafael J. Wysocki

ACPI / video: clean up DMI table for initial black screen problem

With commit 2c62333a "ACPI / video: Quirk initial backlight level 0"
we do not need to have the following systems in DMI table, so remove them.
HP Pavilion m4, HP 1000 Notebook PC, HP Pavilion g6 Notebook PC,
HP Pavilion dm4, Fujitsu E753, HP Folio 13-2000.

With this change, the use_bios_initial_backlight module parameter is no
longer needed and thus removed.
Signed-off-by: default avatarAaron Lu <aaron.lu@intel.com>
Tested-by: Alex Hung <alex.hung@canonical.com> # for HP 1000 Notebook PC
Tested-by: Gustavo Maciel Dias Vieira <gustavo@sagui.org> # for HP Pavilion dm4
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 2f466d33
...@@ -81,13 +81,6 @@ module_param(brightness_switch_enabled, bool, 0644); ...@@ -81,13 +81,6 @@ module_param(brightness_switch_enabled, bool, 0644);
static bool allow_duplicates; static bool allow_duplicates;
module_param(allow_duplicates, bool, 0644); module_param(allow_duplicates, bool, 0644);
/*
* Some BIOSes claim they use minimum backlight at boot,
* and this may bring dimming screen after boot
*/
static bool use_bios_initial_backlight = 1;
module_param(use_bios_initial_backlight, bool, 0644);
/* /*
* For Windows 8 systems: if set ture and the GPU driver has * For Windows 8 systems: if set ture and the GPU driver has
* registered a backlight interface, skip registering ACPI video's. * registered a backlight interface, skip registering ACPI video's.
...@@ -406,12 +399,6 @@ static int __init video_set_bqc_offset(const struct dmi_system_id *d) ...@@ -406,12 +399,6 @@ static int __init video_set_bqc_offset(const struct dmi_system_id *d)
return 0; return 0;
} }
static int video_ignore_initial_backlight(const struct dmi_system_id *d)
{
use_bios_initial_backlight = 0;
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
...@@ -456,54 +443,6 @@ static struct dmi_system_id video_dmi_table[] __initdata = { ...@@ -456,54 +443,6 @@ static struct dmi_system_id video_dmi_table[] __initdata = {
DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720"), DMI_MATCH(DMI_PRODUCT_NAME, "Aspire 7720"),
}, },
}, },
{
.callback = video_ignore_initial_backlight,
.ident = "HP Folio 13-2000",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Folio 13 - 2000 Notebook PC"),
},
},
{
.callback = video_ignore_initial_backlight,
.ident = "Fujitsu E753",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "FUJITSU"),
DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK E753"),
},
},
{
.callback = video_ignore_initial_backlight,
.ident = "HP Pavilion dm4",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dm4 Notebook PC"),
},
},
{
.callback = video_ignore_initial_backlight,
.ident = "HP Pavilion g6 Notebook PC",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion g6 Notebook PC"),
},
},
{
.callback = video_ignore_initial_backlight,
.ident = "HP 1000 Notebook PC",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP 1000 Notebook PC"),
},
},
{
.callback = video_ignore_initial_backlight,
.ident = "HP Pavilion m4",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Hewlett-Packard"),
DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion m4 Notebook PC"),
},
},
{} {}
}; };
...@@ -839,20 +778,18 @@ acpi_video_init_brightness(struct acpi_video_device *device) ...@@ -839,20 +778,18 @@ acpi_video_init_brightness(struct acpi_video_device *device)
if (!device->cap._BQC) if (!device->cap._BQC)
goto set_level; goto set_level;
if (use_bios_initial_backlight) { level = acpi_video_bqc_value_to_level(device, level_old);
level = acpi_video_bqc_value_to_level(device, level_old); /*
/* * On some buggy laptops, _BQC returns an uninitialized
* On some buggy laptops, _BQC returns an uninitialized * value when invoked for the first time, i.e.
* value when invoked for the first time, i.e. * level_old is invalid (no matter whether it's a level
* level_old is invalid (no matter whether it's a level * or an index). Set the backlight to max_level in this case.
* or an index). Set the backlight to max_level in this case. */
*/ for (i = 2; i < br->count; i++)
for (i = 2; i < br->count; i++) if (level == br->levels[i])
if (level == br->levels[i]) break;
break; if (i == br->count || !level)
if (i == br->count || !level) level = max_level;
level = max_level;
}
set_level: set_level:
result = acpi_video_device_lcd_set_level(device, level); result = acpi_video_device_lcd_set_level(device, level);
......
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