Closed qzed closed 2 years ago
The relevant driver for this on WIndows seems to be the SurfaceSmfClient
driver. As far as I can tell it uses the same old ACPI/SAN interface. Unfortunately it doesn't look like there are any descriptive strings around as to which sensor has which purpose/place on the device.
Relevant issue in SAM repo: https://github.com/linux-surface/surface-aggregator-module/issues/59.
Thermal sensors have been implemented in https://github.com/linux-surface/kernel/commit/1cdd37f43fe526c259d06702528808e7d6efd66a and https://github.com/linux-surface/kernel/commit/1cdd37f43fe526c259d06702528808e7d6efd66a with bindings in https://github.com/linux-surface/kernel/commit/95eb0b8a56bd6e12646439c27fc1bd96ddff5b95. It doesn't look like there's any sysfs API for setting thermal trip points from user-space, so that SAM interface is currently not used. Maybe we'd have to define some fixed ones in the DT and integrate them, but there aren't any defined in ACPI. So temperatures only for now.
Thermal sensors are provided by both the SoC and via SAM. This issue is for sensors provided via SAM.
In essence, we will need to write a new SAM subsystem driver for that. The interface should be similar to the one used in ACPI on older generations with the SAN bridge device.