[Intel-gfx] [RFC 00/38] PPGTT dynamic page allocations
Michel Thierry
michel.thierry at intel.com
Tue Oct 7 19:10:56 CEST 2014
This is based on the first 55 patches of Ben's 48b addressing work, taking
into consideration the latest changes in (mainly aliasing) ppgtt rules.
Because of these changes in the tree, the first 17 patches of the original
series are no longer needed, and some patches required more rework than others.
For GEN8, it has also been extended to work in logical ring submission (lrc)
mode, as it looks like it will be the preferred mode of operation.
I also tried to update the lrc code at the same time the ppgtt refactoring
occurred, leaving only one patch that is exclusively for lrc.
I'm asking for comments, as this is the foundation for 48b virtual addressing
in Broadwell.
This list can be seen in 3 parts:
[01-24] Include code rework for PPGTT (all GENs).
[25-28] Adds page table allocation for GEN6/GEN7
[29-38] Enables dynamic allocation in GEN8. It is enabled for both legacy
and execlist submission modes.
Ben Widawsky (37):
drm/i915: Add some extra guards in evict_vm
drm/i915/trace: Fix offsets for 64b
drm/i915: Wrap VMA binding
drm/i915: Make pin global flags explicit
drm/i915: Split out aliasing binds
drm/i915: fix gtt_total_entries()
drm/i915: Rename to GEN8_LEGACY_PDPES
drm/i915: Split out verbose PPGTT dumping
drm/i915: s/pd/pdpe, s/pt/pde
drm/i915: rename map/unmap to dma_map/unmap
drm/i915: Setup less PPGTT on failed pagedir
drm/i915: Un-hardcode number of page directories
drm/i915: Make gen6_write_pdes gen6_map_page_tables
drm/i915: Range clearing is PPGTT agnostic
drm/i915: Page table helpers, and define renames
drm/i915: construct page table abstractions
drm/i915: Complete page table structures
drm/i915: Create page table allocators
drm/i915: Generalize GEN6 mapping
drm/i915: Clean up pagetable DMA map & unmap
drm/i915: Always dma map page table allocations
drm/i915: Consolidate dma mappings
drm/i915: Always dma map page directory allocations
drm/i915: Track GEN6 page table usage
drm/i915: Extract context switch skip logic
drm/i915: Track page table reload need
drm/i915: Initialize all contexts
drm/i915: Finish gen6/7 dynamic page table allocation
drm/i915/bdw: Use dynamic allocation idioms on free
drm/i915/bdw: pagedirs rework allocation
drm/i915/bdw: pagetable allocation rework
drm/i915/bdw: Make the pdp switch a bit less hacky
drm/i915: num_pd_pages/num_pd_entries isn't useful
drm/i915: Extract PPGTT param from pagedir alloc
drm/i915/bdw: Split out mappings
drm/i915/bdw: begin bitmap tracking
drm/i915/bdw: Dynamic page table allocations
Michel Thierry (1):
drm/i915/bdw: Dynamic page table allocations in lrc mode
drivers/gpu/drm/i915/i915_debugfs.c | 78 +-
drivers/gpu/drm/i915/i915_drv.h | 22 +-
drivers/gpu/drm/i915/i915_gem.c | 35 +-
drivers/gpu/drm/i915/i915_gem_context.c | 64 +-
drivers/gpu/drm/i915/i915_gem_evict.c | 3 +
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 20 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 1306 ++++++++++++++++++++--------
drivers/gpu/drm/i915/i915_gem_gtt.h | 305 ++++++-
drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +-
drivers/gpu/drm/i915/i915_trace.h | 124 ++-
drivers/gpu/drm/i915/intel_lrc.c | 80 +-
11 files changed, 1557 insertions(+), 482 deletions(-)
--
2.0.3
More information about the Intel-gfx
mailing list