From nobody Tue Feb 10 01:31:31 2026 Received: from mail-ej1-f67.google.com (mail-ej1-f67.google.com [209.85.218.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A7324F29BC for ; Thu, 8 Jan 2026 12:34:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.67 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767875680; cv=none; b=o4lispY8VZ/I8551n1SK4xx/229uP4QlhYRxHeY/uWhDBOp82rPASnYG2vQ9DNrK8JRAK0VGYnYClqHQPUofuSOqtfANl7CDseqW2o8QnAeriggkashNVEUf4WNyyLvo6fi6Xx+FTem5N88R4hlVCb0d8XrEismacuMuvZgKj24= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767875680; c=relaxed/simple; bh=VFIU6oRaDH9Q5I6u83icDPhX1E3PIl7DXyKWm0LGw7o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z5ojdlndwdqI8OND1wwbivBN5OeeewP0exmEmuSmnlG5G67Ch9LTH+yQ6mowG05R2kf3Nz5eNs1mpqq6sAdHlYfeO+MkdWIKfBRDi+6y0SWNBQkSlry6xILc6FHij7ctu3x8mlls/KugVP3jNjujthr8y3V7HrcLJNTU9ZuEDIY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JXrAUs97; arc=none smtp.client-ip=209.85.218.67 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JXrAUs97" Received: by mail-ej1-f67.google.com with SMTP id a640c23a62f3a-b727f452fffso281537766b.1 for ; Thu, 08 Jan 2026 04:34:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767875676; x=1768480476; 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=fWpdF/L1lGPO4cNpY+tbEjaN0of/AygjMtoXE8dzuSc=; b=JXrAUs97wMSdFRyYng+BqDMx8QmizXXQY1Iv8PI6lFAM317xdY/vWE0Ve85ILLasCd 04doTZxbw5CxEsfh5AOHj7YwMZbpf5QPXVU23YxEbTkPWQOHYKQ9jl8ulewJRz4ve0/z PAAda5OPSBIFd9vmgIsV4AZouIKUc+HEr+qVgrnkp5hq+MsbPzShrsInSVc281BSrdUZ oQkPSvuH2poaEg5UoFAisQouAcikcsa/qNlyX3UKxBaLBDBixXSQDza8YuyLvXb1TQqi L4wGq0ITOYF0MWbVCpd3/I4VpubwU3JjR2+gssy17+usIUCp1/Nikgz8Zc84beUshQJn rHuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767875676; x=1768480476; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fWpdF/L1lGPO4cNpY+tbEjaN0of/AygjMtoXE8dzuSc=; b=v9ciyIyvRMkwGs0A+U6lRt5Lj38iEO3LdK4sEBl7aiBweG+6R8+RfhgLAhQh01UOoS gRNWKqndktlKjYK3iCE9feKUWZu/+EyyjVi2QwruaEBJXMwHR8MLn51rXXVLMDgDdszg rXf6ey3Idkx5gn1i0c7aEgphf9g9R29TDruf4wGpM6zu4W03SwdQiSRRJ/7OW94yej75 YF6VWzzJrheMb3PSN6/UPZfEehHCcdA9A9mCNxitt3BCbyi1pT99pKCNWSLbbeKGbKhD 62jRM2V1QP0ADYIvgOCvrR+sip9fUsjNdLfgfwOgGd8Uf1Wnh8YI5N4j0TlnS9AEe8Ti RL3A== X-Forwarded-Encrypted: i=1; AJvYcCX6/QCSlRMiAr1bMo5g1k1hBModFtUzqR8Bq3XWModn4VwfaNTen13qpAd/OADJEyeVBzFJM9xgIalFqFM=@vger.kernel.org X-Gm-Message-State: AOJu0YyZP4ApTuNIw4j1KFIJjVRBgoHoYukVr2NLKXHJZkMGGURrRr8J GP0ttzwt8UKNi6PPGVUmc0t2X2jInTph/2DFCDPz3H6Yw0LvQYAgYe5C X-Gm-Gg: AY/fxX4h0WOpoIjTMqCXM6gI+W68aN3u7ItV/OPd86pWu4SCjmNuR59u5vJZdVnm0OG Uk+NsgHry7l+AUQUvPDeAHp/0QMwbm/z0oWuwv3D7jm3oWz0tigCqqAIVCla2CpIMpLmZuF1gWy Yn/FZ08kV9jksCDRCR9BvR3rHUARvZA1gRxdlIGFX0i3BzAmwAF7oW+3GKTcsNZcNfcorFKbEmB 72+OK+uSGl+B5YwBh6VU1+XbCc3K+JxhA60/WFQH79D/rxRXkCkGRZdgHy+3Z9vE9pHQBNvx7IN BEbluSV4nhj1JiWslQb63MpV3omeKdQuvdFnJ4QjKQN/WeojVbYv7nOz/jSqgbwYFC9AzUezSgv 6MjZ/TJlOyPA8NBB15ZkgQOvTsKndO69RsQdVbteE0XNLra9CmWuK99kuyYK2ISy6HsfCaUYTTG WNVYRyaQnM+5zs8nbC8nVqLw7XDXl8Dk8402Y= X-Google-Smtp-Source: AGHT+IGig9B7upsLQy2U4wXWc33e3+oUXUybZoUQZ8HJCrrwThoX1DnTNrMbMy5YFQG+q8WoWyq+OQ== X-Received: by 2002:a17:906:ef0c:b0:b71:ea7c:e501 with SMTP id a640c23a62f3a-b8444c593c2mr701325766b.4.1767875676040; Thu, 08 Jan 2026 04:34:36 -0800 (PST) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:a172:15fe:21c8:edf5]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b842a56db21sm780412166b.71.2026.01.08.04.34.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 04:34:35 -0800 (PST) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd Cc: Biju Das , linux-renesas-soc@vger.kernel.org, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, Prabhakar Mahadev Lad , Biju Das Subject: [PATCH v2 1/2] clk: renesas: rzg2l: Deassert reset on assert timeout Date: Thu, 8 Jan 2026 12:34:27 +0000 Message-ID: <20260108123433.104464-2-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260108123433.104464-1-biju.das.jz@bp.renesas.com> References: <20260108123433.104464-1-biju.das.jz@bp.renesas.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Biju Das If the assert() fails due to timeout error, set the reset register bit back to deasserted state. This change is needed especially for handling assert error in suspend() callback that expect the device to be in operational state in case of failure. Signed-off-by: Biju Das Reviewed-by: Geert Uytterhoeven --- v1->v2: * Added the variable "mon" in __rzg2l_cpg_assert() and used in readl_poll_timeout_atomic() instead of reusing "value". * Dropped the assert check in error path and simplified value using xor. * Added Rb tag from Geert. --- drivers/clk/renesas/rzg2l-cpg.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cp= g.c index 0bcf64b152e0..f670c6408ea1 100644 --- a/drivers/clk/renesas/rzg2l-cpg.c +++ b/drivers/clk/renesas/rzg2l-cpg.c @@ -1647,6 +1647,7 @@ static int __rzg2l_cpg_assert(struct reset_controller= _dev *rcdev, u32 mask =3D BIT(info->resets[id].bit); s8 monbit =3D info->resets[id].monbit; u32 value =3D mask << 16; + u32 mon; int ret; =20 dev_dbg(rcdev->dev, "%s id:%ld offset:0x%x\n", @@ -1667,10 +1668,10 @@ static int __rzg2l_cpg_assert(struct reset_controll= er_dev *rcdev, return 0; } =20 - ret =3D readl_poll_timeout_atomic(priv->base + reg, value, - assert =3D=3D !!(value & mask), 10, 200); - if (ret && !assert) { - value =3D mask << 16; + ret =3D readl_poll_timeout_atomic(priv->base + reg, mon, + assert =3D=3D !!(mon & mask), 10, 200); + if (ret) { + value ^=3D mask; writel(value, priv->base + CLK_RST_R(info->resets[id].off)); } =20 --=20 2.43.0