提交 9cb8bfdf 编写于 作者: S Sanjay R Mehta 提交者: Jon Mason

ntb_perf: avoid false dma unmap of destination address

The DMA map and unmap of destination address is already being
done in perf_init_test() and perf_clear_test() functions.
Hence avoiding it by making necessary changes in perf_copy_chunk()
function.
Signed-off-by: NSanjay R Mehta <sanju.mehta@amd.com>
Signed-off-by: NArindam Nath <arindam.nath@amd.com>
Signed-off-by: NJon Mason <jdmason@kudzu.us>
上级 d7699665
......@@ -804,7 +804,7 @@ static int perf_copy_chunk(struct perf_thread *pthr,
dst_vaddr = dst;
dst_dma_addr = peer->dma_dst_addr + (dst_vaddr - vbase);
unmap = dmaengine_get_unmap_data(dma_dev, 2, GFP_NOWAIT);
unmap = dmaengine_get_unmap_data(dma_dev, 1, GFP_NOWAIT);
if (!unmap)
return -ENOMEM;
......@@ -817,15 +817,8 @@ static int perf_copy_chunk(struct perf_thread *pthr,
}
unmap->to_cnt = 1;
unmap->addr[1] = dst_dma_addr;
if (dma_mapping_error(dma_dev, unmap->addr[1])) {
ret = -EIO;
goto err_free_resource;
}
unmap->from_cnt = 1;
do {
tx = dmaengine_prep_dma_memcpy(pthr->dma_chan, unmap->addr[1],
tx = dmaengine_prep_dma_memcpy(pthr->dma_chan, dst_dma_addr,
unmap->addr[0], len, DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
if (!tx)
msleep(DMA_MDELAY);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册