On Sat, Jun 21, 2014 at 12:16:25AM +0100, Olav Haugan wrote:
> On 5/30/2014 12:06 PM, Arnd Bergmann wrote:
> > On Friday 30 May 2014 08:16:05 Rob Herring wrote:
> >> Presumably the ID would be the streamID on ARM's SMMU. How would a
> >> master with 8 streamIDs be described? This is what Calxeda midway has
> >> for SATA and I would expect that to be somewhat common. Either you
> >> need some ID masking or you'll have lots of duplication when you have
> >> windows.
> > 
> > I don't understand the problem. If you have stream IDs 0 through 7,
> > you would have
> > 
> >     master@a {
> >             ...
> >             iommus = <&smmu 0>;
> >     };
> > 
> >     master@b {
> >             ...
> >             iommus = <&smmu 1;
> >     };
> > 
> >     ...
> > 
> >     master@12 {
> >             ...
> >             iommus = <&smmu 7;
> >     };
> > 
> > and you don't need a window at all. Why would you need a mask of
> > some sort?
> 
> We have multiple-master SMMUs and each master emits a variable number of
> StreamIDs. However, we have to apply a mask (the ARM SMMU spec allows
> for this) to the StreamIDs due to limited number of StreamID 2 Context
> Bank entries in the SMMU. If my understanding is correct we would
> represent this in the DT like this:
> 
>       iommu {
>               #address-cells = <2>;
>               #size-cells = <0>;
>       };
> 
>       master@a {
>               ...
>               iommus = <&iommu StreamID0 MASK0>,
>                        <&iommu StreamID1 MASK1>,
>                        <&iommu StreamID2 MASK2>;
>       };

Stupid question, but why not simply describe the masked IDs? What use does
the `raw' ID have to Linux?

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to