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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux