OSDN Git Service

dmaengine: mv_xor_v2: fix tx_submit() implementation
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 5 May 2017 09:57:48 +0000 (11:57 +0200)
committerVinod Koul <vinod.koul@intel.com>
Sun, 14 May 2017 12:54:43 +0000 (18:24 +0530)
commit44d5887a8bf1e86915c8ff647337cb138149da82
tree06c11d68ea2a2bd13fe6a88a23c5f3d62222c886
parentab2c5f0a77fe49bdb6e307b397496373cb47d2c2
dmaengine: mv_xor_v2: fix tx_submit() implementation

The mv_xor_v2_tx_submit() gets the next available HW descriptor by
calling mv_xor_v2_get_desq_write_ptr(), which reads a HW register
telling the next available HW descriptor. This was working fine when HW
descriptors were issued for processing directly in tx_submit().

However, as part of the review process of the driver, a change was
requested to move the actual kick-off of HW descriptors processing to
->issue_pending(). Due to this, reading the HW register to know the next
available HW descriptor no longer works.

So instead of using this HW register, we implemented a software index
pointing to the next available HW descriptor.

Fixes: 19a340b1a820 ("dmaengine: mv_xor_v2: new driver")
Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/mv_xor_v2.c