diff options
| author | Mitchel Humpherys <mitchelh@codeaurora.org> | 2015-03-13 16:55:23 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:11:46 -0700 |
| commit | 7ed677cb8e6aa1dbb41bb6e4967de6c0b1afc8f2 (patch) | |
| tree | a08a18aa6e2c34409dec8b85c3b6f4a611715c5e /include/linux/vmalloc.h | |
| parent | 9c66ec14770fd39646f63d887607c7d56a126f94 (diff) | |
iommu/arm-smmu: convert atos spinlock to a mutex
Because of a hardware errata, arm_smmu_iova_to_phys_hard will soon be
making a TZ call to do a workaround. However, we're currently using a
spinlock to ensure atomicity of ATOS due to another hardware errata, but
scm_call is a sleeping function, so this results in a sleeping BUG. Fix
this by making the atos lock a mutex instead of a spinlock.
This isn't exactly correct since iommu_iova_to_phys itself might be
called from atomic context, so we really shouldn't be taking a mutex.
However, we don't seem to have any use cases where it will be called
from atomic context, but we should revert all of this and go back to a
spinlock as soon as this hardware errata goes away (which will happen
when Thulium v1 dies).
Change-Id: I61ea37bb3e6989fe5db43c4e828fc6473885db1e
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Diffstat (limited to 'include/linux/vmalloc.h')
0 files changed, 0 insertions, 0 deletions
