[0/8] asus-wmi: add/expose more features, fixes

Message ID 20230620025641.53197-1-luke@ljones.dev
Headers
Series asus-wmi: add/expose more features, fixes |

Message

Luke Jones June 20, 2023, 2:56 a.m. UTC
  This patch series adds or exposes more features that are available in the ROG
laptop series.

- expose dGPU and CPU tunables for ROG
  - These are things like GPU boost, CPU Pl1 and PL2, package power limits
- support setting mini-LED mode
  - Some newer laptops have a screen that can toggle between regular style
    backlight and using mini-LED backlight
- add WMI method to show if egpu connected
  - This WMI method can be monitored/queried to see if it is possible to begin
    the change-over to eGPU
- support middle fan custom curves
  - Some newer laptops have a center/middle fan which blows across the CPU and GPU
- add support for showing middle fan RPM
- add support for showing charger mode (AC, USB-C, both plugged)
- add additional checks to GPU switching code
  - These try to prevent a sceanrio such as the user disabling the dGPU while it
    is driving the internal panel via MUX, resulting in no output at all.
    There are no checks in the ACPI code for this, but on some newer models ASUS
    did finally add a switch in the BIOS menu. It is best to try and prevent this
    at the kernel level rather than userland level.

All patches pass ./scripts/checkpatch.pl

Luke D. Jones (8):
  platform/x86: asus-wmi: add support for showing charger mode
  platform/x86: asus-wmi: add support for showing middle fan RPM
  platform/x86: asus-wmi: support middle fan custom curves
  platform/x86: asus-wmi: add WMI method to show if egpu connected
  platform/x86: asus-wmi: don't allow eGPU switching if eGPU not
    connected
  platform/x86: asus-wmi: add safety checks to gpu switching
  platform/x86: asus-wmi: support setting mini-LED mode
  platform/x86: asus-wmi: expose dGPU and CPU tunables for ROG

 .../ABI/testing/sysfs-platform-asus-wmi       | 100 +++
 drivers/platform/x86/asus-wmi.c               | 685 +++++++++++++++++-
 include/linux/platform_data/x86/asus-wmi.h    |  21 +-
 3 files changed, 803 insertions(+), 3 deletions(-)