Re: [PATCH 3/5] iommu/dart: Set DMA domain for locked DARTs

From: Robin Murphy
Date: Tue Feb 11 2025 - 13:26:00 EST


On 2025-02-10 7:39 pm, Alyssa Rosenzweig wrote:
This is required.

Now that we can, I'd really rather do this properly and not offer an identity domain in the first place when it's not available.

Thanks,
Robin.

Signed-off-by: Alyssa Rosenzweig <alyssa@xxxxxxxxxxxxx>
---
drivers/iommu/apple-dart.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c
index 9c74a95eb7e819e94ab2fb47ed0d411a1eba8bf7..9c6f780dc7220096ed6bba692fa1a4bd859b0d61 100644
--- a/drivers/iommu/apple-dart.c
+++ b/drivers/iommu/apple-dart.c
@@ -941,6 +941,8 @@ static int apple_dart_def_domain_type(struct device *dev)
return IOMMU_DOMAIN_IDENTITY;
if (!cfg->stream_maps[0].dart->supports_bypass)
return IOMMU_DOMAIN_DMA;
+ if (cfg->stream_maps[0].dart->locked)
+ return IOMMU_DOMAIN_DMA;
return 0;
}