[PATCH 00/21] ppgtt cleanups / scratch merge (V2)

Mika Kuoppala
2015-05-22T17:05:19Z

Hi,

I have replaced patch 2 from v1 series with version
that preallocates top level pdp structure with 32bit addressing
on architectures that have problems with pdp tlb flushes.

All issues raised with v1 should be addressed by this series.
Ville also noticed that copying scratch structures means unnecessary read
as we can straight out fill them. This change among others
triggered alot of rebasing thus new series.

I also included one patch that makes our bitops nonatomic.

Thanks,
-Mika

Mika Kuoppala (21):
drm/i915/gtt: Mark TLBS dirty for gen8+
drm/i915/gtt: Workaround for HW preload not flushing pdps
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: 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
drm/i915/gtt: Use nonatomic bitmap ops
drm/i915/gtt: Reorder page alloc/free/init functions

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 | 709 +++++++++++++++++++++---------------
drivers/gpu/drm/i915/i915_gem_gtt.h | 55 ++-
drivers/gpu/drm/i915/i915_reg.h | 17 +
drivers/gpu/drm/i915/intel_lrc.c | 19 +-
include/drm/intel-gtt.h | 4 +-
8 files changed, 499 insertions(+), 359 deletions(-)

--
1.9.1