summaryrefslogtreecommitdiff
path: root/drivers/dma/caam_dma.c
AgeCommit message (Collapse)Author
2017-12-12dma: caam: add support for memcpyRadu Alexe
Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
2017-12-12dma: caam: change func/field names to better match functionalityRadu Alexe
This change is due to a future patch that will introduce memcpy support for the caam_dma driver. Therefore a distinction must be made between sg/memcpy functions. Also, when fields are used in common (ex. src_dma, dst_dma), they must not show any bias in their naming towards any particular functionality. Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
2017-12-12dma: caam: make internal function staticRadu Alexe
Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
2017-12-12dma: caam: remove unneeded function parameterRadu Alexe
Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
2017-12-12dma: caam: removed unsed struct fieldsRadu Alexe
Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
2017-10-12dma: caam: fix desc error when data length is over 130815 bytesRadu Alexe
The CAAM DMA shared descriptor states that if a buffer is large enough it is broken into chunks of maximum 65280 bytes (DMA_MAX_DATA_CHUNK) and for each chunk a transfer request is issued. The length of the chunk for each iteration should be therefore computed as min(DMA_MAX_DATA_CHUNK, data_rem_length), where data_rem_length is the length of the chunks that still remain to be send. Currently the logic of the shared descriptor is broken: on every iteration the chunk length is instead computed as max(max_chunk_size, data_rem_length). This produces an error for the first chunk when buffer data length is greater than max_chunk_size + max_allowed_chunk_size = 65280 + 65535 = 130815. Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
2017-10-05dma: caam: add dma driver using scatter-gatherRadu Alexe
This module introduces a SG DMA driver based on the DMA capabilities of the CAAM hardware block. CAAM DMA is a platform driver that is only probed if the device is defined in the device tree. The driver creates a DMA channel for each JR of the CAAM. This introduces a dependency on the JR driver. Therefore a defering mechanism was used to ensure that the CAAM DMA driver is probed only after the JR driver. Signed-off-by: Radu Alexe <radu.alexe@nxp.com> Signed-off-by: Tudor Ambarus <tudor-dan.ambarus@nxp.com> Signed-off-by: Rajiv Vishwakarma <rajiv.vishwakarma@nxp.com>