• Christian Lamparter's avatar
    crypto: crypto4xx - reduce memory fragmentation · b87b2c4d
    Christian Lamparter authored
    With recent kernels (>5.2), the driver fails to probe, as the
    allocation of the driver's scatter buffer fails with -ENOMEM.
    
    This happens in crypto4xx_build_sdr(). Where the driver tries
    to get 512KiB (=PPC4XX_SD_BUFFER_SIZE * PPC4XX_NUM_SD) of
    continuous memory. This big chunk is by design, since the driver
    uses this circumstance in the crypto4xx_copy_pkt_to_dst() to
    its advantage:
    "all scatter-buffers are all neatly organized in one big
    continuous ringbuffer; So scatterwalk_map_and_copy() can be
    instructed to copy a range of buffers in one go."
    
    The PowerPC arch does not have support for DMA_CMA. Hence,
    this patch reorganizes the order in which the memory
    allocations are done. Since the driver itself is responsible
    for some of the issues.
    Signed-off-by: default avatarChristian Lamparter <chunkeey@gmail.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    b87b2c4d
crypto4xx_core.c 41 KB