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.
Kurt Borja Oct. 30, 2024, 2:41 p.m. UTC | #2
On Wed, Oct 30, 2024 at 02:10:24PM +0200, Ilpo Järvinen wrote:
> 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.
> 
> -- 
>  i.

Huge thanks to you both :). I learnt a lot.

Regards,
Kurt

>