Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b0c766bf authored by Changbin Du's avatar Changbin Du Committed by Zhenyu Wang
Browse files

drm/i915/gvt: Refine ggtt_set_shadow_entry



Less code and use existed helper ggtt_set_host_entry.

Signed-off-by: default avatarChangbin Du <changbin.du@intel.com>
Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
parent 3aff3512
Loading
Loading
Loading
Loading
+8 −11
Original line number Original line Diff line number Diff line
@@ -2421,26 +2421,23 @@ void intel_vgpu_reset_ggtt(struct intel_vgpu *vgpu)
{
{
	struct intel_gvt *gvt = vgpu->gvt;
	struct intel_gvt *gvt = vgpu->gvt;
	struct drm_i915_private *dev_priv = gvt->dev_priv;
	struct drm_i915_private *dev_priv = gvt->dev_priv;
	struct intel_gvt_gtt_pte_ops *ops = vgpu->gvt->gtt.pte_ops;
	struct intel_gvt_gtt_pte_ops *pte_ops = vgpu->gvt->gtt.pte_ops;
	struct intel_gvt_gtt_entry entry = {.type = GTT_TYPE_GGTT_PTE};
	u32 index;
	u32 index;
	u32 offset;
	u32 num_entries;
	u32 num_entries;
	struct intel_gvt_gtt_entry e;


	memset(&e, 0, sizeof(struct intel_gvt_gtt_entry));
	pte_ops->set_pfn(&entry, gvt->gtt.scratch_mfn);
	e.type = GTT_TYPE_GGTT_PTE;
	pte_ops->set_present(&entry);
	ops->set_pfn(&e, gvt->gtt.scratch_mfn);
	e.val64 |= _PAGE_PRESENT;


	index = vgpu_aperture_gmadr_base(vgpu) >> PAGE_SHIFT;
	index = vgpu_aperture_gmadr_base(vgpu) >> PAGE_SHIFT;
	num_entries = vgpu_aperture_sz(vgpu) >> PAGE_SHIFT;
	num_entries = vgpu_aperture_sz(vgpu) >> PAGE_SHIFT;
	for (offset = 0; offset < num_entries; offset++)
	while (num_entries--)
		ops->set_entry(NULL, &e, index + offset, false, 0, vgpu);
		ggtt_set_host_entry(vgpu->gtt.ggtt_mm, &entry, index++);


	index = vgpu_hidden_gmadr_base(vgpu) >> PAGE_SHIFT;
	index = vgpu_hidden_gmadr_base(vgpu) >> PAGE_SHIFT;
	num_entries = vgpu_hidden_sz(vgpu) >> PAGE_SHIFT;
	num_entries = vgpu_hidden_sz(vgpu) >> PAGE_SHIFT;
	for (offset = 0; offset < num_entries; offset++)
	while (num_entries--)
		ops->set_entry(NULL, &e, index + offset, false, 0, vgpu);
		ggtt_set_host_entry(vgpu->gtt.ggtt_mm, &entry, index++);


	gtt_invalidate(dev_priv);
	gtt_invalidate(dev_priv);
}
}