diff options
author | Will Deacon <will@kernel.org> | 2020-01-10 14:51:59 +0000 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2020-01-10 15:52:25 +0000 |
commit | ac4b80e5b9d0ecf906300d79e4dc4df5526579a8 (patch) | |
tree | 276ac7bad2eec3350d49069c549eabc364e8b0b3 /include/linux/io-pgtable.h | |
parent | fba6e960772b7b68189168abc3259384b7a44388 (diff) | |
download | linux-ac4b80e5b9d0ecf906300d79e4dc4df5526579a8.tar.gz linux-ac4b80e5b9d0ecf906300d79e4dc4df5526579a8.tar.bz2 linux-ac4b80e5b9d0ecf906300d79e4dc4df5526579a8.zip |
iommu/io-pgtable-arm: Rationalise VTCR handling
Commit 05a648cd2dd7 ("iommu/io-pgtable-arm: Rationalise TCR handling")
reworked the way in which the TCR register value is returned from the
io-pgtable code when targetting the Arm long-descriptor format, in
preparation for allowing page-tables to target TTBR1.
As it turns out, the new interface is a lot nicer to use, so do the same
conversion for the VTCR register even though there is only a single base
register for stage-2 translation.
Cc: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'include/linux/io-pgtable.h')
-rw-r--r-- | include/linux/io-pgtable.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/io-pgtable.h b/include/linux/io-pgtable.h index 6ae104cedfd7..40c1b7745fb6 100644 --- a/include/linux/io-pgtable.h +++ b/include/linux/io-pgtable.h @@ -114,7 +114,15 @@ struct io_pgtable_cfg { struct { u64 vttbr; - u64 vtcr; + struct { + u32 ps:3; + u32 tg:2; + u32 sh:2; + u32 orgn:2; + u32 irgn:2; + u32 sl:2; + u32 tsz:6; + } vtcr; } arm_lpae_s2_cfg; struct { |