From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 09216A0543 for ; Sat, 5 Nov 2022 18:12:45 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03DC540151; Sat, 5 Nov 2022 18:12:45 +0100 (CET) Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mails.dpdk.org (Postfix) with ESMTP id 3CFAF400D5 for ; Sat, 5 Nov 2022 18:12:44 +0100 (CET) Received: by mail-wm1-f52.google.com with SMTP id fn7-20020a05600c688700b003b4fb113b86so4900590wmb.0 for ; Sat, 05 Nov 2022 10:12:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=haRUzsh7xHYUdRPNnhz9WNllkOgeGc7Hs6njX4W2jkI=; b=gdY0q7A9pON3uraVnYDowHccy5roh21EEHUdlA8+AgnBLD5ZTwqZbg2VcHU0HFFzpg m+uxFs4arkq2bK/AwQrQvVEFlBiGmeMIbjic1nXHFtajAEaP6pONvs4s8Vwvmc4ugiA8 ZyHLgLUi0+bIuUf3+sWntiBvC0FKrVkRM4iXshIO2ot3Qar56SaDWrayl11vZRxiPDox u29dhzDYr1OjvffiMynFx7zRJ08/AW6cfgAiBEdJrV359BkQEfgRbXg/DjpldlJT0+1W c3+cQh/j4oX+1kGUXxLvBpMvpT5N9Eme9TLxaFWLJ8MzSMogQyp0Aap/6s7/6psP2JeN jPSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=haRUzsh7xHYUdRPNnhz9WNllkOgeGc7Hs6njX4W2jkI=; b=tnWUk8wcY7Ky3RwNY4cEtYWtKGqF0WuFqVMYlhXIzSiQg94S22joKUWbTVyd7SGg1i kG/jV+cph+3CnH2AC3GQldHQuc7GIy4iS7GSwSiWq4//EJ8cpxiPOim3RyVZ0IOLzQIQ DOzgZ/DAzGIx2sN2mmepF9wPTfIh5NZTTA3d/60QCTlBGPaBrdBdwLJkAO6D930IHHUx ooH912IpJrBt2UONJTUneiRU2cVBbKkE+99mW0bY7JhvgGFnsmynenQKUI/kZIZXImiV p+VOJF8ShNP4dymb6HIeFw+qCWrbC3TattDuprDH/eA5QxrNy6xhtFc5slZb5EHp5xqi DSwA== X-Gm-Message-State: ACrzQf3BtCOaHuiXYDulkKj66E21MSapz5pkqi6pPBof4IG6Q6SjnikB G4zHoUm/FbS2esIL7nFyNdaPtCAvmLM= X-Google-Smtp-Source: AMsMyM5/viLu0L7GAIdOS2/KyLO5hjYG11axJV4o1NpvXeT77UycbnNAmpjWKqDj0sYGrG3zVqdE2w== X-Received: by 2002:a05:600c:6023:b0:3cf:7dc1:e08e with SMTP id az35-20020a05600c602300b003cf7dc1e08emr18198617wmb.154.1667668363796; Sat, 05 Nov 2022 10:12:43 -0700 (PDT) Received: from localhost ([2a01:4b00:d307:1000:f1d3:eb5e:11f4:a7d9]) by smtp.gmail.com with ESMTPSA id g17-20020a5d46d1000000b0022efc4322a9sm2623728wrs.10.2022.11.05.10.12.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Nov 2022 10:12:43 -0700 (PDT) From: luca.boccassi@gmail.com To: Andrew Boyer Cc: dpdk stable Subject: patch 'net/ionic: fix endianness for Rx and Tx' has been queued to stable release 20.11.7 Date: Sat, 5 Nov 2022 17:11:16 +0000 Message-Id: <20221105171146.1520039-17-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221105171146.1520039-1-luca.boccassi@gmail.com> References: <20221103092758.1099402-100-luca.boccassi@gmail.com> <20221105171146.1520039-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 20.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/07/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/58351ee33337bfaa6782a86b91c2ba5426c86312 Thanks. Luca Boccassi --- >From 58351ee33337bfaa6782a86b91c2ba5426c86312 Mon Sep 17 00:00:00 2001 From: Andrew Boyer Date: Tue, 18 Oct 2022 12:40:56 -0700 Subject: [PATCH] net/ionic: fix endianness for Rx and Tx [ upstream commit 4a7355999062ba6096c8b0f48b4df344df9bf60f ] These fields all need to be LE when talking to the FW. Fixes: a27d901331da ("net/ionic: add Rx and Tx handling") Signed-off-by: Andrew Boyer --- drivers/net/ionic/ionic_rxtx.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c index 9466099352..61d909eee2 100644 --- a/drivers/net/ionic/ionic_rxtx.c +++ b/drivers/net/ionic/ionic_rxtx.c @@ -279,18 +279,20 @@ ionic_tx_tso_post(struct ionic_queue *q, struct ionic_txq_desc *desc, uint16_t vlan_tci, bool has_vlan, bool start, bool done) { + uint64_t cmd; uint8_t flags = 0; flags |= has_vlan ? IONIC_TXQ_DESC_FLAG_VLAN : 0; flags |= encap ? IONIC_TXQ_DESC_FLAG_ENCAP : 0; flags |= start ? IONIC_TXQ_DESC_FLAG_TSO_SOT : 0; flags |= done ? IONIC_TXQ_DESC_FLAG_TSO_EOT : 0; - desc->cmd = encode_txq_desc_cmd(IONIC_TXQ_DESC_OPCODE_TSO, + cmd = encode_txq_desc_cmd(IONIC_TXQ_DESC_OPCODE_TSO, flags, nsge, addr); - desc->len = len; - desc->vlan_tci = vlan_tci; - desc->hdr_len = hdrlen; - desc->mss = mss; + desc->cmd = rte_cpu_to_le_64(cmd); + desc->len = rte_cpu_to_le_16(len); + desc->vlan_tci = rte_cpu_to_le_16(vlan_tci); + desc->hdr_len = rte_cpu_to_le_16(hdrlen); + desc->mss = rte_cpu_to_le_16(mss); ionic_q_post(q, done, NULL, done ? txm : NULL); } @@ -397,7 +399,7 @@ ionic_tx_tso(struct ionic_queue *q, struct rte_mbuf *txm, len = RTE_MIN(frag_left, left); frag_left -= len; elem->addr = next_addr; - elem->len = len; + elem->len = rte_cpu_to_le_16(len); elem++; desc_nsge++; } else { @@ -445,7 +447,7 @@ ionic_tx(struct ionic_queue *q, struct rte_mbuf *txm, bool encap; bool has_vlan; uint64_t ol_flags = txm->ol_flags; - uint64_t addr; + uint64_t addr, cmd; uint8_t opcode = IONIC_TXQ_DESC_OPCODE_CSUM_NONE; uint8_t flags = 0; @@ -477,13 +479,14 @@ ionic_tx(struct ionic_queue *q, struct rte_mbuf *txm, addr = rte_cpu_to_le_64(rte_mbuf_data_iova(txm)); - desc->cmd = encode_txq_desc_cmd(opcode, flags, txm->nb_segs - 1, addr); - desc->len = txm->data_len; - desc->vlan_tci = txm->vlan_tci; + cmd = encode_txq_desc_cmd(opcode, flags, txm->nb_segs - 1, addr); + desc->cmd = rte_cpu_to_le_64(cmd); + desc->len = rte_cpu_to_le_16(txm->data_len); + desc->vlan_tci = rte_cpu_to_le_16(txm->vlan_tci); txm_seg = txm->next; while (txm_seg != NULL) { - elem->len = txm_seg->data_len; + elem->len = rte_cpu_to_le_16(txm_seg->data_len); elem->addr = rte_cpu_to_le_64(rte_mbuf_data_iova(txm_seg)); stats->frags++; elem++; @@ -796,7 +799,7 @@ ionic_rx_clean(struct ionic_queue *q, /* Vlan Strip */ if (cq_desc->csum_flags & IONIC_RXQ_COMP_CSUM_F_VLAN) { pkt_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED; - rxm->vlan_tci = cq_desc->vlan_tci; + rxm->vlan_tci = rte_le_to_cpu_16(cq_desc->vlan_tci); } /* Checksum */ -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-05 17:11:10.175253369 +0000 +++ 0017-net-ionic-fix-endianness-for-Rx-and-Tx.patch 2022-11-05 17:11:08.626941612 +0000 @@ -1 +1 @@ -From 4a7355999062ba6096c8b0f48b4df344df9bf60f Mon Sep 17 00:00:00 2001 +From 58351ee33337bfaa6782a86b91c2ba5426c86312 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 4a7355999062ba6096c8b0f48b4df344df9bf60f ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ -index 9f602de6a9..af2d89f9fa 100644 +index 9466099352..61d909eee2 100644 @@ -20 +21,2 @@ -@@ -300,18 +300,20 @@ ionic_tx_tso_post(struct ionic_queue *q, struct ionic_txq_desc *desc, +@@ -279,18 +279,20 @@ ionic_tx_tso_post(struct ionic_queue *q, struct ionic_txq_desc *desc, + uint16_t vlan_tci, bool has_vlan, @@ -23 +24,0 @@ - void **info; @@ -44,3 +45,3 @@ - if (done) { - info = IONIC_INFO_PTR(q, q->head_idx); -@@ -423,7 +425,7 @@ ionic_tx_tso(struct ionic_tx_qcq *txq, struct rte_mbuf *txm) + ionic_q_post(q, done, NULL, done ? txm : NULL); + } +@@ -397,7 +399,7 @@ ionic_tx_tso(struct ionic_queue *q, struct rte_mbuf *txm, @@ -55 +56 @@ -@@ -470,7 +472,7 @@ ionic_tx(struct ionic_tx_qcq *txq, struct rte_mbuf *txm) +@@ -445,7 +447,7 @@ ionic_tx(struct ionic_queue *q, struct rte_mbuf *txm, @@ -64 +65 @@ -@@ -505,9 +507,10 @@ ionic_tx(struct ionic_tx_qcq *txq, struct rte_mbuf *txm) +@@ -477,13 +479,14 @@ ionic_tx(struct ionic_queue *q, struct rte_mbuf *txm, @@ -76,4 +76,0 @@ - info[0] = txm; - -@@ -515,7 +518,7 @@ ionic_tx(struct ionic_tx_qcq *txq, struct rte_mbuf *txm) - @@ -84,0 +82 @@ + stats->frags++; @@ -86,2 +84 @@ - txm_seg = txm_seg->next; -@@ -845,7 +848,7 @@ ionic_rx_clean(struct ionic_rx_qcq *rxq, +@@ -796,7 +799,7 @@ ionic_rx_clean(struct ionic_queue *q, @@ -90 +87 @@ - pkt_flags |= RTE_MBUF_F_RX_VLAN | RTE_MBUF_F_RX_VLAN_STRIPPED; + pkt_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;