← Documents Documentation/sound/kernel-api/alsa-driver-api.rst GitHub 원문 ↗

Linux 6.18.37 · Sound

ALSA Driver API

ALSA card·device, PCM, mixer, MIDI, proc, compressed offload, ASoC, hwdep, jack 및 DMA API를 41개 kernel-doc source와 연결합니다.

Source pathDocumentation/sound/kernel-api/alsa-driver-api.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약·해설

alsa-driver-api.rst:1-135

ALSA card·device, PCM, mixer, MIDI, proc, compressed offload, ASoC, hwdep, jack 및 DMA API를 41개 kernel-doc source와 연결합니다.

이 페이지는 별도 API 본문을 중복 작성하지 않고 각 C source와 header의 kernel-doc를 하나의 기능별 reference로 조립합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 ===================
2 The ALSA Driver API
3 ===================
4
5 Management of Cards and Devices
6 ===============================
7
8 Card Management
9 ---------------
10 .. kernel-doc:: sound/core/init.c
11
12 Device Components
13 -----------------
14 .. kernel-doc:: sound/core/device.c
15
16 Module requests and Device File Entries
17 ---------------------------------------
18 .. kernel-doc:: sound/core/sound.c
19
20 Memory Management Helpers
21 -------------------------
22 .. kernel-doc:: sound/core/memory.c
23 .. kernel-doc:: sound/core/memalloc.c
24
25
26 PCM API
27 =======
28
29 PCM Core
30 --------
31 .. kernel-doc:: sound/core/pcm.c
32 .. kernel-doc:: sound/core/pcm_lib.c
33 .. kernel-doc:: sound/core/pcm_native.c
34 .. kernel-doc:: include/sound/pcm.h
35
36 PCM Format Helpers
37 ------------------
38 .. kernel-doc:: sound/core/pcm_misc.c
39
40 PCM Memory Management
41 ---------------------
42 .. kernel-doc:: sound/core/pcm_memory.c
43
44 PCM DMA Engine API
45 ------------------
46 .. kernel-doc:: sound/core/pcm_dmaengine.c
47 .. kernel-doc:: include/sound/dmaengine_pcm.h
48
49 Control/Mixer API
50 =================
51
52 General Control Interface
53 -------------------------
54 .. kernel-doc:: sound/core/control.c
55
56 AC97 Codec API
57 --------------
58 .. kernel-doc:: sound/pci/ac97/ac97_codec.c
59 .. kernel-doc:: sound/pci/ac97/ac97_pcm.c
60
61 Virtual Master Control API
62 --------------------------
63 .. kernel-doc:: sound/core/vmaster.c
64 .. kernel-doc:: include/sound/control.h
65
66 MIDI API
67 ========
68
69 Raw MIDI API
70 ------------
71 .. kernel-doc:: sound/core/rawmidi.c
72
73 MPU401-UART API
74 ---------------
75 .. kernel-doc:: sound/drivers/mpu401/mpu401_uart.c
76
77 Proc Info API
78 =============
79
80 Proc Info Interface
81 -------------------
82 .. kernel-doc:: sound/core/info.c
83
84 Compress Offload
85 ================
86
87 Compress Offload API
88 --------------------
89 .. kernel-doc:: sound/core/compress_offload.c
90 .. kernel-doc:: include/uapi/sound/compress_offload.h
91 .. kernel-doc:: include/uapi/sound/compress_params.h
92 .. kernel-doc:: include/sound/compress_driver.h
93
94 ASoC
95 ====
96
97 ASoC Core API
98 -------------
99 .. kernel-doc:: include/sound/soc.h
100 .. kernel-doc:: sound/soc/soc-core.c
101 .. kernel-doc:: sound/soc/soc-devres.c
102 .. kernel-doc:: sound/soc/soc-component.c
103 .. kernel-doc:: sound/soc/soc-pcm.c
104 .. kernel-doc:: sound/soc/soc-ops.c
105 .. kernel-doc:: sound/soc/soc-compress.c
106
107 ASoC DAPM API
108 -------------
109 .. kernel-doc:: sound/soc/soc-dapm.c
110
111 ASoC DMA Engine API
112 -------------------
113 .. kernel-doc:: sound/soc/soc-generic-dmaengine-pcm.c
114
115 Miscellaneous Functions
116 =======================
117
118 Hardware-Dependent Devices API
119 ------------------------------
120 .. kernel-doc:: sound/core/hwdep.c
121
122 Jack Abstraction Layer API
123 --------------------------
124 .. kernel-doc:: include/sound/jack.h
125 .. kernel-doc:: sound/core/jack.c
126 .. kernel-doc:: sound/soc/soc-jack.c
127
128 ISA DMA Helpers
129 ---------------
130 .. kernel-doc:: sound/core/isadma.c
131
132 Other Helper Macros
133 -------------------
134 .. kernel-doc:: include/sound/core.h
135 .. kernel-doc:: sound/sound_core.c
136

3. 한국어 전문 번역

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

Card와 device 관리

1-24

`The ALSA Driver API`의 첫 부분은 card와 device 관리를 다룹니다. Card 관리, device component, module 요청과 device file entry, memory management helper의 kernel-doc를 source file에서 가져옵니다.

Card·device 관리 API source
Subsection한국어 기능kernel-doc source
Card ManagementSound card 생성·등록·해제sound/core/init.c
Device ComponentsCard에 연결되는 device component 수명주기sound/core/device.c
Module requests and Device File EntriesModule 요청과 sound device file 등록sound/core/sound.c
Memory Management Helpers일반 memory helpersound/core/memory.c
Memory Management HelpersDMA buffer allocation helpersound/core/memalloc.c

각 영문 subsection을 한국어 기능과 원래 source path에 대응시켰습니다.

===================
The ALSA Driver API
===================

Management of Cards and Devices
===============================

Card Management
---------------
.. kernel-doc:: sound/core/init.c

Device Components
-----------------
.. kernel-doc:: sound/core/device.c

Module requests and Device File Entries
---------------------------------------
.. kernel-doc:: sound/core/sound.c

Memory Management Helpers
-------------------------
.. kernel-doc:: sound/core/memory.c
.. kernel-doc:: sound/core/memalloc.c

PCM API

25-48

PCM API 절은 PCM core, format helper, PCM memory management, DMA engine API를 묶습니다. PCM stream의 생성과 native interface부터 sample format, buffer, DMA engine 연동까지 필요한 구현 문서를 제공합니다.

PCM API kernel-doc source
Subsection한국어 기능kernel-doc source
PCM CorePCM core object와 card 등록sound/core/pcm.c
PCM CorePCM runtime helper librarysound/core/pcm_lib.c
PCM CoreNative PCM userspace interfacesound/core/pcm_native.c
PCM CorePCM structure와 driver interface 선언include/sound/pcm.h
PCM Format HelpersPCM sample format 계산 helpersound/core/pcm_misc.c
PCM Memory ManagementPCM buffer memory 관리sound/core/pcm_memory.c
PCM DMA Engine APIDMAengine 기반 PCM helpersound/core/pcm_dmaengine.c
PCM DMA Engine APIDMAengine PCM public interfaceinclude/sound/dmaengine_pcm.h

PCM 기능군의 8개 source path를 모두 보존했습니다.


PCM API
=======

PCM Core
--------
.. kernel-doc:: sound/core/pcm.c
.. kernel-doc:: sound/core/pcm_lib.c
.. kernel-doc:: sound/core/pcm_native.c
.. kernel-doc:: include/sound/pcm.h

PCM Format Helpers
------------------
.. kernel-doc:: sound/core/pcm_misc.c

PCM Memory Management
---------------------
.. kernel-doc:: sound/core/pcm_memory.c

PCM DMA Engine API
------------------
.. kernel-doc:: sound/core/pcm_dmaengine.c
.. kernel-doc:: include/sound/dmaengine_pcm.h

Control과 mixer API

49-65

Control/Mixer API 절은 일반 control interface, AC97 codec, virtual master control을 설명합니다. Mixer element 생성, AC97 PCM routing, 여러 control을 묶는 virtual master 기능이 포함됩니다.

Control/Mixer API source
Subsection한국어 기능kernel-doc source
General Control InterfaceALSA control element interfacesound/core/control.c
AC97 Codec APIAC97 codec 제어sound/pci/ac97/ac97_codec.c
AC97 Codec APIAC97 PCM 경로와 rate 관리sound/pci/ac97/ac97_pcm.c
Virtual Master Control API여러 follower control을 묶는 virtual mastersound/core/vmaster.c
Virtual Master Control APIControl API 선언include/sound/control.h

Control 계층의 source와 header를 subsection별로 정리했습니다.

Control/Mixer API
=================

General Control Interface
-------------------------
.. kernel-doc:: sound/core/control.c

AC97 Codec API
--------------
.. kernel-doc:: sound/pci/ac97/ac97_codec.c
.. kernel-doc:: sound/pci/ac97/ac97_pcm.c

Virtual Master Control API
--------------------------
.. kernel-doc:: sound/core/vmaster.c
.. kernel-doc:: include/sound/control.h

MIDI API

66-76

MIDI API는 raw MIDI core와 MPU401-UART helper 두 부분으로 구성됩니다. Raw byte stream interface와 널리 쓰이는 MPU-401 UART hardware 연동을 각각 문서화합니다.

MIDI API source
Subsection한국어 기능kernel-doc source
Raw MIDI APIRaw MIDI stream과 substream 관리sound/core/rawmidi.c
MPU401-UART APIMPU-401 UART MIDI helpersound/drivers/mpu401/mpu401_uart.c

두 MIDI subsection의 kernel-doc 위치입니다.

MIDI API
========

Raw MIDI API
------------
.. kernel-doc:: sound/core/rawmidi.c

MPU401-UART API
---------------
.. kernel-doc:: sound/drivers/mpu401/mpu401_uart.c

Proc info API

77-83

Proc Info API는 ALSA가 `/proc/asound` 계층에 debugging 및 상태 정보를 제공하는 interface를 설명합니다.

Proc Info source
Subsection한국어 기능kernel-doc source
Proc Info InterfaceALSA proc info entry와 output 관리sound/core/info.c

Proc entry 생성과 text/binary 정보 출력 API의 source입니다.

Proc Info API
=============

Proc Info Interface
-------------------
.. kernel-doc:: sound/core/info.c

Compressed audio offload

84-93

Compress Offload 절은 compressed audio stream을 DSP나 codec에 offload하는 API를 연결합니다. Core 구현, userspace ABI, codec parameter ABI, driver interface를 함께 참조합니다.

Compress Offload API source
역할kernel-doc source
Compress offload coresound/core/compress_offload.c
Userspace compress stream ABIinclude/uapi/sound/compress_offload.h
Userspace codec parameter ABIinclude/uapi/sound/compress_params.h
Kernel driver interfaceinclude/sound/compress_driver.h

Kernel 구현과 UAPI/header 경계를 구분했습니다.

Compress Offload
================

Compress Offload API
--------------------
.. kernel-doc:: sound/core/compress_offload.c
.. kernel-doc:: include/uapi/sound/compress_offload.h
.. kernel-doc:: include/uapi/sound/compress_params.h
.. kernel-doc:: include/sound/compress_driver.h

ASoC API

94-114

ASoC 절은 System on Chip audio core, resource-managed helper, component, PCM, operation, compressed stream, DAPM, generic DMAengine PCM API를 연결합니다.

ASoC kernel-doc source
Subsection한국어 기능kernel-doc source
ASoC Core APIASoC public structure와 APIinclude/sound/soc.h
ASoC Core APIASoC card/component coresound/soc/soc-core.c
ASoC Core APIdevres 기반 helpersound/soc/soc-devres.c
ASoC Core APIComponent driver 관리sound/soc/soc-component.c
ASoC Core APIRuntime PCM link 관리sound/soc/soc-pcm.c
ASoC Core API표준 mixer operationsound/soc/soc-ops.c
ASoC Core APIASoC compressed streamsound/soc/soc-compress.c
ASoC DAPM APIDynamic Audio Power Managementsound/soc/soc-dapm.c
ASoC DMA Engine APIGeneric DMAengine PCM componentsound/soc/soc-generic-dmaengine-pcm.c

ASoC의 9개 public 및 implementation source를 모두 보존했습니다.

ASoC
====

ASoC Core API
-------------
.. kernel-doc:: include/sound/soc.h
.. kernel-doc:: sound/soc/soc-core.c
.. kernel-doc:: sound/soc/soc-devres.c
.. kernel-doc:: sound/soc/soc-component.c
.. kernel-doc:: sound/soc/soc-pcm.c
.. kernel-doc:: sound/soc/soc-ops.c
.. kernel-doc:: sound/soc/soc-compress.c

ASoC DAPM API
-------------
.. kernel-doc:: sound/soc/soc-dapm.c

ASoC DMA Engine API
-------------------
.. kernel-doc:: sound/soc/soc-generic-dmaengine-pcm.c

기타 helper API

115-135

마지막 절은 hardware-dependent device, jack abstraction, ISA DMA, 기타 core helper macro를 문서화합니다.

기타 ALSA API source
Subsection한국어 기능kernel-doc source
Hardware-Dependent Devices API장치별 raw hwdep interfacesound/core/hwdep.c
Jack Abstraction Layer API공통 jack 선언include/sound/jack.h
Jack Abstraction Layer APIALSA core jack 구현sound/core/jack.c
Jack Abstraction Layer APIASoC jack 구현sound/soc/soc-jack.c
ISA DMA HelpersLegacy ISA DMA helpersound/core/isadma.c
Other Helper MacrosALSA core macro와 선언include/sound/core.h
Other Helper MacrosLinux sound core 연결 helpersound/sound_core.c

Miscellaneous Functions 아래 7개 source path입니다.

ALSA driver API 범위
Card와 device 수명주기PCM / control / MIDI interfaceProc info와 compressed offloadASoC core / DAPM / DMAenginehwdep / jack / ISA DMA / core helper

Card 생성에서 stream과 hardware helper까지 API 장의 흐름입니다.

Miscellaneous Functions
=======================

Hardware-Dependent Devices API
------------------------------
.. kernel-doc:: sound/core/hwdep.c

Jack Abstraction Layer API
--------------------------
.. kernel-doc:: include/sound/jack.h
.. kernel-doc:: sound/core/jack.c
.. kernel-doc:: sound/soc/soc-jack.c

ISA DMA Helpers
---------------
.. kernel-doc:: sound/core/isadma.c

Other Helper Macros
-------------------
.. kernel-doc:: include/sound/core.h
.. kernel-doc:: sound/sound_core.c