diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_context.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem_render_state.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_guc_submission.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_vma.c | 35 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_vma.h | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_engine_cs.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_lrc.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 6 |
8 files changed, 13 insertions, 45 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c index 0a4728fdecdc..17f90c618208 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c | |||
@@ -269,7 +269,7 @@ __create_hw_context(struct drm_i915_private *dev_priv, | |||
269 | goto err_out; | 269 | goto err_out; |
270 | } | 270 | } |
271 | 271 | ||
272 | vma = i915_vma_create(obj, &dev_priv->ggtt.base, NULL); | 272 | vma = i915_vma_instance(obj, &dev_priv->ggtt.base, NULL); |
273 | if (IS_ERR(vma)) { | 273 | if (IS_ERR(vma)) { |
274 | i915_gem_object_put(obj); | 274 | i915_gem_object_put(obj); |
275 | ret = PTR_ERR(vma); | 275 | ret = PTR_ERR(vma); |
diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c index 63ae7e813335..b42c81b42487 100644 --- a/drivers/gpu/drm/i915/i915_gem_render_state.c +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c | |||
@@ -200,7 +200,7 @@ int i915_gem_render_state_init(struct intel_engine_cs *engine) | |||
200 | goto err_free; | 200 | goto err_free; |
201 | } | 201 | } |
202 | 202 | ||
203 | so->vma = i915_vma_create(obj, &engine->i915->ggtt.base, NULL); | 203 | so->vma = i915_vma_instance(obj, &engine->i915->ggtt.base, NULL); |
204 | if (IS_ERR(so->vma)) { | 204 | if (IS_ERR(so->vma)) { |
205 | ret = PTR_ERR(so->vma); | 205 | ret = PTR_ERR(so->vma); |
206 | goto err_obj; | 206 | goto err_obj; |
diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c index c3277858cd8c..8ced9e26f075 100644 --- a/drivers/gpu/drm/i915/i915_guc_submission.c +++ b/drivers/gpu/drm/i915/i915_guc_submission.c | |||
@@ -566,7 +566,7 @@ struct i915_vma *intel_guc_allocate_vma(struct intel_guc *guc, u32 size) | |||
566 | if (IS_ERR(obj)) | 566 | if (IS_ERR(obj)) |
567 | return ERR_CAST(obj); | 567 | return ERR_CAST(obj); |
568 | 568 | ||
569 | vma = i915_vma_create(obj, &dev_priv->ggtt.base, NULL); | 569 | vma = i915_vma_instance(obj, &dev_priv->ggtt.base, NULL); |
570 | if (IS_ERR(vma)) | 570 | if (IS_ERR(vma)) |
571 | goto err; | 571 | goto err; |
572 | 572 | ||
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c index b4d7b51266d2..cb415bfe22d7 100644 --- a/drivers/gpu/drm/i915/i915_vma.c +++ b/drivers/gpu/drm/i915/i915_vma.c | |||
@@ -69,16 +69,14 @@ i915_vma_retire(struct i915_gem_active *active, | |||
69 | } | 69 | } |
70 | 70 | ||
71 | static struct i915_vma * | 71 | static struct i915_vma * |
72 | __i915_vma_create(struct drm_i915_gem_object *obj, | 72 | vma_create(struct drm_i915_gem_object *obj, |
73 | struct i915_address_space *vm, | 73 | struct i915_address_space *vm, |
74 | const struct i915_ggtt_view *view) | 74 | const struct i915_ggtt_view *view) |
75 | { | 75 | { |
76 | struct i915_vma *vma; | 76 | struct i915_vma *vma; |
77 | struct rb_node *rb, **p; | 77 | struct rb_node *rb, **p; |
78 | int i; | 78 | int i; |
79 | 79 | ||
80 | GEM_BUG_ON(vm->closed); | ||
81 | |||
82 | vma = kmem_cache_zalloc(to_i915(obj->base.dev)->vmas, GFP_KERNEL); | 80 | vma = kmem_cache_zalloc(to_i915(obj->base.dev)->vmas, GFP_KERNEL); |
83 | if (vma == NULL) | 81 | if (vma == NULL) |
84 | return ERR_PTR(-ENOMEM); | 82 | return ERR_PTR(-ENOMEM); |
@@ -187,31 +185,6 @@ i915_vma_lookup(struct drm_i915_gem_object *obj, | |||
187 | } | 185 | } |
188 | 186 | ||
189 | /** | 187 | /** |
190 | * i915_vma_create - creates a VMA | ||
191 | * @obj: parent &struct drm_i915_gem_object to be mapped | ||
192 | * @vm: address space in which the mapping is located | ||
193 | * @view: additional mapping requirements | ||
194 | * | ||
195 | * i915_vma_create() allocates a new VMA of the @obj in the @vm with | ||
196 | * @view characteristics. | ||
197 | * | ||
198 | * Must be called with struct_mutex held. | ||
199 | * | ||
200 | * Returns the vma if found, or an error pointer. | ||
201 | */ | ||
202 | struct i915_vma * | ||
203 | i915_vma_create(struct drm_i915_gem_object *obj, | ||
204 | struct i915_address_space *vm, | ||
205 | const struct i915_ggtt_view *view) | ||
206 | { | ||
207 | lockdep_assert_held(&obj->base.dev->struct_mutex); | ||
208 | GEM_BUG_ON(view && !i915_is_ggtt(vm)); | ||
209 | GEM_BUG_ON(i915_vma_lookup(obj, vm, view)); | ||
210 | |||
211 | return __i915_vma_create(obj, vm, view); | ||
212 | } | ||
213 | |||
214 | /** | ||
215 | * i915_vma_instance - return the singleton instance of the VMA | 188 | * i915_vma_instance - return the singleton instance of the VMA |
216 | * @obj: parent &struct drm_i915_gem_object to be mapped | 189 | * @obj: parent &struct drm_i915_gem_object to be mapped |
217 | * @vm: address space in which the mapping is located | 190 | * @vm: address space in which the mapping is located |
@@ -239,7 +212,7 @@ i915_vma_instance(struct drm_i915_gem_object *obj, | |||
239 | 212 | ||
240 | vma = i915_vma_lookup(obj, vm, view); | 213 | vma = i915_vma_lookup(obj, vm, view); |
241 | if (!vma) | 214 | if (!vma) |
242 | vma = i915_vma_create(obj, vm, view); | 215 | vma = vma_create(obj, vm, view); |
243 | 216 | ||
244 | GEM_BUG_ON(!IS_ERR(vma) && i915_vma_is_closed(vma)); | 217 | GEM_BUG_ON(!IS_ERR(vma) && i915_vma_is_closed(vma)); |
245 | GEM_BUG_ON(!IS_ERR(vma) && i915_vma_compare(vma, vm, view)); | 218 | GEM_BUG_ON(!IS_ERR(vma) && i915_vma_compare(vma, vm, view)); |
diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h index b3c81190b4a0..82a56193985c 100644 --- a/drivers/gpu/drm/i915/i915_vma.h +++ b/drivers/gpu/drm/i915/i915_vma.h | |||
@@ -112,11 +112,6 @@ struct i915_vma { | |||
112 | }; | 112 | }; |
113 | 113 | ||
114 | struct i915_vma * | 114 | struct i915_vma * |
115 | i915_vma_create(struct drm_i915_gem_object *obj, | ||
116 | struct i915_address_space *vm, | ||
117 | const struct i915_ggtt_view *view); | ||
118 | |||
119 | struct i915_vma * | ||
120 | i915_vma_lookup(struct drm_i915_gem_object *obj, | 115 | i915_vma_lookup(struct drm_i915_gem_object *obj, |
121 | struct i915_address_space *vm, | 116 | struct i915_address_space *vm, |
122 | const struct i915_ggtt_view *view); | 117 | const struct i915_ggtt_view *view); |
diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c index 97bbbc3d6aa8..371acf109e34 100644 --- a/drivers/gpu/drm/i915/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/intel_engine_cs.c | |||
@@ -264,7 +264,7 @@ int intel_engine_create_scratch(struct intel_engine_cs *engine, int size) | |||
264 | return PTR_ERR(obj); | 264 | return PTR_ERR(obj); |
265 | } | 265 | } |
266 | 266 | ||
267 | vma = i915_vma_create(obj, &engine->i915->ggtt.base, NULL); | 267 | vma = i915_vma_instance(obj, &engine->i915->ggtt.base, NULL); |
268 | if (IS_ERR(vma)) { | 268 | if (IS_ERR(vma)) { |
269 | ret = PTR_ERR(vma); | 269 | ret = PTR_ERR(vma); |
270 | goto err_unref; | 270 | goto err_unref; |
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c index 8f8dcd9a9524..432ee495dec2 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c | |||
@@ -1225,7 +1225,7 @@ static int lrc_setup_wa_ctx_obj(struct intel_engine_cs *engine, u32 size) | |||
1225 | if (IS_ERR(obj)) | 1225 | if (IS_ERR(obj)) |
1226 | return PTR_ERR(obj); | 1226 | return PTR_ERR(obj); |
1227 | 1227 | ||
1228 | vma = i915_vma_create(obj, &engine->i915->ggtt.base, NULL); | 1228 | vma = i915_vma_instance(obj, &engine->i915->ggtt.base, NULL); |
1229 | if (IS_ERR(vma)) { | 1229 | if (IS_ERR(vma)) { |
1230 | err = PTR_ERR(vma); | 1230 | err = PTR_ERR(vma); |
1231 | goto err; | 1231 | goto err; |
@@ -2198,7 +2198,7 @@ static int execlists_context_deferred_alloc(struct i915_gem_context *ctx, | |||
2198 | return PTR_ERR(ctx_obj); | 2198 | return PTR_ERR(ctx_obj); |
2199 | } | 2199 | } |
2200 | 2200 | ||
2201 | vma = i915_vma_create(ctx_obj, &ctx->i915->ggtt.base, NULL); | 2201 | vma = i915_vma_instance(ctx_obj, &ctx->i915->ggtt.base, NULL); |
2202 | if (IS_ERR(vma)) { | 2202 | if (IS_ERR(vma)) { |
2203 | ret = PTR_ERR(vma); | 2203 | ret = PTR_ERR(vma); |
2204 | goto error_deref_obj; | 2204 | goto error_deref_obj; |
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 49fa8006c6a2..69035e4f9b3b 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | |||
@@ -1738,7 +1738,7 @@ static int init_status_page(struct intel_engine_cs *engine) | |||
1738 | if (ret) | 1738 | if (ret) |
1739 | goto err; | 1739 | goto err; |
1740 | 1740 | ||
1741 | vma = i915_vma_create(obj, &engine->i915->ggtt.base, NULL); | 1741 | vma = i915_vma_instance(obj, &engine->i915->ggtt.base, NULL); |
1742 | if (IS_ERR(vma)) { | 1742 | if (IS_ERR(vma)) { |
1743 | ret = PTR_ERR(vma); | 1743 | ret = PTR_ERR(vma); |
1744 | goto err; | 1744 | goto err; |
@@ -1872,7 +1872,7 @@ intel_ring_create_vma(struct drm_i915_private *dev_priv, int size) | |||
1872 | /* mark ring buffers as read-only from GPU side by default */ | 1872 | /* mark ring buffers as read-only from GPU side by default */ |
1873 | obj->gt_ro = 1; | 1873 | obj->gt_ro = 1; |
1874 | 1874 | ||
1875 | vma = i915_vma_create(obj, &dev_priv->ggtt.base, NULL); | 1875 | vma = i915_vma_instance(obj, &dev_priv->ggtt.base, NULL); |
1876 | if (IS_ERR(vma)) | 1876 | if (IS_ERR(vma)) |
1877 | goto err; | 1877 | goto err; |
1878 | 1878 | ||
@@ -2462,7 +2462,7 @@ static void intel_ring_init_semaphores(struct drm_i915_private *dev_priv, | |||
2462 | if (IS_ERR(obj)) | 2462 | if (IS_ERR(obj)) |
2463 | goto err; | 2463 | goto err; |
2464 | 2464 | ||
2465 | vma = i915_vma_create(obj, &dev_priv->ggtt.base, NULL); | 2465 | vma = i915_vma_instance(obj, &dev_priv->ggtt.base, NULL); |
2466 | if (IS_ERR(vma)) | 2466 | if (IS_ERR(vma)) |
2467 | goto err_obj; | 2467 | goto err_obj; |
2468 | 2468 | ||