Revision tags: v5.4.39, v5.4.38, v5.4.37, v5.4.36, v5.4.35, v5.4.34, v5.4.33, v5.4.32, v5.4.31, v5.4.30, v5.4.29, v5.6, v5.4.28, v5.4.27, v5.4.26, v5.4.25, v5.4.24 |
|
#
edeee341 |
| 04-Mar-2020 |
Leonid Maksymchuk <leonmaxx@gmail.com> |
platform/x86: asus_wmi: Fix return value of fan_boost_mode_store
Function fan_boost_mode_store returns 0 if store is successful, this leads to infinite loop after any write to it's sysfs entry:
# e
platform/x86: asus_wmi: Fix return value of fan_boost_mode_store
Function fan_boost_mode_store returns 0 if store is successful, this leads to infinite loop after any write to it's sysfs entry:
# echo 0 >/sys/devices/platform/asus-nb-wmi/fan_boost_mode
This command never ends, one CPU core is at 100% utilization. This patch fixes this by returning size of written data.
Fixes: b096f626a682 ("platform/x86: asus-wmi: Switch fan boost mode") Signed-off-by: Leonid Maksymchuk <leonmaxx@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
6b3586d4 |
| 03-Mar-2020 |
Kristian Klausen <kristian@klausen.dk> |
platform/x86: asus-wmi: Support laptops where the first battery is named BATT
The WMI method to set the charge threshold does not provide a way to specific a battery, so we assume it is the first/pr
platform/x86: asus-wmi: Support laptops where the first battery is named BATT
The WMI method to set the charge threshold does not provide a way to specific a battery, so we assume it is the first/primary battery (by checking if the name is BAT0). On some newer ASUS laptops (Zenbook UM431DA) though, the primary/first battery isn't named BAT0 but BATT, so we need to support that case.
Fixes: 7973353e92ee ("platform/x86: asus-wmi: Refactor charge threshold to use the battery hooking API") Cc: stable@vger.kernel.org Signed-off-by: Kristian Klausen <kristian@klausen.dk> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.4.23, v5.4.22, v5.4.21, v5.4.20, v5.4.19, v5.4.18, v5.4.17 |
|
#
f07b9fdf |
| 31-Jan-2020 |
Akinobu Mita <akinobu.mita@gmail.com> |
platform/x86: asus-wmi: switch to use <linux/units.h> helpers
The asus-wmi driver doesn't implement the thermal device functionality directly, so including <linux/thermal.h> just for DECI_KELVIN_TO_
platform/x86: asus-wmi: switch to use <linux/units.h> helpers
The asus-wmi driver doesn't implement the thermal device functionality directly, so including <linux/thermal.h> just for DECI_KELVIN_TO_CELSIUS() is a bit odd.
This switches the asus-wmi driver to use deci_kelvin_to_millicelsius() in <linux/units.h>.
The format string is changed from %d to %ld due to function returned type.
Link: http://lkml.kernel.org/r/1576386975-7941-4-git-send-email-akinobu.mita@gmail.com Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Acked-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Sujith Thomas <sujith.thomas@intel.com> Cc: Darren Hart <dvhart@infradead.org> Cc: Andy Shevchenko <andy@infradead.org> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Amit Kucheria <amit.kucheria@verdurent.com> Cc: Jean Delvare <jdelvare@suse.com> Cc: Guenter Roeck <linux@roeck-us.net> Cc: Keith Busch <kbusch@kernel.org> Cc: Jens Axboe <axboe@fb.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Sagi Grimberg <sagi@grimberg.me> Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Cc: Hartmut Knaack <knaack.h@gmx.de> Cc: Johannes Berg <johannes.berg@intel.com> Cc: Jonathan Cameron <jic23@kernel.org> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com> Cc: Kalle Valo <kvalo@codeaurora.org> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: Luca Coelho <luciano.coelho@intel.com> Cc: Peter Meerwald-Stadler <pmeerw@pmeerw.net> Cc: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
show more ...
|
Revision tags: v5.4.16, v5.5, v5.4.15, v5.4.14, v5.4.13, v5.4.12, v5.4.11, v5.4.10, v5.4.9, v5.4.8, v5.4.7 |
|
#
26e66a0c |
| 30-Dec-2019 |
Jian-Hong Pan <jian-hong@endlessm.com> |
platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
Some of ASUS laptops like UX431FL keyboard backlight cannot be set to brightness 0. According to ASUS' information, the brightness
platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
Some of ASUS laptops like UX431FL keyboard backlight cannot be set to brightness 0. According to ASUS' information, the brightness should be 0x80 ~ 0x83. This patch fixes it by following the logic.
Fixes: e9809c0b9670 ("asus-wmi: add keyboard backlight support") Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com> Reviewed-by: Daniel Drake <drake@endlessm.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
176a7fca |
| 30-Dec-2019 |
Jian-Hong Pan <jian-hong@endlessm.com> |
platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
Some of ASUS laptops like UX431FL keyboard backlight cannot be set to brightness 0. According to ASUS' information, the brightness
platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
Some of ASUS laptops like UX431FL keyboard backlight cannot be set to brightness 0. According to ASUS' information, the brightness should be 0x80 ~ 0x83. This patch fixes it by following the logic.
Fixes: e9809c0b9670 ("asus-wmi: add keyboard backlight support") Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com> Reviewed-by: Daniel Drake <drake@endlessm.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.4.6, v5.4.5, v5.4.4 |
|
#
a2821584 |
| 15-Dec-2019 |
Leonid Maksymchuk <leonmaxx@gmail.com> |
platform/x86: asus_wmi: Set throttle thermal policy to default
ASUS TUF FX705DY/FX505DY starts in silent mode and under heavy CPU load it overheats and drops CPU frequency to 399MHz and stays at it
platform/x86: asus_wmi: Set throttle thermal policy to default
ASUS TUF FX705DY/FX505DY starts in silent mode and under heavy CPU load it overheats and drops CPU frequency to 399MHz and stays at it until reboot [1]. Set throttle thermal policy to default to avoid overheating and throttlig.
[1] Link: https://bugzilla.kernel.org/show_bug.cgi?id=203733
Signed-off-by: Leonid Maksymchuk <leonmaxx@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
2daa86e7 |
| 15-Dec-2019 |
Leonid Maksymchuk <leonmaxx@gmail.com> |
platform/x86: asus_wmi: Support throttle thermal policy
Throttle thermal policy ACPI device is used to control CPU cooling and throttling. This patch adds sysfs entry for setting current mode and Fn
platform/x86: asus_wmi: Support throttle thermal policy
Throttle thermal policy ACPI device is used to control CPU cooling and throttling. This patch adds sysfs entry for setting current mode and Fn+F5 hotkey that switches to next.
Policy modes: * 0x00 - default * 0x01 - overboost * 0x02 - silent
Signed-off-by: Leonid Maksymchuk <leonmaxx@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.4.3, v5.3.15, v5.4.2, v5.4.1, v5.3.14, v5.4, v5.3.13, v5.3.12, v5.3.11, v5.3.10, v5.3.9, v5.3.8, v5.3.7, v5.3.6, v5.3.5, v5.3.4, v5.3.3, v5.3.2, v5.3.1, v5.3, v5.2.14 |
|
#
7973353e |
| 09-Sep-2019 |
Kristian Klausen <kristian@klausen.dk> |
platform/x86: asus-wmi: Refactor charge threshold to use the battery hooking API
At the same time use the official naming for the knobs.
Tested on a Zenbook UX430UNR.
Signed-off-by: Kristian Klaus
platform/x86: asus-wmi: Refactor charge threshold to use the battery hooking API
At the same time use the official naming for the knobs.
Tested on a Zenbook UX430UNR.
Signed-off-by: Kristian Klausen <kristian@klausen.dk> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
0c37f448 |
| 09-Sep-2019 |
Kristian Klausen <kristian@klausen.dk> |
platform/x86: asus-wmi: Rename CHARGE_THRESHOLD to RSOC
The device is officially called "Relative state of charge" (RSOC). At the same time add the missing DEVID from the name.
Signed-off-by: Krist
platform/x86: asus-wmi: Rename CHARGE_THRESHOLD to RSOC
The device is officially called "Relative state of charge" (RSOC). At the same time add the missing DEVID from the name.
Signed-off-by: Kristian Klausen <kristian@klausen.dk> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.3-rc8, v5.2.13, v5.2.12 |
|
#
07779c33 |
| 02-Sep-2019 |
Dan Carpenter <dan.carpenter@oracle.com> |
platform/x86: asus-wmi: Fix condition in charge_threshold_store()
This error handling is reversed so we return early.
Fixes: 84d8e80b0a36 ("platform/x86: asus-wmi: Refactor charge_threshold_store()
platform/x86: asus-wmi: Fix condition in charge_threshold_store()
This error handling is reversed so we return early.
Fixes: 84d8e80b0a36 ("platform/x86: asus-wmi: Refactor charge_threshold_store()") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.2.11, v5.2.10 |
|
#
109e8adf |
| 16-Aug-2019 |
Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
platform/x86: asus-wmi: Remove unnecessary blank lines
Remove blank lines where they are not needed.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
|
#
127e1dfc |
| 16-Aug-2019 |
Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
platform/x86: asus-wmi: Drop indentation level by inverting conditionals
We have extra indentation level where it can be avoided by changing conditional to the inverted one.
Do it here for three su
platform/x86: asus-wmi: Drop indentation level by inverting conditionals
We have extra indentation level where it can be avoided by changing conditional to the inverted one.
Do it here for three such locations in the driver.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
22757520 |
| 16-Aug-2019 |
Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
platform/x86: asus-wmi: Use clamp_val() instead of open coded variant
There is no need to open code clamp_val() macro implementation. Replace the corresponding lines with direct call to clamp_val().
platform/x86: asus-wmi: Use clamp_val() instead of open coded variant
There is no need to open code clamp_val() macro implementation. Replace the corresponding lines with direct call to clamp_val().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
a5556fa1 |
| 16-Aug-2019 |
Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
platform/x86: asus-wmi: Replace sscanf() with kstrtoint()
The use of sscanf() is an overkill here. Moreover, there is no need to check for count to be 0, since it's guaranteed by sysfs not to be.
T
platform/x86: asus-wmi: Replace sscanf() with kstrtoint()
The use of sscanf() is an overkill here. Moreover, there is no need to check for count to be 0, since it's guaranteed by sysfs not to be.
Taking above into account, replace sscanf() with kstrtoint() calls.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
84d8e80b |
| 16-Aug-2019 |
Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
platform/x86: asus-wmi: Refactor charge_threshold_store()
There are few issues with the current code: - the error code from kstrtouint() is shadowed - the error code from asus_wmi_set_devstate() i
platform/x86: asus-wmi: Refactor charge_threshold_store()
There are few issues with the current code: - the error code from kstrtouint() is shadowed - the error code from asus_wmi_set_devstate() is ignored - the extra check against 0 for count (this is guaranteed by sysfs)
Fix these issues by doing a slight refactoring of charge_threshold_store().
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.2.9, v5.2.8, v5.2.7 |
|
#
d507a54f |
| 05-Aug-2019 |
Kristian Klausen <kristian@klausen.dk> |
platform/x86: asus-wmi: Add support for charge threshold
Most newer ASUS laptops supports limiting the battery charge level, which help prolonging the battery life.
Tested on a Zenbook UX430UNR.
S
platform/x86: asus-wmi: Add support for charge threshold
Most newer ASUS laptops supports limiting the battery charge level, which help prolonging the battery life.
Tested on a Zenbook UX430UNR.
Signed-off-by: Kristian Klausen <kristian@klausen.dk> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.2.6, v5.2.5 |
|
#
e3168b87 |
| 29-Jul-2019 |
Daniel Drake <drake@endlessm.com> |
platform/x86: asus-wmi: fix CPU fan control on recent products
Previously, asus-wmi was using the AGFN interface and FAN_CTRL device for CPU fan control. However, this code has been found to be not
platform/x86: asus-wmi: fix CPU fan control on recent products
Previously, asus-wmi was using the AGFN interface and FAN_CTRL device for CPU fan control. However, this code has been found to be not fully working on some recent products, and having checked the spec, these interfaces are marked as being removed from future products currently in development.
The replacement appears to be the CPU_FAN device, added in spec version 8.3 (March 2014) and present on many modern Asus laptops.
Add support for this device, and use it whenever it is detected. The older approach based on AGFN and FAN_CTRL is used as a fallback on products that do not have such device.
Other than switching between automatic and full speed, there is no fan speed control through this new interface.
Signed-off-by: Daniel Drake <drake@endlessm.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
f1fc0321 |
| 29-Jul-2019 |
Daniel Drake <drake@endlessm.com> |
platform/x86: asus-wmi: add a helper for device presence
Factor out the WLAN LED and lightbar LED presence checks into a helper function, which will also be used by the upcoming CPU fan device suppo
platform/x86: asus-wmi: add a helper for device presence
Factor out the WLAN LED and lightbar LED presence checks into a helper function, which will also be used by the upcoming CPU fan device support.
Signed-off-by: Daniel Drake <drake@endlessm.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
2889ffcf |
| 29-Jul-2019 |
Daniel Drake <drake@endlessm.com> |
platform/x86: asus-wmi: cleanup AGFN fan handling
The asus-wmi driver currently uses the "AGFN" interface and the FAN_CTRL device for fan control. According to the spec, this interface is very dated
platform/x86: asus-wmi: cleanup AGFN fan handling
The asus-wmi driver currently uses the "AGFN" interface and the FAN_CTRL device for fan control. According to the spec, this interface is very dated and marked as pending removal from products currently in development.
Clean up the way that the AGFN fan is detected and handled, also preparing the driver for the introduction of an alternate fan control method needed to support recent Asus products.
Not anticipating further development of this interface, simplify the code by dropping any notion of being able to control multiple AGFN fans (this was already limited to just a single fan through only exposing a single fan in sysfs).
Check for the presence of AGFN fans at probe time, simplifying the code flow in asus_hwmon_sysfs_is_visible().
Signed-off-by: Daniel Drake <drake@endlessm.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.2.4, v5.2.3, v5.2.2, v5.2.1, v5.2 |
|
#
340f25ff |
| 03-Jul-2019 |
Fuqian Huang <huangfq.daxian@gmail.com> |
platform/x86: asus-wmi: Use kmemdup rather than duplicating its implementation
kmemdup is introduced to duplicate a region of memory in a neat way. Rather than kmalloc/kzalloc + memcpy, which the pr
platform/x86: asus-wmi: Use kmemdup rather than duplicating its implementation
kmemdup is introduced to duplicate a region of memory in a neat way. Rather than kmalloc/kzalloc + memcpy, which the programmer needs to write the size twice (sometimes lead to mistakes), kmemdup improves readability, leads to smaller code and also reduce the chances of mistakes. Suggestion to use kmemdup rather than using kmalloc/kzalloc + memcpy.
Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
9af93db9 |
| 17-Jul-2019 |
Daniel Drake <drake@endlessm.com> |
platform/x86: asus: Rename "fan mode" to "fan boost mode"
The Asus WMI spec indicates that the function being controlled here is called "Fan Boost Mode". The user-facing documentation also calls it
platform/x86: asus: Rename "fan mode" to "fan boost mode"
The Asus WMI spec indicates that the function being controlled here is called "Fan Boost Mode". The user-facing documentation also calls it this.
The spec uses the term "fan mode" is used to refer to other things, including functionality expected to appear on future products. We missed this before as we are not dealing with the most readable of specs, and didn't forsee any confusion around shortening the name.
Rename "fan mode" to "fan boost mode" to improve consistency with the spec and to avoid a future naming conflict.
There is no interface breakage here since this has yet to be included in an official kernel release. I also updated the kernel version listed under ABI accordingly.
Signed-off-by: Daniel Drake <drake@endlessm.com> Acked-by: Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.1.16 |
|
#
8e8fe446 |
| 30-Jun-2019 |
Fuqian Huang <huangfq.daxian@gmail.com> |
platform/x86: asus-wmi: Use dev_get_drvdata()
Using dev_get_drvdata directly.
Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.co
platform/x86: asus-wmi: Use dev_get_drvdata()
Using dev_get_drvdata directly.
Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
Revision tags: v5.1.15, v5.1.14, v5.1.13, v5.1.12, v5.1.11, v5.1.10, v5.1.9, v5.1.8, v5.1.7, v5.1.6, v5.1.5, v5.1.4, v5.1.3 |
|
#
3e58167a |
| 14-May-2019 |
Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com> |
platform/x86: asus-wmi: Do not disable keyboard backlight on unloading
The keyboard backlight is automatically disabled when the module is unloaded as it is exposed as a ledclass device. Change this
platform/x86: asus-wmi: Do not disable keyboard backlight on unloading
The keyboard backlight is automatically disabled when the module is unloaded as it is exposed as a ledclass device. Change this behavior to ignore setting brightness when the device is in unloading state.
Signed-off-by: Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
b096f626 |
| 14-May-2019 |
Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com> |
platform/x86: asus-wmi: Switch fan boost mode
The WMI exposes a write-only device ID where up to three fan modes can be switched on some laptops (TUF Gaming FX505GM). There is a hotkey combination F
platform/x86: asus-wmi: Switch fan boost mode
The WMI exposes a write-only device ID where up to three fan modes can be switched on some laptops (TUF Gaming FX505GM). There is a hotkey combination Fn-F5 that does have a fan icon, which is designed to toggle between fan modes. The DSTS of the device ID returns information about the presence of this capability and the presence of each of the two additional fan modes as a bitmask (0x01 - overboost present, 0x02 - silent present) [1].
Add a SysFS entry that reads the last written value and updates value in WMI on write and a hotkey handler that toggles the modes taking into account their availability according to DSTS.
Modes: * 0x00 - normal or balanced, * 0x01 - overboost, increased fan RPM, * 0x02 - silent, decreased fan RPM
[1] Link: https://lkml.org/lkml/2019/4/12/110
Signed-off-by: Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com> Suggested-by: Daniel Drake <drake@endlessm.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|
#
4fd19825 |
| 14-May-2019 |
Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com> |
platform/x86: asus-wmi: Enhance detection of thermal data
The obviously wrong value 1 for temperature device ID in this driver is returned by at least some devices, including TUF Gaming series lapto
platform/x86: asus-wmi: Enhance detection of thermal data
The obviously wrong value 1 for temperature device ID in this driver is returned by at least some devices, including TUF Gaming series laptops, instead of 0 as expected previously. Observable effect is that a temp1_input in hwmon reads temperature near absolute zero.
Consider 0.1 K an erroneous value in addition to 0 K.
Signed-off-by: Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
show more ...
|