All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Zhi Wang <zhi.a.wang@intel.com>,
	intel-gfx@lists.freedesktop.org, david.s.gordon@intel.com,
	joonas.lahtinen@linux.intel.com, kevin.tian@intel.com,
	zhiyuan.lv@intel.com
Subject: Re: [PATCH 10/15] drm/i915: Generate addressing mode bit from flag in context.
Date: Mon, 16 May 2016 14:47:08 +0100	[thread overview]
Message-ID: <5739CF5C.1000003@linux.intel.com> (raw)
In-Reply-To: <1463333573-25112-11-git-send-email-zhi.a.wang@intel.com>


On 15/05/16 18:32, Zhi Wang wrote:
> Previously the addressing mode bit in context descriptor is generated from
> context PPGTT. As we allow context could be used without PPGTT, and we
> still need to know the addressing mode during context submission, a flag
> is introduced.
>
> And the addressing mode bit will be generated from this flag.
>
> Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
> ---
>   drivers/gpu/drm/i915/i915_drv.h         | 1 +
>   drivers/gpu/drm/i915/i915_gem_context.c | 2 ++
>   drivers/gpu/drm/i915/intel_lrc.c        | 9 +++++----
>   3 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 4ac88b2..7f050a3 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -885,6 +885,7 @@ struct intel_context {
>   		bool skip_init_context;
>   		u32 ring_buffer_size;
>   	} engine[I915_NUM_ENGINES];
> +	bool use_48bit_addressing_mode;
>
>   	struct list_head link;
>   };
> diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> index b952e37..b5b0849 100644
> --- a/drivers/gpu/drm/i915/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> @@ -343,6 +343,8 @@ i915_gem_create_context(struct drm_device *dev,
>   			ctx->ppgtt = ppgtt;
>   		} else
>   			ctx->ppgtt = dev_priv->mm.aliasing_ppgtt;
> +
> +		ctx->use_48bit_addressing_mode = USES_FULL_48BIT_PPGTT(dev);

Should be dev_priv, you added it in an earlier patch. Could replace the 
one usage of to_i915 in this function with it in that patch as well.

Regards,

Tvrtko

>   	}
>
>   	trace_i915_context_create(ctx);
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index 3f04784..0a96d4a 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -214,7 +214,8 @@ enum {
>   	LEGACY_64B_CONTEXT
>   };
>   #define GEN8_CTX_ADDRESSING_MODE_SHIFT 3
> -#define GEN8_CTX_ADDRESSING_MODE(dev)  (USES_FULL_48BIT_PPGTT(dev) ?\
> +#define GEN8_CTX_ADDRESSING_MODE(ctx) \
> +		(ctx->use_48bit_addressing_mode ? \
>   		LEGACY_64B_CONTEXT :\
>   		LEGACY_32B_CONTEXT)
>   enum {
> @@ -281,8 +282,6 @@ logical_ring_init_platform_invariants(struct intel_engine_cs *engine)
>   					(engine->id == VCS || engine->id == VCS2);
>
>   	engine->ctx_desc_template = GEN8_CTX_VALID;
> -	engine->ctx_desc_template |= GEN8_CTX_ADDRESSING_MODE(dev_priv) <<
> -				   GEN8_CTX_ADDRESSING_MODE_SHIFT;
>   	if (IS_GEN8(dev_priv))
>   		engine->ctx_desc_template |= GEN8_CTX_L3LLC_COHERENT;
>   	engine->ctx_desc_template |= GEN8_CTX_PRIVILEGE;
> @@ -325,8 +324,10 @@ intel_lr_context_descriptor_update(struct intel_context *ctx,
>   	BUILD_BUG_ON(MAX_CONTEXT_HW_ID > (1<<GEN8_CTX_ID_WIDTH));
>
>   	desc = engine->ctx_desc_template;			/* bits  0-11 */
> +	desc |= GEN8_CTX_ADDRESSING_MODE(ctx) <<		/* bits  3-4  */
> +		GEN8_CTX_ADDRESSING_MODE_SHIFT;
>   	desc |= ctx->engine[engine->id].lrc_vma->node.start +	/* bits 12-31 */
> -	       LRC_PPHWSP_PN * PAGE_SIZE;
> +		LRC_PPHWSP_PN * PAGE_SIZE;
>   	desc |= (u64)ctx->hw_id << GEN8_CTX_ID_SHIFT;		/* bits 32-52 */
>
>   	ctx->engine[engine->id].lrc_desc = desc;
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2016-05-16 13:47 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-15 17:32 [PATCH 00/15] Introduce the implementation of GVT context Zhi Wang
2016-05-15 17:32 ` [PATCH 01/15] drm/i915: Factor out i915_pvinfo.h Zhi Wang
2016-05-15 17:32 ` [PATCH 02/15] drm/i915/gvt: Fold vGPU active check into inner functions Zhi Wang
2016-05-16 10:49   ` Tvrtko Ursulin
2016-05-16 13:56     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 03/15] drm/i915: gvt: Introduce the basic architecture of GVT-g Zhi Wang
2016-05-16 12:03   ` Tvrtko Ursulin
2016-05-17  2:55     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 04/15] drm/i915: Introduce host graphics memory partition for GVT-g Zhi Wang
2016-05-15 17:32 ` [PATCH 05/15] drm/i915: Set ctx->ppgtt for aliasing PPGTT in context creation Zhi Wang
2016-05-16 13:30   ` Tvrtko Ursulin
2016-05-16 14:16     ` Wang, Zhi A
2016-05-16 14:26     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 06/15] drm/i915: Allow the caller to create a intel_context without PPGTT Zhi Wang
2016-05-16 15:13   ` Chris Wilson
2016-05-16 15:18     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 07/15] drm/i915: Populate context PDPs if it has a PPGTT Zhi Wang
2016-05-15 17:32 ` [PATCH 08/15] drm/i915: Introduce an option for skipping engine context initialization Zhi Wang
2016-05-15 17:32 ` [PATCH 09/15] drm/i915: Make ring buffer size configurable Zhi Wang
2016-05-15 17:32 ` [PATCH 10/15] drm/i915: Generate addressing mode bit from flag in context Zhi Wang
2016-05-16 13:47   ` Tvrtko Ursulin [this message]
2016-05-15 17:32 ` [PATCH 11/15] drm/i915: Introduce execlist context status change notification Zhi Wang
2016-05-16 14:00   ` Tvrtko Ursulin
2016-05-16 14:28     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 12/15] drm/i915: Support context single submission Zhi Wang
2016-05-15 17:32 ` [PATCH 13/15] drm/i915: Introduce GVT context creation API Zhi Wang
2016-05-15 17:32 ` [PATCH 14/15] drm/i915: Factor out and expose i915_steal_fence() Zhi Wang
2016-05-16 14:57   ` Chris Wilson
2016-05-16 15:13     ` Wang, Zhi A
2016-05-15 17:32 ` [PATCH 15/15] drm/i915: Expose i915_find_fence_reg() Zhi Wang
2016-05-16  5:29 ` ✗ Ro.CI.BAT: failure for Introduce the implementation of GVT context Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5739CF5C.1000003@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --cc=david.s.gordon@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=kevin.tian@intel.com \
    --cc=zhi.a.wang@intel.com \
    --cc=zhiyuan.lv@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.