[PATCH 3/7] DMA: PL330: Add DMA capabilities
boojin
boojin.kim at samsung.com
Wed Jul 13 20:57:22 EDT 2011
Jassi Brar wrote:
> On Tue, Jul 5, 2011 at 12:03 PM, Chanho Park <parkch98 at gmail.com> wrote:
> > 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.
> >
> It might be even better to start with max possible width and
> keep decreasing 'i' in the loop.
I will addressed your comment on next release.
More information about the linux-arm-kernel
mailing list