DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] i40e: Fix the clean up function for i40e, the DD bits are multiplex with descriptor type field. so cannot use "not zero" as the rule for the completion of Tx descriptor
@ 2015-07-03 17:11 Zhe Tao
  2015-07-08  9:29 ` [dpdk-dev] [PATCH v2] i40e:Fix the Description Done check mechanism for i40e Zhe Tao
  2015-07-16 19:20 ` [dpdk-dev] [PATCH] i40e: Fix the clean up function for i40e, the DD bits are multiplex with descriptor type field. so cannot use "not zero" as the rule for the completion of Tx descriptor Zhang, Helin
  0 siblings, 2 replies; 6+ messages in thread
From: Zhe Tao @ 2015-07-03 17:11 UTC (permalink / raw)
  To: dev

If the descriptor in the position desc_to_clean_to is the context descriptor its type will be 0x1, so using the not expression, the device driver will consider the descriptor has been complete for transmission even its DTYPE field is still 0x1 which means NIC has't finished the operation on this descriptor. 

Signed-off-by: Zhe Tao <zhe.tao@intel.com>
---
 drivers/net/i40e/i40e_rxtx.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index 2de0ac4..5d33f62 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -574,8 +574,9 @@ i40e_xmit_cleanup(struct i40e_tx_queue *txq)
 		desc_to_clean_to = (uint16_t)(desc_to_clean_to - nb_tx_desc);
 
 	desc_to_clean_to = sw_ring[desc_to_clean_to].last_id;
-	if (!(txd[desc_to_clean_to].cmd_type_offset_bsz &
-		rte_cpu_to_le_64(I40E_TX_DESC_DTYPE_DESC_DONE))) {
+	if ((txd[desc_to_clean_to].cmd_type_offset_bsz &
+		rte_cpu_to_le_64(I40E_TXD_QW1_DTYPE_MASK)) !=
+		rte_cpu_to_le_64(I40E_TX_DESC_DTYPE_DESC_DONE)) {
 		PMD_TX_FREE_LOG(DEBUG, "TX descriptor %4u is not done "
 			"(port=%d queue=%d)", desc_to_clean_to,
 				txq->port_id, txq->queue_id);
-- 
1.8.4.2

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-07-16 19:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-03 17:11 [dpdk-dev] [PATCH] i40e: Fix the clean up function for i40e, the DD bits are multiplex with descriptor type field. so cannot use "not zero" as the rule for the completion of Tx descriptor Zhe Tao
2015-07-08  9:29 ` [dpdk-dev] [PATCH v2] i40e:Fix the Description Done check mechanism for i40e Zhe Tao
2015-07-09  2:58   ` [dpdk-dev] [PATCH v3] i40e:Fix the Descriptor " Zhe Tao
2015-07-09  3:31     ` Wu, Jingjing
2015-07-10 16:56       ` Thomas Monjalon
2015-07-16 19:20 ` [dpdk-dev] [PATCH] i40e: Fix the clean up function for i40e, the DD bits are multiplex with descriptor type field. so cannot use "not zero" as the rule for the completion of Tx descriptor Zhang, Helin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).