linux/drivers/dma/dw
Andy Shevchenko 556dfd8dae 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2016-03-03 15:07:24 -08:00
..
core.c dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer 2016-03-03 15:07:24 -08:00
internal.h dmaengine: dw: export probe()/remove() and Co to users 2014-10-15 20:31:05 +05:30
Kconfig dmaengine: sort the dw Kconfig 2015-08-24 13:58:18 +05:30
Makefile dma: dw: add PCI part of the driver 2013-07-05 11:40:45 +05:30
pci.c dmaengine: dw: use dw_dmac autoconfiguration in PCI driver 2015-09-30 13:43:09 +05:30
platform.c dmaengine: dw: platform: provide platform data for Intel 2015-10-31 07:32:36 +05:30
regs.h dmaengine: dw: define DW_DMA_MAX_NR_MASTERS 2015-02-04 22:39:44 -08:00