Skip to contentSkip to conversation

dma: at_hdmac: use __le32 for dma addresses

PATCH New Ben Dooks 2 participants 2 messages Mar 26, 2015 – Apr 2, 2015 dmaengine

lore
Share & tools
lore

Ben Dooks

author
#0 lore raw

PATCH 1/1 dma: at_hdmac: use __le32 for dma addresses

The at_dmac 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.

--
CC: Russell King <[email protected]>
CC: Nicolas Ferre <[email protected]>
CC: Dan Williams <[email protected]>
CC: Vinod Koul <[email protected]>
CC: linux-arm-kernel at lists.infradead.org
CC: dmaengine at vger.kernel.org

---
 drivers/dma/at_hdmac_regs.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/dma/at_hdmac_regs.h +3 -3
index bd4d174..b246beb 100644
@@ -167,13 +167,13 @@
 /* LLI == Linked List Item; aka DMA buffer descriptor */
 struct at_lli {
 	/* values that are not changed by hardware */
-	dma_addr_t	saddr;
-	dma_addr_t	daddr;
+	__le32		saddr;
+	__le32		daddr;
 	/* value that may get written back: */
 	__le32		ctrla;
 	/* more values that are not changed by hardware */
 	__le32		ctrlb;
-	dma_addr_t	dscr;	/* chain to next lli */
+	__le32		dscr;	/* chain to next lli */
 };
 
 /**
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 dma: at_hdmac: use __le32 for dma addresses

Quoted 11 lines · Ben Dooks

The at_dmac 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.

Can you please repost the whole series along with dependecies...

Signature · 1 line
~Vinod
Quoted 37 lines

--
CC: Russell King <[email protected]>
CC: Nicolas Ferre <[email protected]>
CC: Dan Williams <[email protected]>
CC: Vinod Koul <[email protected]>
CC: linux-arm-kernel at lists.infradead.org
CC: dmaengine at vger.kernel.org

---
 drivers/dma/at_hdmac_regs.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/dma/at_hdmac_regs.h +3 -3
index bd4d174..b246beb 100644
@@ -167,13 +167,13 @@
 /* LLI == Linked List Item; aka DMA buffer descriptor */
 struct at_lli {
 	/* values that are not changed by hardware */
-	dma_addr_t	saddr;
-	dma_addr_t	daddr;
+	__le32		saddr;
+	__le32		daddr;
 	/* value that may get written back: */
 	__le32		ctrla;
 	/* more values that are not changed by hardware */
 	__le32		ctrlb;
-	dma_addr_t	dscr;	/* chain to next lli */
+	__le32		dscr;	/* chain to next lli */
 };
 
 /**
Signature · 1 line
2.1.4