linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] iommu/arm-smmu: Misc modifications to support SMMUs on Calxeda ECX-2000
@ 2013-10-18 20:13 Andreas Herrmann
  2013-10-18 20:13 ` [PATCH 1/6] iommu/arm-smmu: Introduce driver option handling Andreas Herrmann
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Andreas Herrmann @ 2013-10-18 20:13 UTC (permalink / raw)
  To: linux-arm-kernel

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

^ permalink raw reply	[flat|nested] 17+ messages in thread
* [PATCH 0/6] iommu/arm-smmu: Misc modifications to support SMMUs on Calxeda ECX-2000
@ 2014-01-30 18:18 Andreas Herrmann
  2014-01-30 18:18 ` [PATCH 4/6] iommu/arm-smmu: Introduce automatic stream-id-masking Andreas Herrmann
  0 siblings, 1 reply; 17+ messages in thread
From: Andreas Herrmann @ 2014-01-30 18:18 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

This is v5 of my arm-smmu changes (to support SMMUs on Calxeda ECX-2000).

Patches are based on v3.13.

Changes to previous version are
- use iommu_group notifier instead of bus notifier
- remove superfluous call to arm_smmu_add_device in
  notifier function
- free bitmap that's used for checking of duplicate stream IDs
- hopefully addressed all issues for the "SMR allocator" patch
  (see http://marc.info/?l=linux-arm-kernel&m=139040446813960)
- reorder patches to put the notifier change last (in case there are
  still objections to this the rest could be merged I think)


I omitted the patches that are device-tree related (of, dts,
documentation) or ARM dma-mapping.c related. I'll work on an update of
the dma-mapping change (to automatically increase the mapping size)
separately.

Changelog:
v4:
  http://marc.info/?l=linux-arm-kernel&m=138988209913055
v3:
  http://marc.info/?l=linux-arm-kernel&m=138212725606348
v2:
  http://marc.info/?l=linux-arm-kernel&m=138135834704855
v1:
   http://marc.info/?l=linux-arm-kernel&m=138122450023564


Regards,
Andreas

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

end of thread, other threads:[~2014-01-30 18:18 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-18 20:13 [PATCH v3 0/6] iommu/arm-smmu: Misc modifications to support SMMUs on Calxeda ECX-2000 Andreas Herrmann
2013-10-18 20:13 ` [PATCH 1/6] iommu/arm-smmu: Introduce driver option handling Andreas Herrmann
2013-10-18 20:13 ` [PATCH 2/6] iommu/arm-smmu: Introduce bus notifier block Andreas Herrmann
2013-10-31  0:46   ` Will Deacon
2013-10-18 20:13 ` [PATCH 3/6] iommu/arm-smmu: Support buggy implementations where all config accesses are secure Andreas Herrmann
2013-10-31  0:48   ` Will Deacon
2013-10-18 20:13 ` [PATCH 4/6] iommu/arm-smmu: Introduce automatic stream-id-masking Andreas Herrmann
2013-10-31 17:55   ` Will Deacon
2013-10-18 20:13 ` [PATCH 5/6] ARM: dts: Add nodes for SMMUs on Calxeda ECX-2000 Andreas Herrmann
2013-10-31  1:15   ` Will Deacon
2013-10-31  8:58     ` Andreas Herrmann
2013-10-18 20:13 ` [PATCH 6/6] documentation/iommu: Update description of ARM System MMU binding Andreas Herrmann
2013-10-31  1:17   ` Will Deacon
2013-10-31  6:45     ` Rob Herring
2013-10-31  9:16       ` Andreas Herrmann
2013-10-31 16:02         ` Will Deacon
  -- strict thread matches above, loose matches on Subject: below --
2014-01-30 18:18 [PATCH 0/6] iommu/arm-smmu: Misc modifications to support SMMUs on Calxeda ECX-2000 Andreas Herrmann
2014-01-30 18:18 ` [PATCH 4/6] iommu/arm-smmu: Introduce automatic stream-id-masking Andreas Herrmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).