linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Device address specific mapping of arm,mmu-500
@ 2017-05-30  1:18 Ray Jui
  2017-05-30 15:14 ` Will Deacon
  0 siblings, 1 reply; 14+ messages in thread
From: Ray Jui @ 2017-05-30  1:18 UTC (permalink / raw)
  To: linux-arm-kernel

Hi All,

I'm writing to check with you to see if the latest arm-smmu.c driver in
v4.12-rc Linux for smmu-500 can support mapping that is only specific to
a particular physical address range while leave the rest still to be
handled by the client device. I believe this can already be supported by
the device tree binding of the generic IOMMU framework; however, it is
not clear to me whether or not the arm-smmu.c driver can support it.

To give you some background information:

We have a SoC that has PCIe root complex that has a build-in logic block
to forward MSI writes to ARM GICv3 ITS. Unfortunately, this logic block
has a HW bug that causes the MSI writes not parsed properly and can
potentially corrupt data in the internal FIFO. A workaround is to have
ARM MMU-500 takes care of all inbound transactions. I found that is
working after hooking up our PCIe root complex to MMU-500; however, even
with this optimized arm-smmu driver in v4.12, I'm still seeing a
significant Ethernet throughput drop in both the TX and RX directions.
The throughput drop is very significant at around 50% (but is already
much improved compared to other prior kernel versions at 70~90%).

One alternative is to only use MMU-500 for MSI writes towards
GITS_TRANSLATER register in the GICv3, i.e., if I can define a specific
region of physical address that I want MMU-500 to act on and leave the
rest of inbound transactions to be handled directly by our PCIe
controller, it can potentially work around the HW bug we have and at the
same time achieve optimal throughput.

Any feedback from you is greatly appreciated!

Best regards,

Ray

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

end of thread, other threads:[~2017-06-07  6:20 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-30  1:18 Device address specific mapping of arm,mmu-500 Ray Jui
2017-05-30 15:14 ` Will Deacon
2017-05-30 16:49   ` Ray Jui
2017-05-30 16:59     ` Marc Zyngier
2017-05-30 17:16       ` Ray Jui
2017-05-30 17:27         ` Marc Zyngier
2017-05-30 22:06           ` Ray Jui
2017-05-31  6:13             ` Ray Jui
2017-05-31 12:44               ` Will Deacon
2017-05-31 17:32                 ` Ray Jui
2017-06-05 18:03                   ` Ray Jui
2017-06-06 10:02                     ` Robin Murphy
2017-06-07  6:20                       ` Ray Jui
2017-05-30 17:27     ` Robin Murphy

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).