Configure DMA atributes?
Luis R. Rodriguez
mcgrof at do-not-panic.com
Wed Aug 14 03:18:47 EDT 2013
On Mon, Aug 12, 2013 at 10:55 AM, Peter Senna Tschudin
<peter.senna at gmail.com> 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
More information about the Kernelnewbies
mailing list