요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
======================================
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 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 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 codecs
---------------
Auto-Mute Mode
See Realtek codecs.
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.
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도 함께 제어합니다.
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됩니다.
사용 가능한 jack 구성과 선택값에 따른 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이 들리지 않을 수 있습니다.
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`으로 설정할 수도 있습니다.
Signal path와 jack pin 역할을 바꾸는 control입니다.
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으로 전환됩니다.
입력 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으로 자동 전환합니다.
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을 더 이상 사용할 수 없습니다.
공통 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을 줄여 전력 소비를 낮출 수 있습니다.
각 control이 바꾸는 route와 tradeoff를 정리합니다.
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-107Conexant codec의 `Auto-Mute Mode`는 Realtek codec 절에서 설명한 동작을 따릅니다. 즉 사용 가능한 headphone·line-out 구성에 따라 자동 mute mode를 선택합니다.
원문은 중복 설명 대신 Realtek 절을 참조합니다.
Conexant codecs
---------------
Auto-Mute Mode
See Realtek codecs.
Analog codec control
108-121Analog 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됩니다.
Realtek·VIA의 유사 control보다 선택 범위가 간단합니다.
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.
요약·해설
controls.rst:1-121Realtek, 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 family의 대표 기능입니다.