Ah, I did not realize you were talking about VCMM. I believe the mainreason what that patch was not received well is that it tried to addyet another abstraction for IOMMUs when we already have too many of them.

It is essentially doing the opposite of what I was referring to above:If we had added VCMM, each platform that has IOMMUs would now have to implement three interfaces: dma-mapping.h (struct dma_map_ops),iommu.h (struct iommu_ops) and and vcm_driver.h (struct vcm_driver).

What I really meant was to unify the two we already have, so thata platform only needs to implement e.g. iommu_ops and get the dma_mapping.hinterfaces for free.