diff options
| author | Robin Murphy <Robin.Murphy@arm.com> | 2015-05-27 17:09:34 +0100 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:14:59 -0700 |
| commit | 590f6b97ce9d808e4e738acd03dfccb392ecae9b (patch) | |
| tree | aa2b2150bb8a6a0ccbbd64831746de70a8735c45 /include/uapi/linux/patchkey.h | |
| parent | 4efda8dbdda12bb23bf1de81a176ec62062a262c (diff) | |
iommu/arm-smmu: Fix ATS1* register writes
The ATS1* address translation registers only support being written
atomically - in SMMUv2 where they are 64 bits wide, 32-bit writes to
the lower half are automatically zero-extended, whilst 32-bit writes
to the upper half are ignored. Thus, the current logic of performing
64-bit writes as two 32-bit accesses is wrong.
Since we already limit IOVAs to 32 bits on 32-bit ARM, the lack of a
suitable writeq() implementation there is not an issue, and we only
need a little preprocessor ugliness to safely hide the 64-bit case.
Change-Id: Ice82b1276d30605d335f9400f8cc3da3e3348bb6
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
[pdaly@codeaurora.org Resolve minor conflicts]
Diffstat (limited to 'include/uapi/linux/patchkey.h')
0 files changed, 0 insertions, 0 deletions
