I/OAT: Add watchdog/reset functionality to ioatdma
authorMaciej Sosnowski <maciej.sosnowski@intel.com>
Tue, 22 Jul 2008 17:07:33 +0000 (10:07 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 22 Jul 2008 17:07:33 +0000 (10:07 -0700)
commit09177e85d6a0bffac8b55afd28ed8b82bd873f0b
treece3cb72509cc6c03bfc5d70a3ca0901a44b87fc0
parent2a46fa13d788364c093c4296fe01cae837aa8919
I/OAT: Add watchdog/reset functionality to ioatdma

Due to occasional DMA channel hangs observed for I/OAT versions 1.2 and 2.0
a watchdog has been introduced to check every 2 seconds
if all channels progress normally.
If stuck channel is detected, driver resets it.
The reset is done in two parts. The second part is scheduled
by the first one to reinitialize the channel after the restart.

Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/ioat_dma.c
drivers/dma/ioatdma.h