* [PATCH v2] hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME
@ 2026-06-08 6:08 Eugene Shalygin
2026-06-08 6:23 ` sashiko-bot
2026-06-08 12:33 ` Guenter Roeck
0 siblings, 2 replies; 4+ messages in thread
From: Eugene Shalygin @ 2026-06-08 6:08 UTC (permalink / raw)
To: eugene.shalygin
Cc: Brian Downey, Guenter Roeck, Jonathan Corbet, Shuah Khan,
open list:HARDWARE MONITORING, open list:DOCUMENTATION, open list
From: Brian Downey <bdowne01@gmail.com>
Add support for ROG MAXIMUS Z790 EXTREME
Signed-off-by: Brian Downey <bdowne01@gmail.com>
Signed-off-by: Eugene Shalygin <eugene.shalygin@gmail.com>
---
Documentation/hwmon/asus_ec_sensors.rst | 1 +
drivers/hwmon/asus-ec-sensors.c | 15 +++++++++++++++
2 files changed, 16 insertions(+)
diff --git a/Documentation/hwmon/asus_ec_sensors.rst b/Documentation/hwmon/asus_ec_sensors.rst
index 9ad3f0a57f55..60f1a6036538 100644
--- a/Documentation/hwmon/asus_ec_sensors.rst
+++ b/Documentation/hwmon/asus_ec_sensors.rst
@@ -29,6 +29,7 @@ Supported boards:
* ROG MAXIMUS XI HERO
* ROG MAXIMUS XI HERO (WI-FI)
* ROG MAXIMUS Z690 FORMULA
+ * ROG MAXIMUS Z790 EXTREME
* ROG STRIX B550-E GAMING
* ROG STRIX B550-I GAMING
* ROG STRIX B650E-I GAMING WIFI
diff --git a/drivers/hwmon/asus-ec-sensors.c b/drivers/hwmon/asus-ec-sensors.c
index 070bb368f2b7..0e78750de34a 100644
--- a/drivers/hwmon/asus-ec-sensors.c
+++ b/drivers/hwmon/asus-ec-sensors.c
@@ -399,6 +399,12 @@ static const struct ec_sensor_info sensors_family_intel_700[] = {
[ec_sensor_temp_vrm] = EC_SENSOR("VRM", hwmon_temp, 1, 0x00, 0x33),
[ec_sensor_fan_cpu_opt] =
EC_SENSOR("CPU_Opt", hwmon_fan, 2, 0x00, 0xb0),
+ [ec_sensor_fan_water_flow] =
+ EC_SENSOR("Water_Flow", hwmon_fan, 2, 0x00, 0xbc),
+ [ec_sensor_temp_water_in] =
+ EC_SENSOR("Water_In", hwmon_temp, 1, 0x01, 0x00),
+ [ec_sensor_temp_water_out] =
+ EC_SENSOR("Water_Out", hwmon_temp, 1, 0x01, 0x01),
};
/* Shortcuts for common combinations */
@@ -509,6 +515,13 @@ static const struct ec_board_info board_info_maximus_z690_formula = {
.family = family_intel_600_series,
};
+static const struct ec_board_info board_info_maximus_z790_extreme = {
+ .sensors = SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM |
+ SENSOR_SET_TEMP_WATER | SENSOR_FAN_WATER_FLOW,
+ .mutex_path = ASUS_HW_ACCESS_MUTEX_RMTW_ASMX,
+ .family = family_intel_700_series,
+};
+
static const struct ec_board_info board_info_prime_x470_pro = {
.sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB |
SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM |
@@ -857,6 +870,8 @@ static const struct dmi_system_id dmi_table[] = {
&board_info_maximus_x_hero),
DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG MAXIMUS Z690 FORMULA",
&board_info_maximus_z690_formula),
+ DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG MAXIMUS Z790 EXTREME",
+ &board_info_maximus_z790_extreme),
DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX B550-E GAMING",
&board_info_strix_b550_e_gaming),
DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX B550-I GAMING",
--
2.54.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME
2026-06-08 6:08 [PATCH v2] hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME Eugene Shalygin
@ 2026-06-08 6:23 ` sashiko-bot
2026-06-08 6:44 ` Eugene Shalygin
2026-06-08 12:33 ` Guenter Roeck
1 sibling, 1 reply; 4+ messages in thread
From: sashiko-bot @ 2026-06-08 6:23 UTC (permalink / raw)
To: Eugene Shalygin; +Cc: linux-hwmon
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] Flawed loop condition in asus_ec_block_read() causes invalid EC hardware bank reads
--
commit 8836d81dc6f932fbdf066b7ca8c52190b6258c01
Author: Brian Downey <bdowne01@gmail.com>
hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME
This commit adds hardware monitoring support for the ROG MAXIMUS Z790 EXTREME
motherboard to the asus-ec-sensors driver. It registers new sensor
configurations including water cooling telemetry and updates the DMI matching
table.
> diff --git a/drivers/hwmon/asus-ec-sensors.c b/drivers/hwmon/asus-ec-sensors.c
> index b5d97a27f80d3..08418a01208cb 100644
> --- a/drivers/hwmon/asus-ec-sensors.c
> +++ b/drivers/hwmon/asus-ec-sensors.c
> @@ -404,6 +404,12 @@ static const struct ec_sensor_info sensors_family_intel_700[] = {
> [ec_sensor_temp_vrm] = EC_SENSOR("VRM", hwmon_temp, 1, 0x00, 0x33),
> [ec_sensor_fan_cpu_opt] =
> EC_SENSOR("CPU_Opt", hwmon_fan, 2, 0x00, 0xb0),
> + [ec_sensor_fan_water_flow] =
> + EC_SENSOR("Water_Flow", hwmon_fan, 2, 0x00, 0xbc),
> + [ec_sensor_temp_water_in] =
> + EC_SENSOR("Water_In", hwmon_temp, 1, 0x01, 0x00),
> + [ec_sensor_temp_water_out] =
> + EC_SENSOR("Water_Out", hwmon_temp, 1, 0x01, 0x01),
> };
[Severity: High]
This is a pre-existing issue, but will adding sensors across multiple banks
like 0x00 and 0x01 trigger a bug in asus_ec_block_read()?
Looking at asus_ec_block_read(), the inner loop iterates over all requested
registers but only skips past banks, omitting a check for future banks:
drivers/hwmon/asus-ec-sensors.c:asus_ec_block_read() {
...
for (ireg = 0; ireg < ec->nr_registers; ireg++) {
reg_bank = register_bank(ec->registers[ireg]);
if (reg_bank < bank) {
continue;
}
ec_read(register_index(ec->registers[ireg]),
...
Since the ec->registers array is not strictly sorted by bank index, could
this cause the embedded controller to issue an ec_read() for registers
of future banks while physically switched to the current, lower bank?
This might result in unintended side effects like clearing clear-on-read
status registers or disrupting hardware behavior.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260608060855.40469-1-eugene.shalygin@gmail.com?part=1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME
2026-06-08 6:23 ` sashiko-bot
@ 2026-06-08 6:44 ` Eugene Shalygin
0 siblings, 0 replies; 4+ messages in thread
From: Eugene Shalygin @ 2026-06-08 6:44 UTC (permalink / raw)
To: sashiko-reviews; +Cc: linux-hwmon
On Mon, 8 Jun 2026 at 08:23, <sashiko-bot@kernel.org> wrote:
> Looking at asus_ec_block_read(), the inner loop iterates over all requested
> registers but only skips past banks, omitting a check for future banks:
>
> drivers/hwmon/asus-ec-sensors.c:asus_ec_block_read() {
> ...
> for (ireg = 0; ireg < ec->nr_registers; ireg++) {
> reg_bank = register_bank(ec->registers[ireg]);
> if (reg_bank < bank) {
> continue;
> }
> ec_read(register_index(ec->registers[ireg]),
> ...
>
There are only two known banks at the moment, bank 0 and bank 1. The
condition can be replaced with '!=', of course.
Cheers,
Eugene
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME
2026-06-08 6:08 [PATCH v2] hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME Eugene Shalygin
2026-06-08 6:23 ` sashiko-bot
@ 2026-06-08 12:33 ` Guenter Roeck
1 sibling, 0 replies; 4+ messages in thread
From: Guenter Roeck @ 2026-06-08 12:33 UTC (permalink / raw)
To: Eugene Shalygin
Cc: Brian Downey, Jonathan Corbet, Shuah Khan,
open list:HARDWARE MONITORING, open list:DOCUMENTATION, open list
On Mon, Jun 08, 2026 at 08:08:41AM +0200, Eugene Shalygin wrote:
> From: Brian Downey <bdowne01@gmail.com>
>
> Add support for ROG MAXIMUS Z790 EXTREME
>
> Signed-off-by: Brian Downey <bdowne01@gmail.com>
> Signed-off-by: Eugene Shalygin <eugene.shalygin@gmail.com>
Applied. Please provide change logs in the future.
Guenter
> ---
> Documentation/hwmon/asus_ec_sensors.rst | 1 +
> drivers/hwmon/asus-ec-sensors.c | 15 +++++++++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/Documentation/hwmon/asus_ec_sensors.rst b/Documentation/hwmon/asus_ec_sensors.rst
> index 9ad3f0a57f55..60f1a6036538 100644
> --- a/Documentation/hwmon/asus_ec_sensors.rst
> +++ b/Documentation/hwmon/asus_ec_sensors.rst
> @@ -29,6 +29,7 @@ Supported boards:
> * ROG MAXIMUS XI HERO
> * ROG MAXIMUS XI HERO (WI-FI)
> * ROG MAXIMUS Z690 FORMULA
> + * ROG MAXIMUS Z790 EXTREME
> * ROG STRIX B550-E GAMING
> * ROG STRIX B550-I GAMING
> * ROG STRIX B650E-I GAMING WIFI
> diff --git a/drivers/hwmon/asus-ec-sensors.c b/drivers/hwmon/asus-ec-sensors.c
> index 070bb368f2b7..0e78750de34a 100644
> --- a/drivers/hwmon/asus-ec-sensors.c
> +++ b/drivers/hwmon/asus-ec-sensors.c
> @@ -399,6 +399,12 @@ static const struct ec_sensor_info sensors_family_intel_700[] = {
> [ec_sensor_temp_vrm] = EC_SENSOR("VRM", hwmon_temp, 1, 0x00, 0x33),
> [ec_sensor_fan_cpu_opt] =
> EC_SENSOR("CPU_Opt", hwmon_fan, 2, 0x00, 0xb0),
> + [ec_sensor_fan_water_flow] =
> + EC_SENSOR("Water_Flow", hwmon_fan, 2, 0x00, 0xbc),
> + [ec_sensor_temp_water_in] =
> + EC_SENSOR("Water_In", hwmon_temp, 1, 0x01, 0x00),
> + [ec_sensor_temp_water_out] =
> + EC_SENSOR("Water_Out", hwmon_temp, 1, 0x01, 0x01),
> };
>
> /* Shortcuts for common combinations */
> @@ -509,6 +515,13 @@ static const struct ec_board_info board_info_maximus_z690_formula = {
> .family = family_intel_600_series,
> };
>
> +static const struct ec_board_info board_info_maximus_z790_extreme = {
> + .sensors = SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM |
> + SENSOR_SET_TEMP_WATER | SENSOR_FAN_WATER_FLOW,
> + .mutex_path = ASUS_HW_ACCESS_MUTEX_RMTW_ASMX,
> + .family = family_intel_700_series,
> +};
> +
> static const struct ec_board_info board_info_prime_x470_pro = {
> .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB |
> SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM |
> @@ -857,6 +870,8 @@ static const struct dmi_system_id dmi_table[] = {
> &board_info_maximus_x_hero),
> DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG MAXIMUS Z690 FORMULA",
> &board_info_maximus_z690_formula),
> + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG MAXIMUS Z790 EXTREME",
> + &board_info_maximus_z790_extreme),
> DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX B550-E GAMING",
> &board_info_strix_b550_e_gaming),
> DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX B550-I GAMING",
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-08 12:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-08 6:08 [PATCH v2] hwmon: (asus-ec-sensors) add ROG MAXIMUS Z790 EXTREME Eugene Shalygin
2026-06-08 6:23 ` sashiko-bot
2026-06-08 6:44 ` Eugene Shalygin
2026-06-08 12:33 ` Guenter Roeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox