* [PATCH 1/2] drm/i915: Rename some warts in the VMA API
@ 2017-01-16 9:49 Chris Wilson
2017-01-16 9:49 ` [PATCH 2/2] drm/i915: Remove i915_vma_create from " Chris Wilson
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Chris Wilson @ 2017-01-16 9:49 UTC (permalink / raw)
To: intel-gfx
Whilst writing testcases to exercise the VMA API, some oddities came to
light, such as i915_gem_obj_lookup_or_create(). Joonas suggested
i915_vma_instance() as a neat replacement, so rename them, move them to
i915_vma.c and add some kerneldoc as a sugary bonus.
s/i915_gem_obj_to_vma/i915_vma_lookup/
s/i915_gem_obj_lookup_or_create_vma/i915_vma_instance/
Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
---
drivers/gpu/drm/i915/i915_drv.h | 12 +---
drivers/gpu/drm/i915/i915_gem.c | 2 +-
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 45 ---------------
drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +-
drivers/gpu/drm/i915/i915_vma.c | 90 +++++++++++++++++++++++++++++-
drivers/gpu/drm/i915/i915_vma.h | 10 ++++
7 files changed, 103 insertions(+), 60 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 38509505424d..59d950554614 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3374,16 +3374,6 @@ struct drm_gem_object *i915_gem_prime_import(struct drm_device *dev,
struct dma_buf *i915_gem_prime_export(struct drm_device *dev,
struct drm_gem_object *gem_obj, int flags);
-struct i915_vma *
-i915_gem_obj_to_vma(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm,
- const struct i915_ggtt_view *view);
-
-struct i915_vma *
-i915_gem_obj_lookup_or_create_vma(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm,
- const struct i915_ggtt_view *view);
-
static inline struct i915_hw_ppgtt *
i915_vm_to_ppgtt(struct i915_address_space *vm)
{
@@ -3394,7 +3384,7 @@ static inline struct i915_vma *
i915_gem_object_to_ggtt(struct drm_i915_gem_object *obj,
const struct i915_ggtt_view *view)
{
- return i915_gem_obj_to_vma(obj, &to_i915(obj->base.dev)->ggtt.base, view);
+ return i915_vma_lookup(obj, &to_i915(obj->base.dev)->ggtt.base, view);
}
static inline unsigned long
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 4ab846256237..a8f9db6f210f 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3645,7 +3645,7 @@ i915_gem_object_ggtt_pin(struct drm_i915_gem_object *obj,
lockdep_assert_held(&obj->base.dev->struct_mutex);
- vma = i915_gem_obj_lookup_or_create_vma(obj, vm, view);
+ vma = i915_vma_instance(obj, vm, view);
if (IS_ERR(vma))
return vma;
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 8387bba90f9e..57bec08e80c5 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -184,7 +184,7 @@ eb_lookup_vmas(struct eb_vmas *eb,
* from the (obj, vm) we don't run the risk of creating
* duplicated vmas for the same vm.
*/
- vma = i915_gem_obj_lookup_or_create_vma(obj, vm, NULL);
+ vma = i915_vma_instance(obj, vm, NULL);
if (unlikely(IS_ERR(vma))) {
DRM_DEBUG("Failed to lookup VMA\n");
ret = PTR_ERR(vma);
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 1da449c618a4..b52204d4454c 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -3360,51 +3360,6 @@ void i915_gem_restore_gtt_mappings(struct drm_i915_private *dev_priv)
i915_ggtt_invalidate(dev_priv);
}
-struct i915_vma *
-i915_gem_obj_to_vma(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm,
- const struct i915_ggtt_view *view)
-{
- struct rb_node *rb;
-
- rb = obj->vma_tree.rb_node;
- while (rb) {
- struct i915_vma *vma = rb_entry(rb, struct i915_vma, obj_node);
- long cmp;
-
- cmp = i915_vma_compare(vma, vm, view);
- if (cmp == 0)
- return vma;
-
- if (cmp < 0)
- rb = rb->rb_right;
- else
- rb = rb->rb_left;
- }
-
- return NULL;
-}
-
-struct i915_vma *
-i915_gem_obj_lookup_or_create_vma(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm,
- const struct i915_ggtt_view *view)
-{
- struct i915_vma *vma;
-
- lockdep_assert_held(&obj->base.dev->struct_mutex);
- GEM_BUG_ON(view && !i915_is_ggtt(vm));
-
- vma = i915_gem_obj_to_vma(obj, vm, view);
- if (!vma) {
- vma = i915_vma_create(obj, vm, view);
- GEM_BUG_ON(vma != i915_gem_obj_to_vma(obj, vm, view));
- }
-
- GEM_BUG_ON(i915_vma_is_closed(vma));
- return vma;
-}
-
static struct scatterlist *
rotate_pages(const dma_addr_t *in, unsigned int offset,
unsigned int width, unsigned int height,
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 4d49eb025cb5..e1ee0fa77244 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -683,7 +683,7 @@ i915_gem_object_create_stolen_for_preallocated(struct drm_i915_private *dev_priv
if (ret)
goto err;
- vma = i915_gem_obj_lookup_or_create_vma(obj, &ggtt->base, NULL);
+ vma = i915_vma_instance(obj, &ggtt->base, NULL);
if (IS_ERR(vma)) {
ret = PTR_ERR(vma);
goto err_pages;
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
index fe93ed1e012f..0a7e42aaf633 100644
--- a/drivers/gpu/drm/i915/i915_vma.c
+++ b/drivers/gpu/drm/i915/i915_vma.c
@@ -146,6 +146,59 @@ __i915_vma_create(struct drm_i915_gem_object *obj,
return vma;
}
+/**
+ * i915_vma_lookup - finds a matching VMA
+ * @obj - parent &drm_i915_gem_object to be mapped
+ * @vm - address space in which the mapping is located
+ * @view - additional mapping requirements
+ *
+ * i915_vma_lookup() looks up an existing VMA of the @obj in the @vm with
+ * the same @view characteristics.
+ *
+ * Must be called with struct_mutex held.
+ *
+ * Returns the vma if found, or NULL.
+ */
+struct i915_vma *
+i915_vma_lookup(struct drm_i915_gem_object *obj,
+ struct i915_address_space *vm,
+ const struct i915_ggtt_view *view)
+{
+ struct rb_node *rb;
+
+ lockdep_assert_held(&obj->base.dev->struct_mutex);
+
+ rb = obj->vma_tree.rb_node;
+ while (rb) {
+ struct i915_vma *vma = rb_entry(rb, struct i915_vma, obj_node);
+ long cmp;
+
+ cmp = i915_vma_compare(vma, vm, view);
+ if (cmp == 0)
+ return vma;
+
+ if (cmp < 0)
+ rb = rb->rb_right;
+ else
+ rb = rb->rb_left;
+ }
+
+ return NULL;
+}
+
+/**
+ * i915_vma_create - creates a VMA
+ * @obj - parent &drm_i915_gem_object to be mapped
+ * @vm - address space in which the mapping is located
+ * @view - additional mapping requirements
+ *
+ * i915_vma_create() allocates a new VMA of the @obj in the @vm with
+ * @view characteristics.
+ *
+ * Must be called with struct_mutex held.
+ *
+ * Returns the vma if found, or an error pointer.
+ */
struct i915_vma *
i915_vma_create(struct drm_i915_gem_object *obj,
struct i915_address_space *vm,
@@ -153,12 +206,47 @@ i915_vma_create(struct drm_i915_gem_object *obj,
{
lockdep_assert_held(&obj->base.dev->struct_mutex);
GEM_BUG_ON(view && !i915_is_ggtt(vm));
- GEM_BUG_ON(i915_gem_obj_to_vma(obj, vm, view));
+ GEM_BUG_ON(i915_vma_lookup(obj, vm, view));
return __i915_vma_create(obj, vm, view);
}
/**
+ * i915_vma_instance - return the singleton instance of the VMA
+ * @obj - parent &drm_i915_gem_object to be mapped
+ * @vm - address space in which the mapping is located
+ * @view - additional mapping requirements
+ *
+ * i915_vma_instance() looks up an existing VMA of the @obj in the @vm with
+ * the same @view characteristics. If a match is not found, one is created.
+ * Once created, the VMA is kept until either the object is freed, or the
+ * address space is closed.
+ *
+ * Must be called with struct_mutex held.
+ *
+ * Returns the vma, or an error pointer.
+ */
+struct i915_vma *
+i915_vma_instance(struct drm_i915_gem_object *obj,
+ struct i915_address_space *vm,
+ const struct i915_ggtt_view *view)
+{
+ struct i915_vma *vma;
+
+ lockdep_assert_held(&obj->base.dev->struct_mutex);
+ GEM_BUG_ON(view && !i915_is_ggtt(vm));
+ GEM_BUG_ON(vm->closed);
+
+ vma = i915_vma_lookup(obj, vm, view);
+ if (!vma)
+ vma = i915_vma_create(obj, vm, view);
+
+ GEM_BUG_ON(!IS_ERR(vma) && i915_vma_is_closed(vma));
+ GEM_BUG_ON(!IS_ERR(vma) && i915_vma_lookup(obj, vm, view) != vma);
+ return vma;
+}
+
+/**
* i915_vma_bind - Sets up PTEs for an VMA in it's corresponding address space.
* @vma: VMA to map
* @cache_level: mapping cache level
diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h
index 86b60fb4e954..b3c81190b4a0 100644
--- a/drivers/gpu/drm/i915/i915_vma.h
+++ b/drivers/gpu/drm/i915/i915_vma.h
@@ -116,6 +116,16 @@ i915_vma_create(struct drm_i915_gem_object *obj,
struct i915_address_space *vm,
const struct i915_ggtt_view *view);
+struct i915_vma *
+i915_vma_lookup(struct drm_i915_gem_object *obj,
+ struct i915_address_space *vm,
+ const struct i915_ggtt_view *view);
+
+struct i915_vma *
+i915_vma_instance(struct drm_i915_gem_object *obj,
+ struct i915_address_space *vm,
+ const struct i915_ggtt_view *view);
+
void i915_vma_unpin_and_release(struct i915_vma **p_vma);
static inline bool i915_vma_is_ggtt(const struct i915_vma *vma)
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] drm/i915: Remove i915_vma_create from VMA API
2017-01-16 9:49 [PATCH 1/2] drm/i915: Rename some warts in the VMA API Chris Wilson
@ 2017-01-16 9:49 ` Chris Wilson
2017-01-16 12:01 ` Joonas Lahtinen
2017-01-16 10:17 ` [PATCH 1/2] drm/i915: Rename some warts in the " Chris Wilson
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2017-01-16 9:49 UTC (permalink / raw)
To: intel-gfx
With the introduce of i915_vma_instance() for obtaining the VMA
singleton for a (obj, vm, view) tuple, we can remove the
i915_vma_create() in favour of a single entry point. We do incur a
lookup onto an empty tree, but the i915_vma_create() were being called
infrequently and during initialisation, so the small overhead is
negligible.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
drivers/gpu/drm/i915/i915_gem_render_state.c | 2 +-
drivers/gpu/drm/i915/i915_guc_submission.c | 2 +-
drivers/gpu/drm/i915/i915_vma.c | 33 +++-------------------------
drivers/gpu/drm/i915/i915_vma.h | 5 -----
drivers/gpu/drm/i915/intel_engine_cs.c | 2 +-
drivers/gpu/drm/i915/intel_lrc.c | 4 ++--
drivers/gpu/drm/i915/intel_ringbuffer.c | 6 ++---
8 files changed, 12 insertions(+), 44 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,
goto err_out;
}
- vma = i915_vma_create(obj, &dev_priv->ggtt.base, NULL);
+ vma = i915_vma_instance(obj, &dev_priv->ggtt.base, NULL);
if (IS_ERR(vma)) {
i915_gem_object_put(obj);
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)
goto err_free;
}
- so->vma = i915_vma_create(obj, &engine->i915->ggtt.base, NULL);
+ so->vma = i915_vma_instance(obj, &engine->i915->ggtt.base, NULL);
if (IS_ERR(so->vma)) {
ret = PTR_ERR(so->vma);
goto err_obj;
diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c
index 913d87358972..eddd639c3525 100644
--- a/drivers/gpu/drm/i915/i915_guc_submission.c
+++ b/drivers/gpu/drm/i915/i915_guc_submission.c
@@ -568,7 +568,7 @@ static struct i915_vma *guc_allocate_vma(struct intel_guc *guc, u32 size)
if (IS_ERR(obj))
return ERR_CAST(obj);
- vma = i915_vma_create(obj, &dev_priv->ggtt.base, NULL);
+ vma = i915_vma_instance(obj, &dev_priv->ggtt.base, NULL);
if (IS_ERR(vma))
goto err;
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
index 0a7e42aaf633..19fa4f85bbc7 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,
}
static struct i915_vma *
-__i915_vma_create(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm,
- const struct i915_ggtt_view *view)
+i915_vma_create(struct drm_i915_gem_object *obj,
+ struct i915_address_space *vm,
+ const struct i915_ggtt_view *view)
{
struct i915_vma *vma;
struct rb_node *rb, **p;
int i;
- GEM_BUG_ON(vm->closed);
-
vma = kmem_cache_zalloc(to_i915(obj->base.dev)->vmas, GFP_KERNEL);
if (vma == NULL)
return ERR_PTR(-ENOMEM);
@@ -187,31 +185,6 @@ i915_vma_lookup(struct drm_i915_gem_object *obj,
}
/**
- * i915_vma_create - creates a VMA
- * @obj - parent &drm_i915_gem_object to be mapped
- * @vm - address space in which the mapping is located
- * @view - additional mapping requirements
- *
- * i915_vma_create() allocates a new VMA of the @obj in the @vm with
- * @view characteristics.
- *
- * Must be called with struct_mutex held.
- *
- * Returns the vma if found, or an error pointer.
- */
-struct i915_vma *
-i915_vma_create(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm,
- const struct i915_ggtt_view *view)
-{
- lockdep_assert_held(&obj->base.dev->struct_mutex);
- GEM_BUG_ON(view && !i915_is_ggtt(vm));
- GEM_BUG_ON(i915_vma_lookup(obj, vm, view));
-
- return __i915_vma_create(obj, vm, view);
-}
-
-/**
* i915_vma_instance - return the singleton instance of the VMA
* @obj - parent &drm_i915_gem_object to be mapped
* @vm - address space in which the mapping is located
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 {
};
struct i915_vma *
-i915_vma_create(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm,
- const struct i915_ggtt_view *view);
-
-struct i915_vma *
i915_vma_lookup(struct drm_i915_gem_object *obj,
struct i915_address_space *vm,
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)
return PTR_ERR(obj);
}
- vma = i915_vma_create(obj, &engine->i915->ggtt.base, NULL);
+ vma = i915_vma_instance(obj, &engine->i915->ggtt.base, NULL);
if (IS_ERR(vma)) {
ret = PTR_ERR(vma);
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)
if (IS_ERR(obj))
return PTR_ERR(obj);
- vma = i915_vma_create(obj, &engine->i915->ggtt.base, NULL);
+ vma = i915_vma_instance(obj, &engine->i915->ggtt.base, NULL);
if (IS_ERR(vma)) {
err = PTR_ERR(vma);
goto err;
@@ -2198,7 +2198,7 @@ static int execlists_context_deferred_alloc(struct i915_gem_context *ctx,
return PTR_ERR(ctx_obj);
}
- vma = i915_vma_create(ctx_obj, &ctx->i915->ggtt.base, NULL);
+ vma = i915_vma_instance(ctx_obj, &ctx->i915->ggtt.base, NULL);
if (IS_ERR(vma)) {
ret = PTR_ERR(vma);
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)
if (ret)
goto err;
- vma = i915_vma_create(obj, &engine->i915->ggtt.base, NULL);
+ vma = i915_vma_instance(obj, &engine->i915->ggtt.base, NULL);
if (IS_ERR(vma)) {
ret = PTR_ERR(vma);
goto err;
@@ -1872,7 +1872,7 @@ intel_ring_create_vma(struct drm_i915_private *dev_priv, int size)
/* mark ring buffers as read-only from GPU side by default */
obj->gt_ro = 1;
- vma = i915_vma_create(obj, &dev_priv->ggtt.base, NULL);
+ vma = i915_vma_instance(obj, &dev_priv->ggtt.base, NULL);
if (IS_ERR(vma))
goto err;
@@ -2462,7 +2462,7 @@ static void intel_ring_init_semaphores(struct drm_i915_private *dev_priv,
if (IS_ERR(obj))
goto err;
- vma = i915_vma_create(obj, &dev_priv->ggtt.base, NULL);
+ vma = i915_vma_instance(obj, &dev_priv->ggtt.base, NULL);
if (IS_ERR(vma))
goto err_obj;
--
2.11.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] drm/i915: Rename some warts in the VMA API
2017-01-16 9:49 [PATCH 1/2] drm/i915: Rename some warts in the VMA API Chris Wilson
2017-01-16 9:49 ` [PATCH 2/2] drm/i915: Remove i915_vma_create from " Chris Wilson
@ 2017-01-16 10:17 ` Chris Wilson
2017-01-16 11:34 ` Joonas Lahtinen
2017-01-16 12:24 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] " Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2017-01-16 10:17 UTC (permalink / raw)
To: intel-gfx
On Mon, Jan 16, 2017 at 09:49:45AM +0000, Chris Wilson wrote:
> Whilst writing testcases to exercise the VMA API, some oddities came to
> light, such as i915_gem_obj_lookup_or_create(). Joonas suggested
> i915_vma_instance() as a neat replacement, so rename them, move them to
> i915_vma.c and add some kerneldoc as a sugary bonus.
>
> s/i915_gem_obj_to_vma/i915_vma_lookup/
> s/i915_gem_obj_lookup_or_create_vma/i915_vma_instance/
>
> Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Note that we add a lockdep check here that detects misuse during atomic
modesetting. Woohoo /o\
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] drm/i915: Rename some warts in the VMA API
2017-01-16 9:49 [PATCH 1/2] drm/i915: Rename some warts in the VMA API Chris Wilson
2017-01-16 9:49 ` [PATCH 2/2] drm/i915: Remove i915_vma_create from " Chris Wilson
2017-01-16 10:17 ` [PATCH 1/2] drm/i915: Rename some warts in the " Chris Wilson
@ 2017-01-16 11:34 ` Joonas Lahtinen
2017-01-16 12:24 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] " Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Joonas Lahtinen @ 2017-01-16 11:34 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On ma, 2017-01-16 at 09:49 +0000, Chris Wilson wrote:
> Whilst writing testcases to exercise the VMA API, some oddities came to
> light, such as i915_gem_obj_lookup_or_create(). Joonas suggested
> i915_vma_instance() as a neat replacement, so rename them, move them to
> i915_vma.c and add some kerneldoc as a sugary bonus.
>
> s/i915_gem_obj_to_vma/i915_vma_lookup/
> s/i915_gem_obj_lookup_or_create_vma/i915_vma_instance/
>
> Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
<SNIP>
> +/**
> + * i915_vma_lookup - finds a matching VMA
> + * @obj - parent &drm_i915_gem_object to be mapped
Before this circles back from the code checkers; s/ - /: /g
Also extra space, and not sure if it was supposed to always be
"&struct foo"?
Didn't spot anything else, so with kerneldoc fixed;
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] drm/i915: Remove i915_vma_create from VMA API
2017-01-16 9:49 ` [PATCH 2/2] drm/i915: Remove i915_vma_create from " Chris Wilson
@ 2017-01-16 12:01 ` Joonas Lahtinen
0 siblings, 0 replies; 6+ messages in thread
From: Joonas Lahtinen @ 2017-01-16 12:01 UTC (permalink / raw)
To: Chris Wilson, intel-gfx
On ma, 2017-01-16 at 09:49 +0000, Chris Wilson wrote:
> With the introduce of i915_vma_instance() for obtaining the VMA
> singleton for a (obj, vm, view) tuple, we can remove the
> i915_vma_create() in favour of a single entry point. We do incur a
> lookup onto an empty tree, but the i915_vma_create() were being called
> infrequently and during initialisation, so the small overhead is
> negligible.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
<SNIP>
> struct i915_vma *
> -i915_vma_create(struct drm_i915_gem_object *obj,
> - struct i915_address_space *vm,
> - const struct i915_ggtt_view *view);
> -
> -struct i915_vma *
> i915_vma_lookup(struct drm_i915_gem_object *obj,
> struct i915_address_space *vm,
> const struct i915_ggtt_view *view);
I'd say our de-facto is to drop "i915_" prefix from locals.
Would add to the code understandability, but anyway;
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
* ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: Rename some warts in the VMA API
2017-01-16 9:49 [PATCH 1/2] drm/i915: Rename some warts in the VMA API Chris Wilson
` (2 preceding siblings ...)
2017-01-16 11:34 ` Joonas Lahtinen
@ 2017-01-16 12:24 ` Patchwork
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2017-01-16 12:24 UTC (permalink / raw)
To: Chris Wilson; +Cc: intel-gfx
== Series Details ==
Series: series starting with [1/2] drm/i915: Rename some warts in the VMA API
URL : https://patchwork.freedesktop.org/series/18050/
State : warning
== Summary ==
Series 18050v1 Series without cover letter
https://patchwork.freedesktop.org/api/1.0/series/18050/revisions/1/mbox/
Test core_auth:
Subgroup basic-auth:
pass -> DMESG-WARN (fi-byt-n2820)
pass -> DMESG-WARN (fi-kbl-7500u)
pass -> DMESG-WARN (fi-bxt-j4205)
pass -> DMESG-WARN (fi-hsw-4770r)
pass -> DMESG-WARN (fi-snb-2600)
pass -> DMESG-WARN (fi-skl-6700hq)
pass -> DMESG-WARN (fi-snb-2520m)
pass -> DMESG-WARN (fi-bxt-t5700)
pass -> DMESG-WARN (fi-skl-6700k)
pass -> DMESG-WARN (fi-ivb-3770)
pass -> DMESG-WARN (fi-bdw-5557u)
pass -> DMESG-WARN (fi-ivb-3520m)
pass -> DMESG-WARN (fi-hsw-4770)
pass -> DMESG-WARN (fi-bsw-n3050)
pass -> DMESG-WARN (fi-skl-6260u)
pass -> DMESG-WARN (fi-byt-j1900)
pass -> DMESG-WARN (fi-skl-6770hq)
Test core_prop_blob:
Subgroup basic:
pass -> DMESG-WARN (fi-byt-n2820)
pass -> DMESG-WARN (fi-kbl-7500u)
pass -> DMESG-WARN (fi-bxt-j4205)
pass -> DMESG-WARN (fi-hsw-4770r)
pass -> DMESG-WARN (fi-snb-2600)
pass -> DMESG-WARN (fi-skl-6700hq)
pass -> DMESG-WARN (fi-snb-2520m)
pass -> DMESG-WARN (fi-bxt-t5700)
pass -> DMESG-WARN (fi-skl-6700k)
pass -> DMESG-WARN (fi-ivb-3770)
pass -> DMESG-WARN (fi-bdw-5557u)
pass -> DMESG-WARN (fi-ivb-3520m)
pass -> DMESG-WARN (fi-hsw-4770)
pass -> DMESG-WARN (fi-bsw-n3050)
pass -> DMESG-WARN (fi-skl-6260u)
pass -> DMESG-WARN (fi-byt-j1900)
pass -> DMESG-WARN (fi-skl-6770hq)
Test drv_getparams_basic:
Subgroup basic-eu-total:
pass -> DMESG-WARN (fi-byt-n2820)
pass -> DMESG-WARN (fi-kbl-7500u)
pass -> DMESG-WARN (fi-bxt-j4205)
pass -> DMESG-WARN (fi-hsw-4770r)
pass -> DMESG-WARN (fi-snb-2600)
pass -> DMESG-WARN (fi-skl-6700hq)
pass -> DMESG-WARN (fi-snb-2520m)
pass -> DMESG-WARN (fi-bxt-t5700)
pass -> DMESG-WARN (fi-skl-6700k)
pass -> DMESG-WARN (fi-ivb-3770)
pass -> DMESG-WARN (fi-bdw-5557u)
pass -> DMESG-WARN (fi-ivb-3520m)
pass -> DMESG-WARN (fi-hsw-4770)
pass -> DMESG-WARN (fi-bsw-n3050)
pass -> DMESG-WARN (fi-skl-6260u)
pass -> DMESG-WARN (fi-byt-j1900)
pass -> DMESG-WARN (fi-skl-6770hq)
Subgroup basic-subslice-total:
pass -> DMESG-WARN (fi-byt-n2820)
pass -> DMESG-WARN (fi-kbl-7500u)
pass -> DMESG-WARN (fi-bxt-j4205)
pass -> DMESG-WARN (fi-hsw-4770r)
pass -> DMESG-WARN (fi-snb-2600)
pass -> DMESG-WARN (fi-skl-6700hq)
pass -> DMESG-WARN (fi-snb-2520m)
pass -> DMESG-WARN (fi-bxt-t5700)
pass -> DMESG-WARN (fi-skl-6700k)
pass -> DMESG-WARN (fi-ivb-3770)
pass -> DMESG-WARN (fi-bdw-5557u)
pass -> DMESG-WARN (fi-ivb-3520m)
pass -> DMESG-WARN (fi-hsw-4770)
pass -> DMESG-WARN (fi-bsw-n3050)
pass -> DMESG-WARN (fi-skl-6260u)
pass -> DMESG-WARN (fi-byt-j1900)
pass -> DMESG-WARN (fi-skl-6770hq)
Test drv_hangman:
Subgroup error-state-basic:
pass -> DMESG-WARN (fi-byt-n2820)
pass -> DMESG-WARN (fi-kbl-7500u)
pass -> DMESG-WARN (fi-bxt-j4205)
pass -> DMESG-WARN (fi-hsw-4770r)
pass -> DMESG-WARN (fi-snb-2600)
pass -> DMESG-WARN (fi-skl-6700hq)
pass -> DMESG-WARN (fi-snb-2520m)
pass -> DMESG-WARN (fi-bxt-t5700)
pass -> DMESG-WARN (fi-skl-6700k)
pass -> DMESG-WARN (fi-ivb-3770)
pass -> DMESG-WARN (fi-bdw-5557u)
pass -> DMESG-WARN (fi-ivb-3520m)
pass -> DMESG-WARN (fi-hsw-4770)
pass -> DMESG-WARN (fi-bsw-n3050)
pass -> DMESG-WARN (fi-skl-6260u)
pass -> DMESG-WARN (fi-byt-j1900)
pass -> DMESG-WARN (fi-skl-6770hq)
Test drv_module_reload:
Subgroup basic-reload:
pass -> DMESG-WARN (fi-byt-n2820)
WARNING: Long output truncated
8f5a13bb4605ce9d60e1f2cd2722c9e2854e6749 drm-tip: 2017y-01m-16d-09h-31m-14s UTC integration manifest
8b83b44 drm/i915: Remove i915_vma_create from VMA API
5a7ef64 drm/i915: Rename some warts in the VMA API
== Logs ==
For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_3526/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-01-16 12:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-16 9:49 [PATCH 1/2] drm/i915: Rename some warts in the VMA API Chris Wilson
2017-01-16 9:49 ` [PATCH 2/2] drm/i915: Remove i915_vma_create from " Chris Wilson
2017-01-16 12:01 ` Joonas Lahtinen
2017-01-16 10:17 ` [PATCH 1/2] drm/i915: Rename some warts in the " Chris Wilson
2017-01-16 11:34 ` Joonas Lahtinen
2017-01-16 12:24 ` ✗ Fi.CI.BAT: warning for series starting with [1/2] " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.