dmaengine: edma: special case slot limit workaround
authorJohn Ogness <john.ogness@linutronix.de>
Wed, 6 Apr 2016 10:01:47 +0000 (13:01 +0300)
committerVinod Koul <vinod.koul@intel.com>
Wed, 6 Apr 2016 14:29:49 +0000 (07:29 -0700)
commita482f4e0d848d0914ff119ef32fe1d11434d570c
tree2271c092fe186cf9bcfb4436751c1e27c380a0b4
parent23f49fd2ea9bc8e1c8cff0126cd71b071ea9e91f
dmaengine: edma: special case slot limit workaround

Currently drivers are limited to 19 slots for cyclic transfers.
However, if the DMA burst size is the same as the period size,
the period size can be changed to the full buffer size and
intermediate interrupts activated. Since intermediate interrupts
will trigger for each burst and the burst size is the same as
the period size, the driver will get interrupts each period as
expected. This has the benefit of allowing the functionality of
many more slots, but only uses 2 slots.

This workaround is only active if more than 19 slots are needed
and the burst size matches the period size.

Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: John Ogness <john.ogness@linutronix.de>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/edma.c