Question: multiple SMMUv3 devices probe

richard clark richard.xnu.clark at gmail.com
Thu Apr 8 02:31:19 BST 2021


> Hi guys,
> There're 3 SMMUv3 devices in my arm64 box. I am confused by the below
> probe process:
>
> arm_smmu_device_probe(...) --> arm_smmu_set_bus_ops(&arm_smmu_ops):
> if (platform_bus_type.iommu_ops != ops) {
>         err = bus_set_iommu(&platform_bus_type, ops);
>         if (err)
> }
>
> so for the 1st smmu device on the platform_bus, the
> arm_smmu_device_probe(...) will set the platform_bus_type.iommu_bus =
> arm_smmu_ops, so for the arm_smmu_device_probe(...) when probing the
> 2nd smmu device, the bus_set_iommu() will have no chance be called
> since the platform_bus_type.iommu_bus == arm_smmu_ops is true, my
> question is how the followed bus_set_iommu(...) being called?
>
> Thanks,
> RC

For this question,  any comments about that? Will, the owner of the
device driver, do you have some any? How about others too?
Thanks,
RC



More information about the linux-arm-kernel mailing list