[PATCH v3 2/4] of: move of_dma_configure() to device, c to help re-use
Rob Herring
robherring2 at gmail.com
Wed Jan 7 15:37:56 PST 2015
On Wed, Jan 7, 2015 at 12:49 PM, Murali Karicheri <m-karicheri2 at ti.com> wrote:
> Move of_dma_configure() to device.c so that same function can be re-used
> for PCI devices to obtain DMA configuration from DT. Also add a second
> argument so that for PCI, DT node of root bus host bridge can be used to
> obtain the DMA configuration for the slave PCI device. Additionally fix
> the dma-range size when the DT attribute is missing. i.e set size to
> dev->coherent_dma_mask + 1 instead of dev->coherent_dma_mask.
Additionally is a red flag for put in another patch. There is an issue
I think as well.
> + ret = of_dma_get_range(np, &dma_addr, &paddr, &size);
> + if (ret < 0) {
> + dma_addr = offset = 0;
> + size = dev->coherent_dma_mask + 1;
If coherent_dma_mask is DMA_BIT_MASK(64), then you will overflow and
have a size of 0. There may also be a problem when the mask is only
32-bit type.
Rob
More information about the linux-arm-kernel
mailing list