mbox series

[v11,0/5] Dell AWCC platform_profile support

Message ID 20241030000904.7205-2-kuurtb@gmail.com (mailing list archive)
Headers show
Series Dell AWCC platform_profile support | expand

Message

Kurt Borja Oct. 30, 2024, 12:09 a.m. UTC
This patch adds platform_profile support for Dell devices which implement
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

Comments

Ilpo Järvinen Oct. 30, 2024, 12:10 p.m. UTC | #1
On Tue, 29 Oct 2024, Kurt Borja wrote:

> This patch adds platform_profile support for Dell devices which implement
> 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

Huge thanks to you both Kurt and Armin for all the work done to improve 
this series! :-)

I've applied this series to the review-ilpo branch now.