OSDN Git Service

drm/i915: Move i915_ppgtt_close() into i915_gem_gtt.c
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 11 Jan 2017 21:09:25 +0000 (21:09 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 13 Jan 2017 16:35:27 +0000 (16:35 +0000)
Move it alongside its ppgtt counterparts, in order to make it available
for the ppgtt selftests.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: http://patchwork.freedesktop.org/patch/msgid/20170111210937.29252-26-chris@chris-wilson.co.uk
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/i915_gem_context.c
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_gem_gtt.h

index ed31133..ae99c25 100644 (file)
@@ -205,27 +205,6 @@ alloc_context_obj(struct drm_i915_private *dev_priv, u64 size)
        return obj;
 }
 
-static void i915_ppgtt_close(struct i915_address_space *vm)
-{
-       struct list_head *phases[] = {
-               &vm->active_list,
-               &vm->inactive_list,
-               &vm->unbound_list,
-               NULL,
-       }, **phase;
-
-       GEM_BUG_ON(vm->closed);
-       vm->closed = true;
-
-       for (phase = phases; *phase; phase++) {
-               struct i915_vma *vma, *vn;
-
-               list_for_each_entry_safe(vma, vn, *phase, vm_link)
-                       if (!i915_vma_is_closed(vma))
-                               i915_vma_close(vma);
-       }
-}
-
 static void context_close(struct i915_gem_context *ctx)
 {
        i915_gem_context_set_closed(ctx);
index 6d2ff20..7d21cdf 100644 (file)
@@ -2267,6 +2267,27 @@ i915_ppgtt_create(struct drm_i915_private *dev_priv,
        return ppgtt;
 }
 
+void i915_ppgtt_close(struct i915_address_space *vm)
+{
+       struct list_head *phases[] = {
+               &vm->active_list,
+               &vm->inactive_list,
+               &vm->unbound_list,
+               NULL,
+       }, **phase;
+
+       GEM_BUG_ON(vm->closed);
+       vm->closed = true;
+
+       for (phase = phases; *phase; phase++) {
+               struct i915_vma *vma, *vn;
+
+               list_for_each_entry_safe(vma, vn, *phase, vm_link)
+                       if (!i915_vma_is_closed(vma))
+                               i915_vma_close(vma);
+       }
+}
+
 void i915_ppgtt_release(struct kref *kref)
 {
        struct i915_hw_ppgtt *ppgtt =
index 6c40088..9f04c9f 100644 (file)
@@ -515,6 +515,7 @@ void i915_ppgtt_release(struct kref *kref);
 struct i915_hw_ppgtt *i915_ppgtt_create(struct drm_i915_private *dev_priv,
                                        struct drm_i915_file_private *fpriv,
                                        const char *name);
+void i915_ppgtt_close(struct i915_address_space *vm);
 static inline void i915_ppgtt_get(struct i915_hw_ppgtt *ppgtt)
 {
        if (ppgtt)