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.
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html