Re: [PATCH RFC v9 2/6] dma: mpc512x: add support for peripheral transfers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Andy

2014-03-14 13:47 GMT+04:00 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>:
> On Wed, 2014-03-12 at 15:47 +0400, Alexander Popov wrote:
>> +     case DMA_SLAVE_CONFIG:
>> +             /* Constraints:
>> +              *  - only transfers between a peripheral device and
>> +              *     memory are supported;
>> +              *  - minimal transfer chunk is 4 bytes and consequently
>> +              *     source and destination addresses must be 4-byte aligned
>> +              *     and transfer size must be aligned on (4 * maxburst)
>> +              *     boundary;
>> +              *  - during the transfer RAM address is being incremented by
>> +              *     the size of minimal transfer chunk;
>> +              *  - peripheral port's address is constant during the transfer.
>> +              */
>> +
>> +             cfg = (void *)arg;
>> +
>> +             if (!is_slave_direction(cfg->direction))
>> +                     return -EINVAL;
>
> As far as I understand the intention you have not to use direction field
> in the dma_slave_config. It will be removed once.
>
>> +
>> +             if (cfg->src_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES &&
>> +                     cfg->dst_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES)
>> +                     return -EINVAL;
>> +
>> +             spin_lock_irqsave(&mchan->lock, flags);
>> +
>> +             if (cfg->direction == DMA_DEV_TO_MEM) {
>> +                     mchan->per_paddr = cfg->src_addr;
>> +                     mchan->tcd_nunits = cfg->src_maxburst;
>> +             } else {
>> +                     mchan->per_paddr = cfg->dst_addr;
>> +                     mchan->tcd_nunits = cfg->dst_maxburst;
>> +             }
>
> Ditto.

Excuse me, I don't understand this point.
I have to use cfg->direction because in case of DMA_DEV_TO_MEM
I use cfg->SRC_addr and cfg->SRC_maxburst and in case of
DMA_MEM_TO_DEV I use cfg->DST_addr and cfg->DST_maxburst.
Is it correct?

Best regards,
Alexander
--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux