요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. _dcn_blocks:
==========
DCN Blocks
==========
In this section, you will find some extra details about some of the DCN blocks
and the code documentation when it is automatically generated.
DCHUBBUB
--------
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h
:doc: overview
HUBP
----
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h
:doc: overview
DPP
---
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h
:doc: overview
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h
:internal:
MPC
---
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
:doc: overview
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
:internal:
:no-identifiers: mpcc_blnd_cfg mpcc_alpha_blend_mode
OPP
---
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/opp.h
:doc: overview
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/opp.h
:internal:
DIO
---
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dio.c
:doc: overview
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dio.c
:internal:
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
문서 범위와 kernel-doc 생성 방식
1-9이 페이지는 DCN(Display Core Next)의 일부 hardware block을 한곳에서 설명하고, 각 source file의 kernel-doc 주석을 Sphinx 문서에 자동으로 삽입합니다. 따라서 이 RST 파일은 긴 설명을 중복해 적기보다 source code에 가까운 문서를 연결하는 목차 역할을 합니다.
`.. _dcn_blocks:`는 다른 문서에서 이 절을 참조할 수 있게 하는 RST anchor입니다. `kernel-doc` 지시문 뒤의 option은 어떤 문서 조각과 symbol을 생성 결과에 포함할지 정합니다.
이 페이지에서 사용하는 세 가지 option을 구분합니다.
실제 연결과 기능 배치는 DCN 세대 및 pipe 구성에 따라 달라질 수 있습니다.
.. _dcn_blocks:
==========
DCN Blocks
==========
In this section, you will find some extra details about some of the DCN blocks
and the code documentation when it is automatically generated.
DCHUBBUB와 HUBP: memory에서 pipe로
10-21`DCHUBBUB`와 `HUBP`는 모두 display data를 memory 쪽에서 가져오는 경로에 있지만 범위가 다릅니다. DCHUBBUB는 여러 display pipe가 공유하는 hub-level 자원과 bandwidth 조건을 다루고, HUBP는 개별 pipe에 연결되어 해당 plane의 surface fetch 상태를 구성합니다.
이 문서는 두 header에서 `DOC: overview`만 가져옵니다. 세대별 register programming과 함수 목록은 각각 `drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h`와 `drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h`의 구현 및 연결된 generation-specific source를 함께 확인해야 합니다.
이름이 비슷한 두 memory-side block의 조사 단위를 나눕니다.
정확한 request 순서와 cache 경로는 해당 DCN generation 구현을 기준으로 확인합니다.
DCHUBBUB
--------
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/dchubbub.h
:doc: overview
HUBP
----
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h
:doc: overview
DPP: plane 단위 pixel 처리
22-30`DPP`는 Display Pipe and Plane processor를 나타내며, memory에서 가져온 plane의 pixel을 합성 전에 처리하는 block입니다. scaling과 color-processing 계열 기능이 이 영역에 속하지만, 지원 stage와 배치는 DCN generation에 따라 달라질 수 있으므로 `drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h`의 interface와 실제 generation implementation을 함께 봅니다.
첫 번째 지시문은 DPP의 overview를, 두 번째 지시문은 같은 header의 internal symbol 문서를 생성합니다. 함수명, struct member, callback은 번역하지 않고 source symbol 그대로 검색해야 합니다.
기능 목록은 개념적 분류이며 실제 stage 순서는 hardware 문서와 source implementation을 따릅니다.
DPP
---
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h
:doc: overview
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/dpp.h
:internal:
MPC: pipe와 plane 합성
31-40`MPC`는 Multiple Pipe/Plane Combine 영역으로, DPP에서 처리된 하나 이상의 stream을 blending하고 output 쪽으로 보낼 합성 결과를 만듭니다. plane 수, pipe split, alpha/blending 설정을 조사할 때 `drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h`의 overview와 internal interface가 기준이 됩니다.
`:no-identifiers: mpcc_blnd_cfg mpcc_alpha_blend_mode`는 `:internal:` 문서 생성 중 두 identifier를 제외하라는 뜻입니다. symbol 자체가 source에서 제거된다는 의미가 아니며, 이번 Sphinx 출력에서만 중복 생성을 피합니다.
MPC 절의 세 option이 함께 만드는 출력입니다.
MPC
---
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
:doc: overview
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
:internal:
:no-identifiers: mpcc_blnd_cfg mpcc_alpha_blend_mode
OPP: 합성 결과의 output-side 처리
41-49`OPP`는 Output Pixel Processor입니다. MPC가 만든 합성 결과를 display output에 맞게 처리하는 interface를 제공하며, output color 또는 format 관련 단계가 이 경계에 연결됩니다. 정확한 지원 기능과 programming sequence는 `drivers/gpu/drm/amd/display/dc/inc/hw/opp.h` 및 generation별 구현을 확인합니다.
DPP가 합성 전 plane 단위 처리라면 OPP는 합성 후 output 단위 처리라는 점이 핵심 차이입니다. 이 절도 overview와 internal symbol을 모두 자동 생성합니다.
동일한 color 기능처럼 보여도 적용 시점과 대상이 다릅니다.
OPP
---
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/opp.h
:doc: overview
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/opp.h
:internal:
DIO: display link hardware service
50-57`DIO`는 Display I/O 경로를 제어하는 link hardware service 구현입니다. 앞의 다섯 절이 hardware abstraction header를 가리키는 것과 달리, 이 절은 C source인 `drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dio.c`에서 overview와 internal symbol을 직접 가져옵니다.
DIO 절을 조사할 때에는 connector의 protocol 자체와 DC link HWSS가 DIO 구현을 호출하는 제어 경로를 구분해야 합니다. Encoder, PHY, clock 또는 transmitter의 세부 동작은 ASIC generation과 link type에 따라 달라질 수 있습니다.
세부 callback과 지원 protocol은 link_hwss_dio.c 및 호출부를 기준으로 확인합니다.
DIO
---
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dio.c
:doc: overview
.. kernel-doc:: drivers/gpu/drm/amd/display/dc/link/hwss/link_hwss_dio.c
:internal:
요약·해설
dcn-blocks.rst:1-57DCN display pipeline의 여섯 block과 해당 kernel-doc source를 연결하는 문서입니다. 원문 지시문과 symbol은 그대로 보존하고, memory fetch, plane 처리, 합성, output 처리, link 제어의 경계를 한국어로 해설합니다.
증상과 source investigation의 시작점을 연결합니다.