[PATCH 3/7] DMA: PL330: Add DMA capabilities
Chanho Park
parkch98 at gmail.com
Tue Jul 5 02:33:49 EDT 2011
Kukjin Kim <kgene.kim <at> samsung.com> writes:
(snip)
> + if (slave_config->direction == DMA_TO_DEVICE) {
> + if (slave_config->dst_addr)
> + peri->fifo_addr = slave_config->dst_addr;
> + if (slave_config->dst_addr_width) {
> + i = 0;
> + while (slave_config->dst_addr_width != (1 <<
i))
> + i++;
> + peri->burst_sz = i;
> + }
> + } else if (slave_config->direction == DMA_FROM_DEVICE) {
> + if (slave_config->src_addr)
> + peri->fifo_addr = slave_config->src_addr;
> + if (slave_config->src_addr_width) {
> + i = 0;
> + while (slave_config->src_addr_width != (1 <<
i))
> + i++;
> + peri->burst_sz = i;
Re-send including cc and mailing lists
--
pl330 dmac only supports 1/2/4/8/16 bytes burst size.
If some bad D/D doesn't use powers of 2 width,
dmaengine is going to infinite loop.
You'd better check it instead of running loop.
More information about the linux-arm-kernel
mailing list