[PATCH v2 02/15] drm/i915/gvt: Use 64bit array to represent pdps
changbin.du at intel.com
changbin.du at intel.com
Tue Jan 2 08:29:33 UTC 2018
From: Changbin Du <changbin.du at intel.com>
Each PDP item is a 64bit value.
Signed-off-by: Changbin Du <changbin.du at intel.com>
---
drivers/gpu/drm/i915/gvt/scheduler.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/gvt/scheduler.c b/drivers/gpu/drm/i915/gvt/scheduler.c
index f5f3956..d1cef32 100644
--- a/drivers/gpu/drm/i915/gvt/scheduler.c
+++ b/drivers/gpu/drm/i915/gvt/scheduler.c
@@ -43,13 +43,13 @@
static void set_context_pdp_root_pointer(
struct execlist_ring_context *ring_context,
- u32 pdp[8])
+ u64 pdps[GEN8_3LVL_PDPES])
{
struct execlist_mmio_pair *pdp_pair = &ring_context->pdp3_UDW;
int i;
for (i = 0; i < 8; i++)
- pdp_pair[i].val = pdp[7 - i];
+ pdp_pair[i].val = ((u32 *)pdps)[7 - i];
}
static int populate_shadow_context(struct intel_vgpu_workload *workload)
@@ -113,7 +113,7 @@ static int populate_shadow_context(struct intel_vgpu_workload *workload)
#undef COPY_REG
set_context_pdp_root_pointer(shadow_ring_context,
- (void *)workload->shadow_mm->ppgtt_mm.shadow_pdps);
+ workload->shadow_mm->ppgtt_mm.shadow_pdps);
intel_gvt_hypervisor_read_gpa(vgpu,
workload->ring_context_gpa +
@@ -1163,7 +1163,7 @@ alloc_workload(struct intel_vgpu *vgpu)
offsetof(struct execlist_ring_context, x)
static void read_guest_pdps(struct intel_vgpu *vgpu,
- u64 ring_context_gpa, u32 pdp[8])
+ u64 ring_context_gpa, u64 pdps[GEN8_3LVL_PDPES])
{
u64 gpa;
int i;
@@ -1172,7 +1172,7 @@ static void read_guest_pdps(struct intel_vgpu *vgpu,
for (i = 0; i < 8; i++)
intel_gvt_hypervisor_read_gpa(vgpu,
- gpa + i * 8, &pdp[7 - i], 4);
+ gpa + i * 8, &((u32 *)pdps)[7 - i], 4);
}
static int prepare_mm(struct intel_vgpu_workload *workload)
@@ -1195,7 +1195,7 @@ static int prepare_mm(struct intel_vgpu_workload *workload)
return -EINVAL;
}
- read_guest_pdps(workload->vgpu, workload->ring_context_gpa, (void *)pdps);
+ read_guest_pdps(workload->vgpu, workload->ring_context_gpa, pdps);
mm = intel_vgpu_find_ppgtt_mm(workload->vgpu, pdps);
if (mm) {
--
2.7.4
More information about the intel-gvt-dev
mailing list