요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
=========================
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
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를 실제 활성화합니다.
Hardware에서 최종 uAPI enablement까지의 순서입니다.
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
요약·해설
i915_gem_lmem.rst:1-22DG1 local-memory hardware·TTM·uAPI upstream 순서를 설명합니다.
Source와 관련 개념입니다.