Hi, My take on cleaning up more of the i915_gem_gtt.c. The goal is to have generic tools to allocate and map any type of paging structure. And at the end we will have one instance of each scratch chain type (scratch pd->pte->page) across all ppgtts, saving 2 pages of memory per ppgtt. Mika Kuoppala (20): drm/i915/gtt: Mark TLBS dirty for gen8+ drm/i915: Force PD restore on dirty ppGTTs drm/i915/gtt: Check va range against vm size drm/i915/gtt: Allow >= 4GB sizes for vm. drm/i915/gtt: Don't leak scratch page on mapping error drm/i915/gtt: Remove _single from page table allocator drm/i915/gtt: Introduce i915_page_dir_dma_addr drm/i915/gtt: Introduce struct i915_page_dma drm/i915/gtt: Rename unmap_and_free_px to free_px drm/i915/gtt: Remove superfluous free_pd with gen6/7 drm/i915/gtt: Introduce fill_page_dma() drm/i915/gtt: Introduce kmap|kunmap for dma page drm/i915/gtt: Introduce copy_page_dma and copy_px drm/i915/gtt: Use macros to access dma mapped pages drm/i915/gtt: Make scratch page i915_page_dma compatible drm/i915/gtt: Fill scratch page drm/i915/gtt: Pin vma during virtual address allocation drm/i915/gtt: Cleanup page directory encoding drm/i915/gtt: Move scratch_pd and scratch_pt into vm area drm/i915/gtt: One instance of scratch page table/directory drivers/char/agp/intel-gtt.c | 4 +- drivers/gpu/drm/i915/i915_debugfs.c | 44 +-- drivers/gpu/drm/i915/i915_gem.c | 6 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 662 ++++++++++++++++++++---------------- drivers/gpu/drm/i915/i915_gem_gtt.h | 55 +-- drivers/gpu/drm/i915/intel_lrc.c | 69 ++-- include/drm/intel-gtt.h | 4 +- 7 files changed, 470 insertions(+), 374 deletions(-) -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx