OpenCloudOS-Kernel/drivers
Vadim Pasternak da74944d3a hwmon: (mlxreg-fan) Use pwm attribute for setting fan speed low limit
Recently 'cur_state' user space 'sysfs' interface 'sysfs' has been
deprecated. This interface is used in Nvidia systems for setting fan
speed limit. Currently fan speed limit is set from the user space by
setting 'sysfs' 'cur_state' attribute to 'max_state + n', where 'n' is
required limit, for example: 15 for 50% speed limit, 20 for full fan
speed enforcement.
The purpose of this feature is to provides ability to limit fan speed
according to some system wise considerations, like absence of some
replaceable units (PSU or line cards), high system ambient temperature,
unreliable transceivers temperature sensing or some other factors which
indirectly impacts system's airflow.

The motivation is to support fan low limit feature through 'hwmon'
interface.

Use 'hwmon' 'pwm' attribute for setting low limit for fan speed in
case 'thermal' subsystem is configured in kernel. In this case setting
fan speed through 'hwmon' will never let the 'thermal' subsystem to
select a lower duty cycle than the duty cycle selected with the 'pwm'
attribute.
From other side, fan speed is to be updated in hardware through 'pwm'
only in case the requested fan speed is above last speed set by
'thermal' subsystem, otherwise requested fan speed will be just stored
with no PWM update.

Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Link: https://lore.kernel.org/r/20220126141825.13545-1-vadimp@nvidia.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2022-02-27 17:03:17 -08:00
..
accessibility speakup-dectlk: Restore pitch setting 2022-02-08 12:15:04 +01:00
acpi Merge branch 'acpi-processor' 2022-02-18 19:36:36 +01:00
amba ARM: 9163/1: amba: Move of_amba_device_decode_irq() into amba_probe() 2021-12-17 11:34:35 +00:00
android Merge 5.16-rc8 into char-misc-next 2022-01-03 13:44:38 +01:00
ata ata: pata_hpt37x: disable primary channel on HPT371 2022-02-23 09:39:37 +09:00
atm atm: iphase: remove redundant pointer skb 2022-01-13 12:50:48 +00:00
auxdisplay
base regmap: Fix for v5.17 2022-02-25 12:30:01 -08:00
bcma
block block: fix surprise removal for drivers calling blk_set_queue_dying 2022-02-17 07:54:03 -07:00
bluetooth virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
bus bus: mhi: pci_generic: Add mru_default for Cinterion MV31-W 2022-02-06 13:19:46 +01:00
cdrom cdrom: simplify subdirectory registration with register_sysctl() 2022-01-22 08:33:35 +02:00
char random: only call crng_finalize_init() for primary_crng 2022-02-04 19:22:32 +01:00
clk clk: jz4725b: fix mmc0 clock gating 2022-02-17 17:05:07 -08:00
clocksource Fixes for omaps 2022-02-07 17:42:44 +01:00
comedi
connector connector/cn_proc: Use task_is_in_init_pid_ns() 2022-01-26 18:57:09 -08:00
counter counter: fix an IS_ERR() vs NULL bug 2022-01-26 19:40:33 +01:00
cpufreq cpufreq: qcom-hw: Delay enabling throttle_irq 2022-02-09 13:18:49 +05:30
cpuidle cpuidle: use default_groups in kobj_type 2022-01-05 18:31:17 +01:00
crypto crypto: octeontx2 - Avoid stack variable overflow 2022-01-31 11:22:53 +11:00
cxl cxl/core: Remove cxld_const_init in cxl_decoder_alloc() 2022-01-04 17:29:31 -08:00
dax Merge branch 'akpm' (patches from Andrew) 2022-01-15 20:37:06 +02:00
dca
devfreq
dio
dma dmaengine: shdma: Fix runtime PM imbalance on error 2022-02-15 11:04:16 +05:30
dma-buf dma-buf: heaps: Fix potential spectre v1 gadget 2022-02-01 13:18:09 +05:30
edac EDAC: Fix calculation of returned address and next offset in edac_align_ptr() 2022-02-15 15:54:46 +01:00
eisa
extcon extcon: Deduplicate code in extcon_set_state_sync() 2021-12-24 15:27:52 +09:00
firewire
firmware efi: runtime: avoid EFIv2 runtime services on Apple x86 machines 2022-01-23 10:31:27 +01:00
fpga
fsi
gnss gnss: usb: add support for Sierra Wireless XM1210 2021-12-22 15:38:12 +01:00
gpio Pin control fixes for the v5.17 series: 2022-02-27 12:30:54 -08:00
gpu Merge tag 'drm-intel-fixes-2022-02-24' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes 2022-02-25 05:51:04 +10:00
greybus greybus: es2: fix typo in a comment 2021-12-21 10:13:26 +01:00
hid HID: amd_sfh: Add interrupt handler to process interrupts 2022-02-14 16:28:51 +01:00
hsi
hv Drivers: hv: utils: Make use of the helper macro LIST_HEAD() 2022-02-09 14:33:21 +00:00
hwmon hwmon: (mlxreg-fan) Use pwm attribute for setting fan speed low limit 2022-02-27 17:03:17 -08:00
hwspinlock
hwtracing
i2c i2c: brcmstb: fix support for DSL and CM variants 2022-02-18 10:37:33 +01:00
i3c i3c: master: dw: check return of dw_i3c_master_get_free_pos() 2022-01-13 02:05:50 +01:00
idle
iio 1st set of IIO fixes for the 5.17 cycle. 2022-02-21 17:58:09 +01:00
infiniband RDMA/cma: Do not change route.addr.src_addr outside state checks 2022-02-25 16:46:51 -04:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2022-02-20 11:15:46 -08:00
interconnect
iommu iommu/amd: Fix loop timeout issue in iommu_ga_log_enable() 2022-02-04 12:57:26 +01:00
ipack
irqchip irqchip/sifive-plic: Add missing thead,c900-plic match string 2022-02-02 10:49:29 +00:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-30 12:12:12 -08:00
leds LED updates for 5.17. Nothing major is happening here. 2022-01-12 16:59:22 -08:00
macintosh macintosh/mac_hid.c: simplify subdirectory registration with register_sysctl() 2022-01-22 08:33:35 +02:00
mailbox - qcom: misc updates to qcom-ipcc driver 2022-01-13 11:19:07 -08:00
mcb
md block: fix surprise removal for drivers calling blk_set_queue_dying 2022-02-17 07:54:03 -07:00
media bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
memory MTD core changes: 2022-01-11 11:35:28 -08:00
memstick
message scsi: message: fusion: mptctl: Use dma_alloc_coherent() 2022-01-10 10:33:52 -05:00
mfd driver core changes for 5.17-rc1 2022-01-12 11:11:34 -08:00
misc eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX 2022-02-04 16:27:44 +01:00
mmc mmc: block: fix read single on recovery logic 2022-02-08 16:04:49 +01:00
most
mtd Char/Misc driver fixes for 5.17-rc6 2022-02-25 12:12:06 -08:00
mux
net net: mv643xx_eth: process retval from of_get_mac_address 2022-02-24 10:05:08 -08:00
nfc nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION 2022-01-12 14:17:45 +00:00
ntb New AMD PCI ID for NTB, and a number of bug fixes for ntb_hw_switchtec 2022-01-17 08:14:18 +02:00
nubus proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
nvdimm virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
nvme nvme-tcp: send H2CData PDUs based on MAXH2CDATA 2022-02-23 14:43:11 +01:00
nvmem nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property 2022-02-21 17:59:25 +01:00
of of/fdt: move elfcorehdr reservation early for crash dump kernel 2022-02-17 17:13:52 -06:00
opp
parisc parisc: Fix sglist access in ccio-dma.c 2022-01-28 10:15:34 +01:00
parport
pci A single fix for a regression caused by the recent PCI/MSI rework which 2022-02-27 13:07:40 -08:00
pcmcia pci-v5.17-changes 2022-01-16 08:08:11 +02:00
perf Rework of the MSI interrupt infrastructure: 2022-01-13 09:05:29 -08:00
phy phy: dphy: Correct clk_pre parameter 2022-02-02 10:33:04 +05:30
pinctrl intel-pinctrl for v5.17-5 2022-02-19 02:03:58 +01:00
platform surface: surface3_power: Fix battery readings on batteries without a serial number 2022-02-24 13:48:39 +01:00
pnp proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
power power: supply: bq256xx: Handle OOM correctly 2022-02-11 21:19:51 +01:00
powercap Merge back earlier power capping changes for v5.17 2021-12-27 16:51:12 +01:00
pps
ps3
ptp net: fix SOF_TIMESTAMPING_BIND_PHC to work with multiple sockets 2022-01-06 12:18:08 +00:00
pwm pwm: Changes for v5.17-rc1 2022-01-20 13:25:01 +02:00
rapidio rapidio: remove not used code about RIO_VID_TUNDRA 2021-12-21 10:22:19 +01:00
ras
regulator regulator: da9121: Remove surplus DA9141 parameters 2022-02-22 11:56:29 +00:00
remoteproc remoteproc: qcom: q6v5: fix service routines build errors 2022-01-17 16:44:26 -06:00
reset SoC: Add support for StarFive JH7100 RISC-V SoC 2022-01-10 08:32:37 -08:00
rpmsg rpmsg fixes for v5.17-rc1 2022-01-27 11:23:26 +02:00
rtc rtc: sunplus: fix return value in sp_rtc_probe() 2022-01-16 23:50:34 +01:00
s390 s390/cio: verify the driver availability for path_event call 2022-02-09 22:55:01 +01:00
sbus
scsi scsi: ufs: core: Fix divide by zero in ufshcd_map_queues() 2022-02-14 22:10:29 -05:00
sh
siox
slimbus
soc sound fixes for 5.17-rc5 2022-02-18 09:20:52 -08:00
soundwire Char/Misc and other driver changes for 5.17-rc1 2022-01-14 16:02:28 +01:00
spi spi: Fixes for v5.17 2022-02-25 12:37:41 -08:00
spmi spmi: spmi-pmic-arb: fix irq_set_type race condition 2021-12-17 17:18:18 +01:00
ssb
staging staging: fbtft: fb_st7789v: reset display before initialization 2022-02-15 17:14:22 +01:00
target scsi: target: iscsi: Make sure the np under each tpg is unique 2022-01-24 23:30:24 -05:00
tc
tee OP-TE fixes for v5.17 2022-02-08 09:48:44 +01:00
thermal thermal: int340x: fix memory leak in int3400_notify() 2022-02-24 20:14:19 +01:00
thunderbolt thunderbolt: Add module parameter for CLx disabling 2021-12-28 10:43:56 +03:00
tty TTY/Serial driver fixes for 5.17-rc6 2022-02-25 11:45:29 -08:00
uio UIO: use default_groups in kobj_type 2021-12-29 10:54:50 +01:00
usb USB-serial fixes for 5.17-rc6 2022-02-24 14:51:45 +01:00
vdpa virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
vfio VFIO updates for v5.17-rc1 2022-01-20 13:31:46 +02:00
vhost vhost/vsock: don't check owner in vhost_vsock_stop() while releasing 2022-02-23 12:32:33 +00:00
video * drm/panel: simple: Fix assignments from panel_dpi_probe() 2022-02-11 12:06:15 +10:00
virt bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
virtio vdpa: Allow to configure max data virtqueues 2022-01-14 18:50:53 -05:00
visorbus
vlynq
vme
w1 w1: w1_therm: use swap() to make code cleaner 2021-12-21 10:38:13 +01:00
watchdog linux-watchdog 5.17-rc1 tag 2022-01-17 08:07:57 +02:00
xen xen/pci: Make use of the helper macro LIST_HEAD() 2022-02-10 11:10:23 +01:00
zorro proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
Kconfig
Makefile