mirror of
https://github.com/LineageOS/android_kernel_samsung_msm8226.git
synced 2026-10-06 00:01:01 +02:00
The v1 iommu only supports splitting between TTBR0 and TTBR1 on a power of two boundary. Cutting off the userspace address at 2G (0x80000000) is inconvienient, as the GPU userspace address space should align with the CPU address space. This requires changing how global allocations are managed, since there is no longer a separate pagetable for TTBR1. The default pagetable is still the master of these allocations and maintains the gen_pool for allocating global addresses. But now, these regions are mapped into each process pagetable by calling kgsl_setup_pt(). This requires kgsl_mmu_map and kgsl_mmu_unmap to be able to handle mapping without virtual address allocation. Change-Id: I94e2d63dc7e6a7ef576f993770725b6b7ba14228 Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>