[PATCH 00/13] gen8 ppgtt dynamic page allocations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



These are the last remining patches to enable dynamic allocation in gen8+.
All credit to Ben's original design and Mika's extensive reviews.

During stress testing, the light restore context corruption problem was
observed in some systems (resubmission with HEAD==TAIL). The workaround to
prevent to prevent this known problem should be in place as we also update
the PDPx registers before the context is send to execution.

The last patch is only of interest in systems with less than 4GB of memory.
Now that the PPGTT table overhead is not that big, we can use the full virtual
space address range in these systems.

Michel Thierry (13):
  drm/i915: Remove _entry from PPGTT page structures
  drm/i915: Remove unnecessary gen8_ppgtt_unmap_pages
  drm/i915/gen8: Initialize page tables
  drm/i915/gen8: Add dynamic allocation macros and helper functions
  drm/i915/gen8: page directories rework allocation
  drm/i915/gen8: pagetable allocation rework
  drm/i915/gen8: Update pdp switch and point unused PDPs to scratch page
  drm/i915: num_pd_pages/num_pd_entries isn't useful
  drm/i915: Extract PPGTT param from page_directory alloc
  drm/i915/gen8: Split out mappings
  drm/i915/gen8: begin bitmap tracking
  drm/i915/gen8: Dynamic page table allocations
  drm/i915: Use complete address space in true PPGTT

 drivers/gpu/drm/i915/i915_debugfs.c |   2 -
 drivers/gpu/drm/i915/i915_gem_gtt.c | 620 +++++++++++++++++++++++-------------
 drivers/gpu/drm/i915/i915_gem_gtt.h |  82 ++++-
 drivers/gpu/drm/i915/i915_trace.h   |   4 +-
 drivers/gpu/drm/i915/intel_lrc.c    |  40 ++-
 5 files changed, 504 insertions(+), 244 deletions(-)

-- 
2.1.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx





[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux