summaryrefslogtreecommitdiff
path: root/drivers/ntb
diff options
context:
space:
mode:
authorRobin Murphy <robin.murphy@arm.com>2017-10-18 17:04:26 +0300
committerWill Deacon <will.deacon@arm.com>2017-10-20 18:55:08 +0300
commit37de98f8f1cf330918b242cd3ce13751857243a6 (patch)
treebec5d901505368a1a229f2e1802d773e70c705a3 /drivers/ntb
parentdce032a15ced2ee9fa58ed7b52c492795d096a40 (diff)
downloadlinux-37de98f8f1cf330918b242cd3ce13751857243a6.tar.xz
iommu/arm-smmu-v3: Use CMD_SYNC completion MSI
As an IRQ, the CMD_SYNC interrupt is not particularly useful, not least because we often need to wait for sync completion within someone else's IRQ handler anyway. However, when the SMMU is both coherent and supports MSIs, we can have a lot more fun by not using it as an interrupt at all. Following the example suggested in the architecture and using a write targeting normal memory, we can let callers wait on a status variable outside the lock instead of having to stall the entire queue or even touch MMIO registers. Since multiple sync commands are guaranteed to complete in order, a simple incrementing sequence count is all we need to unambiguously support any realistic number of overlapping waiters. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/ntb')
0 files changed, 0 insertions, 0 deletions