[PATCH 0/1] platform/surface: platform_profile: add fan profile switching

Ivor Wanders posted 1 patch 1 year, 11 months ago
.../surface/surface_aggregator_registry.c     | 36 +++++---
.../surface/surface_platform_profile.c        | 86 ++++++++++++++++---
2 files changed, 99 insertions(+), 23 deletions(-)
[PATCH 0/1] platform/surface: platform_profile: add fan profile switching
Posted by Ivor Wanders 1 year, 11 months ago
This patch adds functionality that switches the fan profile when the 
platform profile is switched on the Microsoft Surface Pro 9.

Previously, the fan profile was not changed and that results in poor
thermal performance. This makes the behaviour and functionality identical
to what the Windows drivers do. 

A plot of the different responses to system load, as well as recordings
from the SSAM bus can be found at [1]. Based on discussions with
Maximilian Luz there this patch proposes the following changes:

In surface_aggregator_registry:
- Rename ssam_node_tmp_pprof to ssam_node_tmp_perf_profile for clarity.
- Introduce ssam_node_tmp_perf_profile_with_fan that has the has_fan
  boolean property set.
- Use the new ssam_node_tmp_perf_profile_with_fan for the Surface Pro 9.

In the platform profile module:
- Rename ssam_tmp_profile_device to ssam_platform_profile_device to make it
  clear it handles more than just the TMP subsystem.
- Rename the enum conversion method to make distinction between TMP and FAN
  clear.
- Add enum and set function & request for the fan profile.
- Ensure that if the module's has_fan boolean is true, the fan profile is
  switched whenever the platform profile changes.


[1]: https://github.com/linux-surface/kernel/pull/145

Ivor Wanders (1):
  platform/surface: platform_profile: add fan profile switching

 .../surface/surface_aggregator_registry.c     | 36 +++++---
 .../surface/surface_platform_profile.c        | 86 ++++++++++++++++---
 2 files changed, 99 insertions(+), 23 deletions(-)

-- 
2.17.1
Re: [PATCH 0/1] platform/surface: platform_profile: add fan profile switching
Posted by Maximilian Luz 1 year, 11 months ago
On 3/2/24 18:01, Ivor Wanders wrote:
> This patch adds functionality that switches the fan profile when the
> platform profile is switched on the Microsoft Surface Pro 9.
> 
> Previously, the fan profile was not changed and that results in poor
> thermal performance. This makes the behaviour and functionality identical
> to what the Windows drivers do.
> 
> A plot of the different responses to system load, as well as recordings
> from the SSAM bus can be found at [1]. Based on discussions with
> Maximilian Luz there this patch proposes the following changes:
> 
> In surface_aggregator_registry:
> - Rename ssam_node_tmp_pprof to ssam_node_tmp_perf_profile for clarity.
> - Introduce ssam_node_tmp_perf_profile_with_fan that has the has_fan
>    boolean property set.
> - Use the new ssam_node_tmp_perf_profile_with_fan for the Surface Pro 9.
> 
> In the platform profile module:
> - Rename ssam_tmp_profile_device to ssam_platform_profile_device to make it
>    clear it handles more than just the TMP subsystem.
> - Rename the enum conversion method to make distinction between TMP and FAN
>    clear.
> - Add enum and set function & request for the fan profile.
> - Ensure that if the module's has_fan boolean is true, the fan profile is
>    switched whenever the platform profile changes.
> 
> 
> [1]: https://github.com/linux-surface/kernel/pull/145
> 
> Ivor Wanders (1):
>    platform/surface: platform_profile: add fan profile switching
> 
>   .../surface/surface_aggregator_registry.c     | 36 +++++---
>   .../surface/surface_platform_profile.c        | 86 ++++++++++++++++---
>   2 files changed, 99 insertions(+), 23 deletions(-)
> 

Looks good to me.

Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>