aboutsummaryrefslogtreecommitdiff
path: root/drivers/iommu/intel/iommu.c
diff options
context:
space:
mode:
authorKlaus Jensen <k.jensen@samsung.com>2024-11-04 09:40:38 +0800
committerJoerg Roedel <jroedel@suse.de>2024-11-05 13:32:27 +0100
commit9baed1c28030ebac5d44b889b3adf155340fa751 (patch)
treec5cdacf639b1490d8ba8da3a3c2266a39e7ab2bf /drivers/iommu/intel/iommu.c
parentcbeb1b7eee2ffa63b4d809c0a3f068309df933fa (diff)
downloadlinux-9baed1c28030ebac5d44b889b3adf155340fa751.tar.gz
linux-9baed1c28030ebac5d44b889b3adf155340fa751.tar.bz2
linux-9baed1c28030ebac5d44b889b3adf155340fa751.zip
iommu/vt-d: Drop pasid requirement for prq initialization
PASID support within the IOMMU is not required to enable the Page Request Queue, only the PRS capability. Signed-off-by: Klaus Jensen <k.jensen@samsung.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Joel Granados <joel.granados@kernel.org> Link: https://lore.kernel.org/r/20241015-jag-iopfv8-v4-5-b696ca89ba29@kernel.org Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/intel/iommu.c')
-rw-r--r--drivers/iommu/intel/iommu.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
index 0ac4ce192baa..74cf84e3e4e0 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -1329,10 +1329,8 @@ static void free_dmar_iommu(struct intel_iommu *iommu)
/* free context mapping */
free_context_table(iommu);
- if (pasid_supported(iommu)) {
- if (ecap_prs(iommu->ecap))
- intel_iommu_finish_prq(iommu);
- }
+ if (ecap_prs(iommu->ecap))
+ intel_iommu_finish_prq(iommu);
}
/*
@@ -2192,7 +2190,7 @@ static int __init init_dmars(void)
iommu_flush_write_buffer(iommu);
- if (pasid_supported(iommu) && ecap_prs(iommu->ecap)) {
+ if (ecap_prs(iommu->ecap)) {
/*
* Call dmar_alloc_hwirq() with dmar_global_lock held,
* could cause possible lock race condition.
@@ -2616,7 +2614,7 @@ static int intel_iommu_add(struct dmar_drhd_unit *dmaru)
intel_iommu_init_qi(iommu);
iommu_flush_write_buffer(iommu);
- if (pasid_supported(iommu) && ecap_prs(iommu->ecap)) {
+ if (ecap_prs(iommu->ecap)) {
ret = intel_iommu_enable_prq(iommu);
if (ret)
goto disable_iommu;