iommu/io-pgtable-dart: Add DART PTE support for t6000
authorSven Peter <sven@svenpeter.dev>
Fri, 16 Sep 2022 09:41:51 +0000 (11:41 +0200)
committerJoerg Roedel <jroedel@suse.de>
Mon, 26 Sep 2022 11:49:40 +0000 (13:49 +0200)
commitdc09fe1c5edd9c27a52cb6dc5a7bb4452d45c71c
tree07a0ab89382e6d199cf9cc71ad944332602aa98c
parentd8fe365a4f1c1aa5e2da3e41f50a08c9bd8d6112
iommu/io-pgtable-dart: Add DART PTE support for t6000

The DARTs present in the M1 Pro/Max/Ultra SoC use a diffent PTE format.
They support a 42bit physical address space by shifting the paddr and
extending its mask inside the PTE.
They also come with mandatory sub-page protection now which we just
configure to always allow access to the entire page. This feature is
already present but optional on the previous DARTs which allows to
unconditionally configure it.

Signed-off-by: Sven Peter <sven@svenpeter.dev>
Co-developed-by: Janne Grunau <j@jannau.net>
Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Hector Martin <marcan@marcan.st>
Link: https://lore.kernel.org/r/20220916094152.87137-5-j@jannau.net
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/io-pgtable-dart.c
drivers/iommu/io-pgtable.c
include/linux/io-pgtable.h