kernel_optimize_test/Documentation/hwmon
Guenter Roeck 625ee7d267 hwmon: (max31790) Fix pwmX_enable attributes
[ Upstream commit 148c847c9e5a54b99850617bf9c143af9a344f92 ]

pwmX_enable supports three possible values:

0: Fan control disabled. Duty cycle is fixed to 0%
1: Fan control enabled, pwm mode. Duty cycle is determined by
   values written into Target Duty Cycle registers.
2: Fan control enabled, rpm mode
   Duty cycle is adjusted such that fan speed matches
   the values in Target Count registers

The current code does not do this; instead, it mixes pwm control
configuration with fan speed monitoring configuration. Worse, it
reports that pwm control would be disabled (pwmX_enable==0) when
it is in fact enabled in pwm mode. Part of the problem may be that
the chip sets the "TACH input enable" bit on its own whenever the
mode bit is set to RPM mode, but that doesn't mean that "TACH input
enable" accurately reflects the pwm mode.

Fix it up and only handle pwm control with the pwmX_enable attributes.
In the documentation, clarify that disabling pwm control (pwmX_enable=0)
sets the pwm duty cycle to 0%. In the code, explain why TACH_INPUT_EN
is set together with RPM_MODE.

While at it, only update the configuration register if the configuration
has changed, and only update the cached configuration if updating the
chip configuration was successful.

Cc: Jan Kundrát <jan.kundrat@cesnet.cz>
Cc: Václav Kubernát <kubernat@cesnet.cz>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Václav Kubernát <kubernat@cesnet.cz>
Reviewed-by: Jan Kundrát <jan.kundrat@cesnet.cz>
Link: https://lore.kernel.org/r/20210526154022.3223012-4-linux@roeck-us.net
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-14 16:55:55 +02:00
..
ab8500.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
abituguru-datasheet.rst Documentation: fix typo for abituguru documentation 2020-08-24 17:19:07 -06:00
abituguru.rst Documentation: fix typo for abituguru documentation 2020-08-24 17:19:07 -06:00
abituguru3.rst Documentation: fix typo for abituguru documentation 2020-08-24 17:19:07 -06:00
abx500.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
acpi_power_meter.rst ACPI: Use valid link to the ACPI specification 2020-07-27 14:11:22 +02:00
ad7314.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
adc128d818.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
adm1021.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
adm1025.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
adm1026.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
adm1031.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
adm1177.rst docs: adm1177: fix a broken reference 2020-02-23 20:00:29 -08:00
adm1266.rst docs: hwmon: adm1266.rst: fix a broken reference 2020-10-28 11:26:10 -06:00
adm1275.rst docs: hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
adm9240.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ads7828.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
adt7410.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
adt7411.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
adt7462.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
adt7470.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
adt7475.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
amc6821.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
amd_energy.rst hwmon: (amd_energy) Update driver documentation 2020-10-04 08:40:10 -07:00
asb100.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
asc7621.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
aspeed-pwm-tacho.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
bcm54140.rst net: phy: bcm54140: add hwmon support 2020-04-22 12:14:18 -07:00
bel-pfe.rst docs: hwmon: Document bel-pfe pmbus driver 2019-11-06 14:37:19 -08:00
bt1-pvt.rst hwmon: Add Baikal-T1 PVT sensor driver 2020-05-28 07:59:45 -07:00
coretemp.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
corsair-cpro.rst hwmon: (corsair-cpro) add reading pwm values 2020-07-24 07:44:57 -07:00
da9052.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
da9055.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
dell-smm-hwmon.rst dell-smm-hwmon: Add documentation 2019-11-22 20:47:43 -08:00
dme1737.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
drivetemp.rst hwmon: (drivetemp) Add usage not describing impact on drive spin-down 2020-09-23 09:42:39 -07:00
ds620.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ds1621.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
emc6w201.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
emc1403.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
emc2103.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
f71805f.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
f71882fg.rst Documentation: hwmon/f71882fg: drop duplicate words 2020-07-24 07:44:57 -07:00
fam15h_power.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ftsteutates.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
g760a.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
g762.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
gl518sm.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
gsc-hwmon.rst hwmon: Add Gateworks System Controller support 2020-05-20 10:29:17 +01:00
hih6130.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
hwmon-kernel-api.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ibm-cffps.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
ibmaem.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ibmpowernv.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ina2xx.rst hwmon: (ina2xx) Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
ina209.rst hwmon: (ina209) Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
ina3221.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
index.rst docs: hwmon: mp2975.rst: address some html build warnings 2020-10-28 11:26:10 -06:00
inspur-ipsps1.rst Linux 5.4-rc4 2019-10-29 04:43:29 -06:00
intel-m10-bmc-hwmon.rst hwmon: Add hwmon driver for Intel MAX 10 BMC 2020-10-04 08:40:10 -07:00
ir35221.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ir38064.rst docs: hwmon: convert three docs to ReST format 2019-04-22 15:27:27 -07:00
isl68137.rst hwmon: (pmbus/isl68137) Fix up chip IDs 2020-04-12 15:12:51 -07:00
it87.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
jc42.rst hwmon: (jc42) Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
k8temp.rst hwmon: (k8temp) Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
k10temp.rst hwmon: (k10temp) Update driver documentation 2020-03-08 20:35:46 -07:00
lineage-pem.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
lm63.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm70.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm73.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm75.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm77.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
lm78.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
lm80.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
lm83.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
lm85.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm87.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm90.rst hwmon: (lm90) Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm92.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
lm93.rst Documentation: hwmon/lm93: drop duplicate words 2020-07-24 07:44:57 -07:00
lm25066.rst docs: hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm95234.rst hwmon: (lm95234) Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lm95245.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
lochnagar.rst docs: hwmon: convert three docs to ReST format 2019-04-22 15:27:27 -07:00
ltc2945.rst docs: hwmon: (ltc2945) update datasheet link 2020-10-05 09:16:33 -07:00
ltc2947.rst hwmon: Add support for ltc2947 2019-11-06 14:37:19 -08:00
ltc2978.rst docs: hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
ltc2990.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ltc3815.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ltc4151.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ltc4215.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ltc4245.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ltc4260.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ltc4261.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max197.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max1619.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max1668.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max6639.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max6642.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max6650.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
max6697.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max8688.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
max16064.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
max16065.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
max16601.rst hwmon: (pmbus) Driver for Maxim MAX16601 2020-05-22 06:28:38 -07:00
max20730.rst hwmon: (pmbus/max20730) Add max20710 support 2020-07-24 07:44:18 -07:00
max20751.rst docs: hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
max31722.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max31730.rst hwmon: Driver for MAX31730 2020-01-23 13:15:09 -08:00
max31785.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max31790.rst hwmon: (max31790) Fix pwmX_enable attributes 2021-07-14 16:55:55 +02:00
max34440.rst docs: hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
mc13783-adc.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
mcp3021.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
menf21bmc.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
mlxreg-fan.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
mp2975.rst docs: hwmon: mp2975.rst: address some html build warnings 2020-10-28 11:26:10 -06:00
nct6683.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
nct6775.rst Documentation: hwmon/nct7665: drop duplicate words 2020-07-24 07:44:57 -07:00
nct7802.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
nct7904.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
npcm750-pwm-fan.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
nsa320.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ntc_thermistor.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
occ.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
pc87360.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
pc87427.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
pcf8591.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
pmbus-core.rst hwmon (pmbus) use simple i2c probe function 2020-09-23 09:42:39 -07:00
pmbus.rst hwmon (pmbus) use simple i2c probe function 2020-09-23 09:42:39 -07:00
powr1220.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
pwm-fan.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
pxe1610.rst docs: hwmon: pxe1610: convert to ReST format and add to the index 2019-09-03 12:47:17 -07:00
raspberrypi-hwmon.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
sch5627.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
sch5636.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
scpi-hwmon.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
sht3x.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
sht15.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
sht21.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
shtc1.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
sis5595.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
sl28cpld.rst hwmon: Add support for the sl28cpld hardware monitoring controller 2020-09-17 16:02:42 +01:00
smm665.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
smsc47b397.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
smsc47m1.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
smsc47m192.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
sparx5-temp.rst hwmon: sparx5: Add Sparx5 SoC temperature driver 2020-07-24 07:44:57 -07:00
submitting-patches.rst hwmon: submitting-patches: Add note on comment style 2019-09-13 05:43:06 -07:00
sysfs-interface.rst docs: hwmon: Add attributes to report rated values 2020-09-23 09:42:39 -07:00
tc74.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
tc654.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
thmc50.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
tmp102.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
tmp103.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
tmp108.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
tmp401.rst hwmon: (tmp401) Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
tmp421.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
tmp513.rst hwmon: (tmmp513) Replace HTTP links with HTTPS links 2020-07-24 07:44:57 -07:00
tps40422.rst docs: hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
tps53679.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
twl4030-madc-hwmon.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ucd9000.rst hwmon: (pmbus/ucd9000) Add support for UCD90320 Power Sequencer 2020-01-23 13:15:09 -08:00
ucd9200.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
userspace-tools.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
vexpress.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
via686a.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00
vt1211.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
w83l785ts.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
w83l786ng.rst Documentation: hwmon/w83l786ng: drop duplicate words 2020-07-24 07:44:57 -07:00
w83627ehf.rst Documentation: hwmon/w83627ehf: drop duplicate words 2020-07-24 07:44:57 -07:00
w83627hf.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
w83773g.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
w83781d.rst hwmon: Replace HTTP links with HTTPS ones 2020-07-24 07:44:57 -07:00
w83791d.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
w83792d.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
w83793.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
w83795.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
wm831x.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
wm8350.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
xdpe12284.rst Documentation/hwmon: fix xdpe12284 Sphinx warnings 2020-02-17 14:20:55 -08:00
xgene-hwmon.rst docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
zl6100.rst docs: i2c: convert to ReST and add to driver-api bookset 2019-07-31 13:25:27 -06:00