Skip to content

[FROM-ML] asus-armoury: gate PPT writes on active fan curves#52

Open
Ghoul4500 wants to merge 2 commits into
ogc-7.0.yfrom
asus-armoury-gate-ppt
Open

[FROM-ML] asus-armoury: gate PPT writes on active fan curves#52
Ghoul4500 wants to merge 2 commits into
ogc-7.0.yfrom
asus-armoury-gate-ppt

Conversation

@Ghoul4500
Copy link
Copy Markdown
Member

@Ghoul4500 Ghoul4500 force-pushed the asus-armoury-gate-ppt branch from 5c8183d to b6fcb17 Compare May 15, 2026 15:44
Ghoul4500 added 2 commits May 15, 2026 20:31
…an curve

On models flagged with requires_fan_curve in the DMI power_data table
(28 entries), the BIOS ACPI method SPLX only writes PPT values to the
EC when the fan mode is set to Manual (FANM=4). FANM is set to 4 by
the DEFC method when a custom fan curve is written. Without an active
custom fan curve, the WMI DEVS call returns success but the firmware
silently ignores the PPT value, so userspace observes no effect from
its write.

Gate writes to ASUS_WMI_DEVID_PPT_{PL1_SPL,PL2_SPPT,PL3_FPPT,APU_SPPT,
PLAT_SPPT} on a check of asus_wmi_custom_fan_curve_is_enabled(), and
return -EBUSY with a pr_warn() when no fan curve is active on an
affected model. Export the helper from asus-wmi so asus-armoury can
call it across module boundaries.

Signed-off-by: Ahmed Yaseen <yaseen@ghoul.dev>
…ysfs

Expose the per-model requires_fan_curve flag as a read-only sysfs
attribute so userspace tools (asusctl, rogcc) can discover whether
the system requires an active custom fan curve for PPT changes to
take effect, and warn the user before issuing such writes.

The attribute appears at:

/sys/class/firmware-attributes/asus-armoury/attributes/requires_fan_curve

Document the attribute in
Documentation/ABI/testing/sysfs-class-firmware-attributes.

Signed-off-by: Ahmed Yaseen <yaseen@ghoul.dev>
@KyleGospo KyleGospo force-pushed the asus-armoury-gate-ppt branch from b6fcb17 to 1ee713e Compare May 16, 2026 03:32
@KyleGospo KyleGospo changed the base branch from master to ogc-7.0.y May 16, 2026 03:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants