iommu/io-pgtable-arm: Fix self-test WARNs on i386
authorWill Deacon <will.deacon@arm.com>
Mon, 16 Feb 2015 18:38:20 +0000 (18:38 +0000)
committerJoerg Roedel <jroedel@suse.de>
Wed, 25 Feb 2015 12:37:32 +0000 (13:37 +0100)
Various build/boot bots have reported WARNs being triggered by the ARM
iopgtable LPAE self-tests on i386 machines.

This boils down to two instances of right-shifting a 32-bit unsigned
long (i.e. an iova) by more than the size of the type. On 32-bit ARM,
this happens to give us zero, hence my testing didn't catch this
earlier.

This patch fixes the issue by using DIV_ROUND_UP and explicit case to
to avoid the erroneous shifts.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Reported-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>

No differences found