On Sat, May 25, 2013 at 12:27:08PM -0700, Ben Widawsky wrote: > Plumb the functions we care about with VM arguments. > > With the exception of the hack in i915_ppgtt_bind to only ever be able > to do aliasing PPGTT, this most everything we want. Purge is wrong -- it needs to select a victim obj and unbind it from all vma at once, then repeat for a new victim. obj->pin_count is per-vma. Most of the pinning is only relevant for the ggtt (pinned for registers), with other vma only using it for reserve/eviction. But we can remove things from the ppgtt if they are only pinned due to scanout, for example. Do not start introducing i915_obj_* piecemeal, keep it i915_gem_obj_*. debugfs needs more insight into per-vma tracking. -Chris -- Chris Wilson, Intel Open Source Technology Centre