Re: [PATCH] dma: add support for reporting pause and resume separately

From: Andy Shevchenko
Date: Wed Jul 04 2018 - 06:39:04 EST


On Wed, Jul 4, 2018 at 10:00 AM, Vinod <vkoul@xxxxxxxxxx> wrote:
> Hi Marek,
>
> On 02-07-18, 15:08, Marek Szyprowski wrote:
>> 'cmd_pause' DMA channel capability means that respective DMA engine
>> supports both pausing and resuming given DMA channel. However, in some
>> cases it is important to know if DMA channel can be paused without the
>> need to resume it. This is a typical requirement for proper residue
>> reading on transfer timeout in UART drivers. There are also some DMA
>> engines with limited hardware, which doesn't really support resuming.
>
> Am curious given that your hardware does not support resume, what was motivation
> for adding pause?
>
>> Reporting pause and resume capabilities separately allows UART drivers to
>> properly check for the really required capabilities and operate in DMA
>> mode also in systems with limited DMA hardware. On the other hand drivers,
>> which rely on full channel suspend/resume support, should now check for
>> both 'pause' and 'resume' features.
>>
>> Existing clients of dma_get_slave_caps() have been checked and the only
>> driver which rely on proper channel resuming is soc-generic-dmaengine-pcm
>> driver, which has been updated to check the newly added capability.
>> Existing 'cmd_pause' now only indicates that DMA engine support pausing
>> given DMA channel.
>
> The change looks fine to me. I was hoping that serial would also check
> this..

AFAIU serial does not need to resume.

--
With Best Regards,
Andy Shevchenko