[PATCH] dma: at_xdmac: use __le32 for dma addresses

Ben Dooks ben.dooks at codethink.co.uk
Thu Mar 26 11:08:53 PDT 2015


The at_xdmac uses a lli structure with a mix of dma_addr_t and __le32
in it. As Russell King pointed out, dma_addr_t could be a non 32-bit
size depending on the kernel configuration. Change all references of
this to __le32 to better match the hardware representation.

Note, this does nothing to fix the discussion of dma vs physical
addresses also brought up during these discussions.

This patch depends on the __le32 descriptor updates posted
previously.

Signed-off-by: Ben Dooks <ben.dooks at codethink.co.uk>
--
CC: Russell King <linux at arm.linux.org.uk>
CC: Nicolas Ferre <nicolas.ferre at atmel.com>
CC: Dan Williams <dan.j.williams at intel.com>
CC: Vinod Koul <vinod.koul at intel.com>
CC: linux-arm-kernel at lists.infradead.org
CC: dmaengine at vger.kernel.org
---
 drivers/dma/at_xdmac.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
index 65a37be..d9dd71c 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -231,10 +231,10 @@ struct at_xdmac {
 
 /* Linked List Descriptor */
 struct at_xdmac_lld {
-	dma_addr_t	mbr_nda;	/* Next Descriptor Member */
+	__le32		mbr_nda;	/* Next Descriptor Member */
 	__le32		mbr_ubc;	/* Microblock Control Member */
-	dma_addr_t	mbr_sa;		/* Source Address Member */
-	dma_addr_t	mbr_da;		/* Destination Address Member */
+	__le32		mbr_sa;		/* Source Address Member */
+	__le32		mbr_da;		/* Destination Address Member */
 	__le32		mbr_cfg;	/* Configuration Register */
 };
 
-- 
2.1.4




More information about the linux-arm-kernel mailing list