patch 'dma/hisilicon: fix index returned when no DMA completed' has been queued to stable release 21.11.2

Kevin Traynor ktraynor at redhat.com
Thu Jun 9 13:36:59 CEST 2022


Hi,

FYI, your patch has been queued to stable release 21.11.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 06/13/22. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/2f31401e715f387050af1b1d09da26a949ad3396

Thanks.

Kevin

---
>From 2f31401e715f387050af1b1d09da26a949ad3396 Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen at huawei.com>
Date: Fri, 27 May 2022 11:40:52 +0800
Subject: [PATCH] dma/hisilicon: fix index returned when no DMA completed

[ upstream commit 2301dee9709fe07f79f92a032bf510a206397cc4 ]

If no DMA request is completed, the ring_idx of the last completed
operation need returned by last_idx parameter. This patch fixes it.

Fixes: 2db4f0b82360 ("dma/hisilicon: add data path")

Signed-off-by: Chengwen Feng <fengchengwen at huawei.com>
---
 drivers/dma/hisilicon/hisi_dmadev.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/dma/hisilicon/hisi_dmadev.c b/drivers/dma/hisilicon/hisi_dmadev.c
index ff80622ec0..ef4c7b18f7 100644
--- a/drivers/dma/hisilicon/hisi_dmadev.c
+++ b/drivers/dma/hisilicon/hisi_dmadev.c
@@ -650,10 +650,10 @@ hisi_dma_completed(void *dev_private,
 		sq_head = (sq_head + 1) & hw->sq_depth_mask;
 	}
+	*last_idx = hw->cridx + i - 1;
 	if (i > 0) {
 		hw->cridx += i;
-		*last_idx = hw->cridx - 1;
 		hw->sq_head = sq_head;
+		hw->completed += i;
 	}
-	hw->completed += i;
 
 	return i;
@@ -709,10 +709,10 @@ hisi_dma_completed_status(void *dev_private,
 		sq_head = (sq_head + 1) & hw->sq_depth_mask;
 	}
+	*last_idx = hw->cridx + cpl_num - 1;
 	if (likely(cpl_num > 0)) {
 		hw->cridx += cpl_num;
-		*last_idx = hw->cridx - 1;
 		hw->sq_head = sq_head;
+		hw->completed += cpl_num;
 	}
-	hw->completed += cpl_num;
 
 	return cpl_num;
-- 
2.34.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-06-09 12:34:31.398158019 +0100
+++ 0072-dma-hisilicon-fix-index-returned-when-no-DMA-complet.patch	2022-06-09 12:34:29.813980756 +0100
@@ -1 +1 @@
-From 2301dee9709fe07f79f92a032bf510a206397cc4 Mon Sep 17 00:00:00 2001
+From 2f31401e715f387050af1b1d09da26a949ad3396 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2301dee9709fe07f79f92a032bf510a206397cc4 ]
+
@@ -10 +11,0 @@
-Cc: stable at dpdk.org
@@ -18 +19 @@
-index 9cef2cbfbe..f5c3cd914d 100644
+index ff80622ec0..ef4c7b18f7 100644
@@ -21 +22 @@
-@@ -703,10 +703,10 @@ hisi_dma_completed(void *dev_private,
+@@ -650,10 +650,10 @@ hisi_dma_completed(void *dev_private,
@@ -34 +35 @@
-@@ -762,10 +762,10 @@ hisi_dma_completed_status(void *dev_private,
+@@ -709,10 +709,10 @@ hisi_dma_completed_status(void *dev_private,



More information about the stable mailing list