[PATCH] drm/i915/gvt: use context lrc_reg_state for shadow ppgtt override
Zhao, Yan Y
yan.y.zhao at intel.com
Wed May 6 11:14:00 UTC 2020
Reviewed-by: Yan Zhao <yan.y.zhao at intel.com>
> -----Original Message-----
> From: Zhenyu Wang <zhenyuw at linux.intel.com>
> Sent: Wednesday, May 6, 2020 6:00 PM
> To: intel-gvt-dev at lists.freedesktop.org
> Cc: Zhao, Yan Y <yan.y.zhao at intel.com>
> Subject: [PATCH] drm/i915/gvt: use context lrc_reg_state for shadow ppgtt
> override
>
> We can replace kmap by using context's lrc_reg_state directly for shadow
> ppgtt table override.
>
> Cc: Yan Zhao <yan.y.zhao at intel.com>
> Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
> ---
> drivers/gpu/drm/i915/gvt/scheduler.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c
> b/drivers/gpu/drm/i915/gvt/scheduler.c
> index 6ab1d95c1fae..52a1ff3b4ac7 100644
> --- a/drivers/gpu/drm/i915/gvt/scheduler.c
> +++ b/drivers/gpu/drm/i915/gvt/scheduler.c
> @@ -58,10 +58,8 @@ static void set_context_pdp_root_pointer(
>
> static void update_shadow_pdps(struct intel_vgpu_workload *workload) {
> - struct drm_i915_gem_object *ctx_obj =
> - workload->req->context->state->obj;
> struct execlist_ring_context *shadow_ring_context;
> - struct page *page;
> + struct intel_context *ctx = workload->req->context;
>
> if (WARN_ON(!workload->shadow_mm))
> return;
> @@ -69,11 +67,9 @@ static void update_shadow_pdps(struct
> intel_vgpu_workload *workload)
> if (WARN_ON(!atomic_read(&workload->shadow_mm->pincount)))
> return;
>
> - page = i915_gem_object_get_page(ctx_obj, LRC_STATE_PN);
> - shadow_ring_context = kmap(page);
> + shadow_ring_context = (struct execlist_ring_context
> +*)ctx->lrc_reg_state;
> set_context_pdp_root_pointer(shadow_ring_context,
> (void *)workload->shadow_mm-
> >ppgtt_mm.shadow_pdps);
> - kunmap(page);
> }
>
> /*
> --
> 2.26.2
More information about the intel-gvt-dev
mailing list