According to the RISC-V IOMMU hardware spec, the IOMMU implementation has the same translation process as MMU and supports Svnapot standard extension as well. These patches add support for Svnapot in the IOMMU driver to make 64K also an available page size during DMA mapping. Changes in V2: 1. Supply more details about huge pte issue in follow_page_pte(). 2. Fix some style problems. Xu Lu (4): mm/gup: Add huge pte handling logic in follow_page_pte() iommu/riscv: Use pte_t to represent page table entry iommu/riscv: Introduce IOMMU page table lock iommu/riscv: Add support for Svnapot arch/riscv/include/asm/pgtable.h | 6 + drivers/iommu/riscv/iommu.c | 258 +++++++++++++++++++++++++------ include/linux/pgtable.h | 8 + mm/gup.c | 17 +- 4 files changed, 233 insertions(+), 56 deletions(-) -- 2.20.1