On Mon, Aug 12, 2013 at 10:55 AM, Peter Senna Tschudin <peter.senna@xxxxxxxxx> wrote: > DMA_BIT_MASK(64) That's the key here. From Documentation/DMA-API-HOWTO.txt : ------------------------------------------------------------------------------------------------ The standard 32-bit addressing device would do something like this: if (dma_set_mask(dev, DMA_BIT_MASK(32))) { printk(KERN_WARNING "mydev: No suitable DMA available.\n"); goto ignore_this_device; } Another common scenario is a 64-bit capable device. The approach here is to try for 64-bit addressing, but back down to a 32-bit mask that should not fail. The kernel may fail the 64-bit mask not because the platform is not capable of 64-bit addressing. Rather, it may fail in this case simply because 32-bit addressing is done more efficiently than 64-bit addressing. For example, Sparc64 PCI SAC addressing is more efficient than DAC addressing. ------------------------------------------------------------------------------------------------ Hope that helps. Luis -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html