drm/i915: Move gtt and ppgtt under address space umbrella
authorBen Widawsky <ben@bwidawsk.net>
Tue, 16 Jul 2013 23:50:05 +0000 (16:50 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 17 Jul 2013 20:21:47 +0000 (22:21 +0200)
commit853ba5d2231619e1c7f7de1269e135174ec8e3cb
treeb400c863ecb6bd37519f78c7b309d8cb070b73c7
parent10cd45b6e8ac1d1a99f6bdf0e0c80f2a1351f3f5
drm/i915: Move gtt and ppgtt under address space umbrella

The GTT and PPGTT can be thought of more generally as GPU address
spaces. Many of their actions (insert entries), state (LRU lists), and
many of their characteristics (size) can be shared. Do that.

The change itself doesn't actually impact most of the VMA/VM rework
coming up, it just fits in with the grand scheme of abstracting the GPU
VM operations. GGTT will usually be a special case where we either know
an object must be in the GGTT (dislay engine, workarounds, etc.).

The scratch page is left as part of the VM (even though it's currently
shared with the ppgtt code) because in the future when we have Full
PPGTT, I intend to create a separate scratch page for each.

v2: Drop usage of i915_gtt_vm (Daniel)
Make cleanup also part of the parent class (Ben)
Modified commit msg
Rebased

v3: Properly share scratch page (Imre)
Finish commit message (Daniel, Imre)

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_gtt.c