[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 11/13] xen/iommu: smmu: Introduce automatic stream-id-masking

On Fri, 2015-01-30 at 18:49 +0000, Julien Grall wrote:
> From: Andreas Herrmann <andreas.herrmann@xxxxxxxxxxx>
> Try to determine mask/id values that match several stream IDs of a
> master device when doing Stream ID matching. Thus the number of used
> SMR groups that are required to map all stream IDs of a master device
> to a context should be less than the number of SMR groups used so far
> (currently one SMR group is used for one stream ID).
> Taken from the Linux ML:
> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-January/226100.html
> Changes compare to the Linux ML version:
>     - _fls doesn't exist on Xen so use fls

Did you mean __fls? I don't see a single _ variant in Linux.

It's important since I think __fls and fls behave slightly

>     - Use num_s2crs rather than num_streamids in the arm_smmu_free_smrs.
>     This former is the field used to configure SRMS
> Cc: Andreas Herrmann <herrmann.der.user@xxxxxxxxxxxxxx>
> Signed-off-by: Andreas Herrmann <andreas.herrmann@xxxxxxxxxxx>
> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
> ---
>     This patch was sent on Linux ML back to January 2014. It has never
>     been pushed upstream as it was only useful for Calxeda.

I know that until know Calxeda has been our only platform with an SMMU,
but that is no longer the case, so I'm not really convinced we want to
carry divergence from the upstream driver just for the benefit of this
effectively obsolete platform.

>     The SMMU used to protect the SATA on this platform has more stream
>     id than the number of stream matching registers. Therefore we have
>     to use stream id masking to configure correctly all the stream IDs.

What controls which stream IDs are used by the SATA h/w when issuing
requests? Can we constrain it somehow (ideally by omitting them from the
DT) to only use a subset of the stream IDs, such that the number used is
less than the number of matching registers?


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.