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

Tian, Kevin
2024-08-30T10:01:20Z

> 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?