On 2/21/22 17:23, Robin Murphy wrote:
On 2022-02-18 11:39, Mikko Perttunen via iommu wrote:
Add schema information for the memory-contexts property used to
specify context stream IDs. This uses the standard iommu-map property
inside a child node.
Couldn't you simply make "iommu-map" an allowed property on the host1x
node itself? From a DT perspective I'm not sure the intermediate node
really fits meaningfully, and I can't see that it serves much purpose in
practice either, other than perhaps defeating fw_devlink.
Robin.
The stream IDs described here are not used by the host1x device itself,
so I don't think I can. Host1x's memory transactions still go through
the stream ID specified in its 'iommus' property, these stream IDs are
used by engines (typically in addition to the stream ID specified in
their own nodes).
Host1x 'iommus' -- Channel commands
Engine 'iommus' -- Engine firmware (and data if context isolation is not
enabled)
memory-contexts 'iommu-map' -- Data used by engines.
(Perhaps I should add this information to various places in more
abundance and clarity.)
Mikko
Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx>
---
v3:
* New patch
---
.../bindings/display/tegra/nvidia,tegra20-host1x.yaml | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git
a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
index 4fd513efb0f7..3ac0fde54a16 100644
---
a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
+++
b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.yaml
@@ -144,6 +144,16 @@ allOf:
reset-names:
maxItems: 1
+ memory-contexts:
+ type: object
+ properties:
+ iommu-map:
+ description: Specification of stream IDs available for
memory context device
+ use. Should be a mapping of IDs 0..n to IOMMU entries
corresponding to
+ usable stream IDs.
+ required:
+ - iommu-map
+
required:
- reg-names