Hi Will/Robin/Joerg,

I am s/w engineer from NXP India Pvt. Ltd.
We are using SMMU-V3 in one of NXP SOC.
I have a question about the SMMU Stream ID allocation in linux.

Right now the Stream IDs allocated to a device are mapped via device tree to 
the device.
https://elixir.bootlin.com/linux/latest/source/Documentation/devicetree/bindings/iommu/arm,smmu-v3.txt#L39

As the device tree is passed from bootloader to linux, we detect all the stream 
IDs needed by a device in bootloader and add their IDs in respective device 
nodes.
For each PCIE Endpoint (a unique BDF (Bus Device Function)) on PCIE bus, we are 
assigning a unique Stream ID in bootloader.

However, this poses an issue with PCIE hot plug.
If we plug in a pcie device while linux is running, a unique BDF is assigned to 
the device, for which there is no stream ID in device tree.

How can this problem be solved in linux?

Is there a way to assign (and revoke) stream IDs at run time?

Regards,
Pankaj Bansal

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to