← Documents Documentation/gpu/rfc/i915_gem_lmem.rst GitHub 원문 ↗

Linux 6.18.37 · GPU·DRM·RFC

I915 DG1/LMEM RFC Section

DG1 local-memory hardware·TTM·uAPI upstream 순서를 설명합니다.

Source pathDocumentation/gpu/rfc/i915_gem_lmem.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약·해설

i915_gem_lmem.rst:1-22

DG1 local-memory hardware·TTM·uAPI upstream 순서를 설명합니다.

문서 위치
항목
SourceDocumentation/gpu/rfc/i915_gem_lmem.rst
분량22 source lines
관련dma_resv_lock · IGT · mesa-dev

Source와 관련 개념입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 =========================
2 I915 DG1/LMEM RFC Section
3 =========================
4
5 Upstream plan
6 =============
7 For upstream the overall plan for landing all the DG1 stuff and turning it for
8 real, with all the uAPI bits is:
9
10 * Merge basic HW enabling of DG1(still without pciid)
11 * Merge the uAPI bits behind special CONFIG_BROKEN(or so) flag
12 * At this point we can still make changes, but importantly this lets us
13 start running IGTs which can utilize local-memory in CI
14 * Convert over to TTM, make sure it all keeps working. Some of the work items:
15 * TTM shrinker for discrete
16 * dma_resv_lockitem for full dma_resv_lock, i.e not just trylock
17 * Use TTM CPU pagefault handler
18 * Route shmem backend over to TTM SYSTEM for discrete
19 * TTM purgeable object support
20 * Move i915 buddy allocator over to TTM
21 * Send RFC(with mesa-dev on cc) for final sign off on the uAPI
22 * Add pciid for DG1 and turn on uAPI for real
23

3. 한국어 전문 번역

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

DG1 local-memory upstream 계획

1-22

이 RFC는 DG1 hardware enablement와 local-memory uAPI를 실제로 활성화하기 위한 upstream 순서를 설명합니다.

먼저 PCI ID 없이 DG1 basic hardware enablement를 merge합니다. 이어 uAPI를 `CONFIG_BROKEN` 같은 특별 flag 뒤에 merge합니다. 이 단계에서는 API 변경이 가능하지만 local-memory를 사용하는 IGT를 CI에서 실행할 수 있다는 점이 중요합니다.

다음은 TTM 전환과 동작 검증입니다. Discrete용 TTM shrinker, trylock이 아닌 전체 `dma_resv_lock`을 위한 `dma_resv_lockitem`, TTM CPU page-fault handler 사용, discrete에서 shmem backend를 TTM SYSTEM으로 routing, TTM purgeable object, i915 buddy allocator의 TTM 이동이 포함됩니다.

그 뒤 mesa-dev를 CC한 최종 uAPI RFC로 sign-off를 받고, 마지막으로 DG1 `pciid`를 추가하여 uAPI를 실제 활성화합니다.

DG1/LMEM upstream 단계
단계작업
1PCI ID 없는 DG1 basic HW enabling
2CONFIG_BROKEN 뒤 uAPI merge·local-memory IGT CI
3TTM 전환과 shrinker·fault·purge·allocator 작업
4mesa-dev CC의 final uAPI RFC sign-off
5DG1 pciid 추가와 uAPI 실제 활성화

Hardware에서 최종 uAPI enablement까지의 순서입니다.

TTM 전환 항목
TTM shrinker for discreteFull dma_resv_lock용 dma_resv_lockitemTTM CPU pagefault handlerShmem backend → TTM SYSTEMTTM purgeable object supporti915 buddy allocator → TTM

Discrete local memory를 TTM 기반으로 통합합니다.

=========================
I915 DG1/LMEM RFC Section
=========================

Upstream plan
=============
For upstream the overall plan for landing all the DG1 stuff and turning it for
real, with all the uAPI bits is:

* Merge basic HW enabling of DG1(still without pciid)
* Merge the uAPI bits behind special CONFIG_BROKEN(or so) flag
        * At this point we can still make changes, but importantly this lets us
          start running IGTs which can utilize local-memory in CI
* Convert over to TTM, make sure it all keeps working. Some of the work items:
        * TTM shrinker for discrete
        * dma_resv_lockitem for full dma_resv_lock, i.e not just trylock
        * Use TTM CPU pagefault handler
        * Route shmem backend over to TTM SYSTEM for discrete
        * TTM purgeable object support
        * Move i915 buddy allocator over to TTM
* Send RFC(with mesa-dev on cc) for final sign off on the uAPI
* Add pciid for DG1 and turn on uAPI for real