Lines Matching refs:spt

649 		struct intel_vgpu_ppgtt_spt *spt,  in ppgtt_spt_get_entry()  argument
654 struct intel_gvt *gvt = spt->vgpu->gvt; in ppgtt_spt_get_entry()
664 spt->guest_page.gfn << I915_GTT_PAGE_SHIFT, in ppgtt_spt_get_entry()
665 spt->vgpu); in ppgtt_spt_get_entry()
670 spt->guest_page.pde_ips : false); in ppgtt_spt_get_entry()
678 struct intel_vgpu_ppgtt_spt *spt, in ppgtt_spt_set_entry() argument
683 struct intel_gvt *gvt = spt->vgpu->gvt; in ppgtt_spt_set_entry()
693 spt->guest_page.gfn << I915_GTT_PAGE_SHIFT, in ppgtt_spt_set_entry()
694 spt->vgpu); in ppgtt_spt_set_entry()
697 #define ppgtt_get_guest_entry(spt, e, index) \ argument
698 ppgtt_spt_get_entry(spt, NULL, \
699 spt->guest_page.type, e, index, true)
701 #define ppgtt_set_guest_entry(spt, e, index) \ argument
702 ppgtt_spt_set_entry(spt, NULL, \
703 spt->guest_page.type, e, index, true)
705 #define ppgtt_get_shadow_entry(spt, e, index) \ argument
706 ppgtt_spt_get_entry(spt, spt->shadow_page.vaddr, \
707 spt->shadow_page.type, e, index, false)
709 #define ppgtt_set_shadow_entry(spt, e, index) \ argument
710 ppgtt_spt_set_entry(spt, spt->shadow_page.vaddr, \
711 spt->shadow_page.type, e, index, false)
715 struct intel_vgpu_ppgtt_spt *spt; in alloc_spt() local
717 spt = kzalloc(sizeof(*spt), gfp_mask); in alloc_spt()
718 if (!spt) in alloc_spt()
721 spt->shadow_page.page = alloc_page(gfp_mask); in alloc_spt()
722 if (!spt->shadow_page.page) { in alloc_spt()
723 kfree(spt); in alloc_spt()
726 return spt; in alloc_spt()
729 static void free_spt(struct intel_vgpu_ppgtt_spt *spt) in free_spt() argument
731 __free_page(spt->shadow_page.page); in free_spt()
732 kfree(spt); in free_spt()
738 static void ppgtt_free_spt(struct intel_vgpu_ppgtt_spt *spt) in ppgtt_free_spt() argument
740 struct device *kdev = &spt->vgpu->gvt->gt->i915->drm.pdev->dev; in ppgtt_free_spt()
742 trace_spt_free(spt->vgpu->id, spt, spt->guest_page.type); in ppgtt_free_spt()
744 dma_unmap_page(kdev, spt->shadow_page.mfn << I915_GTT_PAGE_SHIFT, 4096, in ppgtt_free_spt()
747 radix_tree_delete(&spt->vgpu->gtt.spt_tree, spt->shadow_page.mfn); in ppgtt_free_spt()
749 if (spt->guest_page.gfn) { in ppgtt_free_spt()
750 if (spt->guest_page.oos_page) in ppgtt_free_spt()
751 detach_oos_page(spt->vgpu, spt->guest_page.oos_page); in ppgtt_free_spt()
753 intel_vgpu_unregister_page_track(spt->vgpu, spt->guest_page.gfn); in ppgtt_free_spt()
756 list_del_init(&spt->post_shadow_list); in ppgtt_free_spt()
757 free_spt(spt); in ppgtt_free_spt()
762 struct intel_vgpu_ppgtt_spt *spt, *spn; in ppgtt_free_all_spt() local
769 spt = radix_tree_deref_slot(slot); in ppgtt_free_all_spt()
770 list_move(&spt->post_shadow_list, &all_spt); in ppgtt_free_all_spt()
774 list_for_each_entry_safe(spt, spn, &all_spt, post_shadow_list) in ppgtt_free_all_spt()
775 ppgtt_free_spt(spt); in ppgtt_free_all_spt()
779 struct intel_vgpu_ppgtt_spt *spt,
786 struct intel_vgpu_ppgtt_spt *spt = page_track->priv_data; in ppgtt_write_protection_handler() local
793 ret = ppgtt_handle_guest_write_page_table_bytes(spt, gpa, data, bytes); in ppgtt_write_protection_handler()
826 struct intel_vgpu_ppgtt_spt *spt = NULL; in ppgtt_alloc_spt() local
831 spt = alloc_spt(GFP_KERNEL | __GFP_ZERO); in ppgtt_alloc_spt()
832 if (!spt) { in ppgtt_alloc_spt()
840 spt->vgpu = vgpu; in ppgtt_alloc_spt()
841 atomic_set(&spt->refcount, 1); in ppgtt_alloc_spt()
842 INIT_LIST_HEAD(&spt->post_shadow_list); in ppgtt_alloc_spt()
847 spt->shadow_page.type = type; in ppgtt_alloc_spt()
848 daddr = dma_map_page(kdev, spt->shadow_page.page, in ppgtt_alloc_spt()
855 spt->shadow_page.vaddr = page_address(spt->shadow_page.page); in ppgtt_alloc_spt()
856 spt->shadow_page.mfn = daddr >> I915_GTT_PAGE_SHIFT; in ppgtt_alloc_spt()
858 ret = radix_tree_insert(&vgpu->gtt.spt_tree, spt->shadow_page.mfn, spt); in ppgtt_alloc_spt()
862 return spt; in ppgtt_alloc_spt()
867 free_spt(spt); in ppgtt_alloc_spt()
876 struct intel_vgpu_ppgtt_spt *spt; in ppgtt_alloc_spt_gfn() local
879 spt = ppgtt_alloc_spt(vgpu, type); in ppgtt_alloc_spt_gfn()
880 if (IS_ERR(spt)) in ppgtt_alloc_spt_gfn()
881 return spt; in ppgtt_alloc_spt_gfn()
887 ppgtt_write_protection_handler, spt); in ppgtt_alloc_spt_gfn()
889 ppgtt_free_spt(spt); in ppgtt_alloc_spt_gfn()
893 spt->guest_page.type = type; in ppgtt_alloc_spt_gfn()
894 spt->guest_page.gfn = gfn; in ppgtt_alloc_spt_gfn()
895 spt->guest_page.pde_ips = guest_pde_ips; in ppgtt_alloc_spt_gfn()
897 trace_spt_alloc(vgpu->id, spt, type, spt->shadow_page.mfn, gfn); in ppgtt_alloc_spt_gfn()
899 return spt; in ppgtt_alloc_spt_gfn()
902 #define pt_entry_size_shift(spt) \ argument
903 ((spt)->vgpu->gvt->device_info.gtt_entry_size_shift)
905 #define pt_entries(spt) \ argument
906 (I915_GTT_PAGE_SIZE >> pt_entry_size_shift(spt))
908 #define for_each_present_guest_entry(spt, e, i) \ argument
909 for (i = 0; i < pt_entries(spt); \
910 i += spt->guest_page.pde_ips ? GTT_64K_PTE_STRIDE : 1) \
911 if (!ppgtt_get_guest_entry(spt, e, i) && \
912 spt->vgpu->gvt->gtt.pte_ops->test_present(e))
914 #define for_each_present_shadow_entry(spt, e, i) \ argument
915 for (i = 0; i < pt_entries(spt); \
916 i += spt->shadow_page.pde_ips ? GTT_64K_PTE_STRIDE : 1) \
917 if (!ppgtt_get_shadow_entry(spt, e, i) && \
918 spt->vgpu->gvt->gtt.pte_ops->test_present(e))
920 #define for_each_shadow_entry(spt, e, i) \ argument
921 for (i = 0; i < pt_entries(spt); \
922 i += (spt->shadow_page.pde_ips ? GTT_64K_PTE_STRIDE : 1)) \
923 if (!ppgtt_get_shadow_entry(spt, e, i))
925 static inline void ppgtt_get_spt(struct intel_vgpu_ppgtt_spt *spt) in ppgtt_get_spt() argument
927 int v = atomic_read(&spt->refcount); in ppgtt_get_spt()
929 trace_spt_refcount(spt->vgpu->id, "inc", spt, v, (v + 1)); in ppgtt_get_spt()
930 atomic_inc(&spt->refcount); in ppgtt_get_spt()
933 static inline int ppgtt_put_spt(struct intel_vgpu_ppgtt_spt *spt) in ppgtt_put_spt() argument
935 int v = atomic_read(&spt->refcount); in ppgtt_put_spt()
937 trace_spt_refcount(spt->vgpu->id, "dec", spt, v, (v - 1)); in ppgtt_put_spt()
938 return atomic_dec_return(&spt->refcount); in ppgtt_put_spt()
941 static int ppgtt_invalidate_spt(struct intel_vgpu_ppgtt_spt *spt);
980 static inline void ppgtt_invalidate_pte(struct intel_vgpu_ppgtt_spt *spt, in ppgtt_invalidate_pte() argument
983 struct intel_vgpu *vgpu = spt->vgpu; in ppgtt_invalidate_pte()
989 type = spt->shadow_page.type; in ppgtt_invalidate_pte()
998 static int ppgtt_invalidate_spt(struct intel_vgpu_ppgtt_spt *spt) in ppgtt_invalidate_spt() argument
1000 struct intel_vgpu *vgpu = spt->vgpu; in ppgtt_invalidate_spt()
1005 trace_spt_change(spt->vgpu->id, "die", spt, in ppgtt_invalidate_spt()
1006 spt->guest_page.gfn, spt->shadow_page.type); in ppgtt_invalidate_spt()
1008 if (ppgtt_put_spt(spt) > 0) in ppgtt_invalidate_spt()
1011 for_each_present_shadow_entry(spt, &e, index) { in ppgtt_invalidate_spt()
1015 ppgtt_invalidate_pte(spt, &e); in ppgtt_invalidate_spt()
1032 spt->vgpu, &e); in ppgtt_invalidate_spt()
1041 trace_spt_change(spt->vgpu->id, "release", spt, in ppgtt_invalidate_spt()
1042 spt->guest_page.gfn, spt->shadow_page.type); in ppgtt_invalidate_spt()
1043 ppgtt_free_spt(spt); in ppgtt_invalidate_spt()
1047 spt, e.val64, e.type); in ppgtt_invalidate_spt()
1067 static int ppgtt_populate_spt(struct intel_vgpu_ppgtt_spt *spt);
1073 struct intel_vgpu_ppgtt_spt *spt = NULL; in ppgtt_populate_spt_by_guest_entry() local
1082 spt = intel_vgpu_find_spt_by_gfn(vgpu, ops->get_pfn(we)); in ppgtt_populate_spt_by_guest_entry()
1083 if (spt) { in ppgtt_populate_spt_by_guest_entry()
1084 ppgtt_get_spt(spt); in ppgtt_populate_spt_by_guest_entry()
1086 if (ips != spt->guest_page.pde_ips) { in ppgtt_populate_spt_by_guest_entry()
1087 spt->guest_page.pde_ips = ips; in ppgtt_populate_spt_by_guest_entry()
1090 clear_page(spt->shadow_page.vaddr); in ppgtt_populate_spt_by_guest_entry()
1091 ret = ppgtt_populate_spt(spt); in ppgtt_populate_spt_by_guest_entry()
1093 ppgtt_put_spt(spt); in ppgtt_populate_spt_by_guest_entry()
1105 spt = ppgtt_alloc_spt_gfn(vgpu, type, ops->get_pfn(we), ips); in ppgtt_populate_spt_by_guest_entry()
1106 if (IS_ERR(spt)) { in ppgtt_populate_spt_by_guest_entry()
1107 ret = PTR_ERR(spt); in ppgtt_populate_spt_by_guest_entry()
1111 ret = intel_vgpu_enable_page_track(vgpu, spt->guest_page.gfn); in ppgtt_populate_spt_by_guest_entry()
1115 ret = ppgtt_populate_spt(spt); in ppgtt_populate_spt_by_guest_entry()
1119 trace_spt_change(vgpu->id, "new", spt, spt->guest_page.gfn, in ppgtt_populate_spt_by_guest_entry()
1120 spt->shadow_page.type); in ppgtt_populate_spt_by_guest_entry()
1122 return spt; in ppgtt_populate_spt_by_guest_entry()
1125 ppgtt_free_spt(spt); in ppgtt_populate_spt_by_guest_entry()
1126 spt = NULL; in ppgtt_populate_spt_by_guest_entry()
1129 spt, we->val64, we->type); in ppgtt_populate_spt_by_guest_entry()
1173 struct intel_vgpu_ppgtt_spt *spt, unsigned long index, in split_2MB_gtt_entry() argument
1196 ppgtt_invalidate_spt(spt); in split_2MB_gtt_entry()
1215 ppgtt_set_shadow_entry(spt, se, index); in split_2MB_gtt_entry()
1220 struct intel_vgpu_ppgtt_spt *spt, unsigned long index, in split_64KB_gtt_entry() argument
1245 ppgtt_set_shadow_entry(spt, &entry, index + i); in split_64KB_gtt_entry()
1251 struct intel_vgpu_ppgtt_spt *spt, unsigned long index, in ppgtt_populate_shadow_entry() argument
1276 return split_64KB_gtt_entry(vgpu, spt, index, &se); in ppgtt_populate_shadow_entry()
1281 return split_2MB_gtt_entry(vgpu, spt, index, &se); in ppgtt_populate_shadow_entry()
1300 ppgtt_set_shadow_entry(spt, &se, index); in ppgtt_populate_shadow_entry()
1304 static int ppgtt_populate_spt(struct intel_vgpu_ppgtt_spt *spt) in ppgtt_populate_spt() argument
1306 struct intel_vgpu *vgpu = spt->vgpu; in ppgtt_populate_spt()
1314 trace_spt_change(spt->vgpu->id, "born", spt, in ppgtt_populate_spt()
1315 spt->guest_page.gfn, spt->shadow_page.type); in ppgtt_populate_spt()
1317 for_each_present_guest_entry(spt, &ge, i) { in ppgtt_populate_spt()
1324 ppgtt_get_shadow_entry(spt, &se, i); in ppgtt_populate_spt()
1326 ppgtt_set_shadow_entry(spt, &se, i); in ppgtt_populate_spt()
1331 ppgtt_set_shadow_entry(spt, &se, i); in ppgtt_populate_spt()
1335 ret = ppgtt_populate_shadow_entry(vgpu, spt, i, &ge); in ppgtt_populate_spt()
1343 spt, ge.val64, ge.type); in ppgtt_populate_spt()
1347 static int ppgtt_handle_guest_entry_removal(struct intel_vgpu_ppgtt_spt *spt, in ppgtt_handle_guest_entry_removal() argument
1350 struct intel_vgpu *vgpu = spt->vgpu; in ppgtt_handle_guest_entry_removal()
1354 trace_spt_guest_change(spt->vgpu->id, "remove", spt, in ppgtt_handle_guest_entry_removal()
1355 spt->shadow_page.type, se->val64, index); in ppgtt_handle_guest_entry_removal()
1364 vgpu->gtt.scratch_pt[spt->shadow_page.type].page_mfn) in ppgtt_handle_guest_entry_removal()
1382 ppgtt_invalidate_pte(spt, se); in ppgtt_handle_guest_entry_removal()
1388 spt, se->val64, se->type); in ppgtt_handle_guest_entry_removal()
1392 static int ppgtt_handle_guest_entry_add(struct intel_vgpu_ppgtt_spt *spt, in ppgtt_handle_guest_entry_add() argument
1395 struct intel_vgpu *vgpu = spt->vgpu; in ppgtt_handle_guest_entry_add()
1400 trace_spt_guest_change(spt->vgpu->id, "add", spt, spt->shadow_page.type, in ppgtt_handle_guest_entry_add()
1412 ppgtt_get_shadow_entry(spt, &m, index); in ppgtt_handle_guest_entry_add()
1414 ppgtt_set_shadow_entry(spt, &m, index); in ppgtt_handle_guest_entry_add()
1416 ret = ppgtt_populate_shadow_entry(vgpu, spt, index, we); in ppgtt_handle_guest_entry_add()
1423 spt, we->val64, we->type); in ppgtt_handle_guest_entry_add()
1433 struct intel_vgpu_ppgtt_spt *spt = oos_page->spt; in sync_oos_page() local
1439 spt, spt->guest_page.type); in sync_oos_page()
1441 old.type = new.type = get_entry_type(spt->guest_page.type); in sync_oos_page()
1448 spt->guest_page.gfn << PAGE_SHIFT, vgpu); in sync_oos_page()
1451 && !test_and_clear_bit(index, spt->post_shadow_bitmap)) in sync_oos_page()
1455 spt, spt->guest_page.type, in sync_oos_page()
1458 ret = ppgtt_populate_shadow_entry(vgpu, spt, index, &new); in sync_oos_page()
1465 spt->guest_page.write_cnt = 0; in sync_oos_page()
1466 list_del_init(&spt->post_shadow_list); in sync_oos_page()
1474 struct intel_vgpu_ppgtt_spt *spt = oos_page->spt; in detach_oos_page() local
1477 spt, spt->guest_page.type); in detach_oos_page()
1479 spt->guest_page.write_cnt = 0; in detach_oos_page()
1480 spt->guest_page.oos_page = NULL; in detach_oos_page()
1481 oos_page->spt = NULL; in detach_oos_page()
1490 struct intel_vgpu_ppgtt_spt *spt) in attach_oos_page() argument
1492 struct intel_gvt *gvt = spt->vgpu->gvt; in attach_oos_page()
1495 ret = intel_gvt_hypervisor_read_gpa(spt->vgpu, in attach_oos_page()
1496 spt->guest_page.gfn << I915_GTT_PAGE_SHIFT, in attach_oos_page()
1501 oos_page->spt = spt; in attach_oos_page()
1502 spt->guest_page.oos_page = oos_page; in attach_oos_page()
1506 trace_oos_change(spt->vgpu->id, "attach", oos_page->id, in attach_oos_page()
1507 spt, spt->guest_page.type); in attach_oos_page()
1511 static int ppgtt_set_guest_page_sync(struct intel_vgpu_ppgtt_spt *spt) in ppgtt_set_guest_page_sync() argument
1513 struct intel_vgpu_oos_page *oos_page = spt->guest_page.oos_page; in ppgtt_set_guest_page_sync()
1516 ret = intel_vgpu_enable_page_track(spt->vgpu, spt->guest_page.gfn); in ppgtt_set_guest_page_sync()
1520 trace_oos_change(spt->vgpu->id, "set page sync", oos_page->id, in ppgtt_set_guest_page_sync()
1521 spt, spt->guest_page.type); in ppgtt_set_guest_page_sync()
1524 return sync_oos_page(spt->vgpu, oos_page); in ppgtt_set_guest_page_sync()
1527 static int ppgtt_allocate_oos_page(struct intel_vgpu_ppgtt_spt *spt) in ppgtt_allocate_oos_page() argument
1529 struct intel_gvt *gvt = spt->vgpu->gvt; in ppgtt_allocate_oos_page()
1531 struct intel_vgpu_oos_page *oos_page = spt->guest_page.oos_page; in ppgtt_allocate_oos_page()
1539 ret = ppgtt_set_guest_page_sync(oos_page->spt); in ppgtt_allocate_oos_page()
1542 ret = detach_oos_page(spt->vgpu, oos_page); in ppgtt_allocate_oos_page()
1548 return attach_oos_page(oos_page, spt); in ppgtt_allocate_oos_page()
1551 static int ppgtt_set_guest_page_oos(struct intel_vgpu_ppgtt_spt *spt) in ppgtt_set_guest_page_oos() argument
1553 struct intel_vgpu_oos_page *oos_page = spt->guest_page.oos_page; in ppgtt_set_guest_page_oos()
1558 trace_oos_change(spt->vgpu->id, "set page out of sync", oos_page->id, in ppgtt_set_guest_page_oos()
1559 spt, spt->guest_page.type); in ppgtt_set_guest_page_oos()
1561 list_add_tail(&oos_page->vm_list, &spt->vgpu->gtt.oos_page_list_head); in ppgtt_set_guest_page_oos()
1562 return intel_vgpu_disable_page_track(spt->vgpu, spt->guest_page.gfn); in ppgtt_set_guest_page_oos()
1587 ret = ppgtt_set_guest_page_sync(oos_page->spt); in intel_vgpu_sync_oos_pages()
1598 struct intel_vgpu_ppgtt_spt *spt, in ppgtt_handle_guest_write_page_table() argument
1601 struct intel_vgpu *vgpu = spt->vgpu; in ppgtt_handle_guest_write_page_table()
1602 int type = spt->shadow_page.type; in ppgtt_handle_guest_write_page_table()
1615 ppgtt_get_shadow_entry(spt, &old_se, index); in ppgtt_handle_guest_write_page_table()
1618 ret = ppgtt_handle_guest_entry_add(spt, we, index); in ppgtt_handle_guest_write_page_table()
1623 ret = ppgtt_handle_guest_entry_removal(spt, &old_se, index); in ppgtt_handle_guest_write_page_table()
1636 ppgtt_set_shadow_entry(spt, &old_se, index + i); in ppgtt_handle_guest_write_page_table()
1643 ppgtt_set_shadow_entry(spt, &old_se, index); in ppgtt_handle_guest_write_page_table()
1647 ppgtt_set_shadow_entry(spt, &old_se, index); in ppgtt_handle_guest_write_page_table()
1654 spt, we->val64, we->type); in ppgtt_handle_guest_write_page_table()
1660 static inline bool can_do_out_of_sync(struct intel_vgpu_ppgtt_spt *spt) in can_do_out_of_sync() argument
1663 && gtt_type_is_pte_pt(spt->guest_page.type) in can_do_out_of_sync()
1664 && spt->guest_page.write_cnt >= 2; in can_do_out_of_sync()
1667 static void ppgtt_set_post_shadow(struct intel_vgpu_ppgtt_spt *spt, in ppgtt_set_post_shadow() argument
1670 set_bit(index, spt->post_shadow_bitmap); in ppgtt_set_post_shadow()
1671 if (!list_empty(&spt->post_shadow_list)) in ppgtt_set_post_shadow()
1674 list_add_tail(&spt->post_shadow_list, in ppgtt_set_post_shadow()
1675 &spt->vgpu->gtt.post_shadow_list_head); in ppgtt_set_post_shadow()
1691 struct intel_vgpu_ppgtt_spt *spt; in intel_vgpu_flush_post_shadow() local
1697 spt = container_of(pos, struct intel_vgpu_ppgtt_spt, in intel_vgpu_flush_post_shadow()
1700 for_each_set_bit(index, spt->post_shadow_bitmap, in intel_vgpu_flush_post_shadow()
1702 ppgtt_get_guest_entry(spt, &ge, index); in intel_vgpu_flush_post_shadow()
1704 ret = ppgtt_handle_guest_write_page_table(spt, in intel_vgpu_flush_post_shadow()
1708 clear_bit(index, spt->post_shadow_bitmap); in intel_vgpu_flush_post_shadow()
1710 list_del_init(&spt->post_shadow_list); in intel_vgpu_flush_post_shadow()
1716 struct intel_vgpu_ppgtt_spt *spt, in ppgtt_handle_guest_write_page_table_bytes() argument
1719 struct intel_vgpu *vgpu = spt->vgpu; in ppgtt_handle_guest_write_page_table_bytes()
1728 ppgtt_get_guest_entry(spt, &we, index); in ppgtt_handle_guest_write_page_table_bytes()
1743 ret = ppgtt_handle_guest_write_page_table(spt, &we, index); in ppgtt_handle_guest_write_page_table_bytes()
1747 if (!test_bit(index, spt->post_shadow_bitmap)) { in ppgtt_handle_guest_write_page_table_bytes()
1748 int type = spt->shadow_page.type; in ppgtt_handle_guest_write_page_table_bytes()
1750 ppgtt_get_shadow_entry(spt, &se, index); in ppgtt_handle_guest_write_page_table_bytes()
1751 ret = ppgtt_handle_guest_entry_removal(spt, &se, index); in ppgtt_handle_guest_write_page_table_bytes()
1755 ppgtt_set_shadow_entry(spt, &se, index); in ppgtt_handle_guest_write_page_table_bytes()
1757 ppgtt_set_post_shadow(spt, index); in ppgtt_handle_guest_write_page_table_bytes()
1763 spt->guest_page.write_cnt++; in ppgtt_handle_guest_write_page_table_bytes()
1765 if (spt->guest_page.oos_page) in ppgtt_handle_guest_write_page_table_bytes()
1766 ops->set_entry(spt->guest_page.oos_page->mem, &we, index, in ppgtt_handle_guest_write_page_table_bytes()
1769 if (can_do_out_of_sync(spt)) { in ppgtt_handle_guest_write_page_table_bytes()
1770 if (!spt->guest_page.oos_page) in ppgtt_handle_guest_write_page_table_bytes()
1771 ppgtt_allocate_oos_page(spt); in ppgtt_handle_guest_write_page_table_bytes()
1773 ret = ppgtt_set_guest_page_oos(spt); in ppgtt_handle_guest_write_page_table_bytes()
1816 struct intel_vgpu_ppgtt_spt *spt; in shadow_ppgtt_mm() local
1834 spt = ppgtt_populate_spt_by_guest_entry(vgpu, &ge); in shadow_ppgtt_mm()
1835 if (IS_ERR(spt)) { in shadow_ppgtt_mm()
1837 ret = PTR_ERR(spt); in shadow_ppgtt_mm()
1840 ppgtt_generate_shadow_entry(&se, spt, &ge); in shadow_ppgtt_mm()