内核驱动 mlxreg-fan¶
为以下 Mellanox 系统提供风扇控制:
QMB700,配备 40 个 200GbE InfiniBand 端口;
MSN3700,配备 32 个 200GbE 或 16 个 400GbE 以太网端口;
MSN3410,配备 6 个 400GbE 和 48 个 50GbE 以太网端口;
MSN3800,配备 64 个 1000GbE 以太网端口;
作者:Vadim Pasternak <vadimp@mellanox.com>
这些是配备有 Mellanox 交换板和 Mellanox Quantum 或 Spectrume-2 设备的机架顶部系统。风扇控制器由可编程设备逻辑实现。
可编程设备中默认的寄存器偏移量设置如下:
pwm1 |
0xe3 |
风扇1 (转速计1) |
0xe4 |
风扇2 (转速计2) |
0xe5 |
风扇3 (转速计3) |
0xe6 |
风扇4 (转速计4) |
0xe7 |
风扇5 (转速计5) |
0xe8 |
风扇6 (转速计6) |
0xe9 |
风扇7 (转速计7) |
0xea |
风扇8 (转速计8) |
0xeb |
风扇9 (转速计9) |
0xec |
风扇10 (转速计10) |
0xed |
风扇11 (转速计11) |
0xee |
风扇12 (转速计12) |
0xef |
此设置可使用其他寄存器重新编程。
描述¶
该驱动程序实现了一个简单的接口,用于驱动连接到 PWM 输出和转速计输入端的风扇。该驱动程序根据系统配置获取 PWM 和转速计寄存器位置,并创建 FAN/PWM hwmon 对象和一个冷却设备。PWM 和转速计通过板载可编程设备进行感测,该设备导出其寄存器映射。该设备可以连接到支持寄存器映射的任何总线类型。创建的单个实例具有一个 PWM 控制、最多 12 个转速计和一个冷却设备。可编程设备支持的实例数量没有限制。该驱动程序通过 hwmon 和 thermal 的 sysfs 接口将风扇暴露给用户空间。
hwmon 子系统中的 /sys 文件¶
fan[1-12]_fault |
只读 |
用于转速计 TACH1-TACH12 故障指示的文件 |
fan[1-12]_input |
只读 |
用于转速计 TACH1-TACH12 输入(单位:RPM)的文件 |
pwm1 |
读写 |
用于风扇 [1-12] 目标占空比(0..255)的文件 |
thermal 子系统中的 /sys 文件¶
cur_state |
读写 |
用于冷却设备当前冷却状态(0..max_state)的文件 |
max_state |
只读 |
用于冷却设备最大冷却状态的文件 |