iommu/io-pgtable-arm: Simplify level indexing
authorRobin Murphy <robin.murphy@arm.com>
Fri, 25 Oct 2019 18:08:35 +0000 (19:08 +0100)
committerWill Deacon <will@kernel.org>
Mon, 4 Nov 2019 19:59:08 +0000 (19:59 +0000)
commit5fb190b0b52552de880536d4f409c4300c25e3d4
tree63edd228c3ac329bb8441dd2ca63cf6c6e119fc2
parentc79278c185c8848fefc25cf304eecec9c4623a40
iommu/io-pgtable-arm: Simplify level indexing

The nature of the LPAE format means that data->pg_shift is always
redundant with data->bits_per_level, since they represent the size of a
page and the number of PTEs per page respectively, and the size of a PTE
is constant. Thus it works out more efficient to only store the latter,
and derive the former via a trivial addition where necessary.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
[will: Reworked granule check in iopte_to_paddr()]
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/io-pgtable-arm.c