← Documents Documentation/ABI/testing/configfs-most GitHub 원문 ↗

Linux 6.18.37 · ABI / testing

MOST component configfs testing ABI

MOST device channel을 cdev·video·network·sound component driver에 연결하기 위한 configfs tree, channel buffer와 transport attribute, link 및 ALSA card 생성 절차를 설명합니다.

Source pathDocumentation/ABI/testing/configfs-most
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

MOST component configuration entry

configfs-most:1-9

Configfs를 mount한 뒤 나타나는 most_<component> interface에서 device channel과 component driver의 연결을 구성합니다.

Character-device와 video link

configfs-most:12-120

most_cdev와 most_video link는 같은 channel buffer·datatype·direction·transport·attachment·lifecycle attribute 집합을 제공합니다.

Network component link

configfs-most:122-175

most_net link에도 동일한 channel configuration과 create_link·destroy_link 제어가 제공됩니다.

ALSA sound card와 channel link

configfs-most:177-241

Sound component는 card registration을 먼저 제어하고 card 아래의 각 link에 공통 channel attribute를 적용합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 What: /sys/kernel/config/most_<component>
2 Date: March 8, 2019
3 KernelVersion: 5.2
4 Description: Interface is used to configure and connect device channels
5 to component drivers.
6
7 Attributes are visible only when configfs is mounted. To mount
8 configfs in /sys/kernel/config directory use:
9 # mount -t configfs none /sys/kernel/config/
10
11
12 What: /sys/kernel/config/most_cdev/<link>
13 Date: March 8, 2019
14 KernelVersion: 5.2
15 Description:
16 The attributes:
17
18 buffer_size
19 configure the buffer size for this channel
20
21 subbuffer_size
22 configure the sub-buffer size for this channel
23 (needed for synchronous and isochronous data)
24
25
26 num_buffers
27 configure number of buffers used for this
28 channel
29
30 datatype
31 configure type of data that will travel over
32 this channel
33
34 direction
35 configure whether this link will be an input
36 or output
37
38 dbr_size
39 configure DBR data buffer size (this is used
40 for MediaLB communication only)
41
42 packets_per_xact
43 configure the number of packets that will be
44 collected from the network before being
45 transmitted via USB (this is used for USB
46 communication only)
47
48 device
49 name of the device the link is to be attached to
50
51 channel
52 name of the channel the link is to be attached to
53
54 comp_params
55 pass parameters needed by some components
56
57 create_link
58 write '1' to this attribute to trigger the
59 creation of the link. In case of speculative
60 configuration, the creation is post-poned until
61 a physical device is being attached to the bus.
62
63 destroy_link
64 write '1' to this attribute to destroy an
65 active link
66
67 What: /sys/kernel/config/most_video/<link>
68 Date: March 8, 2019
69 KernelVersion: 5.2
70 Description:
71 The attributes:
72
73 buffer_size
74 configure the buffer size for this channel
75
76 subbuffer_size
77 configure the sub-buffer size for this channel
78 (needed for synchronous and isochronous data)
79
80
81 num_buffers
82 configure number of buffers used for this
83 channel
84
85 datatype
86 configure type of data that will travel over
87 this channel
88
89 direction
90 configure whether this link will be an input
91 or output
92
93 dbr_size
94 configure DBR data buffer size (this is used
95 for MediaLB communication only)
96
97 packets_per_xact
98 configure the number of packets that will be
99 collected from the network before being
100 transmitted via USB (this is used for USB
101 communication only)
102
103 device
104 name of the device the link is to be attached to
105
106 channel
107 name of the channel the link is to be attached to
108
109 comp_params
110 pass parameters needed by some components
111
112 create_link
113 write '1' to this attribute to trigger the
114 creation of the link. In case of speculative
115 configuration, the creation is post-poned until
116 a physical device is being attached to the bus.
117
118 destroy_link
119 write '1' to this attribute to destroy an
120 active link
121
122 What: /sys/kernel/config/most_net/<link>
123 Date: March 8, 2019
124 KernelVersion: 5.2
125 Description:
126 The attributes:
127
128 buffer_size
129 configure the buffer size for this channel
130
131 subbuffer_size
132 configure the sub-buffer size for this channel
133 (needed for synchronous and isochronous data)
134
135
136 num_buffers
137 configure number of buffers used for this
138 channel
139
140 datatype
141 configure type of data that will travel over
142 this channel
143
144 direction
145 configure whether this link will be an input
146 or output
147
148 dbr_size
149 configure DBR data buffer size (this is used
150 for MediaLB communication only)
151
152 packets_per_xact
153 configure the number of packets that will be
154 collected from the network before being
155 transmitted via USB (this is used for USB
156 communication only)
157
158 device
159 name of the device the link is to be attached to
160
161 channel
162 name of the channel the link is to be attached to
163
164 comp_params
165 pass parameters needed by some components
166
167 create_link
168 write '1' to this attribute to trigger the
169 creation of the link. In case of speculative
170 configuration, the creation is post-poned until
171 a physical device is being attached to the bus.
172
173 destroy_link
174 write '1' to this attribute to destroy an
175 active link
176
177 What: /sys/kernel/config/most_sound/<card>
178 Date: March 8, 2019
179 KernelVersion: 5.2
180 Description:
181 The attributes:
182
183 create_card
184 write '1' to this attribute to trigger the
185 registration of the sound card with the ALSA
186 subsystem.
187
188 What: /sys/kernel/config/most_sound/<card>/<link>
189 Date: March 8, 2019
190 KernelVersion: 5.2
191 Description:
192 The attributes:
193
194 buffer_size
195 configure the buffer size for this channel
196
197 subbuffer_size
198 configure the sub-buffer size for this channel
199 (needed for synchronous and isochronous data)
200
201
202 num_buffers
203 configure number of buffers used for this
204 channel
205
206 datatype
207 configure type of data that will travel over
208 this channel
209
210 direction
211 configure whether this link will be an input
212 or output
213
214 dbr_size
215 configure DBR data buffer size (this is used
216 for MediaLB communication only)
217
218 packets_per_xact
219 configure the number of packets that will be
220 collected from the network before being
221 transmitted via USB (this is used for USB
222 communication only)
223
224 device
225 name of the device the link is to be attached to
226
227 channel
228 name of the channel the link is to be attached to
229
230 comp_params
231 pass parameters needed by some components
232
233 create_link
234 write '1' to this attribute to trigger the
235 creation of the link. In case of speculative
236 configuration, the creation is post-poned until
237 a physical device is being attached to the bus.
238
239 destroy_link
240 write '1' to this attribute to destroy an
241 active link
242

3. 한국어 전문 번역

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

MOST device channel과 component driver 연결

1-9
항목내용
What/sys/kernel/config/most_<component>
Date2019년 3월 8일
KernelVersion5.2
Description이 interface는 device channel을 구성하고 component driver에 연결하는 데 사용한다.

Attribute는 configfs가 mount되어 있을 때만 보인다. `/sys/kernel/config` directory에 configfs를 mount하려면 다음 명령을 사용한다.

# mount -t configfs none /sys/kernel/config/

Character-device component link

12-65
항목내용
What/sys/kernel/config/most_cdev/<link>
Date2019년 3월 8일
KernelVersion5.2
Attribute설명
buffer_size이 channel의 buffer 크기를 구성한다.
subbuffer_size이 channel의 sub-buffer 크기를 구성한다. Synchronous 및 isochronous data에 필요하다.
num_buffers이 channel에서 사용하는 buffer 수를 구성한다.
datatype이 channel을 통해 이동할 data의 type을 구성한다.
direction이 link가 input인지 output인지 구성한다.
dbr_sizeDBR data buffer 크기를 구성한다. MediaLB 통신에만 사용한다.
packets_per_xactUSB를 통해 전송하기 전에 network에서 모을 packet 수를 구성한다. USB 통신에만 사용한다.
deviceLink를 attach할 device의 이름이다.
channelLink를 attach할 channel의 이름이다.
comp_params일부 component가 필요로 하는 parameter를 전달한다.
create_link`1`을 쓰면 link 생성을 시작한다. Speculative configuration에서는 physical device가 bus에 attach될 때까지 생성을 연기한다.
destroy_link`1`을 쓰면 active link를 제거한다.

Video component link

67-120
항목내용
What/sys/kernel/config/most_video/<link>
Date2019년 3월 8일
KernelVersion5.2
Attribute설명
buffer_size이 channel의 buffer 크기를 구성한다.
subbuffer_size이 channel의 sub-buffer 크기를 구성한다. Synchronous 및 isochronous data에 필요하다.
num_buffers이 channel에서 사용하는 buffer 수를 구성한다.
datatype이 channel을 통해 이동할 data의 type을 구성한다.
direction이 link가 input인지 output인지 구성한다.
dbr_sizeDBR data buffer 크기를 구성한다. MediaLB 통신에만 사용한다.
packets_per_xactUSB를 통해 전송하기 전에 network에서 모을 packet 수를 구성한다. USB 통신에만 사용한다.
deviceLink를 attach할 device의 이름이다.
channelLink를 attach할 channel의 이름이다.
comp_params일부 component가 필요로 하는 parameter를 전달한다.
create_link`1`을 쓰면 link 생성을 시작한다. Speculative configuration에서는 physical device가 bus에 attach될 때까지 생성을 연기한다.
destroy_link`1`을 쓰면 active link를 제거한다.

Network component link

122-175
항목내용
What/sys/kernel/config/most_net/<link>
Date2019년 3월 8일
KernelVersion5.2
Attribute설명
buffer_size이 channel의 buffer 크기를 구성한다.
subbuffer_size이 channel의 sub-buffer 크기를 구성한다. Synchronous 및 isochronous data에 필요하다.
num_buffers이 channel에서 사용하는 buffer 수를 구성한다.
datatype이 channel을 통해 이동할 data의 type을 구성한다.
direction이 link가 input인지 output인지 구성한다.
dbr_sizeDBR data buffer 크기를 구성한다. MediaLB 통신에만 사용한다.
packets_per_xactUSB를 통해 전송하기 전에 network에서 모을 packet 수를 구성한다. USB 통신에만 사용한다.
deviceLink를 attach할 device의 이름이다.
channelLink를 attach할 channel의 이름이다.
comp_params일부 component가 필요로 하는 parameter를 전달한다.
create_link`1`을 쓰면 link 생성을 시작한다. Speculative configuration에서는 physical device가 bus에 attach될 때까지 생성을 연기한다.
destroy_link`1`을 쓰면 active link를 제거한다.

ALSA sound card 등록

177-186
항목내용
What/sys/kernel/config/most_sound/<card>
Date2019년 3월 8일
KernelVersion5.2
create_card이 attribute에 `1`을 쓰면 ALSA subsystem에 sound card 등록을 시작한다.