Skip to contentSkip to conversation

arm: ep93xx: add dma_masks for the M2P and M2M DMA controllers

PATCH New Alexander Sverdlin 1 participant 1 message Nov 19, 2014 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw

PATCH 1/1 arm: ep93xx: add dma_masks for the M2P and M2M DMA controllers

Hi!

Quoted 5 lines · H Hartley Sweeten

The dma_mask and coherent_dma_mask need to be set or DMA memory allocations will fail with error messages like this:

ep93xx-dma ep93xx-dma-m2p: coherent DMA mask is unset

Quoted 7 lines

ep93xx-dma ep93xx-dma-m2m: coherent DMA mask is unset

Add the missing information to the ep93xx-dma-m2p and ep93xx-dma-m2m devices.

This fixes a problem with the sound/soc/edb93xx.c driver not loading that was reported by Jeremy Moles.

This repaired the sound on EDB9302-like board for me, so:

Quoted 2 lines
Quoted 45 lines
Cc Alexander Sverdlin <[email protected]>
Cc Ryan Mallon <[email protected]>
---
  arch/arm/mach-ep93xx/dma.c | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)
arch/arm/mach-ep93xx/dma.c +10 -2
index d8bfd02..88a4c9b 100644
@@ -66,11 +66,15 @@ static struct ep93xx_dma_platform_data ep93xx_dma_m2p_data = {
  	.num_channels		= ARRAY_SIZE(ep93xx_dma_m2p_channels),
  };
 
+static u64 ep93xx_dma_m2p_mask = DMA_BIT_MASK(32);
+
  static struct platform_device ep93xx_dma_m2p_device = {
  	.name			= "ep93xx-dma-m2p",
  	.id			= -1,
  	.dev			= {
-		.platform_data	= &ep93xx_dma_m2p_data,
+		.platform_data		= &ep93xx_dma_m2p_data,
+		.dma_mask		= &ep93xx_dma_m2p_mask,
+		.coherent_dma_mask	= DMA_BIT_MASK(32),
  	},
  };
 
@@ -93,11 +97,15 @@ static struct ep93xx_dma_platform_data ep93xx_dma_m2m_data = {
  	.num_channels		= ARRAY_SIZE(ep93xx_dma_m2m_channels),
  };
 
+static u64 ep93xx_dma_m2m_mask = DMA_BIT_MASK(32);
+
  static struct platform_device ep93xx_dma_m2m_device = {
  	.name			= "ep93xx-dma-m2m",
  	.id			= -1,
  	.dev			= {
-		.platform_data	= &ep93xx_dma_m2m_data,
+		.platform_data		= &ep93xx_dma_m2m_data,
+		.dma_mask		= &ep93xx_dma_m2m_mask,
+		.coherent_dma_mask	= DMA_BIT_MASK(32),
  	},
  };