#define GEN8_DECODE_PTE(pte) (pte & GENMASK_ULL(63, 12))
 
-static int vgpu_pin_dma_address(struct intel_vgpu *vgpu,
-                               unsigned long size,
-                               dma_addr_t dma_addr)
-{
-       int ret = 0;
-
-       if (intel_gvt_hypervisor_dma_pin_guest_page(vgpu, dma_addr))
-               ret = -EINVAL;
-
-       return ret;
-}
-
 static int vgpu_gem_get_pages(
                struct drm_i915_gem_object *obj)
 {
        for_each_sg(st->sgl, sg, page_num, i) {
                dma_addr_t dma_addr =
                        GEN8_DECODE_PTE(readq(>t_entries[i]));
-               if (vgpu_pin_dma_address(vgpu, PAGE_SIZE, dma_addr)) {
+               if (intel_gvt_dma_pin_guest_page(vgpu, dma_addr)) {
                        ret = -EINVAL;
                        goto out;
                }
 
 
 int intel_gvt_page_track_add(struct intel_vgpu *info, u64 gfn);
 int intel_gvt_page_track_remove(struct intel_vgpu *info, u64 gfn);
+int intel_gvt_dma_pin_guest_page(struct intel_vgpu *vgpu, dma_addr_t dma_addr);
 int intel_gvt_dma_map_guest_page(struct intel_vgpu *vgpu, unsigned long gfn,
                unsigned long size, dma_addr_t *dma_addr);
 void intel_gvt_dma_unmap_guest_page(struct intel_vgpu *vgpu,
 
 struct intel_gvt_mpt {
        int (*host_init)(struct device *dev, void *gvt);
        void (*host_exit)(struct device *dev, void *gvt);
-
-       int (*dma_pin_guest_page)(struct intel_vgpu *vgpu, dma_addr_t dma_addr);
 };
 
 #endif /* _GVT_HYPERCALL_H_ */
 
        return ret;
 }
 
-static int kvmgt_dma_pin_guest_page(struct intel_vgpu *vgpu,
-               dma_addr_t dma_addr)
+int intel_gvt_dma_pin_guest_page(struct intel_vgpu *vgpu, dma_addr_t dma_addr)
 {
        struct gvt_dma *entry;
        int ret = 0;
 static const struct intel_gvt_mpt kvmgt_mpt = {
        .host_init = kvmgt_host_init,
        .host_exit = kvmgt_host_exit,
-       .dma_pin_guest_page = kvmgt_dma_pin_guest_page,
 };
 
 struct intel_gvt_host intel_gvt_host = {
 
        intel_gvt_host.mpt->host_exit(dev, gvt);
 }
 
-/**
- * intel_gvt_hypervisor_dma_pin_guest_page - pin guest dma buf
- * @vgpu: a vGPU
- * @dma_addr: guest dma addr
- *
- * Returns:
- * 0 on success, negative error code if failed.
- */
-static inline int
-intel_gvt_hypervisor_dma_pin_guest_page(struct intel_vgpu *vgpu,
-                                       dma_addr_t dma_addr)
-{
-       return intel_gvt_host.mpt->dma_pin_guest_page(vgpu, dma_addr);
-}
-
 #endif /* _GVT_MPT_H_ */