drv: split DMA on mapping failure
By default the SW-IOMMU reserves 64MiB, but despite this it fails in
allocating buffere bigger than 0.3MiB. We do not have control over the
kernel code, and it is not clear how to debug it (e.g. see the current
status of those 64MiB). For this reasons the most practical solution
is to break the DMA transfer in smaller chunks until it works.
We set the minimum chunk to PAGE_SIZE, because if it fails with this,
really there is nothing we can do.
Signed-off-by: Federico Vaga <federico.vaga@cern.ch>
Showing
Please
register
or
sign in
to comment