요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
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
-----------
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
================= == ====================================================
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Mellanox ToR 시스템과 기본 팬 레지스터
1-38Vadim 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`입니다. 이 배치는 다른 레지스터로 재프로그래밍할 수 있습니다.
PWM 하나와 타코미터 12개의 기본 오프셋입니다.
시스템 설정에서 실제 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`는 최대 냉각 상태입니다.
hwmon 측정·제어와 thermal 상태를 함께 제공합니다.
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
================= == ====================================================
요약·해설
mlxreg-fan.rst:1-70시스템별 레지스터 맵에서 PWM 하나와 타코미터 최대 12개를 생성하고 냉각 상태와 연결합니다.
원문 분량과 핵심 인터페이스입니다.
장치 등록부터 측정·경보 처리까지의 순서입니다.