OSDN Git Service

powerpc/kernel/iommu: Use largepool as a last resort when !largealloc
authorLeonardo Bras <leobras.c@gmail.com>
Thu, 18 Mar 2021 17:44:17 +0000 (14:44 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 23 Apr 2021 02:54:58 +0000 (12:54 +1000)
commitfc5590fd56c9608f317729b59a56dad2a75d633f
tree6532e998bd0ec038e3fc4aedaa8c46d6fd7ae54e
parent3c0468d4451eb6b4f6604370639f163f9637a479
powerpc/kernel/iommu: Use largepool as a last resort when !largealloc

As of today, doing iommu_range_alloc() only for !largealloc (npages <= 15)
will only be able to use 3/4 of the available pages, given pages on
largepool  not being available for !largealloc.

This could mean some drivers not being able to fully use all the available
pages for the DMA window.

Add pages on largepool as a last resort for !largealloc, making all pages
of the DMA window available.

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/20210318174414.684630-2-leobras.c@gmail.com
arch/powerpc/kernel/iommu.c