Linux Hardware Monitor development
 help / color / mirror / Atom feed
* [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