RE: [PATCH v2 04/11] async_xor: permit callers to pass in a 'dma/page scribble' region

Sosnowski, Maciej
2009-05-29T13:43:38Z

Dan Williams wrote:
> async_xor() needs space to perform dma and page address conversions.  In
> most cases the code can simply reuse the struct page * array because the
> size of the native pointer matches the size of a dma/page address.  In
> order to support archs where sizeof(dma_addr_t) is larger than
> sizeof(struct page *), or to preserve the input parameters, we utilize a
> memory region passed in by the caller.
>
> Since the code is now prepared to handle the case where it cannot
> perform address conversions on the stack, we no longer need the
> !HIGHMEM64G dependency in drivers/dma/Kconfig.
>
> [ Impact: don't clobber input buffers for address conversions ]
>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>  crypto/async_tx/async_xor.c |   59 ++++++++++++++++++++-----------------------
>  drivers/dma/Kconfig         |    2 +
>  2 files changed, 29 insertions(+), 32 deletions(-)

Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com>