The following patches rework a lot of the PPGTT cleanup and initialization code. In the short term, this should allow us to use all 4GB address space as well as get the code ready for adding full PPGTT support to BDW. Aside from making the code clearer, the more discrete functions make finer grained page table allocation much easier to manage. Previously, we were allocating one gigantic contiguous chunk for the GEN8 page tables. This required a 4MB contiguous allocation. On modern Linux, such a large allocation is impossible, and so we fell back to a 2GB address space requiring only 2MB for page tables. The GEN8 PPGTT code was in poor shape to begin with because the effort was on getting functionality quickly to new platforms, and this was achieved by largely copy and pasting the GEN6 code and altering where needed. I initially tried to do the finer grained allocation as a single patch, and was really unsatisfied with the results. One nice outcome (I feel) is everything gets referenced as a PDPE/PDE/PTE, or index thereof. It becomes easy to convert these things to the graphics virtual address, or vice-versa. The win will be when we start to map address ranges more dynamically, specifically, allocate the page tables, PDEs, and map the PDEs. The last patch is totally optional. I've or its equivalent quite a few times in various series, but it never seems to stick. After we get this merged, I'll submit BDW full PPGTT. I also have a blog post about this stuff in the works. Ben Widawsky (7): drm/i915/bdw: Split up PPGTT cleanup drm/i915/bdw: Reorganize PPGTT init drm/i915/bdw: Split ppgtt initialization up drm/i915: Make clear/insert vfuncs args absolute drm/i915/bdw: Reorganize PT allocations Revert "drm/i915/bdw: Limit GTT to 2GB" drm/i915: Update i915_gem_gtt.c copyright drivers/gpu/drm/i915/i915_drv.h | 13 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 463 +++++++++++++++++++++++++----------- 2 files changed, 332 insertions(+), 144 deletions(-) -- 1.8.5.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx