← Documents Documentation/hwmon/mlxreg-fan.rst GitHub 원문 ↗

Linux 6.18.37 · Hardware Monitoring

Kernel driver mlxreg-fan

Mellanox ToR 시스템의 프로그래머블 팬 레지스터, 최대 12개 타코미터와 thermal 냉각 장치입니다.

Source pathDocumentation/hwmon/mlxreg-fan.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

mlxreg-fan.rst:1-70

시스템별 레지스터 맵에서 PWM 하나와 타코미터 최대 12개를 생성하고 냉각 상태와 연결합니다.

문서 개요
항목
SourceDocumentation/hwmon/mlxreg-fan.rst
분량70 source lines
타코미터최대 12개
PWM인스턴스당 1개

원문 분량과 핵심 인터페이스입니다.

운영 흐름
시스템 식별레지스터 매핑hwmon 생성thermal 연결RPM·fault 감시

장치 등록부터 측정·경보 처리까지의 순서입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 Kernel driver mlxreg-fan
2 ========================
3
4 Provides FAN control for the next Mellanox systems:
5
6 - QMB700, equipped with 40x200GbE InfiniBand ports;
7 - MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports;
8 - MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports;
9 - MSN3800, equipped with 64x1000GbE Ethernet ports;
10
11 Author: Vadim Pasternak <vadimp@mellanox.com>
12
13 These are the Top of the Rack systems, equipped with Mellanox switch
14 board with Mellanox Quantum or Spectrume-2 devices.
15 FAN controller is implemented by the programmable device logic.
16
17 The default registers offsets set within the programmable device is as
18 following:
19
20 ======================= ====
21 pwm1 0xe3
22 fan1 (tacho1) 0xe4
23 fan2 (tacho2) 0xe5
24 fan3 (tacho3) 0xe6
25 fan4 (tacho4) 0xe7
26 fan5 (tacho5) 0xe8
27 fan6 (tacho6) 0xe9
28 fan7 (tacho7) 0xea
29 fan8 (tacho8) 0xeb
30 fan9 (tacho9) 0xec
31 fan10 (tacho10) 0xed
32 fan11 (tacho11) 0xee
33 fan12 (tacho12) 0xef
34 ======================= ====
35
36 This setup can be re-programmed with other registers.
37
38 Description
39 -----------
40
41 The driver implements a simple interface for driving a fan connected to
42 a PWM output and tachometer inputs.
43 This driver obtains PWM and tachometers registers location according to
44 the system configuration and creates FAN/PWM hwmon objects and a cooling
45 device. PWM and tachometers are sensed through the on-board programmable
46 device, which exports its register map. This device could be attached to
47 any bus type, for which register mapping is supported.
48 Single instance is created with one PWM control, up to 12 tachometers and
49 one cooling device. It could be as many instances as programmable device
50 supports.
51 The driver exposes the fan to the user space through the hwmon's and
52 thermal's sysfs interfaces.
53
54 /sys files in hwmon subsystem
55 -----------------------------
56
57 ================= == ===================================================
58 fan[1-12]_fault RO files for tachometers TACH1-TACH12 fault indication
59 fan[1-12]_input RO files for tachometers TACH1-TACH12 input (in RPM)
60 pwm1 RW file for fan[1-12] target duty cycle (0..255)
61 ================= == ===================================================
62
63 /sys files in thermal subsystem
64 -------------------------------
65
66 ================= == ====================================================
67 cur_state RW file for current cooling state of the cooling device
68 (0..max_state)
69 max_state RO file for maximum cooling state of the cooling device
70 ================= == ====================================================
71

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

Mellanox ToR 시스템과 기본 팬 레지스터

1-38

Vadim Pasternak가 작성한 이 드라이버는 QMB700(40×200GbE InfiniBand), MSN3700(32×200GbE 또는 16×400GbE Ethernet), MSN3410(6×400GbE + 48×50GbE Ethernet), MSN3800(64×1000GbE Ethernet) 시스템의 팬을 제어합니다.

이 장비는 Mellanox Quantum 또는 Spectrume-2 장치를 탑재한 스위치 보드 기반 ToR 시스템이며 팬 컨트롤러는 프로그래머블 장치 로직으로 구현됩니다.

기본 오프셋은 `pwm1=0xe3`, `fan1=0xe4`에서 순차 증가해 `fan12=0xef`입니다. 이 배치는 다른 레지스터로 재프로그래밍할 수 있습니다.

mlxreg-fan 기본 레지스터
객체오프셋
pwm10xe3
fan1 / tacho10xe4
fan2 / tacho20xe5
fan3 / tacho30xe6
fan4 / tacho40xe7
fan5 / tacho50xe8
fan6 / tacho60xe9
fan7 / tacho70xea
fan8 / tacho80xeb
fan9 / tacho90xec
fan10 / tacho100xed
fan11 / tacho110xee
fan12 / tacho120xef

PWM 하나와 타코미터 12개의 기본 오프셋입니다.

레지스터 구성
ToR 시스템 식별프로그래머블 장치 맵 읽기PWM 레지스터 위치 결정타코미터 위치 결정hwmon 객체 생성

시스템 설정에서 실제 PWM·타코미터 위치를 얻습니다.

Kernel driver mlxreg-fan
========================

Provides FAN control for the next Mellanox systems:

- QMB700, equipped with 40x200GbE InfiniBand ports;
- MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports;
- MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports;
- MSN3800, equipped with 64x1000GbE Ethernet ports;

Author: Vadim Pasternak <vadimp@mellanox.com>

These are the Top of the Rack systems, equipped with Mellanox switch
board with Mellanox Quantum or Spectrume-2 devices.
FAN controller is implemented by the programmable device logic.

The default registers offsets set within the programmable device is as
following:

======================= ====
pwm1                        0xe3
fan1 (tacho1)                0xe4
fan2 (tacho2)                0xe5
fan3 (tacho3)                0xe6
fan4 (tacho4)                0xe7
fan5 (tacho5)                0xe8
fan6 (tacho6)                0xe9
fan7 (tacho7)                0xea
fan8 (tacho8)                0xeb
fan9 (tacho9)                0xec
fan10 (tacho10)                0xed
fan11 (tacho11)                0xee
fan12 (tacho12)                0xef
======================= ====

This setup can be re-programmed with other registers.

Description

hwmon 팬 객체와 thermal 냉각 장치

39-70

드라이버는 PWM 출력 하나와 타코미터 입력에 연결된 팬을 위한 단순 인터페이스를 구현합니다. 시스템 구성에서 레지스터 위치를 얻어 FAN/PWM hwmon 객체와 냉각 장치를 만듭니다.

온보드 프로그래머블 장치는 레지스터 맵을 내보내며 레지스터 매핑을 지원하는 어떤 버스에도 연결될 수 있습니다. 인스턴스 하나에는 PWM 제어 1개, 타코미터 최대 12개, 냉각 장치 1개가 있고 하드웨어가 허용하는 만큼 여러 인스턴스를 만들 수 있습니다.

hwmon의 `fan[1-12]_fault`는 TACH1-TACH12 고장, `fan[1-12]_input`은 RPM, `pwm1`은 팬 1-12의 0-255 목표 듀티입니다. thermal의 `cur_state`는 0부터 `max_state`까지 현재 냉각 상태이고 `max_state`는 최대 냉각 상태입니다.

mlxreg-fan sysfs
하위 시스템속성권한·의미
hwmonfan1-12_faultRO 타코미터 고장
hwmonfan1-12_inputRO RPM
hwmonpwm1RW 목표 듀티 0-255
thermalcur_stateRW 현재 냉각 상태
thermalmax_stateRO 최대 냉각 상태

hwmon 측정·제어와 thermal 상태를 함께 제공합니다.

냉각 제어
냉각 상태 요청cur_state를 PWM 목표로 변환pwm1 기록fan RPM 확인fault 및 max_state 경계 처리

PWM과 타코미터를 thermal 상태에 연결합니다.

-----------

The driver implements a simple interface for driving a fan connected to
a PWM output and tachometer inputs.
This driver obtains PWM and tachometers registers location according to
the system configuration and creates FAN/PWM hwmon objects and a cooling
device. PWM and tachometers are sensed through the on-board programmable
device, which exports its register map. This device could be attached to
any bus type, for which register mapping is supported.
Single instance is created with one PWM control, up to 12 tachometers and
one cooling device. It could be as many instances as programmable device
supports.
The driver exposes the fan to the user space through the hwmon's and
thermal's sysfs interfaces.

/sys files in hwmon subsystem
-----------------------------

================= == ===================================================
fan[1-12]_fault   RO files for tachometers TACH1-TACH12 fault indication
fan[1-12]_input   RO files for tachometers TACH1-TACH12 input (in RPM)
pwm1                  RW file for fan[1-12] target duty cycle (0..255)
================= == ===================================================

/sys files in thermal subsystem
-------------------------------

================= == ====================================================
cur_state          RW file for current cooling state of the cooling device
                     (0..max_state)
max_state          RO file for maximum cooling state of the cooling device
================= == ====================================================