Register the QDA compute context bank bus (qda-compute-cb) with the IOMMU subsystem by adding it to the iommu_buses[] array.
The QDA driver creates synthetic devices on this bus to represent IOMMU context banks (CBs). Each CB device needs its own IOMMU domain so that the DSP memory manager can enforce per-session address space isolation. Without this registration, the IOMMU subsystem does not probe CB devices for IOMMU groups and of_dma_configure() in the bus dma_configure callback has no IOMMU domain to attach to. Assisted-by: Claude:claude-sonnet-5 Reviewed-by: Dmitry Baryshkov <[email protected]> Signed-off-by: Ekansh Gupta <[email protected]> --- drivers/iommu/iommu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index cd1bca7ede9a..4c4f7e732773 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -26,6 +26,7 @@ #include <linux/bitops.h> #include <linux/platform_device.h> #include <linux/property.h> +#include <linux/qda_compute_bus.h> #include <linux/fsl/mc.h> #include <linux/module.h> #include <linux/cc_platform.h> @@ -200,6 +201,9 @@ static const struct bus_type * const iommu_buses[] = { #ifdef CONFIG_CDX_BUS &cdx_bus_type, #endif +#ifdef CONFIG_DRM_ACCEL_QDA_COMPUTE_BUS + &qda_cb_bus_type, +#endif }; /* -- 2.34.1
