By Daniel's request, to make the PPGTT merging more manageable, here are the patches associated with the VM/VMA infrastructure. They are not as well tested as the previous series, although I would hope that without actually changing address space, most of this series is just massaging code. Even though these patches were all cherry picked from the original, working series, the amount of rework was not insignificant ie. there may be a lot of bugs present, or changes needed. There should be little to no effect on the code, since there will only ever be one VM until the rest of the PPGTT series is merged. Finally, Daniel, is this more or less what you wanted first? References: http://lists.freedesktop.org/archives/intel-gfx/2013-June/029408.html Ben Widawsky (11): drm/i915: Move gtt and ppgtt under address space umbrella drm/i915: Put the mm in the parent address space drm/i915: Create a global list of vms drm/i915: Move active/inactive lists to new mm drm/i915: Create VMAs drm/i915: plumb VM into object operations drm/i915: Fix up map and fenceable for VMA drm/i915: mm_list is per VMA drm/i915: Update error capture for VMs drm/i915: create an object_is_active() drm/i915: Move active to vma drivers/gpu/drm/i915/i915_debugfs.c | 88 ++++-- drivers/gpu/drm/i915/i915_dma.c | 9 +- drivers/gpu/drm/i915/i915_drv.h | 243 +++++++++------- drivers/gpu/drm/i915/i915_gem.c | 432 ++++++++++++++++++++++------- drivers/gpu/drm/i915/i915_gem_context.c | 9 +- drivers/gpu/drm/i915/i915_gem_debug.c | 2 +- drivers/gpu/drm/i915/i915_gem_evict.c | 67 +++-- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 87 +++--- drivers/gpu/drm/i915/i915_gem_gtt.c | 193 +++++++------ drivers/gpu/drm/i915/i915_gem_stolen.c | 19 +- drivers/gpu/drm/i915/i915_gem_tiling.c | 10 +- drivers/gpu/drm/i915/i915_irq.c | 158 ++++++++--- drivers/gpu/drm/i915/i915_trace.h | 20 +- drivers/gpu/drm/i915/intel_fb.c | 1 - drivers/gpu/drm/i915/intel_overlay.c | 2 +- drivers/gpu/drm/i915/intel_pm.c | 2 +- drivers/gpu/drm/i915/intel_ringbuffer.c | 16 +- 17 files changed, 902 insertions(+), 456 deletions(-) -- 1.8.3.2