[PATCH] hwmon: dell-smm-hwmon: Add fan control for OptiPlex Micro 7020

Jonas Haugk posted 1 patch 2 months ago
drivers/hwmon/dell-smm-hwmon.c | 9 +++++++++
1 file changed, 9 insertions(+)
[PATCH] hwmon: dell-smm-hwmon: Add fan control for OptiPlex Micro 7020
Posted by Jonas Haugk 2 months ago
Add the Dell OptiPlex Micro 7020 to the fan control whitelist using
the 0x34a3/0x35a3 SMM command pair.

Manual fan control was tested successfully with PWM values 64, 128,
and 255. The fan speed changed accordingly. Restoring automatic BIOS
fan control through pwm1_enable also worked correctly.

Tested on a Dell OptiPlex Micro 7020.

Signed-off-by: Jonas Haugk <j.haugk@gmx.de>
---
 drivers/hwmon/dell-smm-hwmon.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
index 20920d4bd..23773421a 100644
--- a/drivers/hwmon/dell-smm-hwmon.c
+++ b/drivers/hwmon/dell-smm-hwmon.c
@@ -1655,6 +1655,15 @@ static const struct dmi_system_id i8k_whitelist_fan_control[] __initconst = {
 		},
 		.driver_data = (void *)&i8k_fan_control_data[I8K_FAN_30A3_31A3],
 	},
+	{
+		.ident = "Dell OptiPlex Micro 7020",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_EXACT_MATCH(DMI_PRODUCT_NAME,
+					"OptiPlex Micro 7020"),
+		},
+		.driver_data = (void *)&i8k_fan_control_data[I8K_FAN_34A3_35A3],
+	},
 	{ }
 };
 
-- 
2.39.5
Re: [PATCH] hwmon: dell-smm-hwmon: Add fan control for OptiPlex Micro 7020
Posted by Armin Wolf 2 months ago
Am 02.08.26 um 23:03 schrieb Jonas Haugk:

> Add the Dell OptiPlex Micro 7020 to the fan control whitelist using
> the 0x34a3/0x35a3 SMM command pair.
>
> Manual fan control was tested successfully with PWM values 64, 128,
> and 255. The fan speed changed accordingly. Restoring automatic BIOS
> fan control through pwm1_enable also worked correctly.
>
> Tested on a Dell OptiPlex Micro 7020.

Hi,

can you check if the I8K_FAN_30A3_31A3 pair also work? AFAIK this pair
is being used by recent releases of the OEM software, so i would prefer
using it.

Thanks,
Armin Wolf

>
> Signed-off-by: Jonas Haugk <j.haugk@gmx.de>
> ---
>   drivers/hwmon/dell-smm-hwmon.c | 9 +++++++++
>   1 file changed, 9 insertions(+)
>
> diff --git a/drivers/hwmon/dell-smm-hwmon.c b/drivers/hwmon/dell-smm-hwmon.c
> index 20920d4bd..23773421a 100644
> --- a/drivers/hwmon/dell-smm-hwmon.c
> +++ b/drivers/hwmon/dell-smm-hwmon.c
> @@ -1655,6 +1655,15 @@ static const struct dmi_system_id i8k_whitelist_fan_control[] __initconst = {
>   		},
>   		.driver_data = (void *)&i8k_fan_control_data[I8K_FAN_30A3_31A3],
>   	},
> +	{
> +		.ident = "Dell OptiPlex Micro 7020",
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +			DMI_EXACT_MATCH(DMI_PRODUCT_NAME,
> +					"OptiPlex Micro 7020"),
> +		},
> +		.driver_data = (void *)&i8k_fan_control_data[I8K_FAN_34A3_35A3],
> +	},
>   	{ }
>   };
>