aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/iommu.c
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2017-03-22 15:21:47 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2017-03-27 15:25:48 +1100
commit6b5c19c55266f6efd10ffac0e9f9f2b7aa420a58 (patch)
treef339cf0557fee4d263442469108303f796080ba7 /arch/powerpc/kernel/iommu.c
parentLinux 4.11-rc3 (diff)
downloadlinux-dev-6b5c19c55266f6efd10ffac0e9f9f2b7aa420a58.tar.xz
linux-dev-6b5c19c55266f6efd10ffac0e9f9f2b7aa420a58.zip
powerpc/mmu: Add real mode support for IOMMU preregistered memory
This makes mm_iommu_lookup() able to work in realmode by replacing list_for_each_entry_rcu() (which can do debug stuff which can fail in real mode) with list_for_each_entry_lockless(). This adds realmode version of mm_iommu_ua_to_hpa() which adds explicit vmalloc'd-to-linear address conversion. Unlike mm_iommu_ua_to_hpa(), mm_iommu_ua_to_hpa_rm() can fail. This changes mm_iommu_preregistered() to receive @mm as in real mode @current does not always have a correct pointer. This adds realmode version of mm_iommu_lookup() which receives @mm (for the same reason as for mm_iommu_preregistered()) and uses lockless version of list_for_each_entry_rcu(). Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel/iommu.c')
0 files changed, 0 insertions, 0 deletions