mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
iommu/io-pgtable-arm: Rationalise TCR handling
Although it's conceptually nice for the io_pgtable_cfg to provide a standard VMSA TCR value, the reality is that no VMSA-compliant IOMMU looks exactly like an Arm CPU, and they all have various other TCR controls which io-pgtable can't be expected to understand. Thus since there is an expectation that drivers will have to add to the given TCR value anyway, let's strip it down to just the essentials that are directly relevant to io-pgtable's inner workings - namely the various sizes and the walk attributes. Tested-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Robin Murphy <robin.murphy@arm.com> [will: Add missing include of bitfield.h] Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
6f932ad369
commit
fb485eb18e
8 changed files with 95 additions and 104 deletions
|
@ -101,7 +101,14 @@ struct io_pgtable_cfg {
|
|||
union {
|
||||
struct {
|
||||
u64 ttbr;
|
||||
u64 tcr;
|
||||
struct {
|
||||
u32 ips:3;
|
||||
u32 tg:2;
|
||||
u32 sh:2;
|
||||
u32 orgn:2;
|
||||
u32 irgn:2;
|
||||
u32 tsz:6;
|
||||
} tcr;
|
||||
u64 mair;
|
||||
} arm_lpae_s1_cfg;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue