On Fri, Jul 08, 2022 at 11:32:58PM +1000, Alexey Kardashevskiy wrote: > > For power the default domain should be NULL > > > > NULL means that the platform is using the group to provide its DMA > > ops. IIRC this patch was already setup correctly to do this? > > > > The transition from NULL to blocking must isolate the group so all DMA > > is blocked. blocking to NULL should re-estbalish platform DMA API > > control. > > > > The default domain should be non-NULL when the normal dma-iommu stuff is > > providing the DMA API. > > > > So, I think it is already setup properly, it is just the question of > > what to do when entering/leaving blocking mode. > > Well, the patch calls iommu_probe_device() which calls > iommu_alloc_default_domain() which creates IOMMU_DOMAIN_BLOCKED > (==0) as Yes, we always create a blocking domain during probe, but it isn't used until required > nothing initialized iommu_def_domain_type. Need a different default type > (and return NULL when IOMMU API tries creating this type)? iommu_alloc_default_domain() should fail on power because none of the domain types it tries to create are supported. This should result in a NULL group->default_domain Jason