diff mbox

[v2] drm/i915/guc: Keep the ctx_pool_vaddr mapped, for easy access

Message ID 20170216225049.GB12673@nuc-i3427.alporthouse.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Feb. 16, 2017, 10:50 p.m. UTC
On Thu, Feb 16, 2017 at 06:15:05AM -0800, Oscar Mateo wrote:
>  static void guc_ctx_desc_init(struct intel_guc *guc,
>  			      struct i915_guc_client *client)
>  {
>  	struct drm_i915_private *dev_priv = guc_to_i915(guc);
>  	struct intel_engine_cs *engine;
>  	struct i915_gem_context *ctx = client->owner;
> -	struct guc_context_desc desc;
> -	struct sg_table *sg;
> +	struct guc_context_desc *desc;
>  	unsigned int tmp;
>  	u32 gfx_addr;
>  
> -	memset(&desc, 0, sizeof(desc));
> +	desc = __get_context_desc(client);

Do you want to make the assumption that these are zeroed-on-create
objects? We could switch to using non-swappable (internal) objects that
are not cleared on create. i.e.

Or do we write the entire desc? It doesn't look like we do, but do we do
enough?

Other than that potential booby trap for later,
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c b/drivers/gpu/drm/i915/i915_guc_submission.c
index 4a752f2b6e24..4128e8937b45 100644
--- a/drivers/gpu/drm/i915/i915_guc_submission.c
+++ b/drivers/gpu/drm/i915/i915_guc_submission.c
@@ -650,7 +650,7 @@  struct i915_vma *intel_guc_allocate_vma(struct intel_guc *guc, u32 size)
        struct i915_vma *vma;
        int ret;
 
-       obj = i915_gem_object_create(dev_priv, size);
+       obj = i915_gem_object_create_internal(dev_priv, size);
        if (IS_ERR(obj))
                return ERR_CAST(obj);