On Wed, Feb 19, 2025 at 05:31:41PM -0800, Nicolin Chen wrote:
+/*
- Get a iommufd_sw_msi_map for the msi physical address requested by the irq
- layer. The mapping to IOVA is global to the iommufd file descriptor, every
- domain that is attached to a device using the same MSI parameters will use
- the same IOVA.
- */
+static struct iommufd_sw_msi_map * +iommufd_sw_msi_get_map(struct iommufd_ctx *ictx, phys_addr_t msi_addr,
phys_addr_t sw_msi_start)
+{
This ends up being never called if !CONFIG_IRQ_MSI_IOMMU because the sw_msi doesn't exist.
--- a/drivers/iommu/iommufd/device.c +++ b/drivers/iommu/iommufd/device.c @@ -300,7 +300,7 @@ EXPORT_SYMBOL_NS_GPL(iommufd_device_to_id, "IOMMUFD"); * domain that is attached to a device using the same MSI parameters will use * the same IOVA. */ -static struct iommufd_sw_msi_map * +static __maybe_unused struct iommufd_sw_msi_map * iommufd_sw_msi_get_map(struct iommufd_ctx *ictx, phys_addr_t msi_addr, phys_addr_t sw_msi_start) {
Fixed it up
Jason