From patchwork Fri Sep 2 03:00:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiawen Wu X-Patchwork-Id: 115769 X-Patchwork-Delegate: ferruh.yigit@amd.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 1C322A0542; Fri, 2 Sep 2022 05:01:38 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E52AA42B84; Fri, 2 Sep 2022 05:01:06 +0200 (CEST) Received: from smtpbg.qq.com (smtpbguseast1.qq.com [54.204.34.129]) by mails.dpdk.org (Postfix) with ESMTP id C4DEF42B7C; Fri, 2 Sep 2022 05:01:03 +0200 (CEST) X-QQ-mid: bizesmtp70t1662087659txynvalo Received: from wxdbg.localdomain.com ( [183.129.236.74]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 02 Sep 2022 11:00:59 +0800 (CST) X-QQ-SSF: 01400000000000G0T000000A0000000 X-QQ-FEAT: PeTlvEY0Q2Cat7OdCch1AmxgQ83T4D9nCePQqqZL5Ob7KeWej8FnW8fQ9jyyC nG+PRFt4DOL5VEugxzrZsW7GgbBxSPKK5rfUmLVlAvvm8q/ip8srf/Z1jUwpftfj0rKlhYw RoCTbuRPnGjrX0JP6dCmdEegA7Zr3cpY6bohwjnp6OAEi40BnJXVaJvwuUBZS1MWBlAmfHE sASMWkMYd1B/TfAcc8gZ4FPSB+4jK+NqJy025NiIxGjg0ZGMVhyEE7KF5PzBWpliWmJ7AtM +7jn61Axt96Ogex19eJcUvg9DQhk5RDcIctC20tzhdlIOKDB/AJf0CTBiPQwQ3mFUMyeWw5 V/6n8/GKLIC0Yt2BK9py+xmA1CNdmFhqs7UJX1+c4NrKuAegTj8RaImd+JOeaBM7oYMNC++ X-QQ-GoodBg: 2 From: Jiawen Wu To: dev@dpdk.org Cc: Jiawen Wu , stable@dpdk.org Subject: [PATCH 7/9] net/ngbe: fix max frame size Date: Fri, 2 Sep 2022 11:00:09 +0800 Message-Id: <20220902030011.377523-8-jiawenwu@trustnetic.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20220902030011.377523-1-jiawenwu@trustnetic.com> References: <20220902030011.377523-1-jiawenwu@trustnetic.com> MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:trustnetic.com:qybglogicsvr:qybglogicsvr5 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 Remain the same max frame size after the device restarts. Fixes: 07baabb6a51a ("net/ngbe: support MTU set") Cc: stable@dpdk.org Signed-off-by: Jiawen Wu --- drivers/net/ngbe/base/ngbe_regs.h | 2 +- drivers/net/ngbe/base/ngbe_type.h | 2 +- drivers/net/ngbe/ngbe_ethdev.c | 10 +++------- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/net/ngbe/base/ngbe_regs.h b/drivers/net/ngbe/base/ngbe_regs.h index 640e385990..c0e79a2ba7 100644 --- a/drivers/net/ngbe/base/ngbe_regs.h +++ b/drivers/net/ngbe/base/ngbe_regs.h @@ -525,7 +525,7 @@ enum ngbe_5tuple_protocol { #define NGBE_PSRCTL_LBENA MS(18, 0x1) #define NGBE_FRMSZ 0x015020 #define NGBE_FRMSZ_MAX_MASK MS(0, 0xFFFF) -#define NGBE_FRMSZ_MAX(v) LS(v, 0, 0xFFFF) +#define NGBE_FRMSZ_MAX(v) LS((v) + 4, 0, 0xFFFF) #define NGBE_VLANCTL 0x015088 #define NGBE_VLANCTL_TPID_MASK MS(0, 0xFFFF) #define NGBE_VLANCTL_TPID(v) LS(v, 0, 0xFFFF) diff --git a/drivers/net/ngbe/base/ngbe_type.h b/drivers/net/ngbe/base/ngbe_type.h index 73111f7950..aa5c41146c 100644 --- a/drivers/net/ngbe/base/ngbe_type.h +++ b/drivers/net/ngbe/base/ngbe_type.h @@ -9,7 +9,7 @@ #define NGBE_LINK_UP_TIME 90 /* 9.0 Seconds */ #define NGBE_FRAME_SIZE_MAX (9728) /* Maximum frame size, +FCS */ -#define NGBE_FRAME_SIZE_DFT (1522) /* Default frame size, +FCS */ +#define NGBE_FRAME_SIZE_DFT (1518) /* Default frame size, +FCS */ #define NGBE_NUM_POOL (32) #define NGBE_PBRXSIZE_MAX 0x00080000 /* 512KB Packet Buffer */ #define NGBE_PBTXSIZE_MAX 0x00005000 /* 20KB Packet Buffer */ diff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c index df32bf64ff..1090ba9a11 100644 --- a/drivers/net/ngbe/ngbe_ethdev.c +++ b/drivers/net/ngbe/ngbe_ethdev.c @@ -2473,7 +2473,7 @@ static int ngbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) { struct ngbe_hw *hw = ngbe_dev_hw(dev); - uint32_t frame_size = mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + 4; + uint32_t frame_size = mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN; struct rte_eth_dev_data *dev_data = dev->data; /* If device is started, refuse mtu that requires the support of @@ -2486,12 +2486,8 @@ ngbe_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) return -EINVAL; } - if (hw->mode) - wr32m(hw, NGBE_FRMSZ, NGBE_FRMSZ_MAX_MASK, - NGBE_FRAME_SIZE_MAX); - else - wr32m(hw, NGBE_FRMSZ, NGBE_FRMSZ_MAX_MASK, - NGBE_FRMSZ_MAX(frame_size)); + wr32m(hw, NGBE_FRMSZ, NGBE_FRMSZ_MAX_MASK, + NGBE_FRMSZ_MAX(frame_size)); return 0; }