From nobody Mon Feb 9 06:05:37 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 From nobody Mon Feb 9 06:05:37 2026 Received: from mail-ej1-f65.google.com (mail-ej1-f65.google.com [209.85.218.65]) (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 B45984A1391 for ; Thu, 8 Jan 2026 12:34:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.65 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767875680; cv=none; b=T7XBDnbFvP5XlHVc5dBWL+NtzWYkGQPO5C7x9bixUvt3sYBu8iw3+uKOgCoS1z1IDxmuNj/2PBKKdD2NIj2ivHXF1xSyCioDmOV6J1aC+Kpd1qPZ4sgl+OKNdd/YkvZL9jAa+DITPuIZDwF85Ox+M4yk8b0CPSzd6Yvdkn/dwjM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767875680; c=relaxed/simple; bh=Ioajz0UfzyMamdYJMsWHGOMP6hlG5hxvK7C56mnrUXQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DNRlv18QywkoyeRCNM6AQTmtlqk40Q7MtQMbpdSJUjXHYZuqFUOdJH4CwlMlo2bTQfAKcc9lVfztTxAnSI2O5KTj8udH4b1AQ/68duKXMt/Cjl+xPOpOn8tZwtu2waKqaKLItzGtU5yW0o7T9X702yE6w3KVzgfB0B4YJAwrmnk= 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=ReWMVGkw; arc=none smtp.client-ip=209.85.218.65 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="ReWMVGkw" Received: by mail-ej1-f65.google.com with SMTP id a640c23a62f3a-b73161849e1so568504966b.2 for ; Thu, 08 Jan 2026 04:34:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767875677; x=1768480477; 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=hhjDM5J9WtkcsFGiabldnnczAfLvQzWxkQENcLrorPE=; b=ReWMVGkwoEm9XZOgNXoONJ2xS4fUzmYZuQ1qMWmGlrcJV/VaMmDmw3IP2natOxh6vy iaYVT2M4pJbH3/Aa4hsZkKMLLo83vPX3ePU6GsStgWZVbTA5UjloD2CIZV2LI9+cdMjv 6V7rfx48q408eH29TBZF1wb1CZ+06QrsJD72/Rhaz2NOlnjZaM+AiF8CYbMaQAj1cDLy w5AacnLfWoz1SM8S12bQx1Jj3b15X4h06moyQeZpMhov8Cyy9y5egD9Ersm6ic4tt/3b 5BKYInqMx+BWCbiozCi69MdxNIC5LR8wWioTuctN/Kn5YYFrhhcZnbaE03rWPuVl0dj6 qZSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767875677; x=1768480477; 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=hhjDM5J9WtkcsFGiabldnnczAfLvQzWxkQENcLrorPE=; b=Y1Q3m8xa4sCxhdYX+hf3lFXElM3Wi6UyMxsk+SoHcl/uTAWj4vLyB2JKVAaWERk+QI Sl/VyDx1/0TgX57otDQhKe+D2awAlKkp1Pzb7sgP3/Xomiam9kAsfGjVh3gxXYj09mwf wrG0N/so1Jm/94CqzhgpVGsH6Aui+aDHV/jfEmgy0f/WpOd4pWCn3r5j1XmSi8UIzQIj b2YObTFVStHx647mLnNpxdg1Fdr2+X49IZScPGKjYHLdiG0jitjtA+2darGNnyAsNf/0 SyaL1ZTnIz8A4eBzTaGtYDSRMDcLDko9quaczMtp8ns5VxARrL75XxXlI9vwuYgAgp5z Qwxg== X-Forwarded-Encrypted: i=1; AJvYcCXZ4SQjK2vP2TZdgiAyUowjccYBQI/6luyd1n2kzWQgd69yijWjLp7Pkvqzm+lM+NlqIqxECN6QSr/rl4E=@vger.kernel.org X-Gm-Message-State: AOJu0Yxthm75oG0LRx8jI8NVAkDft6QaPB5eIfWWgXtKhyIlV7HEeDir HnYSDkV2CzQS15c4Vpkljhji5nt5X6y0borwmscYziYiDXzvwMNi1UmQ X-Gm-Gg: AY/fxX4O2X78/YbIBGqOleJejTIjG+CbrhLXRnZAYZwbcpClkHd6DR6DNUEyz7btGjk W57oTNo62G9GiUZxOfl2q1ZffLmzL/r5Inuc3/ooT0i7kZY+bojX6Z570/YXLnjl6unb1sVwOzQ cfV4aXihQr3Wo4EruSK3LtO7d/WGBYatuc49C3YSPzuCq2UQ/zYI055uZT08MsNvkBNU6Dryf8M Wz0PUIilkPemEGB36vH+Bhn2vgr2I+eeUkGKHUSm5XmqHj8frGtC+nMhnhe2VTDZfHWUnh1s3VR nyY4f/Q6S6aRQ7hZOHcfWAYpjzDcNPFtthafRElaYcqlonu9uIsdlPwVH0xeXX2VKFW7DXuWRN6 WkUI5XatxhP6RJZND2+eU3da9L79BIHYNkOBzSaxBuvC2Oa5DaisJG+7hJtmz6ldMXRoXQKZE/R FD5onkUOi0r0S/TAN8UZF+m7RjTmNdNFQ/JgQ= X-Google-Smtp-Source: AGHT+IGV94ZZWtEsZ+nNCYBHcBqalCfUktYzxRB3VE3PNmsJCx4jKaDOxGHdlbz9Ti7ZNTrOwN3Mcg== X-Received: by 2002:a17:907:a4a:b0:b76:f090:777b with SMTP id a640c23a62f3a-b84451dd535mr514444066b.22.1767875676615; 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.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 04:34:36 -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 2/2] clk: renesas: rzv2h: Deassert reset on assert timeout Date: Thu, 8 Jan 2026 12:34:28 +0000 Message-ID: <20260108123433.104464-3-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 __rzv2h_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/rzv2h-cpg.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/clk/renesas/rzv2h-cpg.c b/drivers/clk/renesas/rzv2h-cp= g.c index 3f6299b9fec0..1db92284025e 100644 --- a/drivers/clk/renesas/rzv2h-cpg.c +++ b/drivers/clk/renesas/rzv2h-cpg.c @@ -1352,6 +1352,7 @@ static int __rzv2h_cpg_assert(struct reset_controller= _dev *rcdev, u32 mask =3D BIT(priv->resets[id].reset_bit); u8 monbit =3D priv->resets[id].mon_bit; u32 value =3D mask << 16; + u32 mon; int ret; =20 dev_dbg(rcdev->dev, "%s id:%ld offset:0x%x\n", @@ -1364,10 +1365,10 @@ static int __rzv2h_cpg_assert(struct reset_controll= er_dev *rcdev, reg =3D GET_RST_MON_OFFSET(priv->resets[id].mon_index); mask =3D BIT(monbit); =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 + GET_RST_OFFSET(priv->resets[id].reset_index)); } =20 --=20 2.43.0