#
ee653d2d |
| 24-Aug-2022 |
PaddyKP_Yao <PaddyKP_Yao@asus.com> |
platform/x86: asus-wmi: Fix the name of the mic-mute LED classdev
According to well-known-leds.txt, we should use "platform::micmute" instead of "asus::micmute" for the name of the mic-mute LED clas
platform/x86: asus-wmi: Fix the name of the mic-mute LED classdev
According to well-known-leds.txt, we should use "platform::micmute" instead of "asus::micmute" for the name of the mic-mute LED classdev.
Signed-off-by: PaddyKP_Yao <PaddyKP_Yao@asus.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20220825004305.709539-1-PaddyKP_Yao@asus.com Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
8028d5d4 |
| 24-Aug-2022 |
PaddyKP_Yao <PaddyKP_Yao@asus.com> |
platform/x86: asus-wmi: Fix the name of the mic-mute LED classdev
According to well-known-leds.txt, we should use "platform::micmute" instead of "asus::micmute" for the name of the mic-mute LED clas
platform/x86: asus-wmi: Fix the name of the mic-mute LED classdev
According to well-known-leds.txt, we should use "platform::micmute" instead of "asus::micmute" for the name of the mic-mute LED classdev.
Signed-off-by: PaddyKP_Yao <PaddyKP_Yao@asus.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20220825004305.709539-1-PaddyKP_Yao@asus.com Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
61f64515 |
| 25-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Implement TUF laptop keyboard power states
Adds support for setting various power states of TUF keyboards. These states are combinations of: - boot, set if a boot animation i
platform/x86: asus-wmi: Implement TUF laptop keyboard power states
Adds support for setting various power states of TUF keyboards. These states are combinations of: - boot, set if a boot animation is shown on keyboard - awake, set if the keyboard LEDs are visible while laptop is on - sleep, set if an animation is displayed while the laptop is suspended - keyboard (unknown effect)
Adds two sysfs attributes to asus::kbd_backlight: - kbd_rgb_state - kbd_rgb_state_index
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220825232251.345893-3-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
e305a71c |
| 25-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Implement TUF laptop keyboard LED modes
Adds support for changing the laptop keyboard LED mode and colour.
The modes are visible effects such as static, rainbow, pulsing, co
platform/x86: asus-wmi: Implement TUF laptop keyboard LED modes
Adds support for changing the laptop keyboard LED mode and colour.
The modes are visible effects such as static, rainbow, pulsing, colour cycles.
These sysfs attributes are added to asus::kbd_backlight: - kbd_rgb_mode - kbd_rgb_mode_index
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220825232251.345893-2-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
12ff4c80 |
| 25-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Support the GPU fan on TUF laptops
Add support for TUF laptops which have the ability to control the GPU fan. This will show as a second fan in hwmon, and has the ability to
platform/x86: asus-wmi: Support the GPU fan on TUF laptops
Add support for TUF laptops which have the ability to control the GPU fan. This will show as a second fan in hwmon, and has the ability to run as boost (fullspeed), or auto.
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220826004210.356534-3-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
601eb4c8 |
| 25-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Modify behaviour of Fn+F5 fan key
Some more recent TUF laptops have both fan_boost and thermal_throttle. The key code for Fn+F5 is also different and unmapped.
This patch ad
platform/x86: asus-wmi: Modify behaviour of Fn+F5 fan key
Some more recent TUF laptops have both fan_boost and thermal_throttle. The key code for Fn+F5 is also different and unmapped.
This patch adjusts the asus_wmi_handle_event_code() match to match for both 0x99 and 0xAE, and run both mode switch functions for fan_boost and/or thermal_throttle if either are available.
It is required that both are tried, as in some instances the ACPI set-method for one may not have any code body within it even though it was returned as supported by the get method.
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220826004210.356534-2-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
1ea0d3b4 |
| 24-Aug-2022 |
Hans de Goede <hdegoede@redhat.com> |
platform/x86: asus-wmi: Simplify tablet-mode-switch handling
Simplify tablet-mode-switch handling: 1. The code is the same for all variants, the only difference is the dev_id and notify event cod
platform/x86: asus-wmi: Simplify tablet-mode-switch handling
Simplify tablet-mode-switch handling: 1. The code is the same for all variants, the only difference is the dev_id and notify event code. Store the dev_id + code in struct asus_wmi and unify the handling 2. Make the new unified asus_wmi_tablet_mode_get_state() check dev_id has been set and make it a no-op when not set. This allows calling it unconditionally at resume/restore time 3. Simplify the tablet_mode_sw module-param handling, this also allows selecting the new lid-flip-rog type through the module-param.
Cc: Luke D. Jones <luke@ljones.dev> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20220824151145.1448010-2-hdegoede@redhat.com
show more ...
|
#
c98dc61e |
| 24-Aug-2022 |
Hans de Goede <hdegoede@redhat.com> |
platform/x86: asus-wmi: Simplify tablet-mode-switch probing
The 3 different tablet-mode-switch initialization paths repeat a lot of the same code. Add a helper function for this.
This also makes th
platform/x86: asus-wmi: Simplify tablet-mode-switch probing
The 3 different tablet-mode-switch initialization paths repeat a lot of the same code. Add a helper function for this.
This also makes the error-handling for the kbd_dock_devid case consistent with the other 2 cases.
Cc: Luke D. Jones <luke@ljones.dev> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20220824151145.1448010-1-hdegoede@redhat.com
show more ...
|
#
e397c3c4 |
| 13-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Add support for ROG X13 tablet mode
Add quirk for ASUS ROG X13 Flow 2-in-1 to enable tablet mode with lid flip (all screen rotations).
Signed-off-by: Luke D. Jones <luke@ljo
platform/x86: asus-wmi: Add support for ROG X13 tablet mode
Add quirk for ASUS ROG X13 Flow 2-in-1 to enable tablet mode with lid flip (all screen rotations).
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220813092753.6635-2-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
00aa8469 |
| 13-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Adjust tablet/lidflip handling to use enum
Due to multiple types of tablet/lidflip, the existing code for handling these events is refactored to use an enum for each type.
S
platform/x86: asus-wmi: Adjust tablet/lidflip handling to use enum
Due to multiple types of tablet/lidflip, the existing code for handling these events is refactored to use an enum for each type.
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220813092753.6635-1-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
01ef026a |
| 13-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Support the hardware GPU MUX on some laptops
Support the hardware GPU MUX switch available on some models. This switch can toggle the MUX between:
- 0, Dedicated mode - 1, O
platform/x86: asus-wmi: Support the hardware GPU MUX on some laptops
Support the hardware GPU MUX switch available on some models. This switch can toggle the MUX between:
- 0, Dedicated mode - 1, Optimus mode
Optimus mode is the regular iGPU + dGPU available, while dedicated mode switches the system to have only the dGPU available.
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220813092624.6228-1-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
3c3b5556 |
| 15-Aug-2022 |
Hans de Goede <hdegoede@redhat.com> |
platform/x86: asus-wmi: Simplify some of the *_check_present() helpers
After the recent cleanup patches, some of the *_check_present() helpers just propagate the result of asus_wmi_dev_is_present().
platform/x86: asus-wmi: Simplify some of the *_check_present() helpers
After the recent cleanup patches, some of the *_check_present() helpers just propagate the result of asus_wmi_dev_is_present().
Replace these with direct asus_wmi_dev_is_present() calls as a further cleanup.
Cc: Luke D. Jones <luke@ljones.dev> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20220815150538.474306-1-hdegoede@redhat.com
show more ...
|
#
ebc443ad |
| 12-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Refactor panel_od attribute
The settings for these attributes can be read from the device, this is now done instead of reading a stored value from module. The stored value is
platform/x86: asus-wmi: Refactor panel_od attribute
The settings for these attributes can be read from the device, this is now done instead of reading a stored value from module. The stored value is also removed.
This means the simpler asus_wmi_dev_is_present() can be used in *_check_present() - it is not an error for these methods to be missing.
The _write() functions have their bodies shifted in to *_store() which simplifies things further.
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220812222509.292692-7-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
36450e7d |
| 12-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Refactor egpu_enable attribute
The settings for these attributes can be read from the device, this is now done instead of reading a stored value from module. The stored value
platform/x86: asus-wmi: Refactor egpu_enable attribute
The settings for these attributes can be read from the device, this is now done instead of reading a stored value from module. The stored value is also removed.
This means the simpler asus_wmi_dev_is_present() can be used in *_check_present() - it is not an error for these methods to be missing.
The _write() functions have their bodies shifted in to *_store() which simplifies things further.
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220812222509.292692-6-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
cdf36fc8 |
| 12-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Refactor disable_gpu attribute
The settings for these attributes can be read from the device, this is now done instead of reading a stored value from module. The stored value
platform/x86: asus-wmi: Refactor disable_gpu attribute
The settings for these attributes can be read from the device, this is now done instead of reading a stored value from module. The stored value is also removed.
This means the simpler asus_wmi_dev_is_present() can be used in *_check_present() - it is not an error for these methods to be missing.
The _write() functions have their bodies shifted in to *_store() which simplifies things further.
Signed-off-by: Luke D. Jones <luke@ljones.dev> Link: https://lore.kernel.org/r/20220812222509.292692-5-luke@ljones.dev Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
a8f9c36c |
| 10-Aug-2022 |
ye xingchen <ye.xingchen@zte.com.cn> |
platform/x86: asus-wmi: Use kobj_to_dev()
Use kobj_to_dev() instead of open-coding it.
Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn> Link: https://
platform/x86: asus-wmi: Use kobj_to_dev()
Use kobj_to_dev() instead of open-coding it.
Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn> Link: https://lore.kernel.org/r/20220811013203.16010-1-ye.xingchen@zte.com.cn Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
170f0da2 |
| 08-Aug-2022 |
Luke D. Jones <luke@ljones.dev> |
platform/x86: asus-wmi: Convert all attr-show to use sysfs_emit
This changes all *_show attributes in asus-wmi.c to use sysfs_emit() instead of the older method of writing to the output buffer manua
platform/x86: asus-wmi: Convert all attr-show to use sysfs_emit
This changes all *_show attributes in asus-wmi.c to use sysfs_emit() instead of the older method of writing to the output buffer manually.
Signed-off-by: Luke D. Jones <luke@ljones.dev> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20220809025054.1626339-6-luke@ljones.dev Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
b644c955 |
| 11-Jul-2022 |
PaddyKP_Yao <PaddyKP_Yao@asus.com> |
platform/x86: asus-wmi: Add mic-mute LED classdev support
In some new ASUS devices, hotkey Fn+F13 is used for mic mute. If mic-mute LED is present by checking WMI ASUS_WMI_DEVID_MICMUTE_LED, we will
platform/x86: asus-wmi: Add mic-mute LED classdev support
In some new ASUS devices, hotkey Fn+F13 is used for mic mute. If mic-mute LED is present by checking WMI ASUS_WMI_DEVID_MICMUTE_LED, we will add a mic-mute LED classdev, asus::micmute, in the asus-wmi driver to control it. The binding of mic-mute LED controls will be swithched with LED trigger.
Signed-off-by: PaddyKP_Yao <PaddyKP_Yao@asus.com> Link: https://lore.kernel.org/r/20220711115125.2072508-1-PaddyKP_Yao@asus.com Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
Revision tags: v5.15.44, v5.15.43, v5.15.42, v5.18, v5.15.41, v5.15.40, v5.15.39, v5.15.38 |
|
#
3e70a57b |
| 06-May-2022 |
Luca Stefani <luca.stefani.ge1@gmail.com> |
platform/x86: asus-wmi: Update unknown code message
Prepend 0x to the actual key code to specify it is already an hex value
Signed-off-by: Luca Stefani <luca.stefani.ge1@gmail.com> Link: https://lo
platform/x86: asus-wmi: Update unknown code message
Prepend 0x to the actual key code to specify it is already an hex value
Signed-off-by: Luca Stefani <luca.stefani.ge1@gmail.com> Link: https://lore.kernel.org/r/20220506122536.113566-1-luca.stefani.ge1@gmail.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
Revision tags: v5.15.37, v5.15.36 |
|
#
9fe1bb29 |
| 27-Apr-2022 |
Hans de Goede <hdegoede@redhat.com> |
platform/x86: asus-wmi: Fix driver not binding when fan curve control probe fails
Before this commit fan_curve_check_present() was trying to not cause the probe to fail on devices without fan curve
platform/x86: asus-wmi: Fix driver not binding when fan curve control probe fails
Before this commit fan_curve_check_present() was trying to not cause the probe to fail on devices without fan curve control by testing for known error codes returned by asus_wmi_evaluate_method_buf().
Checking for ENODATA or ENODEV, with the latter being returned by this function when an ACPI integer with a value of ASUS_WMI_UNSUPPORTED_METHOD is returned. But for other ACPI integer returns this function just returns them as is, including the ASUS_WMI_DSTS_UNKNOWN_BIT value of 2.
On the Asus U36SD ASUS_WMI_DSTS_UNKNOWN_BIT gets returned, leading to:
asus-nb-wmi: probe of asus-nb-wmi failed with error 2
Instead of playing whack a mole with error codes here, simply treat all errors as there not being any fan curves, fixing the driver no longer loading on the Asus U36SD laptop.
Fixes: e3d13da7f77d ("platform/x86: asus-wmi: Fix regression when probing for fan curve control") BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2079125 Cc: Luke D. Jones <luke@ljones.dev> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20220427114956.332919-1-hdegoede@redhat.com
show more ...
|
Revision tags: v5.15.35, v5.15.34 |
|
#
4345ece8 |
| 13-Apr-2022 |
Dan Carpenter <dan.carpenter@oracle.com> |
platform/x86: asus-wmi: Potential buffer overflow in asus_wmi_evaluate_method_buf()
This code tests for if the obj->buffer.length is larger than the buffer but then it just does the memcpy() anyway.
platform/x86: asus-wmi: Potential buffer overflow in asus_wmi_evaluate_method_buf()
This code tests for if the obj->buffer.length is larger than the buffer but then it just does the memcpy() anyway.
Fixes: 0f0ac158d28f ("platform/x86: asus-wmi: Add support for custom fan curves") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20220413073744.GB8812@kili Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
242e85a7 |
| 25-Apr-2022 |
Minghao Chi <chi.minghao@zte.com.cn> |
platform/x86: asus-wmi: Use kobj_to_dev()
Use kobj_to_dev() instead of open-coding it.
Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> Link: https://
platform/x86: asus-wmi: Use kobj_to_dev()
Use kobj_to_dev() instead of open-coding it.
Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> Link: https://lore.kernel.org/r/20220425105446.3515663-1-chi.minghao@zte.com.cn Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
#
c5f2b8e9 |
| 27-Apr-2022 |
Hans de Goede <hdegoede@redhat.com> |
platform/x86: asus-wmi: Fix driver not binding when fan curve control probe fails
Before this commit fan_curve_check_present() was trying to not cause the probe to fail on devices without fan curve
platform/x86: asus-wmi: Fix driver not binding when fan curve control probe fails
Before this commit fan_curve_check_present() was trying to not cause the probe to fail on devices without fan curve control by testing for known error codes returned by asus_wmi_evaluate_method_buf().
Checking for ENODATA or ENODEV, with the latter being returned by this function when an ACPI integer with a value of ASUS_WMI_UNSUPPORTED_METHOD is returned. But for other ACPI integer returns this function just returns them as is, including the ASUS_WMI_DSTS_UNKNOWN_BIT value of 2.
On the Asus U36SD ASUS_WMI_DSTS_UNKNOWN_BIT gets returned, leading to:
asus-nb-wmi: probe of asus-nb-wmi failed with error 2
Instead of playing whack a mole with error codes here, simply treat all errors as there not being any fan curves, fixing the driver no longer loading on the Asus U36SD laptop.
Fixes: e3d13da7f77d ("platform/x86: asus-wmi: Fix regression when probing for fan curve control") BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2079125 Cc: Luke D. Jones <luke@ljones.dev> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20220427114956.332919-1-hdegoede@redhat.com
show more ...
|
#
d2833762 |
| 13-Apr-2022 |
Dan Carpenter <dan.carpenter@oracle.com> |
platform/x86: asus-wmi: Potential buffer overflow in asus_wmi_evaluate_method_buf()
This code tests for if the obj->buffer.length is larger than the buffer but then it just does the memcpy() anyway.
platform/x86: asus-wmi: Potential buffer overflow in asus_wmi_evaluate_method_buf()
This code tests for if the obj->buffer.length is larger than the buffer but then it just does the memcpy() anyway.
Fixes: 0f0ac158d28f ("platform/x86: asus-wmi: Add support for custom fan curves") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20220413073744.GB8812@kili Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
show more ...
|
Revision tags: v5.15.33, v5.15.32, v5.15.31, v5.17, v5.15.30, v5.15.29, v5.15.28, v5.15.27, v5.15.26, v5.15.25, v5.15.24, v5.15.23, v5.15.22, v5.15.21, v5.15.20 |
|
#
e3d13da7 |
| 05-Feb-2022 |
Hans de Goede <hdegoede@redhat.com> |
platform/x86: asus-wmi: Fix regression when probing for fan curve control
The fan curve control patches introduced a regression for at least the TUF FX506 and possibly other TUF series laptops that
platform/x86: asus-wmi: Fix regression when probing for fan curve control
The fan curve control patches introduced a regression for at least the TUF FX506 and possibly other TUF series laptops that do not have support for fan curve control.
As part of the probing process, asus_wmi_evaluate_method_buf is called to get the factory default fan curve . The WMI management function returns 0 on certain laptops to indicate lack of fan curve control instead of ASUS_WMI_UNSUPPORTED_METHOD. This 0 is transformed to -ENODATA which results in failure when probing.
Fixes: 0f0ac158d28f ("platform/x86: asus-wmi: Add support for custom fan curves") Reported-and-tested-by: Abhijeet V <abhijeetviswa@gmail.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20220205112840.33095-1-hdegoede@redhat.com
show more ...
|