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 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 -- 2.47.0
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.
Am 30.10.24 um 13:10 schrieb Ilpo Järvinen:
> 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.
Nice.
Would it be possible to apply a small fixup to patch 4?
Because pr_warn("force_gmode requieres platform profile support") seems to be missing a newline.
Thanks,
Armin Wolf
On Wed, Oct 30, 2024 at 08:54:37PM +0100, Armin Wolf wrote:
> Am 30.10.24 um 13:10 schrieb Ilpo Järvinen:
>
> > 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.
>
> Nice.
>
> Would it be possible to apply a small fixup to patch 4?
> Because pr_warn("force_gmode requieres platform profile support") seems to be missing a newline.
Should I send a new patch with that fixup or v12?
Kurt.
>
> Thanks,
> Armin Wolf
>
On Wed, 30 Oct 2024, Kurt Borja wrote:
> On Wed, Oct 30, 2024 at 08:54:37PM +0100, Armin Wolf wrote:
> > Am 30.10.24 um 13:10 schrieb Ilpo Järvinen:
> >
> > > 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.
> >
> > Nice.
> >
> > Would it be possible to apply a small fixup to patch 4?
> > Because pr_warn("force_gmode requieres platform profile support") seems to be missing a newline.
>
> Should I send a new patch with that fixup or v12?
>
> Kurt.
Neither. I took care of this for you inside review-ilpo branch. :-)
--
i.
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 >
© 2016 - 2026 Red Hat, Inc.