From nobody Tue Feb 10 04:16:06 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