核心驅動 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 |
只讀 |
用於冷卻裝置最大冷卻狀態的檔案 |