Commit 9baed1c2 authored by Klaus Jensen's avatar Klaus Jensen Committed by Joerg Roedel
Browse files

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: default avatarKlaus Jensen <k.jensen@samsung.com>
Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
Signed-off-by: default avatarJoel Granados <joel.granados@kernel.org>
Link: https://lore.kernel.org/r/20241015-jag-iopfv8-v4-5-b696ca89ba29@kernel.org


Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent cbeb1b7e
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -1329,11 +1329,9 @@ 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);
}
}

/*
 * Check and return whether first level is used by default for
@@ -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;