From a6a8bfd48f394eeea159d0b6e165d947344f7438 Mon Sep 17 00:00:00 2001 From: John Lo Date: Tue, 8 Mar 2016 22:15:20 -0500 Subject: More updated match to ENIC PMD for DPDK 2.2.0 including rx path optimization. Change-Id: I756940c9c1b2bb71d47caeb08ab34a2e954ddff6 Signed-off-by: John Lo --- ...D-problem-with-not-sending-the-first-pack.patch | 33 +++++++++++++--------- 1 file changed, 19 insertions(+), 14 deletions(-) (limited to 'dpdk/dpdk-2.2.0_patches/0012-Fix-ENIC-PMD-problem-with-not-sending-the-first-pack.patch') diff --git a/dpdk/dpdk-2.2.0_patches/0012-Fix-ENIC-PMD-problem-with-not-sending-the-first-pack.patch b/dpdk/dpdk-2.2.0_patches/0012-Fix-ENIC-PMD-problem-with-not-sending-the-first-pack.patch index d0f606806d1..9730adc487e 100644 --- a/dpdk/dpdk-2.2.0_patches/0012-Fix-ENIC-PMD-problem-with-not-sending-the-first-pack.patch +++ b/dpdk/dpdk-2.2.0_patches/0012-Fix-ENIC-PMD-problem-with-not-sending-the-first-pack.patch @@ -1,26 +1,31 @@ -From cbd799612eb1da02cefc6d43fe304e4434cdf8e5 Mon Sep 17 00:00:00 2001 +From 70725980c4d8f1e01cfa352a95341893aab00e7e Mon Sep 17 00:00:00 2001 From: John Lo -Date: Fri, 26 Feb 2016 12:54:27 -0500 -Subject: [PATCH 2/2] Fix ENIC PMD problem with not sending the first packet on - TX. +Date: Mon, 7 Mar 2016 14:07:19 -0500 +Subject: [PATCH 1/2] Fix-ENIC-PMD-problem-with-not-sending-the-first-pack. --- - drivers/net/enic/base/enic_vnic_wq.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + drivers/net/enic/base/enic_vnic_wq.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/enic/base/enic_vnic_wq.h b/drivers/net/enic/base/enic_vnic_wq.h -index e3ea574..75fad22 100644 +index e3ea574..b019109 100644 --- a/drivers/net/enic/base/enic_vnic_wq.h +++ b/drivers/net/enic/base/enic_vnic_wq.h -@@ -48,7 +48,7 @@ static inline void enic_vnic_post_wq_index(struct vnic_wq *wq) - * stale descriptor fields. - */ - wmb(); -- iowrite32(buf->index, &wq->ctrl->posted_index); -+ iowrite32(buf->next->index, &wq->ctrl->posted_index); +@@ -69,11 +69,11 @@ static inline void enic_vnic_post_wq(struct vnic_wq *wq, + buf->wr_id = wrid; + + buf = buf->next; +- if (cq_entry) +- enic_vnic_post_wq_index(wq); ++ wq->ring.desc_avail -= desc_skip_cnt; + wq->to_use = buf; + +- wq->ring.desc_avail -= desc_skip_cnt; ++ if (cq_entry) ++ enic_vnic_post_wq_index(wq); } - static inline void enic_vnic_post_wq(struct vnic_wq *wq, + #endif /* _ENIC_VNIC_WQ_H_ */ -- 1.9.1 -- cgit 1.2.3-korg