* [PATCH] platform/x86: acer-wmi: Add support for Acer Nitro ANV15-51
@ 2026-07-29 22:29 Justin Vargas
2026-07-29 23:51 ` [PATCH v2] " Justin Vargas
0 siblings, 1 reply; 2+ messages in thread
From: Justin Vargas @ 2026-07-29 22:29 UTC (permalink / raw)
To: jlee, hansg, ilpo.jarvinen
Cc: W_Armin, platform-driver-x86, linux-kernel, Justin Vargas
The Acer Nitro ANV15-51 uses the Predator V4 WMI interface for thermal
profile handling and hardware monitoring, but has no quirk entry, so
these features are only available when the predator_v4 module parameter
is passed manually.
Add a quirk entry for this model.
Note that this machine does not support the turbo thermal profile: its
supported profiles bitmap (misc setting 0x0A) reads 0x53, and writing
PLATFORM_PROFILE_PERFORMANCE is rejected by the firmware. The four
remaining profiles work as expected.
Signed-off-by: Justin Vargas <justinyvar@gmail.com>
Tested-by: Justin Vargas <justinyvar@gmail.com>
---
Tested on an Acer Nitro ANV15-51, BIOS V1.60 (04/08/2026),
kernel 7.0.11-1-cachyos:
$ sudo dmidecode -s system-product-name
Nitro ANV15-51
$ sudo modprobe acer_wmi predator_v4=1
$ cat /sys/firmware/acpi/platform_profile_choices
low-power quiet balanced balanced-performance performance
Writing low-power, quiet, balanced and balanced-performance all succeed
and audibly change fan behaviour. Writing performance is rejected by the
firmware, consistent with the supported profiles bitmap (0x0A) reading
0x53, i.e. bit 5 (turbo) clear.
hwmon works: sensors reports acer-isa-0ace with fan1 3024 RPM,
fan2 2685 RPM, temp1 +48.0 C.
The WMI mechanism was cross-checked on Windows, where NitroSense switches
profiles via SetGamingMiscSetting with index 0x0B and the same profile
values used by this driver.
Disclosure: this patch and the analysis behind it were produced with the
assistance of an AI model (Anthropic Claude). All testing was performed
by me on the physical machine, and I take responsibility for the patch
as signed off above.
drivers/platform/x86/acer-wmi.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index e0eaaefb13d..a7290f85166 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -662,6 +662,15 @@ static const struct dmi_system_id acer_quirks[] __initconst = {
},
.driver_data = &quirk_acer_nitro_an515_58,
},
+ {
+ .callback = dmi_matched,
+ .ident = "Acer Nitro ANV15-51",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Nitro ANV15-51"),
+ },
+ .driver_data = &quirk_acer_predator_v4,
+ },
{
.callback = dmi_matched,
.ident = "Acer Predator PH315-53",
--
2.47.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH v2] platform/x86: acer-wmi: Add support for Acer Nitro ANV15-51
2026-07-29 22:29 [PATCH] platform/x86: acer-wmi: Add support for Acer Nitro ANV15-51 Justin Vargas
@ 2026-07-29 23:51 ` Justin Vargas
0 siblings, 0 replies; 2+ messages in thread
From: Justin Vargas @ 2026-07-29 23:51 UTC (permalink / raw)
To: jlee, hansg, ilpo.jarvinen
Cc: W_Armin, platform-driver-x86, linux-kernel, Justin Vargas
The Acer Nitro ANV15-51 uses the Predator V4 WMI interface for thermal
profile handling and hardware monitoring, but has no quirk entry, so
these features are only available when the predator_v4 module parameter
is passed manually.
Add a quirk entry for this model.
Note that this machine does not support the turbo thermal profile: its
supported profiles bitmap (misc setting 0x0A) reads 0x53, and writing
PLATFORM_PROFILE_PERFORMANCE is rejected by the firmware. The four
remaining profiles work as expected.
Assisted-by: Claude:claude-opus-5
Signed-off-by: Justin Vargas <justinyvar@gmail.com>
Tested-by: Justin Vargas <justinyvar@gmail.com>
---
v2: Add Assisted-by trailer per
Documentation/process/coding-assistants.rst. No change to the code.
Tested on an Acer Nitro ANV15-51, BIOS V1.60 (04/08/2026),
kernel 7.0.11-1-cachyos:
$ sudo dmidecode -s system-product-name
Nitro ANV15-51
$ sudo modprobe acer_wmi predator_v4=1
$ cat /sys/firmware/acpi/platform_profile_choices
low-power quiet balanced balanced-performance performance
Writing low-power, quiet, balanced and balanced-performance all succeed
and audibly change fan behaviour. Writing performance is rejected by the
firmware, consistent with the supported profiles bitmap (0x0A) reading
0x53, i.e. bit 5 (turbo) clear.
hwmon works: sensors reports acer-isa-0ace with fan1 3024 RPM,
fan2 2685 RPM, temp1 +48.0 C.
The WMI mechanism was cross-checked on Windows, where NitroSense switches
profiles via SetGamingMiscSetting with index 0x0B and the same profile
values used by this driver.
The analysis and patch were produced with AI assistance (see the
Assisted-by trailer); all testing was performed by me on the physical
machine, and I take responsibility for the patch as signed off above.
drivers/platform/x86/acer-wmi.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index e0eaaefb13d..a7290f85166 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -662,6 +662,15 @@ static const struct dmi_system_id acer_quirks[] __initconst = {
},
.driver_data = &quirk_acer_nitro_an515_58,
},
+ {
+ .callback = dmi_matched,
+ .ident = "Acer Nitro ANV15-51",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Nitro ANV15-51"),
+ },
+ .driver_data = &quirk_acer_predator_v4,
+ },
{
.callback = dmi_matched,
.ident = "Acer Predator PH315-53",
--
2.47.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-29 23:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-29 22:29 [PATCH] platform/x86: acer-wmi: Add support for Acer Nitro ANV15-51 Justin Vargas
2026-07-29 23:51 ` [PATCH v2] " Justin Vargas
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.