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

From: Marek Szyprowski
Date: Fri Jul 06 2018 - 02:22:35 EST

Hi Vinod,

On 2018-07-06 08:00, Vinod wrote:
> On 04-07-18, 13:38, Andy Shevchenko wrote:
>> 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.
> I meant the serial should check for Pause capability..

Yes, I want to add such check to Samsung Exynos serial driver once this
change is
merged. PL330 DMA engine (which is used in Samsung Exynos SoCs) supports
pause, it is not possible to check that functionality from serial driver

Best regards
Marek Szyprowski, PhD
Samsung R&D Institute Poland