]> www.infradead.org Git - users/jedix/linux-maple.git/commit
iommu/riscv: Device directory management.
authorTomasz Jeznach <tjeznach@rivosinc.com>
Wed, 16 Oct 2024 06:52:17 +0000 (23:52 -0700)
committerJoerg Roedel <jroedel@suse.de>
Tue, 29 Oct 2024 08:46:28 +0000 (09:46 +0100)
commit1bac10c557adb29891f938c0b5ff93f37e9ba8b1
tree5aa41ba81d7a125e856d5d3ee356ad9d1fac04eb
parent822e8bc68505820b1996c980e3c63f2b3c0e76e4
iommu/riscv: Device directory management.

Introduce device context allocation and device directory tree
management including capabilities discovery sequence, as described
in Chapter 2.1 of the RISC-V IOMMU Architecture Specification.

Device directory mode will be auto detected using DDTP WARL property,
using highest mode supported by the driver and hardware. If none
supported can be configured, driver will fall back to global pass-through.

First level DDTP page can be located in I/O (detected using DDTP WARL)
and system memory.

Only simple identity and blocking protection domains are supported by
this implementation.

Co-developed-by: Nick Kossifidis <mick@ics.forth.gr>
Signed-off-by: Nick Kossifidis <mick@ics.forth.gr>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Zong Li <zong.li@sifive.com>
Signed-off-by: Tomasz Jeznach <tjeznach@rivosinc.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Link: https://lore.kernel.org/r/e1c763aeccd2c05fd4ad3a32f6f2ff3b3148d907.1729059707.git.tjeznach@rivosinc.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/riscv/iommu.c
drivers/iommu/riscv/iommu.h