test/dma: reset last index before checking completion

Some DMA PMD may not update last-idx when no DMA completed, the
previous patch [1] cannot detect this problem actually.

This patch resets last-idx before invoking DMA completed ops to fix it.

[1] test/dma: check index when no DMA completed

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
This commit is contained in:
Chengwen Feng 2022-06-08 16:50:06 +08:00 committed by Thomas Monjalon
parent 618a40a0c9
commit 1c549cdd36

View File

@ -209,6 +209,7 @@ test_enqueue_copies(int16_t dev_id, uint16_t vchan)
dst_data[i], src_data[i]);
/* now check completion works */
id = ~id;
if (rte_dma_completed(dev_id, vchan, 1, &id, NULL) != 1)
ERR_RETURN("Error with rte_dma_completed\n");
@ -217,6 +218,7 @@ test_enqueue_copies(int16_t dev_id, uint16_t vchan)
id, id_count);
/* check for completed and id when no job done */
id = ~id;
if (rte_dma_completed(dev_id, vchan, 1, &id, NULL) != 0)
ERR_RETURN("Error with rte_dma_completed when no job done\n");
if (id != id_count)
@ -224,6 +226,7 @@ test_enqueue_copies(int16_t dev_id, uint16_t vchan)
id, id_count);
/* check for completed_status and id when no job done */
id = ~id;
if (rte_dma_completed_status(dev_id, vchan, 1, &id, &status) != 0)
ERR_RETURN("Error with rte_dma_completed_status when no job done\n");
if (id != id_count)