From patchwork Thu Feb 22 19:47:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137047 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5334243B84; Thu, 22 Feb 2024 20:48:15 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DCFC240EAB; Thu, 22 Feb 2024 20:48:10 +0100 (CET) Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by mails.dpdk.org (Postfix) with ESMTP id 6AF7440DCE for ; Thu, 22 Feb 2024 20:48:09 +0100 (CET) Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-6e47c503fb5so10217b3a.2 for ; Thu, 22 Feb 2024 11:48:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631288; x=1709236088; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=57oB711XEuxDKvfuG0HH+fn4QabVjCEf91mc7d7REuI=; b=T56kt8n5W42r0GJozIA8RSa9RFpKslQ0iAcPrjl6rmjQ0/t2XMcPvlG3vKy+vdCGeY bKU++5Eyu8UFs5COcniEH+gxGRMrl+3y0edTwEGZ04QApDFfTb1IkqyaC4Z51QRqdVYN urlP5zvWqfhp8jAVyZi2Zipn7se454DO26Q/g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631288; x=1709236088; h=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=57oB711XEuxDKvfuG0HH+fn4QabVjCEf91mc7d7REuI=; b=lymWzoFxeauH1ykSdG5SrWUbuaApi9lR4L3CxOeQr/jeMVFs9D9s16C16FCzx4GaMy +VR/pIbaYW3STpdjOzcmIO9CMQLM4pmq9maT3XOQxztJ3dt1W7n3lfb2QtKtOqS1UTGp zxmk9cEIekWYqcVyUlCu/1sit+6FVWHb/jZDIczQSJMpjSlnd2c/gBxkskdX7sYP2MLv qQhDHrLh2viTOBiVI08MN68WPY/BVvQgWlH0F27/nhTGhhAieiXQIt+Zwt+JLTKgz9fi LfkdrXj57TRILoZq6uuRmfcPW85K9tLFJh94JYlaRz/AQKr88YJonUSQKXTBmnpCxORn OYlQ== X-Gm-Message-State: AOJu0Yx78o5yqPQKAlX7U+VlBtnXsgffh6unU/9MixxPhuZwFZ+a7305 sLqBRKJq6Vr7DEGc+QUvN9zY5is92y3fAMJCwQLBDbA7XcZ2wgOSZUyBL3b4pYaE5lraFv612O1 DnBtlmlvrl5LKwEhoYyp88JQKLQVGWCaNesRq7NFz25PxXDQIjYKkiq+Eivcb2boEECZV3eVoMw MXMubNAV2uilv0vD87T251EKff373N X-Google-Smtp-Source: AGHT+IFCrObHTHtck2sC4Mjw7r0wBE5Ngpwyc9XqK0cYAc+iVUzkic24a9VEYji04EeqEnx//rg74A== X-Received: by 2002:a05:6a00:e:b0:6e2:43cd:ed4c with SMTP id h14-20020a056a00000e00b006e243cded4cmr15972068pfk.3.1708631287223; Thu, 22 Feb 2024 11:48:07 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:06 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net, Kalesh AP Subject: [PATCH v2 01/10] net/bnxt: extend long bd check for VXLAN GPE Date: Thu, 22 Feb 2024 11:47:51 -0800 Message-Id: <20240222194800.80648-2-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Extend long Tx BD check for VXLAN GPE packets. This will allow the long BD to be selected for Tx with VXLAN GPE frames. Signed-off-by: Ajit Khaparde Reviewed-by: Kalesh AP --- drivers/net/bnxt/bnxt_txr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index 7fc44e989d..7cbb2104a0 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -116,7 +116,7 @@ bnxt_xmit_need_long_bd(struct rte_mbuf *tx_pkt, struct bnxt_tx_queue *txq) RTE_MBUF_F_TX_VLAN | RTE_MBUF_F_TX_OUTER_IP_CKSUM | RTE_MBUF_F_TX_TUNNEL_GRE | RTE_MBUF_F_TX_TUNNEL_VXLAN | RTE_MBUF_F_TX_TUNNEL_GENEVE | RTE_MBUF_F_TX_IEEE1588_TMST | - RTE_MBUF_F_TX_QINQ) || + RTE_MBUF_F_TX_QINQ | RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE) || (BNXT_TRUFLOW_EN(txq->bp) && (txq->bp->tx_cfa_action || txq->vfr_tx_cfa_action))) return true; From patchwork Thu Feb 22 19:47:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137048 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9B65643B84; Thu, 22 Feb 2024 20:48:22 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 22A8D40EE2; Thu, 22 Feb 2024 20:48:12 +0100 (CET) Received: from mail-oo1-f42.google.com (mail-oo1-f42.google.com [209.85.161.42]) by mails.dpdk.org (Postfix) with ESMTP id B03E240DCE for ; Thu, 22 Feb 2024 20:48:09 +0100 (CET) Received: by mail-oo1-f42.google.com with SMTP id 006d021491bc7-59fb0b5b47eso80517eaf.3 for ; Thu, 22 Feb 2024 11:48:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631288; x=1709236088; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=gUlCvzVGSLD/AwYkCEZOsIBMvFbs5AHHMuinTqhLYDE=; b=HcQyvHaHOeDMNWDt4GFT9LcER7L4KqVn92SeZt9ZIzlh2ggGjTobzEmYucPTq+6JqV z8afV7ku2hN93UnYQyb8GRmaVqe8y3jRZSu+ttj0ueOSG6N1HKeoy8jyCg6zLIfEeB00 SC0OSPNaazzUGqJOk0MFwST1I/wjRttasTiqU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631288; x=1709236088; h=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=gUlCvzVGSLD/AwYkCEZOsIBMvFbs5AHHMuinTqhLYDE=; b=RM/cxAUqurfGT/yfHcanl0uGUy4ZS7SndBZoVCVp6ugO7KDWFQESb4kGZAoIsIhHD5 iIPheRNiwTOkhOy243wa2O+oLXkZJDRGPlJU9NSnZgyKaGmlqc9yU0dWaXx+1Frp0vWy lmv7CYGnFVY3AWO6XB9fp3s9qr/2Ghl0xdXu0BPByRu2VMbOmOrCKsWBEH+SGVWIDUYi a49Aj2HX9VohaFVIZ99uONgWqJSzOizZ5zvAaTNoIuSB0i0nLyIYZgGpCjqBqMYBrdyT vnSLD2msr0Yi+SQ+eh3lsNQRFDvLxMJr2e07Tuy0M9p0NZUhdT4tQBGSMsp2aT/qNXqC 3Gpg== X-Gm-Message-State: AOJu0YwQzKh8h8goh5qv11SDG25S+zLD5RUlBLbSGhMs+24ikhFeXPcd VzqTAgzLxS4/4ldMTLfJvpEfUFxK03Fko+Aw0Zxqg8Ck09ZUXGMiRhjyDi6u3tkTnx09lWircpp u7ykt/Wnz6rc4fU0cG014hzaJ8dLp8Iw3YolvjRRYMDzsXSDLJcY3OzdGsUxnrygNyN562TrGUY zcES2Aj1uy9ESBzwU0FSakWBKKq4yH X-Google-Smtp-Source: AGHT+IE3nSiR/p9nEsAwIRVPP3dhrvCjXtguephd4/sC+E5Vi5p4d7FYYMBgIZymlDlpOKobBRGG6w== X-Received: by 2002:a05:6358:989e:b0:17b:5a16:a712 with SMTP id q30-20020a056358989e00b0017b5a16a712mr6764189rwa.29.1708631288252; Thu, 22 Feb 2024 11:48:08 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:07 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net, Kalesh AP Subject: [PATCH v2 02/10] net/bnxt: add dual rate module detection log Date: Thu, 22 Feb 2024 11:47:52 -0800 Message-Id: <20240222194800.80648-3-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Kalesh AP Firmware sends an async notification to the driver when it detects a Dual rate module. Display below warning message: "Speed change not supported with dual rate transceivers on this board" Signed-off-by: Kalesh AP Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_cpr.c | 4 ++++ drivers/net/bnxt/hsi_struct_def_dpdk.h | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c index fb43bc58da..a4509abd60 100644 --- a/drivers/net/bnxt/bnxt_cpr.c +++ b/drivers/net/bnxt/bnxt_cpr.c @@ -100,6 +100,10 @@ static void bnxt_handle_event_error_report(struct bnxt *bp, PMD_DRV_LOG(WARNING, "Port:%d Pause Storm detected!\n", bp->eth_dev->data->port_id); break; + case HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_DUAL_DATA_RATE_NOT_SUPPORTED: + PMD_DRV_LOG(WARNING, "Port:%d Speed change not supported with dual rate transceivers on this board", + bp->eth_dev->data->port_id); + break; default: PMD_DRV_LOG(INFO, "FW reported unknown error type data1 %d" " data2: %d\n", data1, data2); diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h index 3ee1844e66..9beacd94aa 100644 --- a/drivers/net/bnxt/hsi_struct_def_dpdk.h +++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h @@ -12494,8 +12494,14 @@ struct hwrm_async_event_cmpl_error_report_base { */ #define HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_THERMAL_THRESHOLD \ UINT32_C(0x5) + /* + * Speed change not supported with dual rate transceivers + * on this board. + */ + #define HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_DUAL_DATA_RATE_NOT_SUPPORTED \ + UINT32_C(0x6) #define HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_LAST \ - HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_THERMAL_THRESHOLD + HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_DUAL_DATA_RATE_NOT_SUPPORTED } __rte_packed; /* hwrm_async_event_cmpl_error_report_pause_storm (size:128b/16B) */ From patchwork Thu Feb 22 19:47:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137049 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C328543B84; Thu, 22 Feb 2024 20:48:31 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8B30B410E7; Thu, 22 Feb 2024 20:48:13 +0100 (CET) Received: from mail-oo1-f47.google.com (mail-oo1-f47.google.com [209.85.161.47]) by mails.dpdk.org (Postfix) with ESMTP id D9B1940E8A for ; Thu, 22 Feb 2024 20:48:10 +0100 (CET) Received: by mail-oo1-f47.google.com with SMTP id 006d021491bc7-5a0073ae310so99644eaf.0 for ; Thu, 22 Feb 2024 11:48:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631290; x=1709236090; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=Cl4SnY8P+bjmIKRYlCeQOdqynNNLBJzYEaPRuXKK4Sc=; b=KPKw4ORxp1gpsvPjVRA2YhWyQFFlosMwfDgoyGbxw+tHiKCbGK3EQUCIpV8EPn3AUe CFEOG2cIufHvIffTop9Jqj8hMsawnW21FOjhxq0WHU1/6xR2iKktu26vft5UwE+uy8P5 wt1srdlnbjIiS5rNFQxavzj6SZkXPp44q3T2s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631290; x=1709236090; h=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=Cl4SnY8P+bjmIKRYlCeQOdqynNNLBJzYEaPRuXKK4Sc=; b=JYyant4r09Sk/bgq/VVfX6ICTISnLJXkJKhur0k1u+jCEGuVqglut+ib6JtlAluaDX GFexKpK7QHoZNBNBAQSNd8/fCqiYbHserLMrsT3Ldtaujz79XCwftdeHtWdzNmGqj41t j/YI+ZCfnsUCVNkryG5Kt1B1LFESkJo7k2L8auhssQTQreiACG/K7MbTynBgI5u2QFqY cLmwRLAKqutoW9v5q2O5tOKVQBhUXX5/xBMW6MgBbI0BswnOkNFKFLsENSVhEpQ+ZkMM qt46XCyDOcUAtKkujl2jmg47qRRIUCRQjTrILuo0dw8RZJx74A5sx78MKjBi6J/12Vlo bxNA== X-Gm-Message-State: AOJu0YxMQmiYZBEwB3FbhRTKW6qmsOLHLtAoznpdO9dsNS8Hr/OCKyrw ba/Jl3SpEW4zwXQdu9SzyOeJAPLkHkcYLtHiXjwrrNSzir06o9ZDt1G8dnTxTcCiYkjLBzPk/ch ckfal3yyY1gxjMycDf2Ztcg9LG2+qOndvTeUFIBWb6ws4JoxFrTE0XpZlOvYtjsWO/7WroFtaW2 t5wWLQeAX9xX0/M2I+tI6IYAS4EzPw X-Google-Smtp-Source: AGHT+IG5HM2qUAmXasWYv3RzLbNqzhjX2e7XH4pQCeLa7gADyIu7qoGTkYunSOfIPFl1LsgLs6ADXw== X-Received: by 2002:a05:6358:d599:b0:17b:78f1:b4f4 with SMTP id ms25-20020a056358d59900b0017b78f1b4f4mr1805216rwb.27.1708631289677; Thu, 22 Feb 2024 11:48:09 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:08 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net, Damodharam Ammepalli Subject: [PATCH v2 03/10] net/bnxt: increase queue size for async handling Date: Thu, 22 Feb 2024 11:47:53 -0800 Message-Id: <20240222194800.80648-4-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Increase the default NQ/CQ depth for async handling. In some cases the hardware can generate a high number of async notifications. Increase the notification/completion queue size to accommodate them. Signed-off-by: Ajit Khaparde Reviewed-by: Damodharam Ammepalli --- drivers/net/bnxt/bnxt_ring.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_ring.h b/drivers/net/bnxt/bnxt_ring.h index baa60b2627..1bae4b33d9 100644 --- a/drivers/net/bnxt/bnxt_ring.h +++ b/drivers/net/bnxt/bnxt_ring.h @@ -24,7 +24,7 @@ #define DB_KEY_TX_PUSH (0x4 << 28) #define DB_LONG_TX_PUSH (0x2 << 24) -#define DEFAULT_CP_RING_SIZE 256 +#define DEFAULT_CP_RING_SIZE 4096 #define DEFAULT_RX_RING_SIZE 256 #define DEFAULT_TX_RING_SIZE 256 From patchwork Thu Feb 22 19:47:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137050 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 905CC43B84; Thu, 22 Feb 2024 20:48:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B1F50410F9; Thu, 22 Feb 2024 20:48:15 +0100 (CET) Received: from mail-pf1-f176.google.com (mail-pf1-f176.google.com [209.85.210.176]) by mails.dpdk.org (Postfix) with ESMTP id AFB34410F1 for ; Thu, 22 Feb 2024 20:48:13 +0100 (CET) Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-6da4a923b1bso15360b3a.2 for ; Thu, 22 Feb 2024 11:48:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631292; x=1709236092; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=+u1HCGKI3Dm1SaRm3plkcsOjBRV1BNv6owrtoF3nSuY=; b=MNlQQAS2kA9Nrwkr3uKxMCs4IIlMEIDczv8zy8hJTEgSwz1HnLmqe/p+mRdBpvtSAJ ynAieOY6pLRin0Z5p9qg0/1pHMu5P2U5uTU6rw1tlTPjzlJ00hLBlQ/8lrTkEE8CxljT Wxn1fCfUCc6nPckyd6t9qDYspZgyErvSbIVxg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631292; x=1709236092; h=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=+u1HCGKI3Dm1SaRm3plkcsOjBRV1BNv6owrtoF3nSuY=; b=J0fsngtgpP3LBC0pmYiOawr1byEG5Ino8gc1J3Gr3nzVLFvum16myKn6n/1qkXvYKj as9YaulRCwOWQQ85gpmpzfrJYfwqs6ULrW6UYN0b32IvZZuLsY7f7JroAc4NYuzfKiDw 981+adeNcFV/Civ1lF+xsLimjCYTgV05NWJ270HjV3X39aESsqiFLfv3lkXaOQsY2hSs 0SW//u6YfSGbrejAZSjcBlRHZUBDlNrHyNVh4hGpY6LMej4OX1DBQuEt7Quo+3ul5/59 7yJ15W72wVyPvoJuaCgp2pDV+dji75oF2gR++WAHhBW7CSnCbRz+OmZr6D8s5SNPukxy kH4w== X-Gm-Message-State: AOJu0YwU6ZhE1XhdBcfZVYkfcrm3uFNv813BZPx2gR4trfZSEjcWQb1j kTAnifXQpL/i5CTiRV363Q2YSAxImUF2gIcPL1b8AOA4oT4QNBtrzH0zUJAYS2DHSGDte7Xoy7O 0e/eqzFKT0b4kLmt6v645t6zao6mulmxMUWv9T6yQan79DXBQWY0+9oAFzpljf+32u3PCbzO8eL S8VoLu+FxhRBVbmZcx1v7EbM+sQVxw X-Google-Smtp-Source: AGHT+IFm/MkZj65XOnK+JFgJWrShKlJk8jDVp0wgehNzTwupL7uk7gvzG4D63AG52KmFq42+hRf/ig== X-Received: by 2002:a05:6a00:80d4:b0:6e2:de02:598e with SMTP id ei20-20020a056a0080d400b006e2de02598emr13873348pfb.33.1708631291309; Thu, 22 Feb 2024 11:48:11 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:10 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net Subject: [PATCH v2 04/10] net/bnxt: fix AGG ID computation Date: Thu, 22 Feb 2024 11:47:54 -0800 Message-Id: <20240222194800.80648-5-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Fix the computation of AGG ID for P5 and P7 device families. The AGG ID for TPA completions for P7 device family is being incorrectly obtained. Fix the code to handle it. Fixes: 3b56c3ffc182 ("net/bnxt: refactor code to support P7 devices") Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_rxr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/bnxt_rxr.h b/drivers/net/bnxt/bnxt_rxr.h index d36cbded1d..5e5496964f 100644 --- a/drivers/net/bnxt/bnxt_rxr.h +++ b/drivers/net/bnxt/bnxt_rxr.h @@ -17,7 +17,7 @@ static inline uint16_t bnxt_tpa_start_agg_id(struct bnxt *bp, struct rx_tpa_start_cmpl *cmp) { - if (BNXT_CHIP_P5(bp)) + if (BNXT_CHIP_P5_P7(bp)) return BNXT_TPA_START_AGG_ID_TH(cmp); else return BNXT_TPA_START_AGG_ID_PRE_TH(cmp); From patchwork Thu Feb 22 19:47:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137052 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4B4C343B84; Thu, 22 Feb 2024 20:48:56 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8D9AF4114B; Thu, 22 Feb 2024 20:48:18 +0100 (CET) Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by mails.dpdk.org (Postfix) with ESMTP id 8DEF540F16 for ; Thu, 22 Feb 2024 20:48:15 +0100 (CET) Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-6da202aa138so1438227b3a.2 for ; Thu, 22 Feb 2024 11:48:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631294; x=1709236094; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=a51DT2jv0BM6AC4zoBvx4ZYrIe6U+0OBYgL5FKNnFSA=; b=LZXqBAX+PzoJkfsV1vmAuFEfuo2tpz8+ICYu5HqLTson+dQSE69w+Sg0Tb5rcRpWhc Z+DGJ3iwB9pz5XhWvJL18YpwHv3+TNZ7MmUOuF1e8Yn6rAqzekMFPUwGzKXo5+edM/Lk Cmd2Nex+l4dS8WUH+vAuZ9CiOxR45azU9mJ0k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631294; x=1709236094; h=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=a51DT2jv0BM6AC4zoBvx4ZYrIe6U+0OBYgL5FKNnFSA=; b=Eq5GwXwwkNfV9qQTRQ+Np/uJmYBnS72zoHV5HP8RhFDjlvRuqcyLbmXU6GJDfkX6kX 5efp2K6jjdoVap7l27IbKR0Gh67Li0BquPNs9ONtiO4Fr+AfyKVj6NJOg9+uWn4enEU2 fLDDNND8R5WYEF59iPVZjB3iUvhiKbPhy/NQqjSKcToDYHnY11QzjQ51Rve9WEvS/QoT x6LWWpQJxxCZkp2/S0nPlj/GjLXIxok3eF+WBEhxzFUbirBAuyD6/4zaL3todtXfe5u+ 5umfcxYO5M1jOeOFjJyxsatWdIfHGiT6ph7wsugPYtCYkrC2AAQWTRVaPf1nt1F3leij RigQ== X-Gm-Message-State: AOJu0Yx+REnBOdL/ZXLlkGhGHDEmmstt6e1kbtAKGtE3kCTNQPO1Kiho f/i767KU2nS9S77ToL6HJwUPG++p87Xz9q+D2QQAOFqyvZF+e+o0H77XOmlFiwdKnptvu3oaZuc lbkeblAHqW9LRRS9fHzBE4vmhwFE8kDfnhUfp7RUHEdGm3lpz+KhnJXCDiXNj8h+nwPt23P50Ac wdbX0ta2T7c5TVFmzD7ODJ2wnN5bb+ X-Google-Smtp-Source: AGHT+IEZ4DXkA8qBnd9MREr/uM0hcG3ihog/uF8smB1slpTdcx9Erbi9ffWGDXCwTUmQUTZEtBY66g== X-Received: by 2002:a05:6a00:ccc:b0:6e4:d354:160a with SMTP id b12-20020a056a000ccc00b006e4d354160amr2349606pfv.1.1708631292560; Thu, 22 Feb 2024 11:48:12 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:11 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net, Kalesh AP , stable@dpdk.org, Somnath Kotur Subject: [PATCH v2 05/10] net/bnxt: fix a null pointer dereference Date: Thu, 22 Feb 2024 11:47:55 -0800 Message-Id: <20240222194800.80648-6-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org From: Kalesh AP In the recent changes to rte_eth_dev_release_port() the library sets eth_dev->data to NULL at the end of the routine. This causes a NULL pointer dereference in the bnxt_rep_dev_info_get_op() and bnxt_representor_uninit() routines when it tries to validate parent dev. Add code to handle this. Fixes: 6dc83230b43b ("net/bnxt: support port representor data path") Cc: stable@dpdk.org Signed-off-by: Kalesh AP Reviewed-by: Ajit Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_reps.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/net/bnxt/bnxt_reps.c b/drivers/net/bnxt/bnxt_reps.c index 3a4720bc3c..edcc27f556 100644 --- a/drivers/net/bnxt/bnxt_reps.c +++ b/drivers/net/bnxt/bnxt_reps.c @@ -32,6 +32,14 @@ static const struct eth_dev_ops bnxt_rep_dev_ops = { .flow_ops_get = bnxt_flow_ops_get_op }; +static bool bnxt_rep_check_parent(struct bnxt_representor *rep) +{ + if (!rep->parent_dev->data->dev_private) + return false; + + return true; +} + uint16_t bnxt_vfr_recv(uint16_t port_id, uint16_t queue_id, struct rte_mbuf *mbuf) { @@ -266,12 +274,12 @@ int bnxt_representor_uninit(struct rte_eth_dev *eth_dev) PMD_DRV_LOG(DEBUG, "BNXT Port:%d VFR uninit\n", eth_dev->data->port_id); eth_dev->data->mac_addrs = NULL; - parent_bp = rep->parent_dev->data->dev_private; - if (!parent_bp) { + if (!bnxt_rep_check_parent(rep)) { PMD_DRV_LOG(DEBUG, "BNXT Port:%d already freed\n", eth_dev->data->port_id); return 0; } + parent_bp = rep->parent_dev->data->dev_private; parent_bp->num_reps--; vf_id = rep->vf_id; @@ -539,11 +547,12 @@ int bnxt_rep_dev_info_get_op(struct rte_eth_dev *eth_dev, int rc = 0; /* MAC Specifics */ - parent_bp = rep_bp->parent_dev->data->dev_private; - if (!parent_bp) { - PMD_DRV_LOG(ERR, "Rep parent NULL!\n"); + if (!bnxt_rep_check_parent(rep_bp)) { + /* Need not be an error scenario, if parent is closed first */ + PMD_DRV_LOG(INFO, "Rep parent port does not exist.\n"); return rc; } + parent_bp = rep_bp->parent_dev->data->dev_private; PMD_DRV_LOG(DEBUG, "Representor dev_info_get_op\n"); dev_info->max_mac_addrs = parent_bp->max_l2_ctx; dev_info->max_hash_mac_addrs = 0; From patchwork Thu Feb 22 19:47:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137051 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C8C2A43B84; Thu, 22 Feb 2024 20:48:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 73B0F4027F; Thu, 22 Feb 2024 20:48:17 +0100 (CET) Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by mails.dpdk.org (Postfix) with ESMTP id 27AF2410F6 for ; Thu, 22 Feb 2024 20:48:15 +0100 (CET) Received: by mail-pf1-f181.google.com with SMTP id d2e1a72fcca58-6e4d48a5823so21524b3a.1 for ; Thu, 22 Feb 2024 11:48:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631294; x=1709236094; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=AhI9EYPFOCCdLp0En/AegRaY11BVxU1mtw1cMp9myZw=; b=ghzPcmq8g3ZuoIUIYF59pvogwIxu9p6Jsm6hK5NvHtx0ZkVpbcJdp0QLNLlFnPbS/E PRfRp0EGIrPKgaDP7VA3K49L0tMH8KYRG4mjf/L4h6tp6FqlpH1p7R5X9vcAi1X/mZXL Iy74QyatCwcSvfzWLrcIoKuiGE/oiP1lDnRno= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631294; x=1709236094; h=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=AhI9EYPFOCCdLp0En/AegRaY11BVxU1mtw1cMp9myZw=; b=Tv/N2tLZ+WEtnbpW5Tfm5oj/h1i7MT5jXE1hxar5qVVT9HM88HMnpIcNmBHzvR+PX3 Iw3YQ67i6KPWFLZ6a/gywjRM7ysomvbdORQ/7AC3dwgDC1rlXurlP7HdAkuclcmqZRoB TIVws3Vs1cArsm7ptsSvWHNgwr0WH77cQpFKpkUOKSO+TrW+/m5kEcQWOygkwrpp64WT MOoJKOwWiqfaDBKzemFYkcdGftrRvAKCIb/aWevNjOG61tmPjlNMrB0MvdjWTtUYwaMt c3/SZIT3fHpGroiVFunbYw5nJUHbUrqS/sLUnxAaPex+R+JGBrubwGTkBtDq3KmaoqpW Zaxw== X-Gm-Message-State: AOJu0YwLfa7uSXcMeC7dzHaV6gtOoneLrKuIuwkRBhpg+OfMBDpmURN6 Rt1gC8GpIfs9z57EII1XWKIb9/AiuCy02NuFcyYQEnYuO+VeE/9Qsn22dcEmuioNlWjpe6vKhL1 yFx7DjJTTfApQni/tlrXQ30f3n1d9j8mfN1VD4TPAptdlvG5qNaPtkPBjpMTBI5ilTuFkyk4mxV 7Z8cnIUNWZ83Ux/eSYPP+h8egsDvpM X-Google-Smtp-Source: AGHT+IF+55nzLQa4C/8y3jOXAFZGvoMUht2Je+NMjEdE3GBS6yih5sm/DG3yacrn2UziA1coE1DE9g== X-Received: by 2002:a05:6a00:139e:b0:6e4:6187:a7d8 with SMTP id t30-20020a056a00139e00b006e46187a7d8mr16250859pfg.30.1708631293891; Thu, 22 Feb 2024 11:48:13 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:13 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net Subject: [PATCH v2 06/10] net/bnxt: handle UDP GSO Tx Date: Thu, 22 Feb 2024 11:47:56 -0800 Message-Id: <20240222194800.80648-7-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The UDP GSO capability is not being detected and reported correctly. This is causing UDP GSO to not happen in some cases. This patch fixes the issue. Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_hwrm.c | 3 ++- drivers/net/bnxt/bnxt_txr.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 7923d4cbd2..7f49b4b40e 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -1141,6 +1141,8 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) bp->max_ring_grps = rte_le_to_cpu_32(resp->max_hw_ring_grps); flags = rte_le_to_cpu_32(resp->flags); + flags_ext2 = rte_le_to_cpu_32(resp->flags_ext2); + if (BNXT_PF(bp)) { bp->pf->port_id = resp->port_id; bp->pf->first_vf_id = rte_le_to_cpu_16(resp->first_vf_id); @@ -1225,7 +1227,6 @@ static int __bnxt_hwrm_func_qcaps(struct bnxt *bp) PMD_DRV_LOG(DEBUG, "Tunnel parsing capability is disabled, flags : %#x\n", bp->tunnel_disable_flag); - flags_ext2 = rte_le_to_cpu_32(resp->flags_ext2); if (flags_ext2 & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_RX_ALL_PKTS_TIMESTAMPS_SUPPORTED) bp->fw_cap |= BNXT_FW_CAP_RX_ALL_PKT_TS; if (flags_ext2 & HWRM_FUNC_QCAPS_OUTPUT_FLAGS_EXT2_UDP_GSO_SUPPORTED) diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c index 7cbb2104a0..83c003d258 100644 --- a/drivers/net/bnxt/bnxt_txr.c +++ b/drivers/net/bnxt/bnxt_txr.c @@ -116,7 +116,8 @@ bnxt_xmit_need_long_bd(struct rte_mbuf *tx_pkt, struct bnxt_tx_queue *txq) RTE_MBUF_F_TX_VLAN | RTE_MBUF_F_TX_OUTER_IP_CKSUM | RTE_MBUF_F_TX_TUNNEL_GRE | RTE_MBUF_F_TX_TUNNEL_VXLAN | RTE_MBUF_F_TX_TUNNEL_GENEVE | RTE_MBUF_F_TX_IEEE1588_TMST | - RTE_MBUF_F_TX_QINQ | RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE) || + RTE_MBUF_F_TX_QINQ | RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE | + RTE_MBUF_F_TX_UDP_SEG) || (BNXT_TRUFLOW_EN(txq->bp) && (txq->bp->tx_cfa_action || txq->vfr_tx_cfa_action))) return true; From patchwork Thu Feb 22 19:47:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137053 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 873BF43B84; Thu, 22 Feb 2024 20:49:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C0FCA4161A; Thu, 22 Feb 2024 20:48:19 +0100 (CET) Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by mails.dpdk.org (Postfix) with ESMTP id 3BC9B4113D for ; Thu, 22 Feb 2024 20:48:17 +0100 (CET) Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-6e471f5f1a5so13338b3a.1 for ; Thu, 22 Feb 2024 11:48:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631296; x=1709236096; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=WXR7GIL9BrEg610+oXtVt2q+6YOSdFbBDhHkU7JpmnM=; b=FSIzUN1mwB1Cozn6AQO+j/fGcKoE2hgWdnKnbMooeQyOGBNlouIYK7+jCt3XimPe/p muReHD2GD6OaScKPVfk+x4uukVnOIsDBd3lU7oReQa0IZGVUmCl9VWXZIsRoxuRRLr9A JUof69xJIgNc0dQ5IKNNBdDOy4yB8GKMDa5qg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631296; x=1709236096; h=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=WXR7GIL9BrEg610+oXtVt2q+6YOSdFbBDhHkU7JpmnM=; b=VHYunm4Wr5pB4NkyGkDoRNxMecErm5+XuWOGbx9kS6ZDSCur1/EoClazzpE40dYird edlbmvW8v6eyjZC8CO3NH7Q7Gu9mcdWhGclAi7qr3AtNmaFzT3LLn9JXItEYKMMDN8Km JFdWlsh7U6cuPp2EGrugn2wfLTUGx0pJ2HtjsdeW06YwlquqQGxLohzE4TAbSj8MV1o+ DgRsN5HZ5biPxjtphNN05Qlbmfn4IVUOFkI2CH2H156YHDyQoFZA2bAuVPCvsopSAiFt DELIeEZ+5AN04Uv0HJsn5+nSh/QO+VE1EcgsoST619HKik7E3Nyg7GWfmXtw7+5GPda/ 0/Vw== X-Gm-Message-State: AOJu0YyHK5iDe6M+HBX4l7BEE0pBaY9DvG0fKThDmElZIMbx+ALxJe1h ZEYpqPAPfT9OR1Pb1rjaEgCQ02gvcC8QRReR2JkgYv4RddYQuDTzj8v252dwD0b9YUvtstXo5J+ WfRP9DX1u6JhejTXDBP7JBYfVCLoG50VxPpTJnbcFj5jRcGQp5VFEsijbnz6zNaudeiRO77yshI OaxtOoMjqH8MZv5Pu7gHO5zlkcgraG X-Google-Smtp-Source: AGHT+IHyXTOEk7IxmHO/JX0lx6eissfFFYySXlTEAZGuIj94N435EU5iSayqeEzyux2i8O81R2QNdw== X-Received: by 2002:a05:6a20:c68e:b0:1a0:d490:2248 with SMTP id gq14-20020a056a20c68e00b001a0d4902248mr2561695pzb.25.1708631295720; Thu, 22 Feb 2024 11:48:15 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:14 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net Subject: [PATCH v2 07/10] net/bnxt: add IPv6 flow label based RSS support Date: Thu, 22 Feb 2024 11:47:57 -0800 Message-Id: <20240222194800.80648-8-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org P7 hardware family can support IPv6 flow label based RSS. Check if the firmware indicates capability bit to support IPv6 flow label based RSS and parse the RSS hash types appropriately. Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt.h | 1 + drivers/net/bnxt/bnxt_ethdev.c | 2 ++ drivers/net/bnxt/bnxt_hwrm.c | 7 +++++++ drivers/net/bnxt/bnxt_vnic.c | 9 +++++++-- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h index fcf2b8be97..4203e6a055 100644 --- a/drivers/net/bnxt/bnxt.h +++ b/drivers/net/bnxt/bnxt.h @@ -868,6 +868,7 @@ struct bnxt { #define BNXT_VNIC_CAP_OUTER_RSS_TRUSTED_VF BIT(4) #define BNXT_VNIC_CAP_XOR_MODE BIT(5) #define BNXT_VNIC_CAP_CHKSM_MODE BIT(6) +#define BNXT_VNIC_CAP_IPV6_FLOW_LABEL_MODE BIT(7) #define BNXT_VNIC_CAP_L2_CQE_MODE BIT(8) #define BNXT_VNIC_CAP_AH_SPI4_CAP BIT(9) #define BNXT_VNIC_CAP_AH_SPI6_CAP BIT(10) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index f8d83662f4..d5a4312c5b 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -1087,6 +1087,8 @@ uint64_t bnxt_eth_rss_support(struct bnxt *bp) if (bp->vnic_cap_flags & BNXT_VNIC_CAP_CHKSM_MODE) support |= RTE_ETH_RSS_IPV4_CHKSUM | RTE_ETH_RSS_L4_CHKSUM; + if (bp->vnic_cap_flags & BNXT_VNIC_CAP_IPV6_FLOW_LABEL_MODE) + support |= RTE_ETH_RSS_IPV6_FLOW_LABEL; if (bp->vnic_cap_flags & BNXT_VNIC_CAP_AH_SPI_CAP) support |= RTE_ETH_RSS_AH; if (bp->vnic_cap_flags & BNXT_VNIC_CAP_ESP_SPI_CAP) diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 7f49b4b40e..6ea7089a3f 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -1308,6 +1308,9 @@ int bnxt_hwrm_vnic_qcaps(struct bnxt *bp) if (flags & HWRM_VNIC_QCAPS_OUTPUT_FLAGS_RING_SELECT_MODE_TOEPLITZ_CHKSM_CAP) bp->vnic_cap_flags |= BNXT_VNIC_CAP_CHKSM_MODE; + if (flags & HWRM_VNIC_QCAPS_OUTPUT_FLAGS_RSS_IPV6_FLOW_LABEL_CAP) + bp->vnic_cap_flags |= BNXT_VNIC_CAP_IPV6_FLOW_LABEL_MODE; + if (flags & HWRM_VNIC_QCAPS_OUTPUT_FLAGS_L2_CQE_MODE_CAP) bp->vnic_cap_flags |= BNXT_VNIC_CAP_L2_CQE_MODE; @@ -2773,6 +2776,10 @@ static uint32_t bnxt_sanitize_rss_type(struct bnxt *bp, uint32_t types) { uint32_t hwrm_type = types; + if (types & HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_IPV6_FLOW_LABEL && + !(bp->vnic_cap_flags & BNXT_VNIC_CAP_IPV6_FLOW_LABEL_MODE)) + hwrm_type &= ~HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_IPV6_FLOW_LABEL; + if (types & HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_ESP_SPI_IPV4 && !(bp->vnic_cap_flags & BNXT_VNIC_CAP_ESP_SPI4_CAP)) hwrm_type &= ~HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_ESP_SPI_IPV4; diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c index 5092a7d774..76905ebdd1 100644 --- a/drivers/net/bnxt/bnxt_vnic.c +++ b/drivers/net/bnxt/bnxt_vnic.c @@ -280,6 +280,8 @@ uint32_t bnxt_rte_to_hwrm_hash_types(uint64_t rte_type) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_TCP_IPV6; if (rte_type & RTE_ETH_RSS_NONFRAG_IPV6_UDP) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_UDP_IPV6; + if (rte_type & RTE_ETH_RSS_IPV6_FLOW_LABEL) + hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_IPV6_FLOW_LABEL; if (rte_type & RTE_ETH_RSS_ESP) hwrm_type |= HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_ESP_SPI_IPV4 | HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_ESP_SPI_IPV6; @@ -302,6 +304,7 @@ int bnxt_rte_to_hwrm_hash_level(struct bnxt *bp, uint64_t hash_f, uint32_t lvl) bool l3_and_l4 = l3 && l4; bool cksum = !!(hash_f & (RTE_ETH_RSS_IPV4_CHKSUM | RTE_ETH_RSS_L4_CHKSUM)); + bool fl = !!(hash_f & RTE_ETH_RSS_IPV6_FLOW_LABEL); /* If FW has not advertised capability to configure outer/inner * RSS hashing , just log a message. HW will work in default RSS mode. @@ -317,12 +320,12 @@ int bnxt_rte_to_hwrm_hash_level(struct bnxt *bp, uint64_t hash_f, uint32_t lvl) switch (lvl) { case BNXT_RSS_LEVEL_INNERMOST: /* Irrespective of what RTE says, FW always does 4 tuple */ - if (l3_and_l4 || l4 || l3_only || cksum) + if (l3_and_l4 || l4 || l3_only || cksum || fl) mode = BNXT_HASH_MODE_INNERMOST; break; case BNXT_RSS_LEVEL_OUTERMOST: /* Irrespective of what RTE says, FW always does 4 tuple */ - if (l3_and_l4 || l4 || l3_only || cksum) + if (l3_and_l4 || l4 || l3_only || cksum || fl) mode = BNXT_HASH_MODE_OUTERMOST; break; default: @@ -1415,6 +1418,8 @@ void bnxt_hwrm_rss_to_rte_hash_conf(struct bnxt_vnic_info *vnic, *rss_conf |= RTE_ETH_RSS_NONFRAG_IPV6_TCP; if (hash_types & HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_UDP_IPV6) *rss_conf |= RTE_ETH_RSS_NONFRAG_IPV6_UDP; + if (hash_types & HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_IPV6_FLOW_LABEL) + *rss_conf |= RTE_ETH_RSS_IPV6_FLOW_LABEL; if (hash_types & HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_AH_SPI_IPV6 || hash_types & HWRM_VNIC_RSS_CFG_INPUT_HASH_TYPE_AH_SPI_IPV4) *rss_conf |= RTE_ETH_RSS_AH; From patchwork Thu Feb 22 19:47:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137054 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 289FD43B84; Thu, 22 Feb 2024 20:49:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 24D91427DB; Thu, 22 Feb 2024 20:48:22 +0100 (CET) Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by mails.dpdk.org (Postfix) with ESMTP id 76CAD41156 for ; Thu, 22 Feb 2024 20:48:19 +0100 (CET) Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-6d9f94b9186so18836b3a.0 for ; Thu, 22 Feb 2024 11:48:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631298; x=1709236098; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=VZ6+cr9BFxmuPkoUzWDQ+z8Ovg+g8UOR0P9HnZikfRM=; b=G8hn7jTl2LAAj7M5cf24z8krC4zObU3LcSAbIba8tuurJbjJf3xPfWyLzvgLrfI3Uw O8o71fTXDK3IYRIOg2L2bK0OGolsaqTzQm57M7NPoH6svG4dpQL1og2RJKOH0dLNrjqp w3NBYizNhEuJWqnwNGLkgguBhOeu+YGvOY1wA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631298; x=1709236098; h=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=VZ6+cr9BFxmuPkoUzWDQ+z8Ovg+g8UOR0P9HnZikfRM=; b=GpX/Kmc9Nr3WtrlZsrKX5+rGpa5YcGmsZlmVRluHAiAFcFpDWKvRaNFQiGsDkK8aML DO2nUKQEfKbi6Y26ltxgTE1AptHCgXGSd578Vo/HTAgVPxQVo02mTFvDKBvq2HLCtkAR nMjcgVPIoR26ke7NkN9paFzpJN86iaSjqaesgTkzPVh3URXnHSKSmr7QfBDeiMMp5HTX 6tyEdnpa79Gm2KCijd0mQ/1ezqG08tn/ENFuQdaQ19DDehvsos3ci4EwTEZijuwikXZu 2+Dn/Nzh0pg4PBG2/vfLe3hQyXY0OB0GW4/kI25lAJHv84SOg+Hg9lTLTNZiHL7T2SKm zkjA== X-Gm-Message-State: AOJu0Yw5W2jLVeV8waMO8eOQAg+e5ihwzHaq6JWdWxBgWy/kCSCA62UX yqH1NDuwcFG+9EWP1BbF2JXoHky+ltu/PgvziQol45f+h/o3644xHvmzVQdC+sedtT9w+pmLqGB WrHewqXzrFrSzdZ30ZEzj+fMZcCeLEsaqII+uGIjWtgLMoKwjUt9Igc5P5A6BJCBcypcoas5m+X Hcj5AGFhlsD4v7VkqR0FMlsy4NnSao X-Google-Smtp-Source: AGHT+IGXR6VcCO8qewTJOlWuurFpPCzR1/t4LJU1LxsOjFMGiVCdc1BK0ct84e23aJIBRbsVYJJV/A== X-Received: by 2002:a05:6a00:ccc:b0:6e4:d354:160a with SMTP id b12-20020a056a000ccc00b006e4d354160amr2349805pfv.1.1708631297139; Thu, 22 Feb 2024 11:48:17 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:16 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net Subject: [PATCH v2 08/10] net/bnxt: fix compressed CQE handling Date: Thu, 22 Feb 2024 11:47:58 -0800 Message-Id: <20240222194800.80648-9-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org We were trying to reuse parts of 32-byte CQE handling for compressed CQE handling. And that was causing the packet errors to be misinterpreted. Fix it by using separate code for the compressed CQE handling. Fixes: 812fd99f8c4e ("net/bnxt: add SSE Rx for compressed CQE") Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_rxtx_vec_sse.c | 107 ++++++++++++++++++++++++++- 1 file changed, 105 insertions(+), 2 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxtx_vec_sse.c b/drivers/net/bnxt/bnxt_rxtx_vec_sse.c index 6c0e33200c..e367fbfbd1 100644 --- a/drivers/net/bnxt/bnxt_rxtx_vec_sse.c +++ b/drivers/net/bnxt/bnxt_rxtx_vec_sse.c @@ -112,6 +112,109 @@ descs_to_mbufs(__m128i mm_rxcmp[4], __m128i mm_rxcmp1[4], errors = _mm_or_si128(errors, _mm_srli_epi32(is_tunnel, 1)); index = _mm_or_si128(index, is_tunnel); + /* Update mbuf rearm_data for four packets. */ + GET_OL_FLAGS(rss_flags, index, errors, 0, ol_flags); + _mm_store_si128((void *)&mbuf[0]->rearm_data, + _mm_or_si128(mbuf_init, _mm_set_epi64x(ol_flags, 0))); + + GET_OL_FLAGS(rss_flags, index, errors, 1, ol_flags); + _mm_store_si128((void *)&mbuf[1]->rearm_data, + _mm_or_si128(mbuf_init, _mm_set_epi64x(ol_flags, 0))); + + GET_OL_FLAGS(rss_flags, index, errors, 2, ol_flags); + _mm_store_si128((void *)&mbuf[2]->rearm_data, + _mm_or_si128(mbuf_init, _mm_set_epi64x(ol_flags, 0))); + + GET_OL_FLAGS(rss_flags, index, errors, 3, ol_flags); + _mm_store_si128((void *)&mbuf[3]->rearm_data, + _mm_or_si128(mbuf_init, _mm_set_epi64x(ol_flags, 0))); + + /* Update mbuf rx_descriptor_fields1 for four packets. */ + GET_DESC_FIELDS(mm_rxcmp[0], mm_rxcmp1[0], shuf_msk, ptype_idx, 0, t0); + _mm_store_si128((void *)&mbuf[0]->rx_descriptor_fields1, t0); + + GET_DESC_FIELDS(mm_rxcmp[1], mm_rxcmp1[1], shuf_msk, ptype_idx, 1, t0); + _mm_store_si128((void *)&mbuf[1]->rx_descriptor_fields1, t0); + + GET_DESC_FIELDS(mm_rxcmp[2], mm_rxcmp1[2], shuf_msk, ptype_idx, 2, t0); + _mm_store_si128((void *)&mbuf[2]->rx_descriptor_fields1, t0); + + GET_DESC_FIELDS(mm_rxcmp[3], mm_rxcmp1[3], shuf_msk, ptype_idx, 3, t0); + _mm_store_si128((void *)&mbuf[3]->rx_descriptor_fields1, t0); +} + +static inline void +crx_descs_to_mbufs(__m128i mm_rxcmp[4], __m128i mm_rxcmp1[4], + __m128i mbuf_init, const __m128i shuf_msk, + struct rte_mbuf **mbuf, struct bnxt_rx_ring_info *rxr) +{ + const __m128i flags_type_mask = + _mm_set1_epi32(RX_PKT_COMPRESS_CMPL_FLAGS_ITYPE_MASK); + const __m128i flags2_mask1 = + _mm_set1_epi32(CMPL_FLAGS2_VLAN_TUN_MSK_CRX); + const __m128i flags2_mask2 = + _mm_set1_epi32(RX_PKT_COMPRESS_CMPL_FLAGS_IP_TYPE); + const __m128i rss_mask = + _mm_set1_epi32(RX_PKT_COMPRESS_CMPL_FLAGS_RSS_VALID); + const __m128i cs_err_mask = + _mm_set1_epi32(RX_PKT_COMPRESS_CMPL_CS_ERROR_CALC_MASK | + BNXT_RXC_METADATA1_VLAN_VALID); + const __m128i crx_flags_mask = + _mm_set1_epi32(BNXT_CRX_CQE_CSUM_CALC_MASK); + const __m128i crx_tun_cs = + _mm_set1_epi32(BNXT_CRX_TUN_CS_CALC); + __m128i t0, t1, flags_type, flags, index, errors, rss_flags; + __m128i ptype_idx, is_tunnel; + uint32_t ol_flags; + __m128i cs_err; + __m128i t3, t4; + + /* Validate ptype table indexing at build time. */ + bnxt_check_ptype_constants(); + + /* Compute packet type table indexes for four packets */ + t0 = _mm_unpacklo_epi32(mm_rxcmp[0], mm_rxcmp[1]); + t3 = _mm_unpackhi_epi32(mm_rxcmp[0], mm_rxcmp[1]); + t1 = _mm_unpacklo_epi32(mm_rxcmp[2], mm_rxcmp[3]); + t4 = _mm_unpackhi_epi32(mm_rxcmp[2], mm_rxcmp[3]); + flags_type = _mm_unpacklo_epi64(t0, t1); + ptype_idx = _mm_srli_epi32(_mm_and_si128(flags_type, flags_type_mask), + RX_PKT_CMPL_FLAGS_ITYPE_SFT - BNXT_PTYPE_TBL_TYPE_SFT); + + flags = _mm_unpacklo_epi64(t0, t1); + + ptype_idx = _mm_or_si128(ptype_idx, + _mm_srli_epi32(_mm_and_si128(flags, flags2_mask1), + RX_PKT_CMPL_FLAGS2_META_FORMAT_SFT - + BNXT_PTYPE_TBL_VLAN_SFT)); + ptype_idx = _mm_or_si128(ptype_idx, + _mm_srli_epi32(_mm_and_si128(flags, flags2_mask2), + RX_PKT_CMPL_FLAGS2_IP_TYPE_SFT - + BNXT_PTYPE_TBL_IP_VER_SFT)); + + /* Extract RSS valid flags for four packets. */ + rss_flags = _mm_srli_epi32(_mm_and_si128(flags, rss_mask), 9); + + /* Extract cs_err fields for four packets. */ + cs_err = _mm_unpacklo_epi64(t3, t4); + cs_err = _mm_and_si128(cs_err, cs_err_mask); + flags = _mm_and_si128(cs_err, crx_flags_mask); + + /* Compute ol_flags and checksum error indexes for four packets. */ + is_tunnel = _mm_and_si128(flags, crx_tun_cs); + is_tunnel = _mm_slli_epi32(is_tunnel, 0x20); + flags = _mm_or_si128(flags, is_tunnel); + + flags = _mm_srli_si128(flags, 1); + + errors = _mm_and_si128(cs_err, _mm_set1_epi32(0xF0)); + errors = _mm_and_si128(_mm_srli_epi32(errors, 4), flags); + + index = _mm_andnot_si128(errors, flags); + /* reuse is_tunnel - just shift right one bit to index correctly. */ + errors = _mm_or_si128(errors, _mm_srli_epi32(is_tunnel, 1)); + index = _mm_or_si128(index, is_tunnel); + /* Update mbuf rearm_data for four packets. */ GET_OL_FLAGS(rss_flags, index, errors, 0, ol_flags); _mm_store_si128((void *)&mbuf[0]->rearm_data, @@ -392,8 +495,8 @@ crx_burst_vec_sse(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) if (num_valid == 0) break; - descs_to_mbufs(rxcmp, rxcmp1, mbuf_init, shuf_msk, &rx_pkts[nb_rx_pkts], - rxr); + crx_descs_to_mbufs(rxcmp, rxcmp1, mbuf_init, shuf_msk, + &rx_pkts[nb_rx_pkts], rxr); nb_rx_pkts += num_valid; if (num_valid < BNXT_RX_DESCS_PER_LOOP_VEC128) From patchwork Thu Feb 22 19:47:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137055 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 307BA43B84; Thu, 22 Feb 2024 20:49:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 452E3427E0; Thu, 22 Feb 2024 20:48:23 +0100 (CET) Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by mails.dpdk.org (Postfix) with ESMTP id B736F411F3 for ; Thu, 22 Feb 2024 20:48:19 +0100 (CET) Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-6e471caaa71so11206b3a.2 for ; Thu, 22 Feb 2024 11:48:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631298; x=1709236098; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=22bt2kVLhyKVCCQkEuGvTIbzlFcM2bTX2UmSd37F3es=; b=SpBLgkIfTnrO4C/M9Y7ZJtqsO4i8w3ADJykO7OmBXJwKe8kAmSFEGT2l++FR5PceO9 /0xufvU/5Z7ng/68/7p30IdX4T3rNYlhG0TKMSf0tHtAPKMCHj9whhtOMFLKrNagZ2i+ MYwlb3WQqn08QnG/1wNehXSu+5TBji76iI27o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631298; x=1709236098; h=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=22bt2kVLhyKVCCQkEuGvTIbzlFcM2bTX2UmSd37F3es=; b=jHCBNY0NgL4OmBDNOZgAZ+30fJTGm6IXN1v6z704eTsvfCaOYHweJpn1jRBEWNSZZL tqUuBDP/cehZTFTcTCnep/yH3NUniVAnE4E1PpqdTxufAHH6QrAK10QbgfFA79nrlSWX ne72a7YyjeD7G89PIDCiqOybW7pGRqyv8yHEqG8k5HK07xbYhB+jtK3fFRUg00m2Je+X KW/8hNgCvqFPxGpLbsKvLfLMV02NzN8h2aOdgC9OScZlShVWkF6//5ceR3VeyYSA6T3B ctT0+wW2hmmjNUblVGwnu4NdwOgVlQ0yuI4xa8ZjgOql5W2smpqTxT67ADCHMrYeigBs xqqg== X-Gm-Message-State: AOJu0YxnjwgC7/1avqUWn8k7saOZpWvwYto5p3f99yyaBGCGvhmnSaqq AU5o2nPp3u4GrSRD0+KSMGDfQuy9G48VRghrhWAcVbQOFZuKTY5Nf+t1Z4Y2SKk7oJZoprOD0xT 1w++WNjGrlx4nksv5rGAlSJ4CXyHRJakm2vtAqaGSWWO/I2zo64kdV/xJWJiSN8z0ND+RXV3DmC 9WeAEf8sUkSnafiBse+lOVdvQG/rIo X-Google-Smtp-Source: AGHT+IG4pvS7wjmgBQ6SSTPgEiLyRfateMrXUiIinDke3AoMqJEYT4C5NNd4rNPRbcvLmwNPycyTJA== X-Received: by 2002:a05:6a00:26c6:b0:6e4:d519:4681 with SMTP id p6-20020a056a0026c600b006e4d5194681mr1447964pfw.11.1708631298494; Thu, 22 Feb 2024 11:48:18 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:17 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net Subject: [PATCH v2 09/10] net/bnxt: fix compressed Rx CQE handling Date: Thu, 22 Feb 2024 11:47:59 -0800 Message-Id: <20240222194800.80648-10-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org We were trying to reuse 32-byte CQE macros for compressed CQE handling. And that was causing the packet error bits to be misinterpreted. Fix it by using appropriate macros. Fixes: d58c6c077cc2 ("net/bnxt: add AVX2 Rx for compressed CQE") Signed-off-by: Ajit Khaparde --- drivers/net/bnxt/bnxt_rxtx_vec_avx2.c | 39 ++++++++++++++++----------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/drivers/net/bnxt/bnxt_rxtx_vec_avx2.c b/drivers/net/bnxt/bnxt_rxtx_vec_avx2.c index ce6b597611..976f258044 100644 --- a/drivers/net/bnxt/bnxt_rxtx_vec_avx2.c +++ b/drivers/net/bnxt/bnxt_rxtx_vec_avx2.c @@ -392,19 +392,21 @@ crx_burst_vec_avx2(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) 0xFF, 0xFF, 3, 2, /* pkt_len */ 0xFF, 0xFF, 0xFF, 0xFF); /* pkt_type (zeroes) */ const __m256i flags_type_mask = - _mm256_set1_epi32(RX_PKT_CMPL_FLAGS_ITYPE_MASK); + _mm256_set1_epi32(RX_PKT_COMPRESS_CMPL_FLAGS_ITYPE_MASK); const __m256i flags2_mask1 = - _mm256_set1_epi32(CMPL_FLAGS2_VLAN_TUN_MSK); + _mm256_set1_epi32(CMPL_FLAGS2_VLAN_TUN_MSK_CRX); const __m256i flags2_mask2 = - _mm256_set1_epi32(RX_PKT_CMPL_FLAGS2_IP_TYPE); + _mm256_set1_epi32(RX_PKT_COMPRESS_CMPL_FLAGS_IP_TYPE); const __m256i rss_mask = - _mm256_set1_epi32(RX_PKT_CMPL_FLAGS_RSS_VALID); + _mm256_set1_epi32(RX_PKT_COMPRESS_CMPL_FLAGS_RSS_VALID); __m256i t0, t1, flags_type, flags2, index, errors; __m256i ptype_idx, ptypes, is_tunnel; __m256i mbuf01, mbuf23, mbuf45, mbuf67; __m256i rearm0, rearm1, rearm2, rearm3, rearm4, rearm5, rearm6, rearm7; __m256i ol_flags, ol_flags_hi; __m256i rss_flags; + __m256i errors_v2; + __m256i cs_err_v2; /* Validate ptype table indexing at build time. */ bnxt_check_ptype_constants(); @@ -447,7 +449,6 @@ crx_burst_vec_avx2(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) cons += BNXT_RX_DESCS_PER_LOOP_VEC256, mbcons += BNXT_RX_DESCS_PER_LOOP_VEC256) { __m256i rxcmp0_1, rxcmp2_3, rxcmp4_5, rxcmp6_7, info3_v; - __m256i errors_v2; uint32_t num_valid; /* Copy eight mbuf pointers to output array. */ @@ -470,6 +471,7 @@ crx_burst_vec_avx2(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) rxcmp2_3 = _mm256_loadu_si256((void *)&cp_desc_ring[cons + 2]); rte_compiler_barrier(); rxcmp0_1 = _mm256_loadu_si256((void *)&cp_desc_ring[cons + 0]); + rte_compiler_barrier(); /* Compute packet type table indices for eight packets. */ t0 = _mm256_unpacklo_epi32(rxcmp0_1, rxcmp2_3); @@ -477,19 +479,19 @@ crx_burst_vec_avx2(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) flags_type = _mm256_unpacklo_epi64(t0, t1); ptype_idx = _mm256_and_si256(flags_type, flags_type_mask); ptype_idx = _mm256_srli_epi32(ptype_idx, - RX_PKT_CMPL_FLAGS_ITYPE_SFT - + RX_PKT_COMPRESS_CMPL_FLAGS_ITYPE_SFT - BNXT_PTYPE_TBL_TYPE_SFT); - t0 = _mm256_unpacklo_epi32(rxcmp0_1, rxcmp2_3); - t1 = _mm256_unpacklo_epi32(rxcmp4_5, rxcmp6_7); - flags2 = _mm256_unpackhi_epi64(t0, t1); + t0 = _mm256_unpackhi_epi32(rxcmp0_1, rxcmp2_3); + t1 = _mm256_unpackhi_epi32(rxcmp4_5, rxcmp6_7); + cs_err_v2 = _mm256_unpacklo_epi64(t0, t1); - t0 = _mm256_srli_epi32(_mm256_and_si256(flags2, flags2_mask1), - RX_PKT_CMPL_FLAGS2_META_FORMAT_SFT - + t0 = _mm256_srli_epi32(_mm256_and_si256(cs_err_v2, flags2_mask1), + RX_PKT_COMPRESS_CMPL_METADATA1_SFT - BNXT_PTYPE_TBL_VLAN_SFT); ptype_idx = _mm256_or_si256(ptype_idx, t0); - t0 = _mm256_srli_epi32(_mm256_and_si256(flags2, flags2_mask2), + t0 = _mm256_srli_epi32(_mm256_and_si256(cs_err_v2, flags2_mask2), RX_PKT_CMPL_FLAGS2_IP_TYPE_SFT - BNXT_PTYPE_TBL_IP_VER_SFT); ptype_idx = _mm256_or_si256(ptype_idx, t0); @@ -505,17 +507,22 @@ crx_burst_vec_avx2(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) * Compute ol_flags and checksum error table indices for eight * packets. */ - is_tunnel = _mm256_and_si256(flags2, _mm256_set1_epi32(4)); + is_tunnel = _mm256_and_si256(cs_err_v2, + _mm256_set1_epi32(BNXT_CRX_TUN_CS_CALC)); is_tunnel = _mm256_slli_epi32(is_tunnel, 3); - flags2 = _mm256_and_si256(flags2, _mm256_set1_epi32(0x1F)); + + flags2 = _mm256_and_si256(cs_err_v2, + _mm256_set1_epi32(BNXT_CRX_CQE_CSUM_CALC_MASK)); + flags2 = _mm256_srli_epi64(flags2, 8); /* Extract errors_v2 fields for eight packets. */ t0 = _mm256_unpackhi_epi32(rxcmp0_1, rxcmp2_3); t1 = _mm256_unpackhi_epi32(rxcmp4_5, rxcmp6_7); errors_v2 = _mm256_unpacklo_epi64(t0, t1); - errors = _mm256_srli_epi32(errors_v2, 4); - errors = _mm256_and_si256(errors, _mm256_set1_epi32(0xF)); + /* Compute errors out of cs_err_v2 to index into flags table. */ + errors = _mm256_and_si256(cs_err_v2, _mm256_set1_epi32(0xF0)); + errors = _mm256_srli_epi32(errors, 4); errors = _mm256_and_si256(errors, flags2); index = _mm256_andnot_si256(errors, flags2); From patchwork Thu Feb 22 19:48:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 137056 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3493543B84; Thu, 22 Feb 2024 20:49:24 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 87257427E2; Thu, 22 Feb 2024 20:48:24 +0100 (CET) Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) by mails.dpdk.org (Postfix) with ESMTP id 2A58841153 for ; Thu, 22 Feb 2024 20:48:21 +0100 (CET) Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-6e4560664b5so5211b3a.1 for ; Thu, 22 Feb 2024 11:48:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1708631300; x=1709236100; darn=dpdk.org; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=Q+IFv0uvadWW/lpHjQi87RubFuVg6tLZD0p3WPaGJHw=; b=PxK4BzB30x/NO3j2T9BYO2oJOJzza+ra7QOC05cMjmAtLF40nBo/MuFt3Fb3MAzWJ7 WgAPhCkxRiE8JoizpJOL4MNzQzguVzvLxkfKtB6dWPp654LJxei3UnKuDtNGDAEpSU0v lULDpciLCTPIjX6VzcFcexGo3xE0nBKsDVDVQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708631300; x=1709236100; h=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=Q+IFv0uvadWW/lpHjQi87RubFuVg6tLZD0p3WPaGJHw=; b=rq8YiGUHbLINiV7i+xN2vWrKBkvVpHSY7ONtj+YkT1/Y4Anhx4A9AOZNEWsyyZVqG7 0D9rhSq8YmLdcGX5tANNb6vb+41Bend/YtuoO301rKORStP/iPYtx1x8vYQH1Rb0mlCh BkWBxjP17Z7BITCU1ckbs1v3lqWD2zXfmO1E8I0FU8SZziY1RYkJz7ewjg2QeOf+YyTU fCeFR9QF3qM+vt0c3h2thw9mPYohQRwRnfvJv9jryuZCkG64lrIXiOkqJ+272NAJZb0Q yXCrS6LITtBtipphswI90vdLVNuwf9Jo1zrlcTx3nAuWgH0CylmgxUEnclBTHlLxawrj +gtQ== X-Gm-Message-State: AOJu0YwdiJKwQ1r/MSThth0d62GOohgj85q3F7KzeH3nXaXjHAnsY8Ny lnCMcZ2XZz41QYDjCOR81Hv8HsxxaZfnPqeTtRBacDyxtflmX46yPJyZuaQY1k51ld8aPGwnKHV lVqUfHS7H9VVfWtADIz3cupIb6DYyVqQYay6GiH8UdZnI1An/VXJV7ezZFKKnBTi/RedGx1knKU r3HlKuQ0a0eepeg25y7GB2p+wzcrCz X-Google-Smtp-Source: AGHT+IF2E7AR9V7CS/SLuMKf6gBKX2Oq6hOVvC3e0YuJP43T/TiJqkTRPgJanEHTHNCifTreu9Xl2w== X-Received: by 2002:a05:6a20:c995:b0:1a0:bd52:f520 with SMTP id gy21-20020a056a20c99500b001a0bd52f520mr6882680pzb.36.1708631299731; Thu, 22 Feb 2024 11:48:19 -0800 (PST) Received: from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gu12-20020a056a004e4c00b006e025e1fa61sm9538452pfb.14.2024.02.22.11.48.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 11:48:18 -0800 (PST) From: Ajit Khaparde To: dev@dpdk.org Cc: ferruh.yigit@amd.com, thomas@monjalon.net Subject: [PATCH v2 10/10] doc: update release notes for bnxt Date: Thu, 22 Feb 2024 11:48:00 -0800 Message-Id: <20240222194800.80648-11-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.39.2 (Apple Git-143) In-Reply-To: <20240222194800.80648-1-ajit.khaparde@broadcom.com> References: <20240221212044.27209-1-ajit.khaparde@broadcom.com> <20240222194800.80648-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Update release notes indicating support in bnxt PMD for 5760X device family. Signed-off-by: Ajit Khaparde --- doc/guides/rel_notes/release_24_03.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/guides/rel_notes/release_24_03.rst b/doc/guides/rel_notes/release_24_03.rst index 879bb4944c..263f880680 100644 --- a/doc/guides/rel_notes/release_24_03.rst +++ b/doc/guides/rel_notes/release_24_03.rst @@ -138,6 +138,10 @@ New Features to support TLS v1.2, TLS v1.3 and DTLS v1.2. * Added PMD API to allow raw submission of instructions to CPT. +* **Updated Broadcom bnxt driver.** + + * Added support for 5760X device family. + Removed Items -------------