[Bug 204807] Hardware monitoring sensor nct6798d doesn't work unless acpi_enforce_resources=lax is enabled

bugzilla-daemon
2022-12-24T14:42:10Z

Denis Pauk (pauk.denis@gmail.com) changed:

What |Removed |Added
----------------------------------------------------------------------------
Attachment #303333|0 |1
is obsolete| |

--- Comment #278 from Denis Pauk (pauk.denis@gmail.com) ---
Created attachment 303466
--> https://bugzilla.kernel.org/attachment.cgi?id=303466&action=edit
Asus WMI for nct6775 v6.1 base (2022.12.24)

Simplified version of patch with removed custom i2c adapter and reworked access
to sensors on previous generation of boards (<=AMD B550/X570) and additional
new generation boards(AMD B650/X670).

B550/X570 style:
"CROSSHAIR VI HERO", // use custom port definition
"PRIME B360-PLUS",
"PRIME B450-PLUS", // use custom port definition
"PRIME B450M-GAMING II", // use custom port definition
"PRIME B450M-GAMING/BR", // use custom port definition
"PRIME B460-PLUS",
"PRIME B550-PLUS",
"PRIME B550M-A",
"PRIME B550M-A (WI-FI)",
"PRIME B550M-A AC",
"PRIME B550M-A WIFI II",
"PRIME B550M-K",
"PRIME H410M-R",
"PRIME X370-PRO", // use custom port definition
"PRIME X470-PRO", // use custom port definition
"PRIME X570-P",
"PRIME X570-PRO",
"PRO H410T",
"Pro B550M-C",
"Pro WS X570-ACE",
"ProArt B550-CREATOR",
"ProArt X570-CREATOR WIFI",
"ProArt Z490-CREATOR 10G",
"ROG CROSSHAIR VI EXTREME", // use custom port definition
"ROG CROSSHAIR VI HERO (WI-FI AC)", // use custom port definition
"ROG CROSSHAIR VII HERO", // use custom port definition
"ROG CROSSHAIR VII HERO (WI-FI)", // use custom port definition
"ROG CROSSHAIR VIII DARK HERO",
"ROG CROSSHAIR VIII EXTREME",
"ROG CROSSHAIR VIII FORMULA",
"ROG CROSSHAIR VIII HERO",
"ROG CROSSHAIR VIII HERO (WI-FI)",
"ROG CROSSHAIR VIII IMPACT",
"ROG MAXIMUS XI HERO",
"ROG MAXIMUS XI HERO (WI-FI)",
"ROG STRIX B350-F GAMING", // use custom port definition
"ROG STRIX B350-I GAMING", // use custom port definition
"ROG STRIX B450-E GAMING", // use custom port definition
"ROG STRIX B450-F GAMING", // use custom port definition
"ROG STRIX B450-F GAMING II", // use custom port definition
"ROG STRIX B450-I GAMING", // use custom port definition
"ROG STRIX B550-A GAMING",
"ROG STRIX B550-E GAMING",
"ROG STRIX B550-F GAMING",
"ROG STRIX B550-F GAMING (WI-FI)",
"ROG STRIX B550-F GAMING WIFI II",
"ROG STRIX B550-I GAMING",
"ROG STRIX B550-XE GAMING (WI-FI)",
"ROG STRIX X370-F GAMING", // use custom port definition
"ROG STRIX X370-I GAMING", // use custom port definition
"ROG STRIX X470-F GAMING", // use custom port definition
"ROG STRIX X470-I GAMING", // use custom port definition
"ROG STRIX X570-E GAMING",
"ROG STRIX X570-E GAMING WIFI II",
"ROG STRIX X570-F GAMING",
"ROG STRIX X570-I GAMING",
"ROG STRIX Z390-E GAMING",
"ROG STRIX Z390-F GAMING",
"ROG STRIX Z390-H GAMING",
"ROG STRIX Z390-I GAMING",
"ROG STRIX Z490-A GAMING",
"ROG STRIX Z490-E GAMING",
"ROG STRIX Z490-F GAMING",
"ROG STRIX Z490-G GAMING",
"ROG STRIX Z490-G GAMING (WI-FI)",
"ROG STRIX Z490-H GAMING",
"ROG STRIX Z490-I GAMING",
"TUF B450 PLUS GAMING", // use custom port definition
"TUF GAMING B450-PLUS II", // use custom port definition
"TUF GAMING B550-PLUS",
"TUF GAMING B550-PLUS WIFI II",
"TUF GAMING B550-PRO",
"TUF GAMING B550M-E",
"TUF GAMING B550M-E (WI-FI)",
"TUF GAMING B550M-PLUS",
"TUF GAMING B550M-PLUS (WI-FI)",
"TUF GAMING B550M-PLUS WIFI II",
"TUF GAMING X570-PLUS",
"TUF GAMING X570-PLUS (WI-FI)",
"TUF GAMING X570-PRO (WI-FI)",
"TUF GAMING Z490-PLUS",
"TUF GAMING Z490-PLUS (WI-FI)",
"Z490-GUNDAM (WI-FI)",

B650/X670:
"PRIME B650-PLUS",
"PRIME B650M-A",
"PRIME B650M-A (WI-FI)",
"ProArt B660-CREATOR D4",
"ProArt X670E-CREATOR WIFI",
"ProArt Z790-CREATOR WIFI", // use custom port definition
"ROG CROSSHAIR X670E EXTREME",
"ROG CROSSHAIR X670E GENE",
"ROG CROSSHAIR X670E HERO",
"ROG MAXIMUS XIII EXTREME GLACIAL",
"ROG MAXIMUS Z690 EXTREME",
"ROG MAXIMUS Z690 EXTREME GLACIAL",
"ROG MAXIMUS Z790 EXTREME", // use custom port definition
"ROG STRIX B650E-E GAMING (WI-FI)",
"ROG STRIX B650E-F GAMING (WI-FI)",
"ROG STRIX B660-I GAMING WIFI",
"ROG STRIX X670E-A GAMING WIFI",
"ROG STRIX X670E-E GAMING WIFI",
"ROG STRIX X670E-F GAMING WIFI",
"ROG STRIX X670E-I GAMING WIFI",
"ROG STRIX Z590-A GAMING WIFI II",
"ROG STRIX Z690-A GAMING WIFI D4",
"TUF GAMING Z590-PLUS WIFI",

By mutex lock:
DMI_MATCH_ASUS_NONWMI_BOARD("P8Z68-V LX", &acpi_board_LPCB_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("CROSSHAIR VI HERO", &acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("MAXIMUS IX APEX", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("MAXIMUS IX CODE", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("MAXIMUS IX EXTREME", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("MAXIMUS IX FORMULA", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("MAXIMUS IX HERO", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("MAXIMUS VII HERO", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("P8H67", &acpi_board_LPCB_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("PRIME B450M-GAMING/BR",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("PRIME B450M-GAMING II",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("PRIME B450-PLUS", &acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("PRIME X370-PRO", &acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("PRIME X470-PRO", &acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("PRIME Z270-A", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ProArt Z790-CREATOR WIFI",
&acpi_board_0LPC_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG CROSSHAIR VI EXTREME",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG CROSSHAIR VI HERO (WI-FI AC)",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG CROSSHAIR VII HERO",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG CROSSHAIR VII HERO (WI-FI)",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG MAXIMUS X HERO", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG MAXIMUS Z790 EXTREME",
&acpi_board_0LPC_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX B350-F GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX B350-I GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX B450-E GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX B450-F GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX B450-F GAMING II",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX B450-I GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX X370-F GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX X370-I GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX X470-F GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX X470-I GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("ROG STRIX Z370-H GAMING",
&acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("STRIX-Z270E-GAMING", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("STRIX-Z270F-GAMING", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("STRIX-Z270G-GAMING", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("STRIX-Z270H-GAMING", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("TUF B450 PLUS GAMING",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("TUF GAMING B450-PLUS II",
&acpi_board_SBRG_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("TUF Z270 MARK 1", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("Z170-DELUXE", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("Z170M-PLUS", &acpi_board_GPEM_MUTEX),
DMI_MATCH_ASUS_WMI_BOARD("Z270-WS", &acpi_board_GPEM_MUTEX),

If boards are in several lists, access could be possible by several methods.

If new patch will work for you, I will start to prepare patches for upstream
review(except mutex changes).

Boards with "use custom port definition" mark could be in such patches only
after test with real board as such boards use little different method
definitions than in fully tested boards.