요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
PCI drivers
===========
The PCI boards are identified by an identification called PCI ID. The PCI ID
is actually composed by two parts:
- Vendor ID and device ID;
- Subsystem ID and Subsystem device ID;
The ``lspci -nn`` command allows identifying the vendor/device PCI IDs:
.. code-block:: none
:emphasize-lines: 3
$ lspci -nn
...
00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
01:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 0f)
02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
02:02.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder [14f1:5b7a]
02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
...
The subsystem IDs can be obtained using ``lspci -vn``
.. code-block:: none
:emphasize-lines: 4
$ lspci -vn
...
00:0a.0 0480: 1131:7133 (rev d1)
Subsystem: 1461:f01d
Flags: bus master, medium devsel, latency 32, IRQ 209
Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
Capabilities: [40] Power Management version 2
...
At the above example, the first card uses the ``saa7134`` driver, and
has a vendor/device PCI ID equal to ``1131:7133`` and a PCI subsystem
ID equal to ``1461:f01d`` (see :doc:`Saa7134 card list<saa7134-cardlist>`).
Unfortunately, sometimes the same PCI subsystem ID is used by different
products. So, several media drivers allow passing a ``card=`` parameter,
in order to setup a card number that would match the correct settings for
an specific board.
The current supported PCI/PCIe cards (not including staging drivers) are
listed below\ [#]_.
.. [#] some of the drivers have sub-drivers, not shown at this table
================ ========================================================
Driver Name
================ ========================================================
altera-ci Altera FPGA based CI module
b2c2-flexcop-pci Technisat/B2C2 Air/Sky/Cable2PC PCI
bt878 DVB/ATSC Support for bt878 based TV cards
bttv BT8x8 Video For Linux
cobalt Cisco Cobalt
cx18 Conexant cx23418 MPEG encoder
cx23885 Conexant cx23885 (2388x successor)
cx25821 Conexant cx25821
cx88xx Conexant 2388x (bt878 successor)
ddbridge Digital Devices bridge
dm1105 SDMC DM1105 based PCI cards
dt3155 DT3155 frame grabber
dvb-ttpci AV7110 cards
earth-pt1 PT1 cards
earth-pt3 Earthsoft PT3 cards
hexium_gemini Hexium Gemini frame grabber
hexium_orion Hexium HV-PCI6 and Orion frame grabber
hopper HOPPER based cards
ipu3-cio2 Intel ipu3-cio2 driver
ivtv Conexant cx23416/cx23415 MPEG encoder/decoder
ivtvfb Conexant cx23415 framebuffer
mantis MANTIS based cards
mgb4 Digiteq Automotive MGB4 frame grabber
mxb Siemens-Nixdorf 'Multimedia eXtension Board'
netup-unidvb NetUP Universal DVB card
ngene Micronas nGene
pluto2 Pluto2 cards
saa7134 Philips SAA7134
saa7164 NXP SAA7164
smipcie SMI PCIe DVBSky cards
solo6x10 Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)
tw5864 Techwell TW5864 video/audio grabber and encoder
tw686x Intersil/Techwell TW686x
tw68 Techwell tw68x Video For Linux
zoran Zoran-36057/36067 JPEG codec
================ ========================================================
Some of those drivers support multiple devices, as shown at the card
lists below:
.. toctree::
:maxdepth: 1
bttv-cardlist
cx18-cardlist
cx23885-cardlist
cx88-cardlist
ivtv-cardlist
saa7134-cardlist
saa7164-cardlist
zoran-cardlist
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
PCI ID의 구성
1-11이 문서는 GPL-2.0 라이선스를 따릅니다. PCI 보드는 PCI ID라는 식별 정보로 구분하며, PCI ID는 두 쌍의 값으로 구성됩니다.
- Vendor ID와 device ID
- Subsystem ID와 subsystem device ID
Vendor와 device PCI ID 확인
12-26`lspci -nn` 명령을 사용하면 장치의 vendor/device PCI ID를 확인할 수 있습니다. 아래 출력은 Philips, Brooktree, Conexant, Internext 멀티미디어 장치의 주소, 장치 종류, 이름과 대괄호 안 PCI ID를 보여 줍니다.
$ lspci -nn
...
00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
01:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 0f)
02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
02:02.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder [14f1:5b7a]
02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
...
PCI subsystem ID 확인
27-40Subsystem ID는 `lspci -vn`으로 확인할 수 있습니다. 예제의 `Subsystem: 1461:f01d` 행과 함께 bus master flag, latency, IRQ, memory 영역 및 power-management capability가 출력됩니다.
$ lspci -vn
...
00:0a.0 0480: 1131:7133 (rev d1)
Subsystem: 1461:f01d
Flags: bus master, medium devsel, latency 32, IRQ 209
Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
Capabilities: [40] Power Management version 2
...
드라이버와 카드 설정 선택
41-53위 예제의 첫 번째 카드는 `saa7134` 드라이버를 사용합니다. Vendor/device PCI ID는 `1131:7133`이고 PCI subsystem ID는 `1461:f01d`입니다. 상세 모델은 `saa7134-cardlist`를 참조합니다.
서로 다른 제품이 같은 PCI subsystem ID를 사용하는 경우가 있습니다. 이 때문에 여러 미디어 드라이버는 특정 보드에 맞는 설정을 고를 수 있도록 `card=` 매개변수로 카드 번호를 받습니다.
아래 목록은 현재 지원되는 PCI/PCIe 카드 드라이버이며 staging 드라이버는 포함하지 않습니다. 일부 드라이버에는 표에 표시하지 않은 하위 드라이버가 있습니다.
지원 PCI와 PCIe 드라이버
54-93드라이버 symbol과 지원 보드 또는 기능 이름을 원문 순서대로 제공합니다. Symbol, 제품명, codec 이름과 약어는 원문 표기를 유지했습니다.
| Driver | Name |
|---|---|
| altera-ci | Altera FPGA based CI module |
| b2c2-flexcop-pci | Technisat/B2C2 Air/Sky/Cable2PC PCI |
| bt878 | DVB/ATSC Support for bt878 based TV cards |
| bttv | BT8x8 Video For Linux |
| cobalt | Cisco Cobalt |
| cx18 | Conexant cx23418 MPEG encoder |
| cx23885 | Conexant cx23885 (2388x successor) |
| cx25821 | Conexant cx25821 |
| cx88xx | Conexant 2388x (bt878 successor) |
| ddbridge | Digital Devices bridge |
| dm1105 | SDMC DM1105 based PCI cards |
| dt3155 | DT3155 frame grabber |
| dvb-ttpci | AV7110 cards |
| earth-pt1 | PT1 cards |
| earth-pt3 | Earthsoft PT3 cards |
| hexium_gemini | Hexium Gemini frame grabber |
| hexium_orion | Hexium HV-PCI6 and Orion frame grabber |
| hopper | HOPPER based cards |
| ipu3-cio2 | Intel ipu3-cio2 driver |
| ivtv | Conexant cx23416/cx23415 MPEG encoder/decoder |
| ivtvfb | Conexant cx23415 framebuffer |
| mantis | MANTIS based cards |
| mgb4 | Digiteq Automotive MGB4 frame grabber |
| mxb | Siemens-Nixdorf 'Multimedia eXtension Board' |
| netup-unidvb | NetUP Universal DVB card |
| ngene | Micronas nGene |
| pluto2 | Pluto2 cards |
| saa7134 | Philips SAA7134 |
| saa7164 | NXP SAA7164 |
| smipcie | SMI PCIe DVBSky cards |
| solo6x10 | Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264) |
| tw5864 | Techwell TW5864 video/audio grabber and encoder |
| tw686x | Intersil/Techwell TW686x |
| tw68 | Techwell tw68x Video For Linux |
| zoran | Zoran-36057/36067 JPEG codec |
상세 카드 목록
94-108여러 장치를 지원하는 드라이버의 상세 모델과 카드 번호는 다음 하위 문서에서 확인할 수 있습니다. 항목은 원문의 `toctree` 순서이며 모두 `Documentation/admin-guide/media/` 아래의 source path입니다.
- bttv-cardlist — Documentation/admin-guide/media/bttv-cardlist.rst
bttv-cardlist.html - cx18-cardlist — Documentation/admin-guide/media/cx18-cardlist.rst
cx18-cardlist.html - cx23885-cardlist — Documentation/admin-guide/media/cx23885-cardlist.rst
cx23885-cardlist.html - cx88-cardlist — Documentation/admin-guide/media/cx88-cardlist.rst
cx88-cardlist.html - ivtv-cardlist — Documentation/admin-guide/media/ivtv-cardlist.rst
ivtv-cardlist.html - saa7134-cardlist — Documentation/admin-guide/media/saa7134-cardlist.rst
saa7134-cardlist.html - saa7164-cardlist — Documentation/admin-guide/media/saa7164-cardlist.rst
saa7164-cardlist.html - zoran-cardlist — Documentation/admin-guide/media/zoran-cardlist.rst
zoran-cardlist.html
PCI 장치 식별과 드라이버 선택
pci-cardlist.rst:1-108`lspci -nn`으로 vendor/device ID를 확인하고 `lspci -vn`으로 subsystem ID를 확인합니다. 두 ID 쌍으로 드라이버와 보드 설정을 선택하며, ID가 중복되는 보드는 필요할 때 `card=` 번호로 구분합니다.
장치 ID와 subsystem ID를 차례로 확인한 뒤 드라이버와 정확한 카드 설정을 선택합니다.