Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp4012272ybl; Mon, 3 Feb 2020 10:49:44 -0800 (PST) X-Google-Smtp-Source: APXvYqwzJUprEaDLu6V91qw4CZRL1yjI7/naz0fqDtvE+/UQfRndm4kdCnja3Y8K6kkPt+Z35Hn8 X-Received: by 2002:aca:ebc3:: with SMTP id j186mr299671oih.15.1580755784644; Mon, 03 Feb 2020 10:49:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580755784; cv=none; d=google.com; s=arc-20160816; b=wPspjwyg0ftMkkSJUejeZ1eHJM6z3dkUhlSFyQQtQhlJAsXHazoflp2Mjndn5O9Qc5 HbHWeflEQBuzkNnUgifAh/HXazhh29nr+n+uXpMDkc7uD+4HtKti0vyf5Eok9uxf5t5+ U28ZieAazIVRlrfe6dM4nW0ptlAyiAnce30y3gbONfqQp/i2OfRMckxbiFsiczWUDHUO bZE4SBp7LpYgduwY41PudNKyfUVTRNmRrIVK+sQ2VK/32FcFUNmGeyt7TABVLLTwF9p1 ka9BWwuKaTLYT6IN576Z2z7R799bvmW2HoI4DRC0P9DsEME3A+di/WzyxvVMAKn1+xfJ eoyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=BYi276C9pdzY1wNGPbs/uvlqYdMQzb1M5c+14dTtvqw=; b=JviUzAYEUn2ji4r8DyreC7fXlkFgSq8eR14r2cxT6qLFUZ9ODniLdzKs4G6jymhI2G uJuW6jUlox99108V2XO0etDg5qajk0ye4dRfz5x/y06Nf3ar5a0fqM/FKjeAkuaSmFOE FF2oniLdsfsI/xX00fvm7Z3XfqRCa1UF1Ik8uHRi+9B1j8VEbALbEazCFoZ6LBEXKhcu XZPkIfzTV0W5I+rjd18kpGr89vXINqzkeo6UQjCT0HsUIzIvOhFXxNXezTdMiKljZtdg PqP68QD0eHZpQVW38DU+uWHIJs2Cqbi0ryPCCZehj0ezxPmFtYwBtdbRt9RVAzaYQCBR 93kQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=didrrbQN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v9si8435189oie.22.2020.02.03.10.49.32; Mon, 03 Feb 2020 10:49:44 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=didrrbQN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731217AbgBCQgq (ORCPT + 99 others); Mon, 3 Feb 2020 11:36:46 -0500 Received: from mail.kernel.org ([198.145.29.99]:52120 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727746AbgBCQgo (ORCPT ); Mon, 3 Feb 2020 11:36:44 -0500 Received: from localhost (unknown [104.132.45.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E17E82087E; Mon, 3 Feb 2020 16:36:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1580747804; bh=GeOEc8lU5kM05tGC4M3rSUXZQqWtiIyHarYETVBYwQw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=didrrbQNyID2Cu0CoS1zp0NUIlpgMHw+P4a2tNV2/wrFqEVumg5GWgINM2cy7+AgM kJABYJwZ/Aib9ITOrsAwWPATgzJM6DP1isxLJ3oFz+68ObIuNcPO0IYwb8Hu5HKcen bfQOv6zu5hoSrCl3PYR++NWvwIuqdbvisWHA5Ru0= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hayes Wang , "David S. Miller" , Sasha Levin Subject: [PATCH 5.4 77/90] r8152: Disable PLA MCU clock speed down Date: Mon, 3 Feb 2020 16:20:20 +0000 Message-Id: <20200203161926.657764538@linuxfoundation.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200203161917.612554987@linuxfoundation.org> References: <20200203161917.612554987@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hayes Wang [ Upstream commit 08997b5eec08a2c29367f19a74abdea54b299406 ] PLA MCU clock speed down could only be enabled when tx/rx are disabled. Otherwise, the packet loss may occur. Signed-off-by: Hayes Wang Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/usb/r8152.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index debab2c27f638..2d3374a373f83 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -310,6 +310,7 @@ #define MAC_CLK_SPDWN_EN BIT(15) /* PLA_MAC_PWR_CTRL3 */ +#define PLA_MCU_SPDWN_EN BIT(14) #define PKT_AVAIL_SPDWN_EN 0x0100 #define SUSPEND_SPDWN_EN 0x0004 #define U1U2_SPDWN_EN 0x0002 @@ -4042,6 +4043,8 @@ static void rtl8153_down(struct r8152 *tp) static void rtl8153b_up(struct r8152 *tp) { + u32 ocp_data; + if (test_bit(RTL8152_UNPLUG, &tp->flags)) return; @@ -4052,17 +4055,27 @@ static void rtl8153b_up(struct r8152 *tp) r8153_first_init(tp); ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_B); + ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3); + ocp_data &= ~PLA_MCU_SPDWN_EN; + ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, ocp_data); + r8153_aldps_en(tp, true); r8153b_u1u2en(tp, true); } static void rtl8153b_down(struct r8152 *tp) { + u32 ocp_data; + if (test_bit(RTL8152_UNPLUG, &tp->flags)) { rtl_drop_queued_tx(tp); return; } + ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3); + ocp_data |= PLA_MCU_SPDWN_EN; + ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, ocp_data); + r8153b_u1u2en(tp, false); r8153_u2p3en(tp, false); r8153b_power_cut_en(tp, false); @@ -4523,6 +4536,10 @@ static void r8153b_init(struct r8152 *tp) ocp_data |= MAC_CLK_SPDWN_EN; ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL2, ocp_data); + ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3); + ocp_data &= ~PLA_MCU_SPDWN_EN; + ocp_write_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3, ocp_data); + set_bit(GREEN_ETHERNET, &tp->flags); /* rx aggregation */ -- 2.20.1