Thread (7 messages) 7 messages, 4 authors, 2018-07-09

dma: add support for reporting pause and resume separately

From: Marek Szyprowski <m.szyprowski@samsung.com>
Date: 2018-07-06 06:22:35
Also in: alsa-devel, lkml

Hi Vinod,

On 2018-07-06 08:00, Vinod wrote:
On 04-07-18, 13:38, Andy Shevchenko wrote:
quoted
On Wed, Jul 4, 2018 at 10:00 AM, Vinod [off-list ref] wrote:
quoted
Hi Marek,

On 02-07-18, 15:08, Marek Szyprowski wrote:
quoted
'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?
quoted
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 
only
pause, it is not possible to check that functionality from serial driver 
yet.

Best regards
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help