diff options
author | Will Deacon <will.deacon@arm.com> | 2013-11-07 18:47:50 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-12-20 15:48:57 (GMT) |
commit | c4f16060b6e48a04487d1becf52d4acb2b3f69b0 (patch) | |
tree | 897ca431718839aaa7e2f0b118d6a4ceb0acf5e7 /drivers/gpu | |
parent | 20a3008e850fc5b06595f3d850aea38c16213900 (diff) | |
download | linux-fsl-qoriq-c4f16060b6e48a04487d1becf52d4acb2b3f69b0.tar.xz |
iommu/arm-smmu: use mutex instead of spinlock for locking page tables
commit a44a9791e778d9ccda50d5534028ed4057a9a45b upstream.
When creating IO mappings, we lazily allocate our page tables using the
standard, non-atomic allocator functions. This presents us with a
problem, since our page tables are protected with a spinlock.
This patch reworks the smmu_domain lock to use a mutex instead of a
spinlock. iova_to_phys is then reworked so that it only reads the page
tables, and can run in a lockless fashion, leaving the mutex to guard
against concurrent mapping threads.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpu')
0 files changed, 0 insertions, 0 deletions