Commit 61b4ff9c authored by Federico Vaga's avatar Federico Vaga

drv: use DMA engine error reporting

Signed-off-by: Federico Vaga's avatarFederico Vaga <federico.vaga@cern.ch>
parent d42ceca9
...@@ -239,12 +239,16 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg_ctx( ...@@ -239,12 +239,16 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg_ctx(
* *
* It handles the data transfer completion of a block * It handles the data transfer completion of a block
*/ */
static void zfad_dma_complete(void *arg) static void fa_dma_complete(void *arg,
const struct dmaengine_result *result)
{ {
struct zfad_block *zfad_block = arg; struct zfad_block *zfad_block = arg;
struct zio_cset *cset = zfad_block->cset; struct zio_cset *cset = zfad_block->cset;
struct fa_dev *fa = cset->zdev->priv_d; struct fa_dev *fa = cset->zdev->priv_d;
if (result->result != DMA_TRANS_NOERROR)
dev_err(&fa->pdev->dev, "DMA failed %d\n", result->result);
/* Release DMA resources */ /* Release DMA resources */
dma_unmap_sg(&fa->pdev->dev, dma_unmap_sg(&fa->pdev->dev,
zfad_block->sgt.sgl, zfad_block->sgt.sgl,
...@@ -325,7 +329,8 @@ static int zfad_dma_prep_slave_sg(struct dma_chan *dchan, ...@@ -325,7 +329,8 @@ static int zfad_dma_prep_slave_sg(struct dma_chan *dchan,
"Failed to prepare dmaengine transfer descriptor\n"); "Failed to prepare dmaengine transfer descriptor\n");
return -EBUSY; return -EBUSY;
} }
tx->callback = zfad_dma_complete;
tx->callback_result = fa_dma_complete;
tx->callback_param = (void *)zfad_block; tx->callback_param = (void *)zfad_block;
zfad_block->tx = tx; zfad_block->tx = tx;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment