[PATCH] ARM: mach-imx: sdhci-esdhc-imx: initialize DMA mask

Russell King - ARM Linux linux at arm.linux.org.uk
Tue Apr 12 01:40:48 PDT 2016

On Tue, Apr 12, 2016 at 09:05:34AM +0300, Adrian Hunter wrote:
> On 11/04/16 19:13, Alexander Kurz wrote:
> > Hi Adrian,
> > On Mon, 11 Apr 2016, Adrian Hunter wrote:
> > 
> >> On 11/04/16 11:35, Uwe Kleine-König wrote:
> >>> Hello,
> >>>
> >>> I added the people involved in 7b91369b4655 to Cc.
> >>>
> >>> On Mon, Apr 11, 2016 at 10:20:46AM +0200, Alexander Kurz wrote:
> >>>> With commit 7b91369b DMA access got disabled for device drivers with zero
> >>
> >> Is that because dma_set_mask_and_coherent() fails?
> > right, dma_set_mask_and_coherent() fails, thats the only reason for
> > this patch. This popped up on a Kindle3 (IMX35 with eMMC based root fs).
> Arnd, Alexandre : Why should dma_set_mask_and_coherent() fail in this case
> when DMA apparently doesn't need a dma_mask anyway?

What do you mean "doesn't need a dma_mask" ?  DMA _always_ requires a
DMA mask.  The DMA mask defines how many address bits are capable of
being used on the bus.

If there's no DMA mask, then there's no usable address bits, and so
the device is not DMA capable.  Hence, dma_set_mask_and_coherent()
will fail because its not possible to negotiate a non-zero number of
address bits.

RMK's Patch system: http://www.arm.linux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

More information about the linux-arm-kernel mailing list