Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp3271596rdh; Mon, 27 Nov 2023 09:58:32 -0800 (PST) X-Google-Smtp-Source: AGHT+IEciq1Ej245AcE9NpDcTSpDxUnpSsJP6/xD/+MjCGO+2TpHdQ0GTR5GLhVzOntsIG23jkt9 X-Received: by 2002:aa7:88ce:0:b0:6cb:d24b:878c with SMTP id k14-20020aa788ce000000b006cbd24b878cmr13405143pff.12.1701107912194; Mon, 27 Nov 2023 09:58:32 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701107912; cv=none; d=google.com; s=arc-20160816; b=AzMje4BmdDDxEHhQHpxj+/6Lvze8Zy72xmpJV0hlQ71DamAS3BzY8w74AvmL6Kabjr HpSYkRbo5uqz2Uy0K+tDibXwy+FyHgw9SgxU2h3jnJ81ovZ4OaoCQOxK0MYhHTeUsEmG kifeJCo7JW2RbcjQjPI0eHMwOVffpLJXO3BRcagJHBk9jFzF2eFwPv1blETcgIFgL3qN QMCKXTdzvkiaktuifXLtWnndx5PKmq3IAGDRbyFe5N9GrH3nqQ77sar0X0IQc/YWAeC1 g/HPnVhZkilOyu/1vn2sxCZoK77L9VKbgTwhXT6RkbEiNNixitM1VYKJYhaZBL8YRuHa jVWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=iFU+iwQadCtBXfQjHgL6g4Ppcl+LH4+O1onmI3WWEiI=; fh=NPSbbxC/hinvv8WS72jojHQSIbT+eKXGNrqumIiG2oI=; b=g8k536pgXlUmRjv1X+zTneYpDEq6Eip+miak7g8xWDEpnK5rt1CwXPIUp2Sy9azQPm kfstV/kuffACY6zZZ3VCnwBuG6UWqyxPfja+j9XY9Vlb0VbzyCXd9DqnPaP0dgC/n/kk run127eo6nysk4Ta6WHong8yF7kXGR1LCuc8sW68LEmvdG3QOmLLHtOheoawCj1kZlaC zNnyr5eyHjoIrLSHeYU9Tdd/7IgUrcoKFY5gzOhRGOCZPPC3LmtYQKPuSKaoGNfpjKOv ISHjQ+6bum8bjwcDIL51//wSP/P9utxzPBYxE6NPLCjcakyd+zFA/PfWj4rqksGzxCT6 yiJQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from morse.vger.email (morse.vger.email. [23.128.96.31]) by mx.google.com with ESMTPS id p13-20020a635b0d000000b005b9b68add89si9962282pgb.84.2023.11.27.09.58.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 09:58:32 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) client-ip=23.128.96.31; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.31 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 887C98022095; Mon, 27 Nov 2023 09:58:29 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230403AbjK0R6L (ORCPT + 99 others); Mon, 27 Nov 2023 12:58:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39336 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230173AbjK0R6G (ORCPT ); Mon, 27 Nov 2023 12:58:06 -0500 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9A5D1A5; Mon, 27 Nov 2023 09:58:09 -0800 (PST) X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 3ARHvmApB1479202, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36506.realtek.com.tw[172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.95/5.92) with ESMTPS id 3ARHvmApB1479202 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Nov 2023 01:57:48 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXH36506.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.17; Tue, 28 Nov 2023 01:57:49 +0800 Received: from Test06-PC.realtek.com.tw (172.22.228.55) by RTEXMBS04.realtek.com.tw (172.21.6.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.7; Tue, 28 Nov 2023 01:57:48 +0800 From: ChunHao Lin To: CC: , , , , , , , , ChunHao Lin , Subject: [PATCH net 1/2] r8169: enable rtl8125b pause slot Date: Tue, 28 Nov 2023 01:57:35 +0800 Message-ID: <20231127175736.5738-2-hau@realtek.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231127175736.5738-1-hau@realtek.com> References: <20231127175736.5738-1-hau@realtek.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [172.22.228.55] X-ClientProxiedBy: RTEXH36505.realtek.com.tw (172.21.6.25) To RTEXMBS04.realtek.com.tw (172.21.6.97) X-KSE-ServerInfo: RTEXMBS04.realtek.com.tw, 9 X-KSE-AntiSpam-Interceptor-Info: fallback X-KSE-Antivirus-Interceptor-Info: fallback X-KSE-AntiSpam-Interceptor-Info: fallback X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Mon, 27 Nov 2023 09:58:29 -0800 (PST) When FIFO reach near full state, device will issue pause frame. If pause slot is enabled(set to 1), in this time, device will issue pause frame once. But if pause slot is disabled(set to 0), device will keep sending pause frames until FIFO reach near empty state. When pause slot is disabled, if there is no one to handle receive packets (ex. unexpected shutdown), device FIFO will reach near full state and keep sending pause frames. That will impact entire local area network. In this patch default enable pause slot to prevent this kind of situation. Fixes: f1bce4ad2f1c ("r8169: add support for RTL8125") Cc: stable@vger.kernel.org Signed-off-by: ChunHao Lin --- drivers/net/ethernet/realtek/r8169_main.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index 295366a85c63..473b3245754f 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -196,6 +196,7 @@ enum rtl_registers { /* No threshold before first PCI xfer */ #define RX_FIFO_THRESH (7 << RXCFG_FIFO_SHIFT) #define RX_EARLY_OFF (1 << 11) +#define RX_PAUSE_SLOT_ON (1 << 11) #define RXCFG_DMA_SHIFT 8 /* Unlimited maximum PCI burst. */ #define RX_DMA_BURST (7 << RXCFG_DMA_SHIFT) @@ -2305,9 +2306,13 @@ static void rtl_init_rxcfg(struct rtl8169_private *tp) case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_53: RTL_W32(tp, RxConfig, RX128_INT_EN | RX_MULTI_EN | RX_DMA_BURST | RX_EARLY_OFF); break; - case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_63: + case RTL_GIGA_MAC_VER_61: RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST); break; + case RTL_GIGA_MAC_VER_63: + RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST | + RX_PAUSE_SLOT_ON); + break; default: RTL_W32(tp, RxConfig, RX128_INT_EN | RX_DMA_BURST); break; -- 2.39.2