Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp652171pxv; Thu, 15 Jul 2021 12:31:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwNpNQId6RGBqnG0FNtHLqXUxzxO1GJ8sNkwwsIGA2oTMQKymVYSX1lpni5O1t4d6yK+bH/ X-Received: by 2002:a17:906:8252:: with SMTP id f18mr7155405ejx.261.1626377493106; Thu, 15 Jul 2021 12:31:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626377493; cv=none; d=google.com; s=arc-20160816; b=epODGnzdv5KpKJYOefpFgnR+kszqqFdkCZhTMCX7vfOy6vIqjnPH/k4sA7ubX99EAA wL+JV13VNuB+wPY3rt6SXAYX0yZQn3p2g0jGTtSlVEOiI/1cGWyuJHsnPfl13D3eGeLn sfqmBMPXrn1z2dkME+1lDEl5VFTymgwR4+Oeqss8OOrFhSdIbV5sRKw2p/LpHZnFTFqS 9bayvuCDXPpN8ce905UJ4i5TFqVWifmqe4zfQnD0VX+B0ZC5Ry6UQwHJ4hxtCmj01k9X sptGi5xT0zskwXP59W2WY1DpHJSyZUZ8e5r7HFXbH4Vc9a5fCeRKMyK4JF3axyhILyqk w2uw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/Ey9zzL/D2kddhMfBIrX4vE11RgvYzIIlKt5zNIJnlY=; b=vQxGQ+tjUQHxIs80lENSvMxaMKsMaWVSYp8qhVeX0ugd+woaWqbVgUKBj2OKhp2naj RHYyn+03CyMLf+tH1amzCuHKSLPPNuj6vopp2ahsdChaCx/Kouo2xSkXaPX5lV//YM8v FLdZLkMUsptnWTDuU6keR48yImvY1ewqo0yCaQ80lX5xjKLK8qPwEOwsbrKj2NCKqApq MNWx9wyP9tdljJ+8AacFf6bUOBJTz0juBmVtkpJbb/EeQee5ijUllrYjzNkctYynqAbG yfz2v5O53AlYaDlnIPdz+ezD4Bk3USoUyC0gUmEQ9jTCrHjfTkCQ3ryU079pkpYkeDbx zbzQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=EmbT7kBc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 2si1534870ejy.127.2021.07.15.12.31.10; Thu, 15 Jul 2021 12:31:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=EmbT7kBc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343637AbhGOT3e (ORCPT + 99 others); Thu, 15 Jul 2021 15:29:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:46430 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S243864AbhGOTKL (ORCPT ); Thu, 15 Jul 2021 15:10:11 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0D147613E7; Thu, 15 Jul 2021 19:06:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626376012; bh=NK1C+OqojIwMpGe7AJKnUxjuIRKG0Oa2NtHXQG3auq8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EmbT7kBcPhC5ealvtvJK7lK4jMoL6R8OrN+m+a3zArsRwdgPyoZzayMfMswyRDq19 cHSYawqipB0Mw6WN7/bPv5k+dgSoIUB0EkgBDwy5u0s+XoU4SaffxPaEFEsIJXL0dJ +2SXa4CUrHmI/E1gO1oODY04Watug9bvHsWuOooA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Joakim Zhang , "David S. Miller" , Sasha Levin Subject: [PATCH 5.13 089/266] net: phy: realtek: add delay to fix RXC generation issue Date: Thu, 15 Jul 2021 20:37:24 +0200 Message-Id: <20210715182629.914237282@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210715182613.933608881@linuxfoundation.org> References: <20210715182613.933608881@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joakim Zhang [ Upstream commit 6813cc8cfdaf401476e1a007cec8ae338cefa573 ] PHY will delay about 11.5ms to generate RXC clock when switching from power down to normal operation. Read/write registers would also cause RXC become unstable and stop for a while during this process. Realtek engineer suggests 15ms or more delay can workaround this issue. Signed-off-by: Joakim Zhang Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/phy/realtek.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c index 821e85a97367..7b99a3234c65 100644 --- a/drivers/net/phy/realtek.c +++ b/drivers/net/phy/realtek.c @@ -357,6 +357,19 @@ static int rtl8211f_config_init(struct phy_device *phydev) return 0; } +static int rtl821x_resume(struct phy_device *phydev) +{ + int ret; + + ret = genphy_resume(phydev); + if (ret < 0) + return ret; + + msleep(20); + + return 0; +} + static int rtl8211e_config_init(struct phy_device *phydev) { int ret = 0, oldpage; @@ -852,7 +865,7 @@ static struct phy_driver realtek_drvs[] = { .config_intr = &rtl8211f_config_intr, .handle_interrupt = rtl8211f_handle_interrupt, .suspend = genphy_suspend, - .resume = genphy_resume, + .resume = rtl821x_resume, .read_page = rtl821x_read_page, .write_page = rtl821x_write_page, }, { -- 2.30.2