Thread (1 message) 1 message, 1 author, 2014-11-19
DORMANTno replies REVIEWED: 1 (0M)

1 review trailer.

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

From: Alexander Sverdlin <hidden>
Date: 2014-11-19 17:55:20

Hi!

On 19/11/14 17:45, H Hartley Sweeten wrote:
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

   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:
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reported-by: Jeremy Moles <redacted>
Tested-by: Alexander Sverdlin <redacted>
quoted hunk
Cc: Alexander Sverdlin <redacted>
Cc: Ryan Mallon <redacted>
---
  arch/arm/mach-ep93xx/dma.c | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-ep93xx/dma.c b/arch/arm/mach-ep93xx/dma.c
index d8bfd02..88a4c9b 100644
--- a/arch/arm/mach-ep93xx/dma.c
+++ b/arch/arm/mach-ep93xx/dma.c
@@ -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),
  	},
  };
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help