dmaengine: fsl-edma: integrate TCD64 support for i.MX95
authorFrank Li <Frank.Li@nxp.com>
Thu, 21 Dec 2023 15:35:28 +0000 (10:35 -0500)
committerVinod Koul <vkoul@kernel.org>
Wed, 7 Feb 2024 08:40:17 +0000 (09:40 +0100)
commitde7d9cb3b064fdfb2e0e7706d14ffee20b762ad2
tree174a60aaea7e5688656ffa0a3f7b1aebf4f93b71
parentb7b8715b430ee4431bd675687c5bcda113e7ddd4
dmaengine: fsl-edma: integrate TCD64 support for i.MX95

In i.MX95's edma version 5, the TCD structure is extended to support 64-bit
addresses for fields like saddr and daddr. To prevent code duplication,
employ help macros to handle the fields, as the field names remain the same
between TCD and TCD64.

Change local variables related to TCD addresses from 'u32' to 'dma_addr_t'
to accept 64-bit DMA addresses.

Change 'vtcd' type to 'void *' to avoid direct use. Use helper macros to
access the TCD fields correctly.

Call 'dma_set_mask_and_coherent(64)' when TCD64 is supported.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20231221153528.1588049-7-Frank.Li@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/fsl-edma-common.c
drivers/dma/fsl-edma-common.h
drivers/dma/fsl-edma-main.c