diff options
author | Zhi Wang | 2017-10-10 11:24:26 +0200 |
---|---|---|
committer | Zhenyu Wang | 2017-11-16 04:48:24 +0100 |
commit | 655c64efe36f199bea16f9ba7388c479d5feed5f (patch) | |
tree | e0f527edf4401cce948baf251ef1c4382ddce886 | |
parent | drm/i915/gvt: Introduce page table type of current level in GTT type enumerat... (diff) | |
download | kernel-qcow2-linux-655c64efe36f199bea16f9ba7388c479d5feed5f.tar.gz kernel-qcow2-linux-655c64efe36f199bea16f9ba7388c479d5feed5f.tar.xz kernel-qcow2-linux-655c64efe36f199bea16f9ba7388c479d5feed5f.zip |
drm/i915/gvt: Introduce ops->set_present()
We need ops->set_present() during generating a new scratch page table
entry.
Signed-off-by: Zhi Wang <zhi.a.wang@intel.com>
-rw-r--r-- | drivers/gpu/drm/i915/gvt/gtt.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/gvt/gtt.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm/i915/gvt/gtt.c index 74be5e628310..3d6008b116e5 100644 --- a/drivers/gpu/drm/i915/gvt/gtt.c +++ b/drivers/gpu/drm/i915/gvt/gtt.c @@ -397,6 +397,11 @@ static void gtt_entry_clear_present(struct intel_gvt_gtt_entry *e) e->val64 &= ~BIT(0); } +static void gtt_entry_set_present(struct intel_gvt_gtt_entry *e) +{ + e->val64 |= BIT(0); +} + /* * Per-platform GMA routines. */ @@ -426,6 +431,7 @@ static struct intel_gvt_gtt_pte_ops gen8_gtt_pte_ops = { .get_entry = gtt_get_entry64, .set_entry = gtt_set_entry64, .clear_present = gtt_entry_clear_present, + .set_present = gtt_entry_set_present, .test_present = gen8_gtt_test_present, .test_pse = gen8_gtt_test_pse, .get_pfn = gen8_gtt_get_pfn, diff --git a/drivers/gpu/drm/i915/gvt/gtt.h b/drivers/gpu/drm/i915/gvt/gtt.h index ab590278dcf1..f98c1c19b4cb 100644 --- a/drivers/gpu/drm/i915/gvt/gtt.h +++ b/drivers/gpu/drm/i915/gvt/gtt.h @@ -62,6 +62,7 @@ struct intel_gvt_gtt_pte_ops { struct intel_vgpu *vgpu); bool (*test_present)(struct intel_gvt_gtt_entry *e); void (*clear_present)(struct intel_gvt_gtt_entry *e); + void (*set_present)(struct intel_gvt_gtt_entry *e); bool (*test_pse)(struct intel_gvt_gtt_entry *e); void (*set_pfn)(struct intel_gvt_gtt_entry *e, unsigned long pfn); unsigned long (*get_pfn)(struct intel_gvt_gtt_entry *e); |