On Tue, 29 Oct 2024, Kurt Borja wrote:
This patch adds platform_profile support for Dell devices which implementHuge thanks to you both Kurt and Armin for all the work done to improve
WMAX thermal interface, that are meant to be controlled by Alienware Command
Center (AWCC). These devices may include newer Alienware M-Series, Alienware
X-Series and Dell's G-Series.
Tested on an Alienware x15 R1.
---
v11:
- Minor changes on patch 4/5
v10:
- `thermal` and `gmode` quirks are now manually selected because some
models with the WMAX interface don't have the necessary thermal
methods.
- Added force_platform_profile and force_gmode patch for a better user
experience
v9:
- Minor changes on patch 3/4
v8:
- Aesthetic and readibility fixes on patch 3/4
- Better commit message for patch 3/4
v7:
- Platform profile implementation refactored in order to efficently
autodetect available thermal profiles
- Added GameShiftStatus method to documentation
- Implemented GameShiftStatus switch for devices that support it
v6:
- Removed quirk thermal_ustt.
- Now quirk thermal can take canonical thermal profile _tables_ defined
in enum WMAX_THERMAL_TABLES
- Added autodetect_thermal_profile
- Proper removal of thermal profile
v5:
- Better commit messages
- insize renamed to in_size in alienware_wmax_command() to match other
arguments.
- Kudos in documentation now at the end of the file
v4:
- Fixed indentation on previous code
- Removed unnecessary (acpi_size) and (u32 *) casts
- Return -EIO on ACPI_FAILURE
- Appropiate prefixes given to macros
- 0xFFFFFFFF named WMAX_FAILURE_CODE
- Added support for a new set of thermal codes. Old ones now have USTT
in their names
- A new quirk has been added to differantiate between the two sets.
thermal and thermal_ustt are mutually exclusive
- Added documentation for WMAX interface
v3:
- Removed extra empty line
- 0x0B named WMAX_ARG_GET_CURRENT_PROF
- Removed casts to the same type on functions added in this patch
- Thermal profile to WMAX argument is now an static function and makes
use of in-built kernel macros
- Platform profile is now removed only if it was created first
- create_platform_profile is now create_thermal_profile to avoid
confusion
- profile_get and profile_set functions renamed too to match the above
v2:
- Moved functionality to alienware-wmi driver
- Added thermal and gmode quirks to add support based on dmi match
- Performance profile is now GMODE for devices that support it
- alienware_wmax_command now is insize agnostic to support new thermal
methods
Kurt Borja (5):
alienware-wmi: fixed indentation and clean up
alienware-wmi: alienware_wmax_command() is now input size agnostic
alienware-wmi: added platform profile support
alienware-wmi: added force module parameters
alienware-wmi: WMAX interface documentation
Documentation/wmi/devices/alienware-wmi.rst | 388 ++++++++++++++++
MAINTAINERS | 1 +
drivers/platform/x86/dell/Kconfig | 1 +
drivers/platform/x86/dell/alienware-wmi.c | 477 ++++++++++++++++----
4 files changed, 791 insertions(+), 76 deletions(-)
create mode 100644 Documentation/wmi/devices/alienware-wmi.rst
this series! :-)
I've applied this series to the review-ilpo branch now.