[RFC PATCH 0/1] platform/x86/tuxedo: Implement TUXEDO TUXI ACPI TFAN via hwmon
From: Werner Sembach
Date: Wed Feb 05 2025 - 11:21:59 EST
This Implements fan controls for userspace for the TUXEDO Sirius 16 Gen 1 & 2.
It also adds safeguards that userspace cannot go below certain fanspeeds at
certain temperatures. My suspicion that this is necessary was proven correct
during testing of this patch: The former version had the highest safeguard level
as 40% fanspeed at temperatures above 90°C. But after letting the device run
like that with a CPU + GPU load for a short period of time, it turned off.
It was hot to the touch above the keyboard and it doesn't turn on anymore since
then. Even after letting it cool down overnight. So I probably fried the
mainboard.
This cut my testing short for the time being and is the reason why this is send
as an RFC. It should however work and now has two additional min fanspeeds: 60%
at 95°C and 100% at 100°C.
Enforcing these minimum fanspeeds at the EC-firmware level is not possible as we
only have access to the EC-firmware as a binary blob.
Werner Sembach (1):
platform/x86/tuxedo: Implement TUXEDO TUXI ACPI TFAN via hwmon
MAINTAINERS | 6 +
drivers/platform/x86/Kconfig | 2 +
drivers/platform/x86/Makefile | 3 +
drivers/platform/x86/tuxedo/Kbuild | 6 +
drivers/platform/x86/tuxedo/Kconfig | 6 +
drivers/platform/x86/tuxedo/nbxx/Kbuild | 9 +
drivers/platform/x86/tuxedo/nbxx/Kconfig | 13 +
.../x86/tuxedo/nbxx/acpi_tuxi_hwmon.c | 421 ++++++++++++++++++
.../x86/tuxedo/nbxx/acpi_tuxi_hwmon.h | 14 +
.../platform/x86/tuxedo/nbxx/acpi_tuxi_init.c | 60 +++
.../platform/x86/tuxedo/nbxx/acpi_tuxi_init.h | 16 +
.../platform/x86/tuxedo/nbxx/acpi_tuxi_util.c | 58 +++
.../platform/x86/tuxedo/nbxx/acpi_tuxi_util.h | 84 ++++
13 files changed, 698 insertions(+)
create mode 100644 drivers/platform/x86/tuxedo/Kbuild
create mode 100644 drivers/platform/x86/tuxedo/Kconfig
create mode 100644 drivers/platform/x86/tuxedo/nbxx/Kbuild
create mode 100644 drivers/platform/x86/tuxedo/nbxx/Kconfig
create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_hwmon.c
create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_hwmon.h
create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_init.c
create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_init.h
create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_util.c
create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_util.h
--
2.43.0