From patchwork Thu Dec 14 11:31:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 178672 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp8475172dys; Thu, 14 Dec 2023 03:35:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IFSApMkgs2AE4gQBM4Jb9R80JMVDMbbIFX3tt4YQ5xTMXNJH+F/vHv0LVK2ktfFeAFhKhnl X-Received: by 2002:a17:902:d58b:b0:1d0:4be4:8dcc with SMTP id k11-20020a170902d58b00b001d04be48dccmr12207971plh.9.1702553736462; Thu, 14 Dec 2023 03:35:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702553736; cv=none; d=google.com; s=arc-20160816; b=U6W5TtlJcP8+ertre13uc2/hsox3u1fz7l35dlqcxcICWwDIVNIU9SJ3fA2iLRn3X3 ncgU9E3qoaK4EXDIWVWvAUIFKVqoisodZgB+pyR77/WHBV6rXGxKrbX+SUlVlu+dO/Bl MsOxI65NVV8XKAWErb1NGBlPsFw3cjO+sgOorBAfwBjz23jJ8prPDF28hSXKj0Yqr2ag jjmZX/LhMeduN8xV/4ks3R+P5DVoUiRRlny/RJxy86cL7cOSyKXSAIjSLcS7+OWYlxWr iqR2aRrWBZC5lMJOlgQ0+XAe49+CHJNPOL/ve18tJtHS4MyNE+Vzq3LbZwmFC4Nj7ZKb znnw== 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 :dkim-signature; bh=X0gHZD3cMjj9yW82P6ku1zzmvNbHgS+iySEVHglaLUs=; fh=+F3zNmKl1GdtaaQHdayf+Mqd3e1G3WLK7KLudAYF/QY=; b=P64u4G1obRXZ3nWiXnlTW/ELcX1YAyKbX+TwwyvIpq2mURFlaLnBzGnW2kHcTCT/Ta TgIYJ9ugKOhLY83WEXleLFJvC78yCjuBHziOAAvjhF2aVQ3Fkn3QadjyED58eCDo92x0 91SMv85TvLv41T24+I5b3LWPhO2gVJ4dBln8kiGVnbB4LOnL2R7kz4ZMaGzinBpF4VKy 8J7ytEmhz7xCCJcHEEoPC5B7V9mUVzSqnSSI+qUb0rfJ/JIE7cSAuqwG7nbuvtx3xYaS 4qattyfWIET215KX+E+7qeVq+v95anOoa7/x5HL+j4nl1T9DsMaX0SpWLGXlFm8I+7xS NdJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=ON25wB6i; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from agentk.vger.email (agentk.vger.email. [23.128.96.32]) by mx.google.com with ESMTPS id a5-20020a170902ee8500b001d36225c85csi1584094pld.191.2023.12.14.03.35.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 03:35:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 as permitted sender) client-ip=23.128.96.32; Authentication-Results: mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=ON25wB6i; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.32 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 agentk.vger.email (Postfix) with ESMTP id 2D545802648F; Thu, 14 Dec 2023 03:35:30 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443991AbjLNLfV (ORCPT + 99 others); Thu, 14 Dec 2023 06:35:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44622 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443973AbjLNLfQ (ORCPT ); Thu, 14 Dec 2023 06:35:16 -0500 Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com [IPv6:2a00:1450:4864:20::52f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 91A07113 for ; Thu, 14 Dec 2023 03:35:21 -0800 (PST) Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-54cb4fa667bso11091009a12.3 for ; Thu, 14 Dec 2023 03:35:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1702553720; x=1703158520; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=X0gHZD3cMjj9yW82P6ku1zzmvNbHgS+iySEVHglaLUs=; b=ON25wB6iif8pQ8JbWWTOsZvcVpQ1NRhji2psljlVEiyuM2D4xpRMS05hGtmrkXhy4u EkrzaiJYu5eN4NCiJOg6zkX/tpi6cZHAzhNXvADe8etauAcZRrtg3xXxP/CqfmanEoyN KEAloUs7HYU5IfJ3vACFMXyGrDTi+f5+YacsYiCPrsRRY0gc6JgYWCiXtbM7Ff2iJJcC 0tjoIw4+MVwU1LWPNsF965vloS6RziyiEWcR7PqNVwe0gEDDvZFdxj+IoPVFy6HIafYP YbPeVcX4tl8vme5MPSCWM5BmquJcv/27iweqwkmmEwhiqkxZPbR9IkHKNqLk6+9b6c4N EEgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702553720; x=1703158520; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=X0gHZD3cMjj9yW82P6ku1zzmvNbHgS+iySEVHglaLUs=; b=HYGbE4KAxfHlNw34RefYgIRlTVqfzHIEHlCtHyTB1o8IOvzM6TT2zGmKGiM1srPKdx CahqYgkgYMryV/6i0JJxaZu4HTmLKfCB9GY2kI/RXw46P3Nij79WcHkfy9KIM6yMMyh2 sUofpKqJJy6X9QV3GH2G1+Fe8ZbXkZy9enIThLCUL5gUDwAyOi+6TVBWlPSZrV/8DpEG NJnxxhaPYwE9Hmc+VBUIhn0WFo+7IcouGwi5Vt6jD9C7A6AdMHJwGW2lTxidBb2zzGa0 rjszZqfUe+6U+gIJshxZEF0Y4EGUfZ7uo99hEgTOBd4XD9AR56WFXy6lcJO9ezAqMfOJ 84nQ== X-Gm-Message-State: AOJu0YyGqA2OQYahlHP4e2AwLY8YKWKpo+fe26BnbP7t36aUxvpSQzuX AyAo5eL5YCAMagFe60Uv9lTlhA== X-Received: by 2002:a17:906:d95:b0:a19:a19b:78bc with SMTP id m21-20020a1709060d9500b00a19a19b78bcmr4403151eji.127.1702553719861; Thu, 14 Dec 2023 03:35:19 -0800 (PST) Received: from claudiu-X670E-Pro-RS.. ([82.78.167.103]) by smtp.gmail.com with ESMTPSA id vx12-20020a170907a78c00b00a1ddb5a2f7esm9290656ejc.60.2023.12.14.03.35.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 03:35:19 -0800 (PST) From: Claudiu X-Google-Original-From: Claudiu To: s.shtylyov@omp.ru, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, claudiu.beznea.uj@bp.renesas.com, yoshihiro.shimoda.uh@renesas.com, wsa+renesas@sang-engineering.com, niklas.soderlund+renesas@ragnatech.se, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, mitsuhiro.kimura.kc@renesas.com, geert+renesas@glider.be Cc: netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net 1/2] net: ravb: Wait for operation mode to be applied Date: Thu, 14 Dec 2023 13:31:36 +0200 Message-Id: <20231214113137.2450292-2-claudiu.beznea.uj@bp.renesas.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231214113137.2450292-1-claudiu.beznea.uj@bp.renesas.com> References: <20231214113137.2450292-1-claudiu.beznea.uj@bp.renesas.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,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 agentk.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 (agentk.vger.email [0.0.0.0]); Thu, 14 Dec 2023 03:35:30 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785256986703842628 X-GMAIL-MSGID: 1785256986703842628 From: Claudiu Beznea CSR.OPS bits specify the current operating mode and (according to documentation) they are updated when the operating mode change request is processed. Thus, check CSR.OPS before proceeding. Fixes: 568b3ce7a8ef ("ravb: factor out register bit twiddling code") Fixes: 0184165b2f42 ("ravb: add sleep PM suspend/resume support") Fixes: 7e09a052dc4e ("ravb: Exclude gPTP feature support for RZ/G2L") Fixes: 3e3d647715d4 ("ravb: add wake-on-lan support via magic packet") Fixes: c156633f1353 ("Renesas Ethernet AVB driver proper") Signed-off-by: Claudiu Beznea --- drivers/net/ethernet/renesas/ravb_main.c | 47 ++++++++++++++++++++---- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c index 9178f6d60e74..ce95eb5af354 100644 --- a/drivers/net/ethernet/renesas/ravb_main.c +++ b/drivers/net/ethernet/renesas/ravb_main.c @@ -683,8 +683,11 @@ static int ravb_dmac_init(struct net_device *ndev) /* Setting the control will start the AVB-DMAC process. */ ravb_modify(ndev, CCC, CCC_OPC, CCC_OPC_OPERATION); + error = ravb_wait(ndev, CSR, CSR_OPS, CSR_OPS_OPERATION); + if (error) + netdev_err(ndev, "failed to switch device to operation mode\n"); - return 0; + return error; } static void ravb_get_tx_tstamp(struct net_device *ndev) @@ -1744,6 +1747,18 @@ static inline int ravb_hook_irq(unsigned int irq, irq_handler_t handler, return error; } +static int ravb_set_reset_mode(struct net_device *ndev) +{ + int error; + + ravb_write(ndev, CCC_OPC_RESET, CCC); + error = ravb_wait(ndev, CSR, CSR_OPS, CSR_OPS_RESET); + if (error) + netdev_err(ndev, "failed to switch device to reset mode\n"); + + return error; +} + /* Network device open function for Ethernet AVB */ static int ravb_open(struct net_device *ndev) { @@ -2551,10 +2566,11 @@ static int ravb_set_gti(struct net_device *ndev) return 0; } -static void ravb_set_config_mode(struct net_device *ndev) +static int ravb_set_config_mode(struct net_device *ndev) { struct ravb_private *priv = netdev_priv(ndev); const struct ravb_hw_info *info = priv->info; + int error; if (info->gptp) { ravb_modify(ndev, CCC, CCC_OPC, CCC_OPC_CONFIG); @@ -2566,6 +2582,12 @@ static void ravb_set_config_mode(struct net_device *ndev) } else { ravb_modify(ndev, CCC, CCC_OPC, CCC_OPC_CONFIG); } + + error = ravb_wait(ndev, CSR, CSR_OPS, CSR_OPS_CONFIG); + if (error) + netdev_err(ndev, "failed to switch device to config mode\n"); + + return error; } /* Set tx and rx clock internal delay modes */ @@ -2785,7 +2807,9 @@ static int ravb_probe(struct platform_device *pdev) ndev->ethtool_ops = &ravb_ethtool_ops; /* Set AVB config mode */ - ravb_set_config_mode(ndev); + error = ravb_set_config_mode(ndev); + if (error) + goto out_disable_refclk; if (info->gptp || info->ccc_gac) { /* Set GTI value */ @@ -2893,6 +2917,7 @@ static void ravb_remove(struct platform_device *pdev) struct net_device *ndev = platform_get_drvdata(pdev); struct ravb_private *priv = netdev_priv(ndev); const struct ravb_hw_info *info = priv->info; + int error; unregister_netdev(ndev); if (info->nc_queues) @@ -2908,8 +2933,9 @@ static void ravb_remove(struct platform_device *pdev) dma_free_coherent(ndev->dev.parent, priv->desc_bat_size, priv->desc_bat, priv->desc_bat_dma); - /* Set reset mode */ - ravb_write(ndev, CCC_OPC_RESET, CCC); + error = ravb_set_reset_mode(ndev); + if (error) + netdev_err(ndev, "Failed to reset ndev\n"); clk_disable_unprepare(priv->gptp_clk); clk_disable_unprepare(priv->refclk); @@ -2991,8 +3017,11 @@ static int __maybe_unused ravb_resume(struct device *dev) int ret = 0; /* If WoL is enabled set reset mode to rearm the WoL logic */ - if (priv->wol_enabled) - ravb_write(ndev, CCC_OPC_RESET, CCC); + if (priv->wol_enabled) { + ret = ravb_set_reset_mode(ndev); + if (ret) + return ret; + } /* All register have been reset to default values. * Restore all registers which where setup at probe time and @@ -3000,7 +3029,9 @@ static int __maybe_unused ravb_resume(struct device *dev) */ /* Set AVB config mode */ - ravb_set_config_mode(ndev); + ret = ravb_set_config_mode(ndev); + if (ret) + return ret; if (info->gptp || info->ccc_gac) { /* Set GTI value */ From patchwork Thu Dec 14 11:31:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: claudiu beznea X-Patchwork-Id: 178671 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:3b04:b0:fb:cd0c:d3e with SMTP id c4csp8475115dys; Thu, 14 Dec 2023 03:35:36 -0800 (PST) X-Google-Smtp-Source: AGHT+IFb7q62Q5sFl9cxeB0QmrDMg9J6FH5ZUDUIx2gLrLkQ2W+kK9/ltuOkAm32eejhQ6UfhRA0 X-Received: by 2002:a9d:7c95:0:b0:6d9:d815:f399 with SMTP id q21-20020a9d7c95000000b006d9d815f399mr9038816otn.66.1702553736495; Thu, 14 Dec 2023 03:35:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702553736; cv=none; d=google.com; s=arc-20160816; b=G+SI/SpxSnoZ77kOvongIHgpCa23m2Rr13v5VEylwidXTKSuPRiKKryC4Qj/rd153Q 42zE+0yp0/skrhNutchLDJSTOQsDmLjzFaDPJIIFVXssFTGXy6RM1p4wIgppfErzqRhf ZWcjs+GHEAd+A1irrYZ7SNfg6p5OYQ8QYqQnj343GcoWSIa5tNfwTEjp1zQKectyrakB O0dHw3DnmOU7MH8dX5DzwF3Few6mKGT3m1gmOwCRYelD1mktV6D5pDmWfSmPQSilA7e5 FZBu1EVMHt0UmGWGzNRJUh4B4JhWEoVaSK3PmpAjoIiFpEGuRLzoYPl/eIiu7vIxT7wt OpPA== 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 :dkim-signature; bh=jKjeAY34llcGOWUq2lKYylvmKvhjwRpxdh2PzgtUzQM=; fh=+F3zNmKl1GdtaaQHdayf+Mqd3e1G3WLK7KLudAYF/QY=; b=AbiiO3mncxhLEeLdcg16ING2ZPxBYbOUU6n0HUULXeByxPCs+PGRcbCXR09H1Qc+1A TZHOF3/ont/cYf6qhNL7QcR44vO5lb7pxxzvetXrJdX/sCTJV9e2wiDmjgQT9++3l+31 hGBfitSWTepaNvnq7DzEenakE+/IAFC+grm1lqjz0No2H1K/P7E+k+ObCaJbyH2cm2Zm dS682nYBRIbYn23D6rvNmkE6Ne9EhUlIgokOtREgwb0PSzWMIm9huZtzDC6ANzRxzfQD eQAm3EpJmK1j7BfbkH3dXzqLdE9J80tFKIFFrxNm9GoDoc7t9vEssYgiZjvwBHdC0DGI l0jA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=XlBkhy2X; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id v18-20020a631512000000b005b884a11fdcsi11176948pgl.28.2023.12.14.03.35.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 03:35:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@tuxon.dev header.s=google header.b=XlBkhy2X; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 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 howler.vger.email (Postfix) with ESMTP id 0912C8369F51; Thu, 14 Dec 2023 03:35:33 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443993AbjLNLfX (ORCPT + 99 others); Thu, 14 Dec 2023 06:35:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443988AbjLNLfQ (ORCPT ); Thu, 14 Dec 2023 06:35:16 -0500 Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A19B116 for ; Thu, 14 Dec 2023 03:35:23 -0800 (PST) Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-a22f2a28c16so314487966b.0 for ; Thu, 14 Dec 2023 03:35:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuxon.dev; s=google; t=1702553721; x=1703158521; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jKjeAY34llcGOWUq2lKYylvmKvhjwRpxdh2PzgtUzQM=; b=XlBkhy2XpWw9PEY6gUXcvcKOS9DJWtbpAMhBhU++2Y0Vter51xEydZEZwK/AMP09sj VdHjisE8wFD3q/UbyArxhR9/QojwJju5Q+hHj+g7SlUBiFUhUOb5c0tGFEyrXlN3hb5O n3iIeGWN/7VoDIk0E4hCqNO0AlT9LrEs7j+ILM31SqRYsx2ltVkFPdQbzX3SxFlFssXQ h0hfUGo8n5Y9N/xGcd1XZp3HFvE7QVHftcjiLF4f5muXccPWBqpO1IBn34r3DwjTehNE 0a2dR8kxCN79/e0LzF5PWtKoCHH3hb/TlErmqGLj13aRDcvASBG9Mtbu92xupkYvxIe5 U4qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702553721; x=1703158521; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jKjeAY34llcGOWUq2lKYylvmKvhjwRpxdh2PzgtUzQM=; b=T2Fuu/CxOqQj3xi6OFSh/sCh+xfuzMN8RXCY7TNlGeFC1+zsgXtvrfNyQn2ku1xF1M u6MCcwRbAXUKn5mPSL+oPQ1JH9hZ+RuZNB3TA1C7+uI0BhH4E1RI1bv5LdRRyNe9SxrT Tj+drUTWJ+P2ox9YXPwcB4woKKdJn/GNfejmXH/c5b0lwrBaTN4KhYsaGdak5nGHyFaR sfoAjousQyyzzAdLD18yEEoeLslTk92a4l/4/ed3AOqNSUnHWHJDjIZdGKEASxinuuxH OoZvtDPOrMyVQxmw5xWSG5diGnUqG92U9owipZkpRq+0ZT1KNpYBWNIushwsxfQ9Wa6w 4Zdg== X-Gm-Message-State: AOJu0Yz+xk8EABtue2uMaOGDCqVlGFzPIHAWBPYGAiSjxWVm838DpbgA 4lrlbHH9dG89AHNpw1csklXWgQ== X-Received: by 2002:a17:907:2da1:b0:a0d:39c6:1f67 with SMTP id gt33-20020a1709072da100b00a0d39c61f67mr3996296ejc.76.1702553721371; Thu, 14 Dec 2023 03:35:21 -0800 (PST) Received: from claudiu-X670E-Pro-RS.. ([82.78.167.103]) by smtp.gmail.com with ESMTPSA id vx12-20020a170907a78c00b00a1ddb5a2f7esm9290656ejc.60.2023.12.14.03.35.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 03:35:21 -0800 (PST) From: Claudiu X-Google-Original-From: Claudiu To: s.shtylyov@omp.ru, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, claudiu.beznea.uj@bp.renesas.com, yoshihiro.shimoda.uh@renesas.com, wsa+renesas@sang-engineering.com, niklas.soderlund+renesas@ragnatech.se, biju.das.jz@bp.renesas.com, prabhakar.mahadev-lad.rj@bp.renesas.com, mitsuhiro.kimura.kc@renesas.com, geert+renesas@glider.be Cc: netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH net 2/2] net: ravb: Check that GTI loading request is done Date: Thu, 14 Dec 2023 13:31:37 +0200 Message-Id: <20231214113137.2450292-3-claudiu.beznea.uj@bp.renesas.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231214113137.2450292-1-claudiu.beznea.uj@bp.renesas.com> References: <20231214113137.2450292-1-claudiu.beznea.uj@bp.renesas.com> MIME-Version: 1.0 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, 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 howler.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 (howler.vger.email [0.0.0.0]); Thu, 14 Dec 2023 03:35:33 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785256986775908618 X-GMAIL-MSGID: 1785256986775908618 From: Claudiu Beznea Hardware manual specifies the following for GCCR.LTI bit: 0: Setting completed 1: When written: Issue a configuration request. When read: Completion of settings is pending Thus, check the completion status when setting 1 to GCCR.LTI. Fixes: 7e09a052dc4e ("ravb: Exclude gPTP feature support for RZ/G2L") Fixes: 568b3ce7a8ef ("ravb: factor out register bit twiddling code") Fixes: 0184165b2f42 ("ravb: add sleep PM suspend/resume support") Signed-off-by: Claudiu Beznea --- drivers/net/ethernet/renesas/ravb_main.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c index ce95eb5af354..1c253403a297 100644 --- a/drivers/net/ethernet/renesas/ravb_main.c +++ b/drivers/net/ethernet/renesas/ravb_main.c @@ -2819,6 +2819,10 @@ static int ravb_probe(struct platform_device *pdev) /* Request GTI loading */ ravb_modify(ndev, GCCR, GCCR_LTI, GCCR_LTI); + /* Check completion status. */ + error = ravb_wait(ndev, GCCR, GCCR_LTI, 0); + if (error) + goto out_disable_refclk; } if (info->internal_delay) { @@ -3041,6 +3045,10 @@ static int __maybe_unused ravb_resume(struct device *dev) /* Request GTI loading */ ravb_modify(ndev, GCCR, GCCR_LTI, GCCR_LTI); + /* Check completion status. */ + ret = ravb_wait(ndev, GCCR, GCCR_LTI, 0); + if (ret) + return ret; } if (info->internal_delay)