요약·해설, 영어 원문, 전체 번역을 구분해 실었습니다. API 이름, 코드 심벌, 소스 경로는 원문 표기를 유지합니다.
1. 요약·해설
원문의 핵심 내용을 정리하고 커널 프로그래밍에 필요한 설명을 덧붙였습니다. 아래의 전체 번역과는 별도로 작성한 해설입니다.
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. 한국어 전문 번역
영어 원문의 문단 순서와 의미에 맞춰 전체 내용을 번역했습니다. 코드, 함수명, 코드 심벌, 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와 관련 개념입니다.