linux/drivers/dma/dw
Andy Shevchenko c36ff8e839 dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer
commit ee1cdcdae5 upstream.

The commit 2895b2cad6 ("dmaengine: dw: fix cyclic transfer callbacks")
re-enabled BLOCK interrupts with regard to make cyclic transfers work. However,
this change becomes a regression for non-cyclic transfers as interrupt counters
under stress test had been grown enormously (approximately per 4-5 bytes in the
UART loop back test).

Taking into consideration above enable BLOCK interrupts if and only if channel
is programmed to perform cyclic transfer.

Fixes: 2895b2cad6 ("dmaengine: dw: fix cyclic transfer callbacks")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mans Rullgard <mans@mansr.com>
Tested-by: Mans Rullgard <mans@mansr.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
History 2016-03-04 10:26:40 +00:00
..
core.c dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer 2016-03-04 10:26:40 +00:00
internal.h dma: dw: split driver to library part and platform code 2013-07-05 11:40:44 +05:30
Kconfig Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
Makefile dma: dw: add PCI part of the driver 2013-07-05 11:40:45 +05:30
pci.c dma: remove DEFINE_PCI_DEVICE_TABLE macro 2014-05-21 11:16:18 +05:30
platform.c dmaengine: dw: append MODULE_ALIAS for platform driver 2015-03-30 11:11:45 +01:00
regs.h dma: dw: allocate memory in two stages in probe 2014-03-26 11:44:27 +05:30