mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-05 20:24:09 +08:00
Merge branch 'acpi-video'
* acpi-video: ACPI / video: clean up DMI table for initial black screen problem
This commit is contained in:
commit
9a04d08b11
@ -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)
|
|||||||
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 = {
|
|||||||
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)
|
|||||||
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);
|
||||||
|
Loading…
Reference in New Issue
Block a user