iommu/arm-smmu: Remove io-pgtable spinlock
authorRobin Murphy <robin.murphy@arm.com>
Thu, 22 Jun 2017 15:53:56 +0000 (16:53 +0100)
committerWill Deacon <will.deacon@arm.com>
Fri, 23 Jun 2017 16:58:01 +0000 (17:58 +0100)
commit523d7423e21bfe78452a640878d1de189ac45d91
treee9761ec9f033acf654096b866a7e50929c281227
parent119ff305b02793dc31eb1e921b85925ce10dc0a1
iommu/arm-smmu: Remove io-pgtable spinlock

With the io-pgtable code now robust against (valid) races, we no longer
need to serialise all operations with a lock. This might make broken
callers who issue concurrent operations on overlapping addresses go even
more wrong than before, but hey, they already had little hope of useful
or deterministic results.

We do however still have to keep a lock around to serialise the ATS1*
translation ops, as parallel iova_to_phys() calls could lead to
unpredictable hardware behaviour otherwise.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/iommu/arm-smmu.c