On Tue, Aug 18, 2026 at 10:40:25AM +0530, Ekansh Gupta wrote:
The CB child nodes are not separate addressable hardware — they are SMMU stream-ID assignments described as sub-resources of the parent DSP interface.
So this is exactly the same thing.
Read my remarks here: https://lore.kernel.org/linux-iommu/20260618151745.GD231643@ziepe.ca/
The DT modeling for devices that have multiple stream-IDs is to list them all in iommus list.
If you don't like that DT modeling then you need to start out by explaining why not very clearly.
There is undeniably a Linux gap where it forces all streams in the iommus property to share a translation. This is a *linux* problem in the iommu subsystem and DMA API. In an ideal world it should not be fixed by hacking up new busses or mangling the DT.
But of the easy options I think hacking in new busses is the worst option and has already been basically NAK'd for the hamoa project so please don't use it here for a diferent qualcomm IP.
Given several qualcomm chips now have this same issue I strongly suggest qualcomm consider trying to fix the root cause and provide some way for a Linux driver to progmatically "unbundle" the multiple streams.
It would be much easier if the HW properly supported actual sub streams as we do already have a programming model for PASID. Maybe some kind of driver thing to reconstruct the iommus so that each entry is exposed as a PASID in the API instead of an alias or something like that would be an easy direction.
Jason