[PATCH] [net-next] net: hns3: add IOMMU_SUPPORT dependency
From: Arnd Bergmann
Date: Mon Nov 04 2024 - 03:21:45 EST
From: Arnd Bergmann <arnd@xxxxxxxx>
The hns3 driver started filling iommu_iotlb_gather structures itself,
which requires CONFIG_IOMMU_SUPPORT is enabled:
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c: In function 'hns3_dma_map_sync':
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c:395:14: error: 'struct iommu_iotlb_gather' has no member named 'start'
395 | iotlb_gather.start = iova;
| ^
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c:396:14: error: 'struct iommu_iotlb_gather' has no member named 'end'
396 | iotlb_gather.end = iova + granule - 1;
| ^
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c:397:14: error: 'struct iommu_iotlb_gather' has no member named 'pgsize'
397 | iotlb_gather.pgsize = granule;
| ^
Add a Kconfig dependency to make it build in random configurations.
Cc: Will Deacon <will@xxxxxxxxxx>
Cc: Joerg Roedel <jroedel@xxxxxxx>
Cc: Robin Murphy <robin.murphy@xxxxxxx>
Cc: iommu@xxxxxxxxxxxxxxx
Fixes: f2c14899caba ("net: hns3: add sync command to sync io-pgtable")
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
I noticed that no other driver does this, so it would be good to
have a confirmation from the iommu maintainers that this is how
the interface and the dependency is intended to be used.
---
drivers/net/ethernet/hisilicon/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/hisilicon/Kconfig b/drivers/net/ethernet/hisilicon/Kconfig
index 65302c41bfb1..790efc8d2de6 100644
--- a/drivers/net/ethernet/hisilicon/Kconfig
+++ b/drivers/net/ethernet/hisilicon/Kconfig
@@ -91,6 +91,7 @@ config HNS_ENET
config HNS3
tristate "Hisilicon Network Subsystem Support HNS3 (Framework)"
depends on PCI
+ depends on IOMMU_SUPPORT
select NET_DEVLINK
select PAGE_POOL
help
--
2.39.5