[PATCH v3 0/6] iommu/arm-smmu: Misc modifications to support SMMUs on Calxeda ECX-2000
Andreas Herrmann
andreas.herrmann at calxeda.com
Fri Oct 18 16:13:09 EDT 2013
Hi,
Here is v3 of arm-smmu changes to support SMMUs on Calxeda ECX-2000.
Esp. I've reworked the automatic StreamID masking. With this I try to
keep the number of used SMRs as low as possible. Of course it still
depends on some kind of reasonable ordering of StreamIDs for a master.
The general problem to determine the least number of mask/id pairs to
use for a given number of StreamIDs is not easy to solve. But I think
the solution provided with patch 4 plus considering that we have some
influence how the StreamIDs are ordered (eg. when provided in DT) is
sufficient for kernel usage.
Here an example of SMR-usage for 3 SMMUs, each with one master device
and having StreamIDs 0-9, 0-1 and 0-1:
arm-smmu 920180000.smmu: SMR0: 0x80070000
arm-smmu 920180000.smmu: SMR1: 0x80010008
arm-smmu 920180000.smmu: S2CR0: 0x0
arm-smmu 920180000.smmu: S2CR1: 0x0
arm-smmu 920000000.smmu: SMR0: 0x80010000
arm-smmu 920000000.smmu: S2CR0: 0x0
arm-smmu 920080000.smmu: SMR0: 0x80010000
arm-smmu 920080000.smmu: S2CR0: 0x0
Changelog:
v3:
- Reworked automatic StreamID masking (I think the previous posted
version was buggy anyway). It repeatedly tries to determine mask/id
pairs for stream matching.
- Removed the patch that introduced support to mask all StreamIDs
of a master device.
- Removed setting of flag sCR0_USFCFG in arm_smmu_device_notifier.
v2:
http://marc.info/?l=linux-arm-kernel&m=138135834704855
v1:
http://marc.info/?l=linux-arm-kernel&m=138122450023564
Regards,
Andreas
More information about the linux-arm-kernel
mailing list