dmaengine: hsu: correct use of channel status register
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 18 Mar 2016 12:26:32 +0000 (14:26 +0200)
committerVinod Koul <vinod.koul@intel.com>
Mon, 4 Apr 2016 16:41:43 +0000 (09:41 -0700)
commit4f4bc0abff79dc9d7ccbd3143adbf8ad1f4fe6ab
treee3a2e86b00b408c281c6d1304228a5c4c9a6111b
parenta197f3c7d48c0c1f45076ea47533a76ba9b1a959
dmaengine: hsu: correct use of channel status register

There is a typo in documentation regarding to descriptor empty bit (DESCE)
which is set to 1 when descriptor is empty. Thus, status register at the end of
a transfer usually returns all DESCE bits set and thus it will never be zero.

Moreover, there are 2 bits (CDESC) that encode current descriptor, on which
interrupt has been asserted. In case when we have few descriptors programmed we
might have non-zero value.

Remove DESCE and CDESC bits from DMA channel status register (HSU_CH_SR) when
reading it.

Fixes: 2b49e0c56741 ("dmaengine: append hsu DMA driver")
Cc: stable@vger.kernel.org
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/hsu/hsu.c
drivers/dma/hsu/hsu.h