2013-06-13 13:56:24

by Fabio Baltieri

[permalink] [raw]
Subject: [PATCH] ARM: ux500: set coherent_dma_mask for dma40

Set coherent_dma_mask to DMA_BIT_MASK(32) for dma40 platform_device, as
without this DMA allocations were failing with the error:

dma40 dma40.0: coherent DMA mask is unset

when booting without device-tree.

Signed-off-by: Fabio Baltieri <[email protected]>
---

Hi Linus, Lee,

I found this while removing the last hack I was keeping in my ASoC tree.
I originally thought that I had to set this on the driver's pdata, but
it turns out it's needed on the DMA controller one instead.

When booting with device-tree enabled the mask seems to be set
automatically.

Would you consider applying this with the other dma40 patches?

Thanks,
Fabio

arch/arm/mach-ux500/devices-db8500.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-ux500/devices-db8500.c b/arch/arm/mach-ux500/devices-db8500.c
index e21ffd8..fa8f7a5 100644
--- a/arch/arm/mach-ux500/devices-db8500.c
+++ b/arch/arm/mach-ux500/devices-db8500.c
@@ -49,6 +49,7 @@ struct stedma40_platform_data dma40_plat_data = {
struct platform_device u8500_dma40_device = {
.dev = {
.platform_data = &dma40_plat_data,
+ .coherent_dma_mask = DMA_BIT_MASK(32),
},
.name = "dma40",
.id = 0,
--
1.8.2


2013-06-17 15:42:50

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] ARM: ux500: set coherent_dma_mask for dma40

On Thu, Jun 13, 2013 at 3:56 PM, Fabio Baltieri
<[email protected]> wrote:

> Set coherent_dma_mask to DMA_BIT_MASK(32) for dma40 platform_device, as
> without this DMA allocations were failing with the error:
>
> dma40 dma40.0: coherent DMA mask is unset
>
> when booting without device-tree.
>
> Signed-off-by: Fabio Baltieri <[email protected]>
> ---
>
> Hi Linus, Lee,
>
> I found this while removing the last hack I was keeping in my ASoC tree.
> I originally thought that I had to set this on the driver's pdata, but
> it turns out it's needed on the DMA controller one instead.
>
> When booting with device-tree enabled the mask seems to be set
> automatically.
>
> Would you consider applying this with the other dma40 patches?

Those are now upstream in the ARM SoC tree, you'd have to send it
to [email protected] and ask Olof/Arnd to apply it directly to
the next/drivers branch (I think).

I have also queued it on ux500-fixes so it won't be lost.

Yours,
Linus Walleij

2013-06-18 08:53:27

by Fabio Baltieri

[permalink] [raw]
Subject: Re: [PATCH] ARM: ux500: set coherent_dma_mask for dma40

On Mon, Jun 17, 2013 at 05:42:48PM +0200, Linus Walleij wrote:
> On Thu, Jun 13, 2013 at 3:56 PM, Fabio Baltieri
> <[email protected]> wrote:
>
> > Set coherent_dma_mask to DMA_BIT_MASK(32) for dma40 platform_device, as
> > without this DMA allocations were failing with the error:
> >
> > dma40 dma40.0: coherent DMA mask is unset
> >
> > when booting without device-tree.
> >
> > Signed-off-by: Fabio Baltieri <[email protected]>
> > ---
> >
> > Hi Linus, Lee,
> >
> > I found this while removing the last hack I was keeping in my ASoC tree.
> > I originally thought that I had to set this on the driver's pdata, but
> > it turns out it's needed on the DMA controller one instead.
> >
> > When booting with device-tree enabled the mask seems to be set
> > automatically.
> >
> > Would you consider applying this with the other dma40 patches?
>
> Those are now upstream in the ARM SoC tree, you'd have to send it
> to [email protected] and ask Olof/Arnd to apply it directly to
> the next/drivers branch (I think).

Ok I can resend it but I'd like to have Lee's Ack before doing that.

Lee: have you had a chance to look at this patch?

> I have also queued it on ux500-fixes so it won't be lost.

That's nice!

Thanks,
Fabio

--
Fabio Baltieri