Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp544213rwr; Thu, 27 Apr 2023 05:13:30 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4V8E0atHLDVkRPZzXgF2jk0caY5bGUlv6ZSQdCWhDsTUoKeBsHX+wm5dr5C35twCCmdHZb X-Received: by 2002:a05:6a00:4009:b0:63b:4978:a50a with SMTP id by9-20020a056a00400900b0063b4978a50amr1957300pfb.1.1682597609860; Thu, 27 Apr 2023 05:13:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682597609; cv=none; d=google.com; s=arc-20160816; b=WzSDi7jny6Hfi/pBq72DkSjydM/zAX4q+WgTRHY+qLRNm3YbF//KT+e9Hz88IG0u/s sjRLI5ZUy+C2qY7CAzBKh1HllButuglLEvIahqir7EukK87RS/pFqCy47RCda9W0C9dG 4Hgns7wbnv7FBIyOgdVTzsv1J+gM6YOhpx35lAkFRTFARHyooLJ4i9BWcojkQBjhTERi 7r6+ecABcHH/X6Z5FuQSwGDARjCt6bsWMLpc8RPdsBJcFRRIQxdtqxpz7ZF6uuqx+pah G9nMbusk9sE26ZuZR8mUAQMJSEeDDpD9We5NFAbgMFpYB1kmf8cxpAix4T7tmzU+kunA h0GA== 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 :authenticated-by; bh=3nB31euXft7IWVtZca8KSZjWbD3Li98x9loeI/npEe0=; b=kwqbdVnMpKlf9LJXr/unmaa8tqQyJv7YGxLXtBoBY2nQminJ7bpiY7+arFbzXHC1ug CxdV80keMiXRytmyLdzS1vfQMHscgh5nSzGDdnsm9uQMrQNH56laLBbyJo71DgmrGeHQ ldlk0ITo9m/qeNqZISvaoT4ySmyEkaVIz14KAVNhcmS/AevFl3sqFrdp078HPmkAXsdD 090EDWgivvBF4MiATxfx0lpv4zjxvOVNwHTwoUsa0s1n7aHBwSDlfcmnQEMov9EWq75d k+5sSQh4RacIoSHy/Yx1BrNG5gvY0WmBRV91dKbuWPM9wUriqz0YlnseXJjWcSCMEcCS W4Zw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p66-20020a625b45000000b0063d2121a7b6si18742002pfb.66.2023.04.27.05.13.15; Thu, 27 Apr 2023 05:13:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243834AbjD0MMr (ORCPT + 99 others); Thu, 27 Apr 2023 08:12:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58212 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243657AbjD0MMm (ORCPT ); Thu, 27 Apr 2023 08:12:42 -0400 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7B1474699; Thu, 27 Apr 2023 05:12:14 -0700 (PDT) Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.77 with qID 33RCBeIL2030757, 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.81/5.90) with ESMTPS id 33RCBeIL2030757 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK); Thu, 27 Apr 2023 20:11:40 +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; Thu, 27 Apr 2023 20:11:42 +0800 Received: from fc34.localdomain (172.22.228.98) 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; Thu, 27 Apr 2023 20:11:41 +0800 From: Hayes Wang To: , CC: , , , , Hayes Wang Subject: [PATCH net v2 2/3] r8152: fix the poor throughput for 2.5G devices Date: Thu, 27 Apr 2023 20:10:56 +0800 Message-ID: <20230427121057.29155-407-nic_swsd@realtek.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230427121057.29155-405-nic_swsd@realtek.com> References: <20230426122805.23301-400-nic_swsd@realtek.com> <20230427121057.29155-405-nic_swsd@realtek.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [172.22.228.98] 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=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fix the poor throughput for 2.5G devices, when changing the speed from auto mode to force mode. This patch is used to notify the MAC when the mode is changed. Fixes: 195aae321c82 ("r8152: support new chips") Signed-off-by: Hayes Wang --- drivers/net/usb/r8152.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index afd50e90d1fe..0846ceb72162 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -199,6 +199,7 @@ #define OCP_EEE_AR 0xa41a #define OCP_EEE_DATA 0xa41c #define OCP_PHY_STATUS 0xa420 +#define OCP_INTR_EN 0xa424 #define OCP_NCTL_CFG 0xa42c #define OCP_POWER_CFG 0xa430 #define OCP_EEE_CFG 0xa432 @@ -620,6 +621,9 @@ enum spd_duplex { #define PHY_STAT_LAN_ON 3 #define PHY_STAT_PWRDN 5 +/* OCP_INTR_EN */ +#define INTR_SPEED_FORCE BIT(3) + /* OCP_NCTL_CFG */ #define PGA_RETURN_EN BIT(1) @@ -7554,6 +7558,11 @@ static void r8156_hw_phy_cfg(struct r8152 *tp) ((swap_a & 0x1f) << 8) | ((swap_a >> 8) & 0x1f)); } + + /* set intr_en[3] */ + data = ocp_reg_read(tp, OCP_INTR_EN); + data |= INTR_SPEED_FORCE; + ocp_reg_write(tp, OCP_INTR_EN, data); break; default: break; @@ -7949,6 +7958,11 @@ static void r8156b_hw_phy_cfg(struct r8152 *tp) break; } + /* set intr_en[3] */ + data = ocp_reg_read(tp, OCP_INTR_EN); + data |= INTR_SPEED_FORCE; + ocp_reg_write(tp, OCP_INTR_EN, data); + if (rtl_phy_patch_request(tp, true, true)) return; -- 2.40.0