Lines Matching refs:index

282 static u64 read_pte64(struct i915_ggtt *ggtt, unsigned long index)  in read_pte64()  argument
284 void __iomem *addr = (gen8_pte_t __iomem *)ggtt->gsm + index; in read_pte64()
296 static void write_pte64(struct i915_ggtt *ggtt, unsigned long index, u64 pte) in write_pte64() argument
298 void __iomem *addr = (gen8_pte_t __iomem *)ggtt->gsm + index; in write_pte64()
305 unsigned long index, bool hypervisor_access, unsigned long gpa, in gtt_get_entry64() argument
316 (index << info->gtt_entry_size_shift), in gtt_get_entry64()
321 e->val64 = read_pte64(vgpu->gvt->gt->ggtt, index); in gtt_get_entry64()
323 e->val64 = *((u64 *)pt + index); in gtt_get_entry64()
330 unsigned long index, bool hypervisor_access, unsigned long gpa, in gtt_set_entry64() argument
341 (index << info->gtt_entry_size_shift), in gtt_set_entry64()
346 write_pte64(vgpu->gvt->gt->ggtt, index, e->val64); in gtt_set_entry64()
348 *((u64 *)pt + index) = e->val64; in gtt_set_entry64()
553 struct intel_gvt_gtt_entry *entry, unsigned long index, in _ppgtt_get_root_entry() argument
563 entry, index, false, 0, mm->vgpu); in _ppgtt_get_root_entry()
568 struct intel_gvt_gtt_entry *entry, unsigned long index) in ppgtt_get_guest_root_entry() argument
570 _ppgtt_get_root_entry(mm, entry, index, true); in ppgtt_get_guest_root_entry()
574 struct intel_gvt_gtt_entry *entry, unsigned long index) in ppgtt_get_shadow_root_entry() argument
576 _ppgtt_get_root_entry(mm, entry, index, false); in ppgtt_get_shadow_root_entry()
580 struct intel_gvt_gtt_entry *entry, unsigned long index, in _ppgtt_set_root_entry() argument
587 entry, index, false, 0, mm->vgpu); in _ppgtt_set_root_entry()
591 struct intel_gvt_gtt_entry *entry, unsigned long index) in ppgtt_set_guest_root_entry() argument
593 _ppgtt_set_root_entry(mm, entry, index, true); in ppgtt_set_guest_root_entry()
597 struct intel_gvt_gtt_entry *entry, unsigned long index) in ppgtt_set_shadow_root_entry() argument
599 _ppgtt_set_root_entry(mm, entry, index, false); in ppgtt_set_shadow_root_entry()
603 struct intel_gvt_gtt_entry *entry, unsigned long index) in ggtt_get_guest_entry() argument
610 pte_ops->get_entry(mm->ggtt_mm.virtual_ggtt, entry, index, in ggtt_get_guest_entry()
615 struct intel_gvt_gtt_entry *entry, unsigned long index) in ggtt_set_guest_entry() argument
621 pte_ops->set_entry(mm->ggtt_mm.virtual_ggtt, entry, index, in ggtt_set_guest_entry()
626 struct intel_gvt_gtt_entry *entry, unsigned long index) in ggtt_get_host_entry() argument
632 pte_ops->get_entry(NULL, entry, index, false, 0, mm->vgpu); in ggtt_get_host_entry()
636 struct intel_gvt_gtt_entry *entry, unsigned long index) in ggtt_set_host_entry() argument
642 pte_ops->set_entry(NULL, entry, index, false, 0, mm->vgpu); in ggtt_set_host_entry()
651 struct intel_gvt_gtt_entry *e, unsigned long index, in ppgtt_spt_get_entry() argument
663 ret = ops->get_entry(page_table, e, index, guest, in ppgtt_spt_get_entry()
673 type, e->type, index, e->val64); in ppgtt_spt_get_entry()
680 struct intel_gvt_gtt_entry *e, unsigned long index, in ppgtt_spt_set_entry() argument
690 type, e->type, index, e->val64); in ppgtt_spt_set_entry()
692 return ops->set_entry(page_table, e, index, guest, in ppgtt_spt_set_entry()
697 #define ppgtt_get_guest_entry(spt, e, index) \ argument
699 spt->guest_page.type, e, index, true)
701 #define ppgtt_set_guest_entry(spt, e, index) \ argument
703 spt->guest_page.type, e, index, true)
705 #define ppgtt_get_shadow_entry(spt, e, index) \ argument
707 spt->shadow_page.type, e, index, false)
709 #define ppgtt_set_shadow_entry(spt, e, index) \ argument
711 spt->shadow_page.type, e, index, false)
1002 unsigned long index; in ppgtt_invalidate_spt() local
1011 for_each_present_shadow_entry(spt, &e, index) { in ppgtt_invalidate_spt()
1173 struct intel_vgpu_ppgtt_spt *spt, unsigned long index, in split_2MB_gtt_entry() argument
1184 gvt_dbg_mm("Split 2M gtt entry, index %lu\n", index); 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
1229 gvt_vdbg_mm("Split 64K gtt entry, index %lu\n", index); in split_64KB_gtt_entry()
1231 GEM_BUG_ON(index % GTT_64K_PTE_STRIDE); in split_64KB_gtt_entry()
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()
1348 struct intel_gvt_gtt_entry *se, unsigned long index) in ppgtt_handle_guest_entry_removal() argument
1355 spt->shadow_page.type, se->val64, index); in ppgtt_handle_guest_entry_removal()
1358 se->type, index, se->val64); in ppgtt_handle_guest_entry_removal()
1393 struct intel_gvt_gtt_entry *we, unsigned long index) in ppgtt_handle_guest_entry_add() argument
1401 we->val64, index); in ppgtt_handle_guest_entry_add()
1404 we->type, index, we->val64); 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()
1435 int index; in sync_oos_page() local
1444 for (index = 0; index < (I915_GTT_PAGE_SIZE >> in sync_oos_page()
1445 info->gtt_entry_size_shift); index++) { in sync_oos_page()
1446 ops->get_entry(oos_page->mem, &old, index, false, 0, vgpu); in sync_oos_page()
1447 ops->get_entry(NULL, &new, index, true, in sync_oos_page()
1451 && !test_and_clear_bit(index, spt->post_shadow_bitmap)) in sync_oos_page()
1456 new.val64, index); in sync_oos_page()
1458 ret = ppgtt_populate_shadow_entry(vgpu, spt, index, &new); in sync_oos_page()
1462 ops->set_entry(oos_page->mem, &new, index, false, 0, vgpu); in sync_oos_page()
1599 struct intel_gvt_gtt_entry *we, unsigned long index) in ppgtt_handle_guest_write_page_table() argument
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()
1630 !(index % GTT_64K_PTE_STRIDE)) { 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()
1668 unsigned long index) in ppgtt_set_post_shadow() argument
1670 set_bit(index, spt->post_shadow_bitmap); in ppgtt_set_post_shadow()
1693 unsigned long index; in intel_vgpu_flush_post_shadow() local
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()
1705 &ge, index); in intel_vgpu_flush_post_shadow()
1708 clear_bit(index, spt->post_shadow_bitmap); in intel_vgpu_flush_post_shadow()
1723 unsigned long index; in ppgtt_handle_guest_write_page_table_bytes() local
1726 index = (pa & (PAGE_SIZE - 1)) >> info->gtt_entry_size_shift; in ppgtt_handle_guest_write_page_table_bytes()
1728 ppgtt_get_guest_entry(spt, &we, index); in ppgtt_handle_guest_write_page_table_bytes()
1736 (index % GTT_64K_PTE_STRIDE)) { in ppgtt_handle_guest_write_page_table_bytes()
1738 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()
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()
1766 ops->set_entry(spt->guest_page.oos_page->mem, &we, index, in ppgtt_handle_guest_write_page_table_bytes()
1787 int index; in invalidate_ppgtt_mm() local
1792 for (index = 0; index < ARRAY_SIZE(mm->ppgtt_mm.shadow_pdps); index++) { in invalidate_ppgtt_mm()
1793 ppgtt_get_shadow_root_entry(mm, &se, index); in invalidate_ppgtt_mm()
1800 ppgtt_set_shadow_root_entry(mm, &se, index); in invalidate_ppgtt_mm()
1803 NULL, se.type, se.val64, index); in invalidate_ppgtt_mm()
1818 int index, ret; in shadow_ppgtt_mm() local
1825 for (index = 0; index < ARRAY_SIZE(mm->ppgtt_mm.guest_pdps); index++) { in shadow_ppgtt_mm()
1826 ppgtt_get_guest_root_entry(mm, &ge, index); in shadow_ppgtt_mm()
1832 ge.type, ge.val64, index); in shadow_ppgtt_mm()
1841 ppgtt_set_shadow_root_entry(mm, &se, index); in shadow_ppgtt_mm()
1844 NULL, se.type, se.val64, index); in shadow_ppgtt_mm()
2047 struct intel_gvt_gtt_entry *e, unsigned long index, bool guest) in ppgtt_get_next_level_entry() argument
2058 ppgtt_get_shadow_entry(s, e, index); in ppgtt_get_next_level_entry()
2060 ppgtt_get_guest_entry(s, e, index); in ppgtt_get_next_level_entry()
2154 unsigned long index = off >> info->gtt_entry_size_shift; in emulate_ggtt_mmio_read() local
2161 gma = index << I915_GTT_PAGE_SHIFT; in emulate_ggtt_mmio_read()
2169 ggtt_get_guest_entry(ggtt_mm, &e, index); in emulate_ggtt_mmio_read()
2809 u32 index; in intel_vgpu_reset_ggtt() local
2815 index = vgpu_aperture_gmadr_base(vgpu) >> PAGE_SHIFT; in intel_vgpu_reset_ggtt()
2819 ggtt_get_host_entry(vgpu->gtt.ggtt_mm, &old_entry, index); in intel_vgpu_reset_ggtt()
2822 ggtt_set_host_entry(vgpu->gtt.ggtt_mm, &entry, index++); in intel_vgpu_reset_ggtt()
2825 index = vgpu_hidden_gmadr_base(vgpu) >> PAGE_SHIFT; in intel_vgpu_reset_ggtt()
2829 ggtt_get_host_entry(vgpu->gtt.ggtt_mm, &old_entry, index); in intel_vgpu_reset_ggtt()
2832 ggtt_set_host_entry(vgpu->gtt.ggtt_mm, &entry, index++); in intel_vgpu_reset_ggtt()