mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-08 12:52:40 -04:00
platform/x86: asus-wmi: Disable OOBE state after resume from hibernation
ASUS firmware resets OOBE state during S4 suspend, so the keyboard blinks during resume from hibernation. This patch disables OOBE state after resume from hibernation. Signed-off-by: Pavel Nikulin <pavel@noa-labs.com> Link: https://lore.kernel.org/r/20250418140706.1691-1-pavel@noa-labs.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
This commit is contained in:
committed by
Ilpo Järvinen
parent
246f9bb620
commit
77bdac7375
@@ -304,6 +304,7 @@ struct asus_wmi {
|
||||
|
||||
u32 kbd_rgb_dev;
|
||||
bool kbd_rgb_state_available;
|
||||
bool oobe_state_available;
|
||||
|
||||
u8 throttle_thermal_policy_mode;
|
||||
u32 throttle_thermal_policy_dev;
|
||||
@@ -1826,7 +1827,7 @@ static int asus_wmi_led_init(struct asus_wmi *asus)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_OOBE)) {
|
||||
if (asus->oobe_state_available) {
|
||||
/*
|
||||
* Disable OOBE state, so that e.g. the keyboard backlight
|
||||
* works.
|
||||
@@ -4723,6 +4724,7 @@ static int asus_wmi_add(struct platform_device *pdev)
|
||||
asus->egpu_enable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU);
|
||||
asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU);
|
||||
asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE);
|
||||
asus->oobe_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_OOBE);
|
||||
asus->ally_mcu_usb_switch = acpi_has_method(NULL, ASUS_USB0_PWR_EC0_CSEE)
|
||||
&& dmi_check_system(asus_ally_mcu_quirk);
|
||||
|
||||
@@ -4970,6 +4972,13 @@ static int asus_hotk_restore(struct device *device)
|
||||
}
|
||||
if (!IS_ERR_OR_NULL(asus->kbd_led.dev))
|
||||
kbd_led_update(asus);
|
||||
if (asus->oobe_state_available) {
|
||||
/*
|
||||
* Disable OOBE state, so that e.g. the keyboard backlight
|
||||
* works.
|
||||
*/
|
||||
asus_wmi_set_devstate(ASUS_WMI_DEVID_OOBE, 1, NULL);
|
||||
}
|
||||
|
||||
if (asus_wmi_has_fnlock_key(asus))
|
||||
asus_wmi_fnlock_update(asus);
|
||||
|
||||
Reference in New Issue
Block a user