Hi, This is a fairly brief series to add support for the DARTs present in the M1 Pro/Max. They have two differences that make them incompatible with those in the M1: - the physical addresses are shifted left by 4 bits and and have 2 more bits inside the PTE entries - the subpage protection feature is now mandatory. For Linux we can just configure it to always allow access to the entire page. Note that this needs a fix to the core pagetable code. Hector already sent a first version separately to the mailing list since the problem is (at least in theory) also present on other SoCs using the LPAE format with a large physical address space [1]. Sven [1] https://lore.kernel.org/linux-iommu/a2b45243-7e0a-a2ac-4e14-5256a3e7abb4@xxxxxxx/T/#t Sven Peter (4): dt-bindings: iommu: dart: add t6000 compatible iommu/io-pgtable: Add DART subpage protection support iommu/io-pgtable: Add DART PTE support for t6000 iommu: dart: Support t6000 variant .../devicetree/bindings/iommu/apple,dart.yaml | 4 +- drivers/iommu/apple-dart.c | 19 ++++++++- drivers/iommu/io-pgtable-arm.c | 40 ++++++++++++++++++- include/linux/io-pgtable.h | 2 + 4 files changed, 61 insertions(+), 4 deletions(-) -- 2.25.1