iommu/arm-smmu: ThunderX mis-extends 64bit registers
authorTirumalesh Chalamarla <tchalamarla@caviumnetworks.com>
Tue, 18 Aug 2015 23:40:30 +0000 (00:40 +0100)
committerWill Deacon <will.deacon@arm.com>
Wed, 14 Oct 2015 12:43:51 +0000 (13:43 +0100)
commit668b4ada1cdf406dac9f72503fa2f69f31bed0c5
tree6b59f23323ffe58fa9023e164b4ee94351175b2b
parent077124c98da3aa5aaf498fd0980ed14eaf777c09
iommu/arm-smmu: ThunderX mis-extends 64bit registers

The SMMU architecture defines two different behaviors when 64-bit
registers are written with 32-bit writes.  The first behavior causes
zero extension into the upper 32-bits.  The second behavior splits a
64-bit register into "normal" 32-bit register pairs.

On some buggy implementations, registers incorrectly zero extended
when they should instead behave as normal 32-bit register pairs.

Signed-off-by: Tirumalesh Chalamarla <tchalamarla@caviumnetworks.com>
[will: removed redundant macro parameters]
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/iommu/arm-smmu.c