← Documents Documentation/sound/hd-audio/controls.rst GitHub 원문 ↗

Linux 6.18.37 · Sound

HD-Audio Codec별 Mixer Control

Realtek, IDT/Sigmatel, VIA, Conexant, Analog HD-Audio codec가 제공하는 surround channel, auto-mute, analog loopback, jack retasking, 독립 headphone, 전력 제어 mixer control을 설명합니다.

Source pathDocumentation/sound/hd-audio/controls.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약·해설

controls.rst:1-121

Realtek, IDT/Sigmatel, VIA, Conexant, Analog HD-Audio codec가 제공하는 surround channel, auto-mute, analog loopback, jack retasking, 독립 headphone, 전력 제어 mixer control을 설명합니다.

Control은 codec와 jack capability에 따라 조건부로 나타납니다. 이름이 같아도 지원 channel 수나 DAC 공유 방식이 다를 수 있으므로 codec family와 부작용을 함께 확인해야 합니다.

Codec별 핵심 control
Codec family대표 control핵심 용도
RealtekChannel Mode, Auto-Mute ModeSurround 구성과 jack 자동 mute
IDT/SigmatelAnalog Loopback, Swap Center/LFE, Jack ModeLoopback과 pin 역할 변경
VIASmart 5.1, Independent HP, Dynamic Power-ControlJack retask, 독립 stream, 전력 절감
ConexantAuto-Mute ModeRealtek 방식의 자동 mute
AnalogChannel Mode, Independent HP간단한 surround·headphone 경로 선택

다섯 codec family의 대표 기능입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 ======================================
2 HD-Audio Codec-Specific Mixer Controls
3 ======================================
4
5
6 This file explains the codec-specific mixer controls.
7
8 Realtek codecs
9 --------------
10
11 Channel Mode
12 This is an enum control to change the surround-channel setup,
13 appears only when the surround channels are available.
14 It gives the number of channels to be used, "2ch", "4ch", "6ch",
15 and "8ch". According to the configuration, this also controls the
16 jack-retasking of multi-I/O jacks.
17
18 Auto-Mute Mode
19 This is an enum control to change the auto-mute behavior of the
20 headphone and line-out jacks. If built-in speakers and headphone
21 and/or line-out jacks are available on a machine, this controls
22 appears.
23 When there are only either headphones or line-out jacks, it gives
24 "Disabled" and "Enabled" state. When enabled, the speaker is muted
25 automatically when a jack is plugged.
26
27 When both headphone and line-out jacks are present, it gives
28 "Disabled", "Speaker Only" and "Line-Out+Speaker". When
29 speaker-only is chosen, plugging into a headphone or a line-out jack
30 mutes the speakers, but not line-outs. When line-out+speaker is
31 selected, plugging to a headphone jack mutes both speakers and
32 line-outs.
33
34
35 IDT/Sigmatel codecs
36 -------------------
37
38 Analog Loopback
39 This control enables/disables the analog-loopback circuit. This
40 appears only when "loopback" is set to true in a codec hint
41 (see HD-Audio.txt). Note that on some codecs the analog-loopback
42 and the normal PCM playback are exclusive, i.e. when this is on, you
43 won't hear any PCM stream.
44
45 Swap Center/LFE
46 Swaps the center and LFE channel order. Normally, the left
47 corresponds to the center and the right to the LFE. When this is
48 ON, the left to the LFE and the right to the center.
49
50 Headphone as Line Out
51 When this control is ON, treat the headphone jacks as line-out
52 jacks. That is, the headphone won't auto-mute the other line-outs,
53 and no HP-amp is set to the pins.
54
55 Mic Jack Mode, Line Jack Mode, etc
56 These enum controls the direction and the bias of the input jack
57 pins. Depending on the jack type, it can set as "Mic In" and "Line
58 In", for determining the input bias, or it can be set to "Line Out"
59 when the pin is a multi-I/O jack for surround channels.
60
61
62 VIA codecs
63 ----------
64
65 Smart 5.1
66 An enum control to re-task the multi-I/O jacks for surround outputs.
67 When it's ON, the corresponding input jacks (usually a line-in and a
68 mic-in) are switched as the surround and the CLFE output jacks.
69
70 Independent HP
71 When this enum control is enabled, the headphone output is routed
72 from an individual stream (the third PCM such as hw:0,2) instead of
73 the primary stream. In the case the headphone DAC is shared with a
74 side or a CLFE-channel DAC, the DAC is switched to the headphone
75 automatically.
76
77 Loopback Mixing
78 An enum control to determine whether the analog-loopback route is
79 enabled or not. When it's enabled, the analog-loopback is mixed to
80 the front-channel. Also, the same route is used for the headphone
81 and speaker outputs. As a side-effect, when this mode is set, the
82 individual volume controls will be no longer available for
83 headphones and speakers because there is only one DAC connected to a
84 mixer widget.
85
86 Dynamic Power-Control
87 This control determines whether the dynamic power-control per jack
88 detection is enabled or not. When enabled, the widgets power state
89 (D0/D3) are changed dynamically depending on the jack plugging
90 state for saving power consumptions. However, if your system
91 doesn't provide a proper jack-detection, this won't work; in such a
92 case, turn this control OFF.
93
94 Jack Detect
95 This control is provided only for VT1708 codec which gives no proper
96 unsolicited event per jack plug. When this is on, the driver polls
97 the jack detection so that the headphone auto-mute can work, while
98 turning this off would reduce the power consumption.
99
100
101 Conexant codecs
102 ---------------
103
104 Auto-Mute Mode
105 See Realtek codecs.
106
107
108 Analog codecs
109 --------------
110
111 Channel Mode
112 This is an enum control to change the surround-channel setup,
113 appears only when the surround channels are available.
114 It gives the number of channels to be used, "2ch", "4ch" and "6ch".
115 According to the configuration, this also controls the
116 jack-retasking of multi-I/O jacks.
117
118 Independent HP
119 When this enum control is enabled, the headphone output is routed
120 from an individual stream (the third PCM such as hw:0,2) instead of
121 the primary stream.
122

3. 한국어 전문 번역

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

Realtek codec control

1-34

`Documentation/sound/hd-audio/controls.rst`는 HD-Audio codec별 mixer control을 설명합니다. 첫 번째 Realtek 절에는 `Channel Mode`와 `Auto-Mute Mode`가 있습니다.

`Channel Mode`는 surround channel 구성을 바꾸는 enum control이며 surround channel을 사용할 수 있을 때만 나타납니다. 사용할 channel 수를 `2ch`, `4ch`, `6ch`, `8ch` 중에서 정합니다. 선택한 구성에 따라 multi-I/O jack의 jack retasking도 함께 제어합니다.

Realtek Channel Mode
Surround channel 가용성 확인Channel Mode control 표시2ch / 4ch / 6ch / 8ch 선택Surround channel 수 구성필요한 multi-I/O jack을 output으로 retask

Channel 수 선택이 surround 구성과 jack 역할을 함께 바꿉니다.

`Auto-Mute Mode`는 headphone과 line-out jack의 자동 mute 동작을 바꾸는 enum control입니다. 내장 speaker와 headphone 및/또는 line-out jack이 있는 machine에서만 나타납니다.

Headphone 또는 line-out 중 한 종류의 jack만 있으면 `Disabled`와 `Enabled` 상태를 제공합니다. `Enabled`에서는 jack이 연결될 때 speaker를 자동으로 mute합니다.

Headphone과 line-out jack이 모두 있으면 `Disabled`, `Speaker Only`, `Line-Out+Speaker`를 제공합니다. `Speaker Only`에서는 headphone이나 line-out 연결 시 speaker만 mute되고 line-out은 mute되지 않습니다. `Line-Out+Speaker`에서는 headphone jack 연결 시 speaker와 line-out이 모두 mute됩니다.

Realtek Auto-Mute Mode
Jack 구성ModePlug 시 동작
Headphone 또는 line-out 한 종류Disabled자동 mute 사용 안 함
Headphone 또는 line-out 한 종류Enabled해당 jack 연결 시 speaker mute
Headphone + line-outDisabled자동 mute 사용 안 함
Headphone + line-outSpeaker OnlyHeadphone 또는 line-out 연결 시 speaker만 mute
Headphone + line-outLine-Out+SpeakerHeadphone 연결 시 speaker와 line-out 모두 mute

사용 가능한 jack 구성과 선택값에 따른 mute 대상을 구분합니다.

Realtek control 요약
Control표시 조건제어 대상
Channel ModeSurround channel 사용 가능Channel 수와 multi-I/O jack retasking
Auto-Mute Mode내장 speaker와 외부 output jack 존재Speaker와 line-out 자동 mute 정책

Control이 나타나는 조건과 영향 범위입니다.

======================================
HD-Audio Codec-Specific Mixer Controls
======================================


This file explains the codec-specific mixer controls.

Realtek codecs
--------------

Channel Mode
  This is an enum control to change the surround-channel setup,
  appears only when the surround channels are available.
  It gives the number of channels to be used, "2ch", "4ch", "6ch",
  and "8ch".  According to the configuration, this also controls the
  jack-retasking of multi-I/O jacks.

Auto-Mute Mode
  This is an enum control to change the auto-mute behavior of the
  headphone and line-out jacks.  If built-in speakers and headphone
  and/or line-out jacks are available on a machine, this controls
  appears.
  When there are only either headphones or line-out jacks, it gives
  "Disabled" and "Enabled" state.  When enabled, the speaker is muted
  automatically when a jack is plugged.

  When both headphone and line-out jacks are present, it gives
  "Disabled", "Speaker Only" and "Line-Out+Speaker".  When
  speaker-only is chosen, plugging into a headphone or a line-out jack
  mutes the speakers, but not line-outs.  When line-out+speaker is
  selected, plugging to a headphone jack mutes both speakers and
  line-outs.

IDT/Sigmatel codec control

35-61

`Analog Loopback`은 analog loopback circuit을 켜거나 끕니다. Codec hint에서 `loopback`을 true로 설정했을 때만 나타납니다. 일부 codec에서는 analog loopback과 일반 PCM playback이 상호 배타적이므로 이 control을 켜면 PCM stream이 들리지 않을 수 있습니다.

Analog Loopback 주의 흐름
Codec hint의 loopback=true 확인Analog Loopback control 표시Control ONAnalog loopback circuit 활성화상호 배타적 codec이면 일반 PCM stream이 들리지 않음

Codec capability에 따라 PCM playback과 동시에 쓸 수 없는 경우가 있습니다.

`Swap Center/LFE`는 center와 LFE channel 순서를 맞바꿉니다. 보통 left가 center, right가 LFE에 대응하지만 ON 상태에서는 left가 LFE, right가 center에 대응합니다.

`Headphone as Line Out`을 ON으로 설정하면 headphone jack을 line-out jack처럼 취급합니다. 따라서 headphone 연결이 다른 line-out을 자동 mute하지 않고 pin에 HP amp도 설정하지 않습니다.

`Mic Jack Mode`, `Line Jack Mode` 등의 enum control은 input jack pin의 방향과 bias를 결정합니다. Jack type에 따라 input bias를 정하기 위해 `Mic In` 또는 `Line In`으로 설정할 수 있고, surround channel용 multi-I/O jack이면 `Line Out`으로 설정할 수도 있습니다.

IDT/Sigmatel control
Control동작주의점
Analog LoopbackAnalog loopback circuit enable/disable일부 codec에서는 PCM playback과 상호 배타적
Swap Center/LFECenter와 LFE의 left/right 순서 교환ON이면 left=LFE, right=center
Headphone as Line OutHeadphone pin을 line-out으로 취급다른 line-out 자동 mute와 HP amp 적용 안 함
Mic/Line Jack ModeInput 방향·bias 또는 surround output 역할 선택Mic In, Line In, Line Out

Signal path와 jack pin 역할을 바꾸는 control입니다.

Jack Mode 선택
선택Pin 방향용도
Mic InInputMicrophone 입력 bias 적용
Line InInputLine-level 입력
Line OutOutputMulti-I/O jack을 surround output으로 retask

Pin의 실제 용도에 따라 방향과 bias를 정합니다.

IDT/Sigmatel codecs
-------------------

Analog Loopback
  This control enables/disables the analog-loopback circuit.  This
  appears only when "loopback" is set to true in a codec hint
  (see HD-Audio.txt).  Note that on some codecs the analog-loopback
  and the normal PCM playback are exclusive, i.e. when this is on, you
  won't hear any PCM stream.

Swap Center/LFE
  Swaps the center and LFE channel order.  Normally, the left
  corresponds to the center and the right to the LFE.  When this is
  ON, the left to the LFE and the right to the center.

Headphone as Line Out
  When this control is ON, treat the headphone jacks as line-out
  jacks.  That is, the headphone won't auto-mute the other line-outs,
  and no HP-amp is set to the pins.

Mic Jack Mode, Line Jack Mode, etc
  These enum controls the direction and the bias of the input jack
  pins.  Depending on the jack type, it can set as "Mic In" and "Line 
  In", for determining the input bias, or it can be set to "Line Out"
  when the pin is a multi-I/O jack for surround channels.

VIA codec control

62-100

`Smart 5.1`은 multi-I/O jack을 surround output으로 retask하는 enum control입니다. ON이면 보통 line-in과 mic-in인 해당 input jack이 surround와 CLFE output jack으로 전환됩니다.

Smart 5.1 jack retasking
Smart 5.1 OFFLine-in과 mic-in을 입력으로 사용Smart 5.1 ON해당 multi-I/O jack retaskSurround output과 CLFE output으로 사용

입력 jack 두 개를 5.1 surround 출력에 재사용합니다.

`Independent HP`를 enable하면 headphone output이 primary stream 대신 독립 stream, 즉 `hw:0,2` 같은 세 번째 PCM에서 route됩니다. Headphone DAC가 side 또는 CLFE channel DAC와 공유되면 DAC를 headphone으로 자동 전환합니다.

Independent HP 경로
ModeHeadphone source공유 DAC 처리
DisabledPrimary stream일반 surround 구성 유지
Enabled세 번째 PCM 등 독립 stream(hw:0,2)Side 또는 CLFE DAC를 headphone으로 자동 전환

Primary stream과 독립 headphone stream의 차이입니다.

`Loopback Mixing`은 analog loopback route 사용 여부를 정합니다. Enable하면 analog loopback을 front channel에 mix하고 headphone과 speaker output에도 같은 route를 사용합니다. Mixer widget에 연결된 DAC가 하나뿐이므로 이 mode에서는 headphone과 speaker의 개별 volume control을 더 이상 사용할 수 없습니다.

Loopback Mixing 영향
Loopback Mixing enableAnalog loopback을 front channel에 mixHeadphone과 speaker도 같은 route 사용Mixer widget에 DAC 하나만 연결Headphone·speaker 개별 volume control 제거

공통 mixer route를 쓰면서 개별 volume이 사라지는 관계입니다.

`Dynamic Power-Control`은 jack detection에 따른 동적 전력 제어를 켤지 정합니다. Enable하면 jack 연결 상태에 맞춰 widget power state를 `D0/D3` 사이에서 동적으로 바꿔 전력을 절약합니다. System이 올바른 jack detection을 제공하지 않으면 동작하지 않으므로 이 경우 OFF로 설정해야 합니다.

`Jack Detect`는 jack plug별 unsolicited event를 제대로 제공하지 않는 VT1708 codec에만 있습니다. ON이면 driver가 jack detection을 polling해 headphone auto-mute가 동작하게 합니다. OFF로 바꾸면 polling을 줄여 전력 소비를 낮출 수 있습니다.

VIA control 요약
Control핵심 동작부작용·조건
Smart 5.1Input jack을 surround·CLFE output으로 retaskLine-in과 mic-in 역할 변경
Independent HPHeadphone을 독립 PCM stream으로 route공유 DAC를 headphone으로 전환
Loopback MixingAnalog loopback을 front·headphone·speaker에 mix개별 headphone/speaker volume 제거
Dynamic Power-ControlJack 상태에 따라 widget D0/D3 전환정확한 jack detection 필요
Jack DetectVT1708에서 driver polling 활성화Auto-mute와 전력 소비 사이 tradeoff

각 control이 바꾸는 route와 tradeoff를 정리합니다.

VIA 전력·검출 선택
정상 jack detection 지원 여부 확인지원하면 Dynamic Power-Control enable 가능Jack 상태에 따라 D0/D3 전환VT1708이면 Jack Detect polling 선택Polling ON은 auto-mute 지원, OFF는 전력 절감

Jack detection 지원 수준에 따라 control을 선택합니다.

VIA codecs
----------

Smart 5.1
  An enum control to re-task the multi-I/O jacks for surround outputs.
  When it's ON, the corresponding input jacks (usually a line-in and a
  mic-in) are switched as the surround and the CLFE output jacks.

Independent HP
  When this enum control is enabled, the headphone output is routed
  from an individual stream (the third PCM such as hw:0,2) instead of
  the primary stream.  In the case the headphone DAC is shared with a
  side or a CLFE-channel DAC, the DAC is switched to the headphone
  automatically.

Loopback Mixing
  An enum control to determine whether the analog-loopback route is
  enabled or not.  When it's enabled, the analog-loopback is mixed to
  the front-channel.  Also, the same route is used for the headphone
  and speaker outputs.  As a side-effect, when this mode is set, the
  individual volume controls will be no longer available for
  headphones and speakers because there is only one DAC connected to a
  mixer widget.

Dynamic Power-Control
  This control determines whether the dynamic power-control per jack
  detection is enabled or not.  When enabled, the widgets power state
  (D0/D3) are changed dynamically depending on the jack plugging
  state for saving power consumptions.  However, if your system
  doesn't provide a proper jack-detection, this won't work; in such a
  case, turn this control OFF.

Jack Detect
  This control is provided only for VT1708 codec which gives no proper
  unsolicited event per jack plug.  When this is on, the driver polls
  the jack detection so that the headphone auto-mute can work, while 
  turning this off would reduce the power consumption.

Conexant codec control

101-107

Conexant codec의 `Auto-Mute Mode`는 Realtek codec 절에서 설명한 동작을 따릅니다. 즉 사용 가능한 headphone·line-out 구성에 따라 자동 mute mode를 선택합니다.

Conexant Auto-Mute
Control참조기능
Auto-Mute ModeRealtek codecsJack 연결에 따른 speaker·line-out mute 정책

원문은 중복 설명 대신 Realtek 절을 참조합니다.

Conexant codecs
---------------

Auto-Mute Mode
  See Realtek codecs.

Analog codec control

108-121

Analog codec의 `Channel Mode`는 surround channel 구성을 바꾸는 enum control이며 surround channel을 사용할 수 있을 때만 나타납니다. 사용할 channel 수는 `2ch`, `4ch`, `6ch`이며 구성에 따라 multi-I/O jack retasking도 제어합니다.

Analog codec의 `Independent HP`를 enable하면 headphone output이 primary stream 대신 `hw:0,2` 같은 세 번째 PCM의 독립 stream에서 route됩니다.

Analog codec control
Control선택 또는 경로효과
Channel Mode2ch, 4ch, 6chSurround channel 구성과 multi-I/O jack retasking
Independent HP세 번째 PCM 등 독립 stream(hw:0,2)Primary stream과 분리된 headphone 출력

Realtek·VIA의 유사 control보다 선택 범위가 간단합니다.

Analog Independent HP
Independent HP disabled: primary stream 사용Independent HP enabled세 번째 PCM(hw:0,2) 선택Headphone을 독립 stream으로 출력

Headphone source를 primary PCM에서 별도 PCM으로 분리합니다.

Analog codecs
--------------

Channel Mode
  This is an enum control to change the surround-channel setup,
  appears only when the surround channels are available.
  It gives the number of channels to be used, "2ch", "4ch" and "6ch".
  According to the configuration, this also controls the
  jack-retasking of multi-I/O jacks.

Independent HP
  When this enum control is enabled, the headphone output is routed
  from an individual stream (the third PCM such as hw:0,2) instead of
  the primary stream.