powerpc/kernel/iommu: Add new iommu_table_in_use() helper
authorLeonardo Bras <leobras.c@gmail.com>
Tue, 17 Aug 2021 06:39:20 +0000 (03:39 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 26 Aug 2021 14:56:54 +0000 (00:56 +1000)
commit3c33066a21903076722a2881556a92aa3cd7d359
treeca10ab464fe8a67a04cee38d0ff098d7fafb4c4b
parent0c634bafe3bbee7a36dca7f1277057e05bf14d91
powerpc/kernel/iommu: Add new iommu_table_in_use() helper

Having a function to check if the iommu table has any allocation helps
deciding if a tbl can be reset for using a new DMA window.

It should be enough to replace all instances of !bitmap_empty(tbl...).

iommu_table_in_use() skips reserved memory, so we don't need to worry about
releasing it before testing. This causes iommu_table_release_pages() to
become unnecessary, given it is only used to remove reserved memory for
testing.

Also, only allow storing reserved memory values in tbl if they are valid
in the table, so there is no need to check it in the new helper.

Signed-off-by: Leonardo Bras <leobras.c@gmail.com>
Reviewed-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210817063929.38701-3-leobras.c@gmail.com
arch/powerpc/include/asm/iommu.h
arch/powerpc/kernel/iommu.c