aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/gvt/gtt.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm/i915/gvt/gtt.c
index 69d3d8ddecc2..acbe3f2ad6fc 100644
--- a/drivers/gpu/drm/i915/gvt/gtt.c
+++ b/drivers/gpu/drm/i915/gvt/gtt.c
@@ -2290,12 +2290,15 @@ void intel_gvt_clean_gtt(struct intel_gvt *gvt)
2290void intel_vgpu_reset_ggtt(struct intel_vgpu *vgpu) 2290void intel_vgpu_reset_ggtt(struct intel_vgpu *vgpu)
2291{ 2291{
2292 struct intel_gvt *gvt = vgpu->gvt; 2292 struct intel_gvt *gvt = vgpu->gvt;
2293 struct drm_i915_private *dev_priv = gvt->dev_priv;
2293 struct intel_gvt_gtt_pte_ops *ops = vgpu->gvt->gtt.pte_ops; 2294 struct intel_gvt_gtt_pte_ops *ops = vgpu->gvt->gtt.pte_ops;
2294 u32 index; 2295 u32 index;
2295 u32 offset; 2296 u32 offset;
2296 u32 num_entries; 2297 u32 num_entries;
2297 struct intel_gvt_gtt_entry e; 2298 struct intel_gvt_gtt_entry e;
2298 2299
2300 intel_runtime_pm_get(dev_priv);
2301
2299 memset(&e, 0, sizeof(struct intel_gvt_gtt_entry)); 2302 memset(&e, 0, sizeof(struct intel_gvt_gtt_entry));
2300 e.type = GTT_TYPE_GGTT_PTE; 2303 e.type = GTT_TYPE_GGTT_PTE;
2301 ops->set_pfn(&e, gvt->gtt.scratch_ggtt_mfn); 2304 ops->set_pfn(&e, gvt->gtt.scratch_ggtt_mfn);
@@ -2310,6 +2313,8 @@ void intel_vgpu_reset_ggtt(struct intel_vgpu *vgpu)
2310 num_entries = vgpu_hidden_sz(vgpu) >> PAGE_SHIFT; 2313 num_entries = vgpu_hidden_sz(vgpu) >> PAGE_SHIFT;
2311 for (offset = 0; offset < num_entries; offset++) 2314 for (offset = 0; offset < num_entries; offset++)
2312 ops->set_entry(NULL, &e, index + offset, false, 0, vgpu); 2315 ops->set_entry(NULL, &e, index + offset, false, 0, vgpu);
2316
2317 intel_runtime_pm_put(dev_priv);
2313} 2318}
2314 2319
2315/** 2320/**