Re: [PATCH 0/3] Update ASUS WMI supported boards.

From: Oleksandr Natalenko
Date: Sun Oct 03 2021 - 08:47:22 EST


Hello.

On neděle 3. října 2021 13:50:12 CEST Oleksandr Natalenko wrote:
> On sobota 2. října 2021 23:08:53 CEST Denis Pauk wrote:
> > Add support to nct6775:
> > * PRIME B360-PLUS
> > * PRIME X570-PRO
> > * ROG CROSSHAIR VIII FORMULA
> > * ROG STRIX B550-I GAMING
> > * ROG STRIX X570-F GAMING
> > * ROG STRIX Z390-E GAMING
> > * TUF GAMING B550-PRO
> > * TUF GAMING Z490-PLUS
> > * TUF GAMING Z490-PLUS (WI-FI)
>
> Thank you for this submission.
>
> Do you happen to know whether it can be extended with another ASUS board
> which is:
>
> ```
> Manufacturer: ASUSTeK COMPUTER INC.
> Product Name: Pro WS X570-ACE
> ```
>
> ?
>
> I've got one, and in case any info or testing is needed, I'd be happy to
> contribute.
>
> Currently, this board is kinda working after adding
> `acpi_enforce_resources=lax`, but I assume a proper support is needed
> instead.

Partially answering to myself, but still need some clarification.

I did this on top of your recent submissions:

```
diff --git a/drivers/hwmon/asus_wmi_sensors.c b/drivers/hwmon/
asus_wmi_sensors.c
index 6b04fad18891..f6817ec9de29 100644
--- a/drivers/hwmon/asus_wmi_sensors.c
+++ b/drivers/hwmon/asus_wmi_sensors.c
@@ -35,6 +35,7 @@
#define ASUS_EC_KNOWN_EC_REGISTERS 14

enum asus_wmi_ec_board {
+ BOARD_PW_X570_A, // Pro WS X570-ACE
BOARD_R_C8H, // ROG Crosshair VIII Hero
BOARD_R_C8DH, // ROG Crosshair VIII Dark Hero
BOARD_R_C8F, // ROG Crosshair VIII Formula
@@ -44,6 +45,7 @@ enum asus_wmi_ec_board {

/* boards with EC support */
static const char *const asus_wmi_ec_boards_names[] = {
+ [BOARD_PW_X570_A] = "Pro WS X570-ACE",
[BOARD_R_C8H] = "ROG CROSSHAIR VIII HERO",
[BOARD_R_C8DH] = "ROG CROSSHAIR VIII DARK HERO",
[BOARD_R_C8F] = "ROG CROSSHAIR VIII FORMULA",
@@ -130,6 +132,7 @@ static void asus_wmi_ec_fill_board_sensors(struct
asus_wmi_ec_info *ec, int boar
ec->nr_registers = 0;

switch (board) {
+ case BOARD_PW_X570_A:
case BOARD_RS_B550_E_G:
case BOARD_RS_X570_E_G:
case BOARD_R_C8H:
@@ -153,6 +156,7 @@ static void asus_wmi_ec_fill_board_sensors(struct
asus_wmi_ec_info *ec, int boar
}

switch (board) {
+ case BOARD_PW_X570_A:
case BOARD_RS_X570_E_G:
case BOARD_R_C8H:
case BOARD_R_C8DH:
@@ -166,6 +170,7 @@ static void asus_wmi_ec_fill_board_sensors(struct
asus_wmi_ec_info *ec, int boar
}

switch (board) {
+ case BOARD_PW_X570_A:
case BOARD_RS_X570_E_G:
case BOARD_R_C8H:
case BOARD_R_C8F:
diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index ba18c1cbf572..ff28ba70a8b3 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -5000,6 +5000,7 @@ static int __init nct6775_find(int sioaddr, struct
nct6775_sio_data *sio_data)
static struct platform_device *pdev[2];

static const char * const asus_wmi_boards[] = {
+ "Pro WS X570-ACE",
"PRIME B360-PLUS",
"PRIME B460-PLUS",
"PRIME X570-PRO",
```

Now, with nct6775 I do not need `acpi_enforce_resources=lax` any more, and it
works straight away:

```
nct6798-isa-0290
Adapter: ISA adapter
in0: 1.06 V (min = +0.00 V, max = +1.74 V)
in1: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in2: 3.38 V (min = +0.00 V, max = +0.00 V) ALARM
in3: 3.36 V (min = +0.00 V, max = +0.00 V) ALARM
in4: 1.74 V (min = +0.00 V, max = +0.00 V) ALARM
in5: 592.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in6: 1.09 V (min = +0.00 V, max = +0.00 V) ALARM
in7: 3.38 V (min = +0.00 V, max = +0.00 V) ALARM
in8: 3.25 V (min = +0.00 V, max = +0.00 V) ALARM
in9: 888.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in10: 8.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in11: 80.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in12: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in13: 1.35 V (min = +0.00 V, max = +0.00 V) ALARM
in14: 888.00 mV (min = +0.00 V, max = +0.00 V) ALARM
fan1: 743 RPM (min = 0 RPM)
fan2: 366 RPM (min = 0 RPM)
fan3: 724 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan7: 0 RPM (min = 0 RPM)
SYSTIN: +35.0°C (high = +80.0°C, hyst = +75.0°C) sensor =
thermistor
CPUTIN: +43.0°C (high = +80.0°C, hyst = +75.0°C) sensor =
thermistor
AUXTIN0: +22.0°C sensor = thermistor
AUXTIN1: +127.0°C sensor = thermistor
AUXTIN2: +109.0°C sensor = thermistor
AUXTIN3: +32.0°C sensor = thermistor
PECI Agent 0 Calibration: +44.5°C
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
intrusion0: ALARM
intrusion1: OK
beep_enable: disabled
```

With asus_wmi_sensors I get this:

```
asuswmiecsensors-isa-0000
Adapter: ISA adapter
CPU_Opt: 0 RPM
Chipset: 1733 RPM
Chipset: +58.0°C
CPU: +45.0°C
Motherboard: +35.0°C
T_Sensor: +216.0°C
VRM: +34.0°C
CPU: 7.00 A
```

Everything seems to be good except that `T_Sensor`. Probably, I should exclude
it on this board?

If you are fine with the approach above, I'll post 2 patches for this board.

Thanks.

--
Oleksandr Natalenko (post-factum)