All of lore.kernel.org
 help / color / mirror / Atom feed
* [ARM SMMU] Dynamic StreamID allocation
@ 2019-05-10 12:33 ` Pankaj Bansal
  0 siblings, 0 replies; 14+ messages in thread
From: Pankaj Bansal @ 2019-05-10 12:33 UTC (permalink / raw)
  To: Will Deacon, Robin Murphy, Joerg Roedel
  Cc: iommu, Varun Sethi, linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-05-13 13:36 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-10 12:33 [ARM SMMU] Dynamic StreamID allocation Pankaj Bansal
2019-05-10 12:33 ` Pankaj Bansal
2019-05-10 13:19 ` Pankaj Bansal
2019-05-10 13:19   ` Pankaj Bansal
2019-05-10 13:36 ` Jean-Philippe Brucker
2019-05-10 13:36   ` Jean-Philippe Brucker
2019-05-13  7:09   ` Pankaj Bansal
2019-05-13  7:09     ` Pankaj Bansal
2019-05-13 12:42     ` Jean-Philippe Brucker
2019-05-13 12:42       ` Jean-Philippe Brucker
2019-05-13 13:36       ` Robin Murphy
2019-05-13 13:36         ` Robin Murphy
2019-05-13 13:34 ` Laurentiu Tudor
2019-05-13 13:34   ` Laurentiu Tudor

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.