]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitcca9de4cd25f5991b19373c82b7ef18573c07441
tree2271c092fe186cf9bcfb4436751c1e27c380a0b4
parentb5a37f1dfee35a7c22e7957bf358076a902fd861
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