diff options
Diffstat (limited to 'drivers/iommu/intel/pasid.c')
| -rw-r--r-- | drivers/iommu/intel/pasid.c | 43 | 
1 files changed, 0 insertions, 43 deletions
diff --git a/drivers/iommu/intel/pasid.c b/drivers/iommu/intel/pasid.c index 633e0a4a01e7..c5d479770e12 100644 --- a/drivers/iommu/intel/pasid.c +++ b/drivers/iommu/intel/pasid.c @@ -336,15 +336,6 @@ static inline void pasid_set_fault_enable(struct pasid_entry *pe)  }  /* - * Setup the SRE(Supervisor Request Enable) field (Bit 128) of a - * scalable mode PASID entry. - */ -static inline void pasid_set_sre(struct pasid_entry *pe) -{ -	pasid_set_bits(&pe->val[2], 1 << 0, 1); -} - -/*   * Setup the WPE(Write Protect Enable) field (Bit 132) of a   * scalable mode PASID entry.   */ @@ -521,23 +512,6 @@ int intel_pasid_setup_first_level(struct intel_iommu *iommu,  		return -EINVAL;  	} -	if (flags & PASID_FLAG_SUPERVISOR_MODE) { -#ifdef CONFIG_X86 -		unsigned long cr0 = read_cr0(); - -		/* CR0.WP is normally set but just to be sure */ -		if (unlikely(!(cr0 & X86_CR0_WP))) { -			pr_err("No CPU write protect!\n"); -			return -EINVAL; -		} -#endif -		if (!ecap_srs(iommu->ecap)) { -			pr_err("No supervisor request support on %s\n", -			       iommu->name); -			return -EINVAL; -		} -	} -  	if ((flags & PASID_FLAG_FL5LP) && !cap_fl5lp_support(iommu->cap)) {  		pr_err("No 5-level paging support for first-level on %s\n",  		       iommu->name); @@ -560,10 +534,6 @@ int intel_pasid_setup_first_level(struct intel_iommu *iommu,  	/* Setup the first level page table pointer: */  	pasid_set_flptr(pte, (u64)__pa(pgd)); -	if (flags & PASID_FLAG_SUPERVISOR_MODE) { -		pasid_set_sre(pte); -		pasid_set_wpe(pte); -	}  	if (flags & PASID_FLAG_FL5LP)  		pasid_set_flpm(pte, 1); @@ -658,12 +628,6 @@ int intel_pasid_setup_second_level(struct intel_iommu *iommu,  	pasid_set_fault_enable(pte);  	pasid_set_page_snoop(pte, !!ecap_smpwc(iommu->ecap)); -	/* -	 * Since it is a second level only translation setup, we should -	 * set SRE bit as well (addresses are expected to be GPAs). -	 */ -	if (pasid != PASID_RID2PASID && ecap_srs(iommu->ecap)) -		pasid_set_sre(pte);  	pasid_set_present(pte);  	spin_unlock(&iommu->lock); @@ -700,13 +664,6 @@ int intel_pasid_setup_pass_through(struct intel_iommu *iommu,  	pasid_set_translation_type(pte, PASID_ENTRY_PGTT_PT);  	pasid_set_fault_enable(pte);  	pasid_set_page_snoop(pte, !!ecap_smpwc(iommu->ecap)); - -	/* -	 * We should set SRE bit as well since the addresses are expected -	 * to be GPAs. -	 */ -	if (ecap_srs(iommu->ecap)) -		pasid_set_sre(pte);  	pasid_set_present(pte);  	spin_unlock(&iommu->lock);  |