Lines Matching refs:pte

499 	struct pasid_entry *pte;  in intel_pasid_tear_down_entry()  local
502 pte = intel_pasid_get_entry(dev, pasid); in intel_pasid_tear_down_entry()
503 if (WARN_ON(!pte)) in intel_pasid_tear_down_entry()
506 did = pasid_get_domain_id(pte); in intel_pasid_tear_down_entry()
507 pgtt = pasid_pte_get_pgtt(pte); in intel_pasid_tear_down_entry()
512 clflush_cache_range(pte, sizeof(*pte)); in intel_pasid_tear_down_entry()
527 struct pasid_entry *pte, in pasid_flush_caches() argument
531 clflush_cache_range(pte, sizeof(*pte)); in pasid_flush_caches()
549 struct pasid_entry *pte; in intel_pasid_setup_first_level() local
557 pte = intel_pasid_get_entry(dev, pasid); in intel_pasid_setup_first_level()
558 if (WARN_ON(!pte)) in intel_pasid_setup_first_level()
561 pasid_clear_entry(pte); in intel_pasid_setup_first_level()
564 pasid_set_flptr(pte, (u64)__pa(pgd)); in intel_pasid_setup_first_level()
571 pasid_set_sre(pte); in intel_pasid_setup_first_level()
576 pasid_set_flpm(pte, 1); in intel_pasid_setup_first_level()
579 pasid_clear_entry(pte); in intel_pasid_setup_first_level()
585 pasid_set_pgsnp(pte); in intel_pasid_setup_first_level()
587 pasid_set_domain_id(pte, did); in intel_pasid_setup_first_level()
588 pasid_set_address_width(pte, iommu->agaw); in intel_pasid_setup_first_level()
589 pasid_set_page_snoop(pte, !!ecap_smpwc(iommu->ecap)); in intel_pasid_setup_first_level()
592 pasid_set_translation_type(pte, PASID_ENTRY_PGTT_FL_ONLY); in intel_pasid_setup_first_level()
593 pasid_set_present(pte); in intel_pasid_setup_first_level()
594 pasid_flush_caches(iommu, pte, pasid, did); in intel_pasid_setup_first_level()
625 struct pasid_entry *pte; in intel_pasid_setup_second_level() local
651 pte = intel_pasid_get_entry(dev, pasid); in intel_pasid_setup_second_level()
652 if (!pte) { in intel_pasid_setup_second_level()
657 pasid_clear_entry(pte); in intel_pasid_setup_second_level()
658 pasid_set_domain_id(pte, did); in intel_pasid_setup_second_level()
659 pasid_set_slptr(pte, pgd_val); in intel_pasid_setup_second_level()
660 pasid_set_address_width(pte, agaw); in intel_pasid_setup_second_level()
661 pasid_set_translation_type(pte, PASID_ENTRY_PGTT_SL_ONLY); in intel_pasid_setup_second_level()
662 pasid_set_fault_enable(pte); in intel_pasid_setup_second_level()
663 pasid_set_page_snoop(pte, !!ecap_smpwc(iommu->ecap)); in intel_pasid_setup_second_level()
666 pasid_set_pgsnp(pte); in intel_pasid_setup_second_level()
673 pasid_set_sre(pte); in intel_pasid_setup_second_level()
674 pasid_set_present(pte); in intel_pasid_setup_second_level()
675 pasid_flush_caches(iommu, pte, pasid, did); in intel_pasid_setup_second_level()
688 struct pasid_entry *pte; in intel_pasid_setup_pass_through() local
690 pte = intel_pasid_get_entry(dev, pasid); in intel_pasid_setup_pass_through()
691 if (!pte) { in intel_pasid_setup_pass_through()
696 pasid_clear_entry(pte); in intel_pasid_setup_pass_through()
697 pasid_set_domain_id(pte, did); in intel_pasid_setup_pass_through()
698 pasid_set_address_width(pte, iommu->agaw); in intel_pasid_setup_pass_through()
699 pasid_set_translation_type(pte, PASID_ENTRY_PGTT_PT); in intel_pasid_setup_pass_through()
700 pasid_set_fault_enable(pte); in intel_pasid_setup_pass_through()
701 pasid_set_page_snoop(pte, !!ecap_smpwc(iommu->ecap)); in intel_pasid_setup_pass_through()
708 pasid_set_sre(pte); in intel_pasid_setup_pass_through()
709 pasid_set_present(pte); in intel_pasid_setup_pass_through()
710 pasid_flush_caches(iommu, pte, pasid, did); in intel_pasid_setup_pass_through()
716 intel_pasid_setup_bind_data(struct intel_iommu *iommu, struct pasid_entry *pte, in intel_pasid_setup_bind_data() argument
732 pasid_set_sre(pte); in intel_pasid_setup_bind_data()
741 pasid_set_eafe(pte); in intel_pasid_setup_bind_data()
776 struct pasid_entry *pte; in intel_pasid_setup_nested() local
795 pte = intel_pasid_get_entry(dev, pasid); in intel_pasid_setup_nested()
796 if (WARN_ON(!pte)) in intel_pasid_setup_nested()
803 if (pasid_pte_is_present(pte)) in intel_pasid_setup_nested()
806 pasid_clear_entry(pte); in intel_pasid_setup_nested()
823 pasid_set_flpm(pte, 1); in intel_pasid_setup_nested()
827 pasid_set_flpm(pte, 0); in intel_pasid_setup_nested()
842 pasid_set_flptr(pte, (uintptr_t)gpgd); in intel_pasid_setup_nested()
844 ret = intel_pasid_setup_bind_data(iommu, pte, pasid_data); in intel_pasid_setup_nested()
857 pasid_set_slptr(pte, pgd_val); in intel_pasid_setup_nested()
858 pasid_set_fault_enable(pte); in intel_pasid_setup_nested()
861 pasid_set_domain_id(pte, did); in intel_pasid_setup_nested()
863 pasid_set_address_width(pte, agaw); in intel_pasid_setup_nested()
864 pasid_set_page_snoop(pte, !!ecap_smpwc(iommu->ecap)); in intel_pasid_setup_nested()
866 pasid_set_translation_type(pte, PASID_ENTRY_PGTT_NESTED); in intel_pasid_setup_nested()
867 pasid_set_present(pte); in intel_pasid_setup_nested()
868 pasid_flush_caches(iommu, pte, pasid, did); in intel_pasid_setup_nested()