Thread (95 messages) 95 messages, 8 authors, 2024-10-17

RE: [PATCH v2 2/8] iommu/arm-smmu-v3: Use S2FWB when available

From: "Tian, Kevin" <kevin.tian@intel.com>
Date: 2024-08-30 10:01:20
Also in: kvm, linux-acpi, linux-iommu, linux-patches

quoted hunk ↗ jump to hunk
From: Jason Gunthorpe <jgg@nvidia.com>
Sent: Tuesday, August 27, 2024 11:52 PM
@@ -4189,6 +4193,13 @@ static int arm_smmu_device_hw_probe(struct
arm_smmu_device *smmu)

 	/* IDR3 */
 	reg = readl_relaxed(smmu->base + ARM_SMMU_IDR3);
+	/*
+	 * If for some reason the HW does not support DMA coherency then
using
+	 * S2FWB won't work. This will also disable nesting support.
+	 */
+	if (FIELD_GET(IDR3_FWB, reg) &&
+	    (smmu->features & ARM_SMMU_FEAT_COHERENCY))
+		smmu->features |= ARM_SMMU_FEAT_S2FWB;
 	if (FIELD_GET(IDR3_RIL, reg))
 		smmu->features |= ARM_SMMU_FEAT_RANGE_INV;
then also clear ARM_SMMU_FEAT_NESTING?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help