From nobody Sat Oct 4 05:02:35 2025 Received: from TYVP286CU001.outbound.protection.outlook.com (mail-japaneastazon11011023.outbound.protection.outlook.com [52.101.125.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 674682DECCE; Wed, 20 Aug 2025 10:05:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.125.23 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755684305; cv=fail; b=PPn85ThjmrxfG34iu/LvHUB3pq9H+OFTahbOKw7GB+VXoPeEelnOiGoEA4uzRND7KXkKPQ6c3UnBYXTkv2HcxkEAK8rMnzCPOSDnarmvm3QK2+JPMXrAuwOQMHhPZ/YCqsjgFKfXHENW2iqU48TY714hkjn24kiw9RYw6M01Voc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755684305; c=relaxed/simple; bh=gjGvUhl57ujm3+pXkulVmpvBfaofITbLzMHhBUuznM0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Ph2M4lfkXzNCBVfDgUQIllbhsfaFpMtg596jXH2VkU2FWnRy4Z9VEUg+cwXdEvPQOhjt8iwPcCf9OaRv4Sz09mBJA3kPL8cO6WM1e0RtLAN+x1ipeYgLSzaf4oXWQAr0r6RSmeaBDMbvkevI6zCYsbu4BDZgfTDGlydyv5RzIFM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=p4QYTo0X; arc=fail smtp.client-ip=52.101.125.23 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="p4QYTo0X" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=feiv+zZ9BgfslzJGCfpBZanq1jrQ9yzdzwiHpl2XEQ11sW+moHcZ8OCA0y7xdvxm+e9Sp0nxZo01EVV+wwmXQdROt9dC2arTackx7D4YOvPC2xAxBbiyaMOgT8crcrt13h+L3lShcqAhbWei6w9LFIRjqawRu2K6IBkMqVqjXAP9G2g2XT9JxyZp/MYFYR0tKbZf7K3HdZQxVRDxEjgEEwfpIbp7+rtc81csLTBLX2ubvYIzxsck1CsY0p23c+umjQsV6Mm08fASBi3S1TBDqeq6sIAGIkQZybRjMJ6DDV3zssTcbY3qnAtjiO9WgIastyM+g+MYK3lOZh20Tsoc2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lJzfe4NoJGfLX9McnGX0inxGLkZsxS6oyZFh1AQz9OI=; b=aJx+0P+oSrbBmngT1q2uDU4MDIlNz5mhjSCWUVwEoCZ8DewE8+Tl0V9EiPoa8mrcV3ys6C3ACeTBZ573x7049I9MiR2Lwq2xy8ZYh4kl2BzM4KM1dmLbajpmSLbzEI6NTyBUJrZ9gFDBLXJ7Y8C4/tONdgzWmwl2lrfPX5bD+6OoeM+/gkQw8WomtwlJJuKr5xSbfE3ryVSWd5nTjmo8AYMGOHRqsDN4vjG+DwNhwcd+YR/06uPxE7k/AzZDl+vR1QyPWMJR0wm6q1Y19jqYIw9atOVviA0QCCd7DGqrG8jmRLxl8ZfHD0qpGiQCJe+4Fu7AffNkRfYtHKlrB19wEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lJzfe4NoJGfLX9McnGX0inxGLkZsxS6oyZFh1AQz9OI=; b=p4QYTo0XirTg0g2vLybwCtFeAA5vBMF8gZcnfESEqwhO/C6N7tRnZJJKRKuzxBZuwfMx/b1K0In4Q4FTwtD4lQTZ8ierU5eLfkCExTAN+sFg8yh6Ctd4cn3Ui5/LBznERvZJep8Pnbrh0dzY46F06rn7HzaapZ+olTUv77f/HaE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from TYCPR01MB11947.jpnprd01.prod.outlook.com (2603:1096:400:3e1::6) by TYCPR01MB8109.jpnprd01.prod.outlook.com (2603:1096:400:11e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.13; Wed, 20 Aug 2025 10:05:00 +0000 Received: from TYCPR01MB11947.jpnprd01.prod.outlook.com ([fe80::63d8:fff3:8390:8d31]) by TYCPR01MB11947.jpnprd01.prod.outlook.com ([fe80::63d8:fff3:8390:8d31%5]) with mapi id 15.20.9031.023; Wed, 20 Aug 2025 10:05:00 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, biju.das.jz@bp.renesas.com, Tommaso Merciai , Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] clk: renesas: rzg2l: Simplify rzg2l_cpg_assert() and rzg2l_cpg_deassert() Date: Wed, 20 Aug 2025 12:04:22 +0200 Message-ID: <20250820100428.233913-2-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250820100428.233913-1-tommaso.merciai.xr@bp.renesas.com> References: <20250820100428.233913-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR1P264CA0182.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:58::18) To TYCPR01MB11947.jpnprd01.prod.outlook.com (2603:1096:400:3e1::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB11947:EE_|TYCPR01MB8109:EE_ X-MS-Office365-Filtering-Correlation-Id: c8732884-09f2-49d7-e45e-08dddfd10646 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?F/UJCWDNs0anPNiUB+XmPMFzRUxc+MolJme/nmPeVPOCv0EYzd0t6pA8XTvo?= =?us-ascii?Q?4HOdlEI12D8l07ZjzqzcVSUhaOV4hFQtve41ibcW+6nKflQExgShSh16G67D?= =?us-ascii?Q?ENM6UY+wzvrTCzaX3RevPIU/SiLHDNIkFy8UAIk4eQpNJFjvTsspp0gzr7AX?= =?us-ascii?Q?FTILW1Na3VKiykPiIKfIEOUVVfBWgAcXBRElrM9AEzkMq1mXQuZ33s9cGiih?= =?us-ascii?Q?zPIHh9e7Cts2nK/7xiJBFQqUnJBDqTGHrAXpwZbjdlvNIUM5m6MxUoxrngEF?= =?us-ascii?Q?yDnxlc6QL8+umX0n8rh7Kik81EM9rm9UI0W7FgMdyvM7casc7kjolHj05cu2?= =?us-ascii?Q?UI3D2IlZgqL7XL6HOXcFlj6Gqq0Z+9BgBdhXaBjAzztERzgn+UIOFeXLx1Th?= =?us-ascii?Q?q/19b/5ppYl8Uk7C+oyPtIrxNEdEbfQBarexjNqkjULymNmrR81ErVv8mNE2?= =?us-ascii?Q?zMnpbpsiPfWcNJzPBDV6Ii7MmXolG0ekebCRVI4MQIaYPaw97bK23DGFxZJE?= =?us-ascii?Q?Sx0jTsxyCDGdNdYfDDS3N09LmVKITMOLOKgbHSLHBNTG4hBbwZrEVqt+Iy/F?= =?us-ascii?Q?kbrKbzNM6DONUysMDtjsp9ZA6bs3iXcjvTbOZ74Enq2ArwWrUjYNOM5jqey4?= =?us-ascii?Q?stcY/atgF33QAGjmmsoOEOD1oJFDQvkXDoCdmS+XFhX+tqQTYLV3OfJOX2w2?= =?us-ascii?Q?rSyO4LUUDACiaJpYHsHL079ctAAe2OAbgfAkc+yAuhs5FdEH6MSh/iFQ6/E0?= =?us-ascii?Q?btbtQc+aEpHL9GNhsOgJzBbkhGN3OzjxxRxxIvirzHkU0sNbslLLzmcdOHWV?= =?us-ascii?Q?FI5HvPe7TzNNzJgQsNwekqzV6qV1rik2eB7y0GX9kEaS2FEIrRyOGiKyfgZa?= =?us-ascii?Q?J/XlIJ+hmJADSpcmcOGXI+DiAMYtD5QRF1ksmCvu18j2lYg4L4xpxTS7tAKw?= =?us-ascii?Q?HqzYtjffvXVWVxCVXhP/krtZ4KnfrMyd5w73mKpq4S5uhaOg6CnEYkM/G0YB?= =?us-ascii?Q?kj93cHo+bxKZLotmKENZSB9/cDqiBXxGygHOcg+BiVxFPb4XI/9uzwiW8jYV?= =?us-ascii?Q?W1inDQ1BgFNscy/S5qDp2iTXr1vHJP9wRdc3vFc0kgVIyxGsV56FX1X9uD0R?= =?us-ascii?Q?0g3y8oqokLmzdpczQOVvuL+2B7QMkxUCxv7IOxxAyEWxPFKPwLbMa2Xt73sd?= =?us-ascii?Q?rFXYD20Joq1wfv0JJMggvqc2zp3Xg0XXAGUnQFUGx8LVUkzqg/ol3ljssPrZ?= =?us-ascii?Q?m2QkWb25gikzHKCvRIs6GlRadrP+7rIP3TiTbCHSwX3VSzxD1P41LkGfLvvf?= =?us-ascii?Q?9zJboeIWwxObvpBLz43et0g8W3j3h1LP9grhct+zX8xPm6RhwkAZunVbax0S?= =?us-ascii?Q?qY2JBZMUE3x2O9mX60pd5RT+Bk2kNT0pk8FQlXBJtDZuFN81VT5/ZyZZDo51?= =?us-ascii?Q?blzmHI5d9F/piKtgsR1BAGt9HPT3wwhyPkAmkJx5j+FZXI36/4XQcg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB11947.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yEg2lWnnBlVTbUpbvnNyF1OMDhyAoh37laE/LsbJsATcGoGBKsXHeXcgzPb9?= =?us-ascii?Q?ye6pnUTS6JyucxTpt6ki1a8ucMRLX9c7H/7NGFZ4n1Y/UUepDiJCHEUHUwRh?= =?us-ascii?Q?QKOGZb8F8Uj18N641qZXbwBUnkmGj8VHuwsWfQYZ4hGXumilbsc/0e4p3iWq?= =?us-ascii?Q?vunw5TyMh0bp7a9EKrYibf0hzeLd6CG3M3cuxp+NiT3eWyJzKpcRiBbd64P5?= =?us-ascii?Q?NmDoV2KPFuQlzx3QdkKvz9TQPQhZoIRDD02/kO6yuaS653Ru++ptNLcqH5Jp?= =?us-ascii?Q?+WrAugXHQxs5YtUOQWHDyFT1t5+9L2WZPbF6/yZn2vypG/aRiGzO6uGSR3Y1?= =?us-ascii?Q?do+UPGQjRkoPonCMFXNu5YRcU2byO5Ox9qWNIUavpJ+xpupFMkcwGP30rupA?= =?us-ascii?Q?eU7tza4UApeOyS6G0LgwVSijwYgveqbninP6p+yjtrjaT4UX9Adjc5eQFJ4a?= =?us-ascii?Q?0Pn99yRls0Dy9xwsd6sQN6FAhwM4b0p0XtduUv1j/wpvU/fV8k3or7IBzYEh?= =?us-ascii?Q?cWnQAwiZHCCP6R0hVoZbGrjmCzwZ41jmYSROeiYkIeDNX0UFc8W03FLbIDpE?= =?us-ascii?Q?N16RNio/YYXES9BIhqz3mzbqHkke2U5QePxrBiJavBl82TYMeakSBG4jlgfV?= =?us-ascii?Q?ggGf/Mp0wznS24HwH9UCmw6gJSChQfn38PnFW5s6dm2kgniCpvSvahtr4TDQ?= =?us-ascii?Q?j/iZ53crI2WA/eD3WAfHSgViG5jbMLWfEW/78VojxAh6kicEBg1W8dKyY5HJ?= =?us-ascii?Q?okJSCb66v1NK09T3pOdrpqakRHVJMuPiizPeJqZha+svuXjNaB4sqa1Dg7W0?= =?us-ascii?Q?NbzQ0csO5SRDduGv/GhvDDHdjv+dVe/4ygGzlw7hRvYFe4OJSlBYHDQwkMDC?= =?us-ascii?Q?rtHWvKrv9kADoeGxO9fAB8gCxnOgtMFdcISv3rgQbutgjHeOkzxw2kTd9jQL?= =?us-ascii?Q?Fzqpjey2AzKYhw9AXpf0+1vzoojiJUnaehPJCEGm6KrcHwQ0a+dJhaSEJBEb?= =?us-ascii?Q?o639BFz/DeXJiwN9m+dh/+/QOIoWuNEHlwOAU4WiZ7gVGU2u5tq/nA2FC8TT?= =?us-ascii?Q?IDWi45yE0o2o5699jPYVLxpSsO4sYyABo+bmUvZBdNat//qpx4kIknvFjN7a?= =?us-ascii?Q?Wp194pm0cI+F7P/7Dy/V9U3WgIjVyEY7LJxK6quoha+UseD1UK4Pnvbuv8bJ?= =?us-ascii?Q?l6TQpQQTnY4GHsR3r7HQBb1Sj00NUzwrYmZvDM6afawVJYkgsRwYmCNSj2f8?= =?us-ascii?Q?gZihokyxttuxafPwy+m3sdB+wJNwmWncvl68214nfWHFUvO+m/tdKinncdEx?= =?us-ascii?Q?NOPmrmHbgULjHv+rugh/64/UH8jkQtJ0KubyPZH+nErMX0EtW17mbb+0vhrS?= =?us-ascii?Q?/w4Mbjka8l7vIyPMkI47Qwcu+UgaU3ljjlc0PAg63qFwZxGzTOp6n2yg/Y2v?= =?us-ascii?Q?D6hbX5DaIRDLm22qAZSfTjiYdgzZy/AB7KAdGjrmBnkmUaBfajVh2Hjc0I1B?= =?us-ascii?Q?LFF5IyelkS1aH8VSt1wV9VA8ud9AMtxmjdeDOnR127KMzJhMNFX7wXrvUBaS?= =?us-ascii?Q?QMjNevxKJmWkIREx2XZiTOQbNx3uwonjcL4KKRo8/FsscDlu4v1zGoBv1RNY?= =?us-ascii?Q?6NG+jfwSTndrFIlOfJ5GdPY=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8732884-09f2-49d7-e45e-08dddfd10646 X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB11947.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2025 10:05:00.6106 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4HGGc19z1UY3nh/QzGRp+20Ql+1LxriooNpCO8CsBnx6xgom+Q2dpMWc/FN7Pb+fREVW5XY9IDSUEmMINIKrSIAZEGEXaAJkcUKpvjQjWeg5hnHlDGXqcka+LNVx0QDw X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB8109 Content-Type: text/plain; charset="utf-8" Combine common code from rzg2l_cpg_assert() and rzg2l_cpg_deassert() into a new __rzg2l_cpg_assert() helper to avoid code duplication. This reduces maintenance effort and improves code clarity. Signed-off-by: Tommaso Merciai Reviewed-by: Geert Uytterhoeven --- drivers/clk/renesas/rzg2l-cpg.c | 45 ++++++++++++--------------------- 1 file changed, 16 insertions(+), 29 deletions(-) diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cp= g.c index b508823f9723..1c648c0baf7c 100644 --- a/drivers/clk/renesas/rzg2l-cpg.c +++ b/drivers/clk/renesas/rzg2l-cpg.c @@ -1638,8 +1638,8 @@ rzg2l_cpg_register_mod_clk(const struct rzg2l_mod_clk= *mod, =20 #define rcdev_to_priv(x) container_of(x, struct rzg2l_cpg_priv, rcdev) =20 -static int rzg2l_cpg_assert(struct reset_controller_dev *rcdev, - unsigned long id) +static int __rzg2l_cpg_assert(struct reset_controller_dev *rcdev, + unsigned long id, bool assert) { struct rzg2l_cpg_priv *priv =3D rcdev_to_priv(rcdev); const struct rzg2l_cpg_info *info =3D priv->info; @@ -1647,9 +1647,13 @@ 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; + int ret; =20 - dev_dbg(rcdev->dev, "assert id:%ld offset:0x%x\n", id, CLK_RST_R(reg)); + dev_dbg(rcdev->dev, "%s id:%ld offset:0x%x\n", + assert ? "assert" : "deassert", id, CLK_RST_R(reg)); =20 + if (!assert) + value |=3D mask; writel(value, priv->base + CLK_RST_R(reg)); =20 if (info->has_clk_mon_regs) { @@ -1664,37 +1668,20 @@ static int rzg2l_cpg_assert(struct reset_controller= _dev *rcdev, } =20 return readl_poll_timeout_atomic(priv->base + reg, value, - value & mask, 10, 200); + assert ? (value & mask) : !(value & mask), + 10, 200); +} + +static int rzg2l_cpg_assert(struct reset_controller_dev *rcdev, + unsigned long id) +{ + return __rzg2l_cpg_assert(rcdev, id, true); } =20 static int rzg2l_cpg_deassert(struct reset_controller_dev *rcdev, unsigned long id) { - struct rzg2l_cpg_priv *priv =3D rcdev_to_priv(rcdev); - const struct rzg2l_cpg_info *info =3D priv->info; - unsigned int reg =3D info->resets[id].off; - u32 mask =3D BIT(info->resets[id].bit); - s8 monbit =3D info->resets[id].monbit; - u32 value =3D (mask << 16) | mask; - - dev_dbg(rcdev->dev, "deassert id:%ld offset:0x%x\n", id, - CLK_RST_R(reg)); - - writel(value, priv->base + CLK_RST_R(reg)); - - if (info->has_clk_mon_regs) { - reg =3D CLK_MRST_R(reg); - } else if (monbit >=3D 0) { - reg =3D CPG_RST_MON; - mask =3D BIT(monbit); - } else { - /* Wait for at least one cycle of the RCLK clock (@ ca. 32 kHz) */ - udelay(35); - return 0; - } - - return readl_poll_timeout_atomic(priv->base + reg, value, - !(value & mask), 10, 200); + return __rzg2l_cpg_assert(rcdev, id, false); } =20 static int rzg2l_cpg_reset(struct reset_controller_dev *rcdev, --=20 2.43.0 From nobody Sat Oct 4 05:02:35 2025 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010048.outbound.protection.outlook.com [52.101.228.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66A512E0937; Wed, 20 Aug 2025 10:05:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755684309; cv=fail; b=QxFvsi9LfEfCZxq+HjdtNnclSK8aj45f9ceifIHXzDeb65pwi1HYSShQqKEVQxZyOUCsn3qWj9BXEhCxio//ZveGVa9zcjLpmB4gwTppSd2d81pvbU2Q3UQSg8V/KSrMUj0le6QmDLGRmt0qDaCTxsdxEZFAdJE0gJP6xBcNST8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755684309; c=relaxed/simple; bh=9DIB9lRJ5fflTbpwB0//qnXFaHOphzAkMLBMkgR3fWQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Q6o95YpWYUorlHsL9mopPDOqbSbtsYHSPQjGX0TPEkZjbzzUI/MkXc8yV4jq74OXpCi7HHEz00/Mo9Zzuc1SpCKs9LWjzZr79gwvYq+RLP1xSl73YEsyiGvNyjdWC3USaNiRNNWkAbviQTArhN76pH/0kOv5KoJ7YYPvRuiD+LA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=hZdLXr5S; arc=fail smtp.client-ip=52.101.228.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="hZdLXr5S" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=kD1XYNuf6c51NHbBduEB0f44RrF375xk7hUILfPE3AZuC+FE6vEueZkfDR97ITtXnqN51qSlXIw1sf/tPH4yFmWurA0yRbHx2QNO6e2TMKU5cdGUxJIuxO1pb7ZJdGNgbbIB/m0nohLGk4twIiNpLtreqhMUU7IrpHGmPqk/8nmqevdxBU4s8IYrhzB5qcL+kh/xPiGC49d0U70JhN2jkrAcjSXJ70F1Bpng+ST60q0rXQgYZiBL7R6SONVqt00MXW0jgR7hBTD7a1GSX6FnVNBv5pqaEIX43LizvqN5C/Ix2TMR78Z44D5cytZyMPWAhFPZOShxkh+vxSVxPW8VcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=F9dlC6o0TQgMP5Dm2LuIe9GDHBc+l4moqU7iI7l9InA=; b=rRRMuuqyMVGEJx3Svjn4WHr/VdgTqOLghuvZ0XfPWDbPDrFpRTidzKZFBtDejky4ygSXSDhDffgLOcvDwI3GCv7YisDKeEzRSsjFrQwR9flcFGI/rr5Z6VEem6g/cOE+IckcSxFcnBcZN+yloZWvTMl93kINBf+kykY/9cW2M0YVbXufjS6MIr+H225V0xG6ZAnleupy5CJBedrRTqt4Pj+sQqrtpkLtlTuehHx+/ylwePevV5Flyoyv1tf5zpwFDDRbLfMBlVk7w1bJW7SxTliI9usQ/B+MZGopicX43NWALHoQ2Uacr5e6X96ESl+hxauKDZymFwJXdS6eha7Y2A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=F9dlC6o0TQgMP5Dm2LuIe9GDHBc+l4moqU7iI7l9InA=; b=hZdLXr5SLiQ+Xj7Et3x4f0egHKKqCmT1PoozbsQB3x7EL9AugqwoR1r79jmIoNlBabrZ0FGViQ3/FSPZMYt9ll47Hr5yk5jc+lqggJDbPLvQPcT0cR9cwZyCSpfBVEozyCp6liORDW5JOya4D3LfWA88K71Z0a4+u7jbq7nUFq4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from TYCPR01MB11947.jpnprd01.prod.outlook.com (2603:1096:400:3e1::6) by TYCPR01MB8109.jpnprd01.prod.outlook.com (2603:1096:400:11e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.13; Wed, 20 Aug 2025 10:05:05 +0000 Received: from TYCPR01MB11947.jpnprd01.prod.outlook.com ([fe80::63d8:fff3:8390:8d31]) by TYCPR01MB11947.jpnprd01.prod.outlook.com ([fe80::63d8:fff3:8390:8d31%5]) with mapi id 15.20.9031.023; Wed, 20 Aug 2025 10:05:05 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, biju.das.jz@bp.renesas.com, Tommaso Merciai , Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] clk: renesas: rzg2l: Re-assert reset on deassert timeout Date: Wed, 20 Aug 2025 12:04:23 +0200 Message-ID: <20250820100428.233913-3-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250820100428.233913-1-tommaso.merciai.xr@bp.renesas.com> References: <20250820100428.233913-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR1P264CA0182.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:58::18) To TYCPR01MB11947.jpnprd01.prod.outlook.com (2603:1096:400:3e1::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB11947:EE_|TYCPR01MB8109:EE_ X-MS-Office365-Filtering-Correlation-Id: c25ff1b2-6e08-4905-e6fd-08dddfd108d9 X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|52116014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?tWJvqgokYxbw8jDP5e2ZWeii5z+Kj/OWU8bB0BQtu7lQIPD3KET8Q2L16RuM?= =?us-ascii?Q?XNjOUqNBjD22hsat+v6izlF+KmZvQ3wAF0wefVt+at5P4xL/Zue/2du+Bgfb?= =?us-ascii?Q?YCrKFqUvPJM8P/KLK/Yxxfd7vwM/6PsW0qyB4cKHDa3+DB0O/lbq9BSHRK39?= =?us-ascii?Q?n1wGSZO7QfbF7ACLeTSt53kiHt3+LxdG4zPgB8Zs8MvD/TB62BwEsFi03BY3?= =?us-ascii?Q?EKfZby602bPmdttWvvLa+Wi13v0Wt9QlClGksJvQ9PiSpYmemNDekVE4oy35?= =?us-ascii?Q?8lIkug/3mPLrOEBremKMHW4y4A2aQN2RDxNxBfRywRRue1rfTGS5GhSCKGvq?= =?us-ascii?Q?wowVtQmTdvvWCl/23jfWtmVbNZmkaokh75EoQiAESfmPNfhB6sfr6ZvUiNLL?= =?us-ascii?Q?JBHCJVsePmvyoJ+VeUwWBSneJWpjMrIY6R0qGWXFR0zvHhhUEXHyzGHDLJ0O?= =?us-ascii?Q?9FIzRrqHkoZSypLtYoZU5rKQVXj7BQ1jovOsvDcjuTIsYTJLus8K6Ee61W9T?= =?us-ascii?Q?lNL42ZnJJ6pvoR6xnP9AAD0sYyoTAk8jZxSuCmG8iBNqNSwpfRBjp0q2gXNN?= =?us-ascii?Q?6DR4tPBsm55Bj0p2fwZ97pAuhh7uHeOQgvtCSDDSYUZpVD2t36O3/24pzq6i?= =?us-ascii?Q?GM4hTEiFvo6fhd8WWbyyF/VB1ToyJf/3rlpNveLn7VIAqYidotudPEJ9vQM7?= =?us-ascii?Q?1AMvFOSoAGtzuTVfJIMyVzEI5h+3tFl7QXoC2wFJccQMK775JT8DdZrs/z/L?= =?us-ascii?Q?iU3ZxtnqMkunAMtxInKrZYK5aHUvcTM7rbqokZtVPOsCGCTj42NkIZQGeeRn?= =?us-ascii?Q?eHos17xIInRqDIzpP6Y6Nm2X2ULy4MeUuURRAPhlqYW9IY9na5qYl4AqWhlh?= =?us-ascii?Q?JfVf9bqFvTtPGFFS5V89v1eH6QoErYLluRZWAgj15V1LaGLtrAOPCg5XV/cW?= =?us-ascii?Q?dIpFRcsue8TzhiyqeEuM39W9QSUKRYFdMLlYHo7IuPUPOWaWOnhw4e60MMxR?= =?us-ascii?Q?+VkU0JbphLDcFQsy9BFHtsuXrbVR1Se7h25PV/dff7fecpt27UFViSNdyiSJ?= =?us-ascii?Q?054yj3EjgRd1033oYrqRkzPJAmEN1RH3/7SKGXsh5+n4rGIc9T4KeB46v53z?= =?us-ascii?Q?dRy43FJJOa9QytAAGYWvf6zjZCVb7dSKoWL/3qYXaZ2/mrxXCuMzdnjEmkL0?= =?us-ascii?Q?h5e4nTSmiVGBnI4KJ2i88MQrHNU/meI7C0e8R8qizbxGySa07MlDHfbODlPJ?= =?us-ascii?Q?88b/dGdaWnQmM2AJuZSOF0NvCFfpi4ume+gs+pNNkczjkLN0ZzfBnxQEFRmU?= =?us-ascii?Q?cwQJGL0iSHsQ29u/Yxc5hC0d7uM6w/q6I3x65/CLHJvmDp6Bt16nb+Gx4EVx?= =?us-ascii?Q?sORi9kXBE+CW5tcxXNWnKLzB2r7xANQYWHA2j3knAM1Bsr3LsduFqFOJ3lxG?= =?us-ascii?Q?stT4W1U43klPA8GbB1HHvBgLeklK7oxgHx8TENm3NOAkv6XWiao4Ng=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB11947.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(52116014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?X9MnGONVVTHK0v8PdIfP4XOK40pB+j52eLQQVhY62pkx340t/cYbbaOWO3nG?= =?us-ascii?Q?hJKoWLyy6ME30RAI5VrBb4jo7FXu1LYF8ZAVM8bgc9v03tDscs7Akb9NDyND?= =?us-ascii?Q?jeCGgqa9DzgUueBtXwjjD4wN6ouQcwi8LH9KdLb/Hb/ouEpKW6RZSCMjgXji?= =?us-ascii?Q?uhTmp1s/jtfyNc0osafK1IpdmFM+MIrbgyuSJOhjmwSjd5IJg+Kqw88ZDDlw?= =?us-ascii?Q?Deu9L70GyGnR8qXvf8+tdIAFvIctR4ov/+rAC0WGaAL1qvCsuI16eBr9lMHi?= =?us-ascii?Q?3oL0QVdYFE3dDbh2Yr84gsz8vMAEZB3I1HBTr2C3KmD9H6gQnAP7aokArxqC?= =?us-ascii?Q?M0oveoMUyZHkGrSlTFrk57FJHxQ8teT3HjkD2OVYCfJfLQMydEfhJCuc5BHk?= =?us-ascii?Q?CQs2pJJiykuJv1bfzHYV0mFCUZZKH16TByNBCj+CdjgapD8Gj7bfRF50QVvm?= =?us-ascii?Q?nXDeGPBT7kbzL2HWGk/wYZDP5owBp0vGtRrwShMh0B1epbZZNZoFddnln8en?= =?us-ascii?Q?wvwqO/swOgZgq9iEmtlU+giNApx6UxNIw4XW+9nDpm5P7qel49GJ0JbjtR6e?= =?us-ascii?Q?9hWzno18np1BdznLNuGOmpSO/5PvNxa379ZLdtq3b6gF2KiqRW70fSGotmVC?= =?us-ascii?Q?8/U9lLYEdX6EDl+Q7T6puT5N2/B+JI89mYJAlYyoZjHVn97wUha30uu5tniG?= =?us-ascii?Q?9YI0pIzzSfkhmDMJgwwm+o8ISE70YIvCUQBEn2F761P1Y9/mvU4KsZ0ZCavr?= =?us-ascii?Q?kkpgbkck+5DZJkUcB1YuHcQ6bNg8FrP5u9a/ucWJ9Bxwy4T6P8aj2gQLMBUd?= =?us-ascii?Q?/Gs7EcUYjD2QJdEwj8aVzdDb3fEgRYKyLYc+tj/E95guV0anEQEDDOmf+Znf?= =?us-ascii?Q?kUiWsUnnyb0OjMtkYSitlNKk9XKkiJnseAMf9QyFLzLP2I76OKmUv5pwF3g+?= =?us-ascii?Q?YgUkLaG6UQhSZ3Y0pjWK7csr10TExRAn31dzU5JSxj1tdelnPiLly9NNCC61?= =?us-ascii?Q?0NkWWPsduchTYPcBg6dejzR1/9PY1o8j/yf5V+aIVNMrKtE4lcLxRVqM57/z?= =?us-ascii?Q?mccpCCdFrF96SMTSBJFfUe9DKsCctCJsklIRx5BENpNNXpr3bRhHJQEdmp2i?= =?us-ascii?Q?y27E6/tvuTekG1CV8ngutMnKqTqIFWQOjq/1Cy80CoZLIfRyWqOrbhNzRN7/?= =?us-ascii?Q?Ni8/imXo6w067cwt7ixBIvfOx627feU8gsf1Syxs5n2aCRRP9dKM8wbFbCQA?= =?us-ascii?Q?Et55cpsfL85OWOJLlml3W4n8SaEfOciqwl6Vi5BnSHoSm952MnU/0nHevOsO?= =?us-ascii?Q?lTlB+x1QWVQWQ9YcaPtSP7yME64VraOnzEzs/mqYfSaj597dbOKWKuW8UUeI?= =?us-ascii?Q?IPyfdetP8syPTr6Xu+Tqtue0p2Bu8pVloHxwA97KT10vdtgjeXRbNOWPb7sv?= =?us-ascii?Q?tyhgyN95mUHOZAqqsGgJHthFy+D9E7Z3HiyM1+1b1hszZYLccHQe/yDFk6Wc?= =?us-ascii?Q?jIEZ1MlPb/yK9t3wFs1/1JonkszA4ooiebUtTrN1nwcOMwY+LYYrYv3x1JNs?= =?us-ascii?Q?PY0FnWNaQNeBFANFqT/8l4Vud2+1xh9SOwmIOt0pbI0wtWLe3f7K9pwX8mp/?= =?us-ascii?Q?AHp3FsOmGCv4c2nb7mHRv0s=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: c25ff1b2-6e08-4905-e6fd-08dddfd108d9 X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB11947.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2025 10:05:04.9923 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cU+3hxj/1oCSRVM/cXTRYdBdpj6NiRDbfIXE5ogxANStdH6j4vSbw+S5IDM3wI07ri7DbokdZsrKA+OKFGTpuMVp6C1W6F81H1Dr0KOasxmerUVVLTEtRmX9r5FL+9rl X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB8109 Content-Type: text/plain; charset="utf-8" Prevent issues during reset deassertion by re-asserting the reset if a timeout occurs when trying to deassert. This ensures the reset line is in a known state and improves reliability for hardware that may not immediately clear the reset monitor bit. Signed-off-by: Tommaso Merciai Reviewed-by: Geert Uytterhoeven --- drivers/clk/renesas/rzg2l-cpg.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/drivers/clk/renesas/rzg2l-cpg.c b/drivers/clk/renesas/rzg2l-cp= g.c index 1c648c0baf7c..6ed90368cf94 100644 --- a/drivers/clk/renesas/rzg2l-cpg.c +++ b/drivers/clk/renesas/rzg2l-cpg.c @@ -1667,9 +1667,16 @@ static int __rzg2l_cpg_assert(struct reset_controlle= r_dev *rcdev, return 0; } =20 - return readl_poll_timeout_atomic(priv->base + reg, value, - assert ? (value & mask) : !(value & mask), - 10, 200); + ret =3D readl_poll_timeout_atomic(priv->base + reg, value, + assert ? (value & mask) : !(value & mask), + 10, 200); + if (ret && !assert) { + dev_warn(rcdev->dev, "deassert timeout, re-asserting reset id %ld\n", id= ); + value =3D mask << 16; + writel(value, priv->base + CLK_RST_R(info->resets[id].off)); + } + + return ret; } =20 static int rzg2l_cpg_assert(struct reset_controller_dev *rcdev, --=20 2.43.0 From nobody Sat Oct 4 05:02:35 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011058.outbound.protection.outlook.com [40.107.74.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4EE002E2292; Wed, 20 Aug 2025 10:05:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755684314; cv=fail; b=pK20zZoIQ4guN357w42Rs0xaaJATl4Zq8Ab02IdU1MQ5XpP9pvi7LQWWdTUTeiCdg7bCUxmarwqgKfmoi5vizsaKkTEFAvTthe0dXbq5n2Dv4nCj1YcTQy5tbc5g2YMR6MS4RkMXzPdntcAicmB1LuUkWdoTQzENPgafOt6US3E= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755684314; c=relaxed/simple; bh=wAuGmUkVQAmpaG74cA/6HchSbouFYIBn2BZNnzsxg6E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=eUXnp+OL7f0o6286MlmcIjLD2aZQ8WMs7bHMC7KOwAGEz4kM46b9P7z+R8WSHvublxUC+q4Mp2KgW3urMUSThCn/q+L5mxgtegYvvEmGtP2v44OlxuOehSvnTsykYHhuVHgryP3kTVhxykziRcise5EaVY7G3SkV7bd8Ch8UDFk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=Th5JDQCs; arc=fail smtp.client-ip=40.107.74.58 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="Th5JDQCs" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DNfyJKnJSkJ9W/L2eE94f28B7o0CMZaXaSF7SUG9SevyhNn+qNyhfOw1gLuCxHDX3xOqUkFof+TOMNjZ9q52ZD6/fKacBy+M/lM+TWaJWaHRWBzzstSkf47bwcXzlqH1tleO0qkBki7Hui9x8t4YVyu6AYlVusz34AN6JIGJ1oZ1oiq9GqGElGiZlE0JcYL8Vs7IhTVdqkhSeVBkdyde7OeflBrIp1wYiFOAttHJp+UyAhSzqAKrA4LBXpUl0cZCOuLFG8R0K0r/5DHZ6nOwe1HXnRlc+Ekyav7y8UjDbyBdJlgruzeK42wz3AO1Y4PgaMEFIK7yFiOCmZSf7d8ZEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xvMLIYrntD5js8ow0Xq2jAv5aA3Bd5Tys4SK454Q/Mc=; b=iUJG1TKVRbPSN8H0dIyXyuF3Mn9Bcj2MdYQppBKtmJqUS0rozDx20EqwRK+oF7DQc2sBuS8+OXcmahv0CEcMI+GEMkigHCT3VIsRI5JevjM7lPTHc3i31VmJOblfgaMujF5Fbi0JSaU8GQJ6Fnj4YnZJOH8fqVwDy437u6fNLTWChViQF6iLsQ9Lv4/owvidxRAQexoPtSZ9EY2e6f2/l261ZRlA/3BIiRI2axZxmSjQzEejUoNicHtvVaeCL3CfPZKEW3G8EZ97WJD2WDUO0zoI08kLm0gLJO0UErmQTC1SGR/QNTgBS5Kmu4AwHgYcMdkoYu1V4ucxXBsWFV3/jA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xvMLIYrntD5js8ow0Xq2jAv5aA3Bd5Tys4SK454Q/Mc=; b=Th5JDQCs/rXYM8E3rSYHWrSH49VXZ3VeKhTPRzJHsFe8U0d618lL7ovlcg0XJnuI5mGSGOQ+NfduszKc3obRFnXKNzdKQHsrggNHzU7OknIlqqZFIz+RUkERNHO5NCbfi03mKliaRQ9AZ36dsRBdk/aEzprB/wPzx0bxD/K04OU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from TYCPR01MB11947.jpnprd01.prod.outlook.com (2603:1096:400:3e1::6) by TYWPR01MB12004.jpnprd01.prod.outlook.com (2603:1096:400:3fd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.13; Wed, 20 Aug 2025 10:05:09 +0000 Received: from TYCPR01MB11947.jpnprd01.prod.outlook.com ([fe80::63d8:fff3:8390:8d31]) by TYCPR01MB11947.jpnprd01.prod.outlook.com ([fe80::63d8:fff3:8390:8d31%5]) with mapi id 15.20.9031.023; Wed, 20 Aug 2025 10:05:09 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, biju.das.jz@bp.renesas.com, Tommaso Merciai , Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] clk: renesas: rzv2h: Re-assert reset on deassert timeout Date: Wed, 20 Aug 2025 12:04:24 +0200 Message-ID: <20250820100428.233913-4-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250820100428.233913-1-tommaso.merciai.xr@bp.renesas.com> References: <20250820100428.233913-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR1P264CA0182.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:58::18) To TYCPR01MB11947.jpnprd01.prod.outlook.com (2603:1096:400:3e1::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB11947:EE_|TYWPR01MB12004:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ade8d09-4a82-487d-69c9-08dddfd10b6d X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?H0qF1CQOXUxAx7sFBMjpNPHL6/azmWL9gVHUs9G5bafKHaBLpHKA8B6kXw0v?= =?us-ascii?Q?QJB118wxGuO8zAlcgvO1g3J4l6mU84hVwPM2sems989BXvWfxf6OChuQfsjg?= =?us-ascii?Q?8QP0wrEc4wUnGxyztt/W+n4g0jXlkfTpsoQwMK7CkCLymqZBJANYpeQ9bfAD?= =?us-ascii?Q?Qboa5j/uTsppaXhkBLdbBwU8bK8NZnSCh/+GguCh6UK2jCRhFpzhrarAHpGM?= =?us-ascii?Q?cyzP8QOlrEfNk2eTICgRRfeGdYJghRNByN3CV2QsDRZ26vgDrpwS8D0FAbDv?= =?us-ascii?Q?/T9Q5cFXpRtwTX3tEygvot2sVmLUhRjFG9ks1iOAofnRiWCYxlOvk8FCZv+q?= =?us-ascii?Q?uSA8YFBFrJKh3HzPqmezyBUhVtCPVkUjau6COcyoxkAr+3sCY/eVxsVscbAj?= =?us-ascii?Q?/m8NVuiGFDKN6ayc8AeFtVUbGJSPsSFF637PBaQysGgL999Apywl3koiMNL5?= =?us-ascii?Q?xSO+4MA2vlRnG2GkNYBcj6XtXUJnSrJGCxyM4MzG3fq+JjCXROliHhxgNS6p?= =?us-ascii?Q?3JPscosVMGe3hmFUX7LyuQDyRsoiaB9KPvs9GRu1y4w1il9unylpWo4toTZI?= =?us-ascii?Q?NMwuAwFny7IOoPDfY68ZrohsCvVXqgGlzCR3WYS+wBXteoS5ygSHL244/nFz?= =?us-ascii?Q?v/U6nvDkiFyMO8pg0adGvNucPPh8lJ1OqC+3Ak0FlswQMxJrAr9MQxWPEJ/h?= =?us-ascii?Q?MjIrzuxbSNyC93ci1n7P4T8RXA7ut9yrQW+1XK5ypoCFLzdNlGTYx7Kcwclk?= =?us-ascii?Q?148ESggEuvUD5cypyL3vqIFq2WPg9uv/OX3lDVcJLH3e5a5Xl/Kk7CnfotDj?= =?us-ascii?Q?NFOANwDnpiuNQiuQ7BK9ocDSlb8figDvBGs+V05gVx6xstqPA4aPef04RCt+?= =?us-ascii?Q?7AuX57oO6Itgz4HVkSDQMf7YaoceFwcMtGLX4o+jG54EkrKeGmX7CKppBvn0?= =?us-ascii?Q?UjU0lXixihB0P2JUAhBQMnafese91+3UTcZxeP/NqUiWcrEt4/Q/wE8frB3S?= =?us-ascii?Q?zltprLVVFzNmOvGWK6/qJwXtyjfQnezBQPkzq49eM9xXbSOCGuWaGOxm3Zx0?= =?us-ascii?Q?VAlNhMnJUGBzdKx4Dk+4C3tGn1Bggmbt64zgctIX1xQunF8GmdQrlv22I8YJ?= =?us-ascii?Q?JFarLNZ3AjY7EqG1JOUrsEFhON4QuYjUpcwK0oxASdBPB3Y5H1GvYW2XH2lL?= =?us-ascii?Q?JjlPc/SB7KpUptm19d/LaMnl7d60YtX24HGcdBneBKdo0k3f6OGZToV8kRB8?= =?us-ascii?Q?MQHzO8dfjv/QAddm1HUaEaTyGT4JtdEWgsi6GZ2ca3pWhIMwm/TbMmoq1+WY?= =?us-ascii?Q?6GAMVWyadI6uZXAZ2lS6jWYX/Dv/nt2W4GOKGa3WCpFpm3pCBMm+9B6nOCkG?= =?us-ascii?Q?zUsqpyHvy7ZYyt8x60WeO4pYcFInPFuiFHV9omdzEDki2K98MerlvJ3Va2dI?= =?us-ascii?Q?3z/c/g7EOiHQptYC9qJRUAOQhIdqj20f+hn2O6hajF/Xh3vzDx862A=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB11947.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jmZopGWJccRA+VOuGKl179XsTeHQHQwopJWGCr4qUmtKIxl4PCjzEPMgtQHt?= =?us-ascii?Q?mNfbsx692hQIoHIEPzdpsJ1gRzKAUHzYT2gRr520qkQxwO+VM2tBt/hQp3uH?= =?us-ascii?Q?mDOWDcEA5oyV0+GB5iFpo+4RZDdasKsIytCB4K1rrf6FGoV3QULcL/bq0JV3?= =?us-ascii?Q?1daZbPJpI4SPRZbvtu6cnXY4bHXie50TDNpAkkKnSJvvKGqmB28/dQesMjcm?= =?us-ascii?Q?rgUThuoP39h9OM5NCPdRjBQMWXUNWvfQAJbCFec+tXteNB/5Y0J1r7sFG0JL?= =?us-ascii?Q?l8b9GXLqDuzBPPTLo7Mu+e4olZBB/dPrlRAgAtJwzYeoachXqNz7hBT0ARmV?= =?us-ascii?Q?2rKzWhFXtbanKaX6VAiCgEEjA4fDfLRp9eQndyFMXwnTPnzZjEwOjxFnCk3X?= =?us-ascii?Q?azQyjbMwBJc34UQEOB8yMGoiA1ffgROpna4/Y00qSnJgeKbQ1cUfR4BvwQE7?= =?us-ascii?Q?zkMof9gdeQIRVfze5kztKrwsFhpttsTf7+VuTD9sJBjY7rEQDlrk82cAm0BR?= =?us-ascii?Q?X5qTVFoUdYVCIoQPQmwrQSEULpWYItKWmvfAFkCm/r37i2qdWLBLia+2A/rT?= =?us-ascii?Q?DbF8oUCvkOSb55PpfkEXMZQgodxEB4AeSImTzGvMJ7RZrptu4vEkOcs3KXqz?= =?us-ascii?Q?d3y7sgZrKXfCrXF6VAD3qpzdy0biciBNKCRA0vRTBrDR8NnfRxFjuMEEn9tW?= =?us-ascii?Q?193pfbzdqVutSCWODykI6Y39xuwG3CBuLVWaKRA7nflJU3DGabl2emFheweT?= =?us-ascii?Q?ogh7kYLv9uBXNLEYgIzGjRTyqvPRtxQXW4iX9aTbP+oFYV6Vk+AETlJrRyr4?= =?us-ascii?Q?s6p4q36zw5UoseLHaLBnOIrGvvRJ/ufULy0T1DKA3k9l/GFuJHMHLTCX6nzy?= =?us-ascii?Q?UxP263P1e1VVDNDaofg4+59T/C80wFJQjJflWBEMCQJOGPnwZJ9D42qLIkRc?= =?us-ascii?Q?gLt/+8FMWlwBptxc0fM1pQqDIUjsjyBvd2rVI1okOm4rgAIHci23bABlfBJc?= =?us-ascii?Q?LE/gCYAU/09/ZzpYN2mZSdH268kx3KMmhJ/F6YWO2cEprgN1DdXRkZDdmFfU?= =?us-ascii?Q?6/0qlHAMXoGb9wrJ2z4A1Ot/ZJzjhXO3trxINtDxcYFdmvZvGQqPNxV6km96?= =?us-ascii?Q?vmDOvj1bPRy8VQ6FXloPlIXRah0PDzI9xWz0x7la0zr/Q3DsFUTL65vgdT5j?= =?us-ascii?Q?aActmKjWuHVi+Uuq0zpj82gXRXZBfULEivPjAQTOrQA1vrRhQ05F/aL0a0vt?= =?us-ascii?Q?7+aQOhuXS6myaZH6gdd7AV+o1E4sPjD0mZvhsDmNPbhIr+A6DDqcjag+RLwO?= =?us-ascii?Q?aM7M8SMpT+119QIvw9qRfVk0FqOnpu+IlOUPRuXAfwj7Irqz/dCJLNfrq9y9?= =?us-ascii?Q?+OBn04gvnJbYLlLj93/h2YkuztzMFf5w9dx6vXDh6alvoK316ufjyBX0EvjE?= =?us-ascii?Q?EIpbv2JtS6zkLSqHb5wou8GqXQRiBTqfGImKu4xKZ6MW9Qm3T7VdL11Xd3Kp?= =?us-ascii?Q?UKetJCDPHUNUBZp4/ZT6fkbVCUovfYHd8Acpz+TBmwpeahv3vt6Wz+jz1NIU?= =?us-ascii?Q?pu07p8GWi+hA4qB/57VkwrFO/owyT5rFPTaM/UuH4GmbKlWIwHlJ7qnVfIG3?= =?us-ascii?Q?WD8GF8msXxPr0boWD+zcCf0=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ade8d09-4a82-487d-69c9-08dddfd10b6d X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB11947.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2025 10:05:09.0565 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZNtq3TzIYmgdgM3e5F64s4WNGTRMLJP5KQW504tq+SQhCHelpYiMDXzbeGzekUUyKJ2NlthIsWbRPOY+EX3LfxHVeDIJ9B2SSVSyalQLBkyg1ttCHoJ1CVbeSkgQrfuU X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB12004 Content-Type: text/plain; charset="utf-8" Prevent issues during reset deassertion by re-asserting the reset if a timeout occurs when trying to deassert. This ensures the reset line is in a known state and improves reliability for hardware that may not immediately clear the reset monitor bit. Signed-off-by: Tommaso Merciai Reviewed-by: Geert Uytterhoeven --- drivers/clk/renesas/rzv2h-cpg.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/clk/renesas/rzv2h-cpg.c b/drivers/clk/renesas/rzv2h-cp= g.c index 58ccbae0f904..469f40894c43 100644 --- a/drivers/clk/renesas/rzv2h-cpg.c +++ b/drivers/clk/renesas/rzv2h-cpg.c @@ -854,6 +854,7 @@ static int __rzv2h_cpg_assert(struct reset_controller_d= ev *rcdev, u32 mask =3D BIT(priv->resets[id].reset_bit); u8 monbit =3D priv->resets[id].mon_bit; u32 value =3D mask << 16; + int ret; =20 dev_dbg(rcdev->dev, "%s id:%ld offset:0x%x\n", assert ? "assert" : "deassert", id, reg); @@ -865,9 +866,16 @@ static int __rzv2h_cpg_assert(struct reset_controller_= dev *rcdev, reg =3D GET_RST_MON_OFFSET(priv->resets[id].mon_index); mask =3D BIT(monbit); =20 - return readl_poll_timeout_atomic(priv->base + reg, value, - assert ? (value & mask) : !(value & mask), - 10, 200); + ret =3D readl_poll_timeout_atomic(priv->base + reg, value, + assert ? (value & mask) : !(value & mask), + 10, 200); + if (ret && !assert) { + dev_warn(rcdev->dev, "deassert timeout, re-asserting reset id %ld\n", id= ); + value =3D mask << 16; + writel(value, priv->base + GET_RST_OFFSET(priv->resets[id].reset_index)); + } + + return ret; } =20 static int rzv2h_cpg_assert(struct reset_controller_dev *rcdev, --=20 2.43.0 From nobody Sat Oct 4 05:02:35 2025 Received: from OS0P286CU010.outbound.protection.outlook.com (mail-japanwestazon11011049.outbound.protection.outlook.com [40.107.74.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 593362DFF04; Wed, 20 Aug 2025 10:05:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.74.49 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755684321; cv=fail; b=VW7L/TUaDWNS46xV1XbT2ynzL3ZydjwYw2gFfitQSlwzyj+ve0+On5fzBNh5/suMpEd6HPB+CYtICGkrKOjmm2CoY1ezq6w2PpNg5toM4SP/od+/MIHBWRvmyQFhC1Q5hB62yQL4d2NWFuNyZYpP9epPlZ8kxKRTYaO+Sfx5jXs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755684321; c=relaxed/simple; bh=RDPKSXI53wCqO/03+f7lXcWrEenZWSOlVZ/dlwBT6LQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=p90SviiJorXEjyV8PVrjH9DemBGALxQvsgYwGoVZBNfBWNFVY9AGime2vKnC8kO6+DuideEmnQY0Aj2wkBrVaj9RiW97CbhU0iYZvWsNnulToxAruhNvrSqNe0ug7IrCXGYGMg7+9O9fu5pN1F6KRs2kGyl3mv8O7/ooylSMKDQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com; spf=pass smtp.mailfrom=bp.renesas.com; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b=cZ9XghdK; arc=fail smtp.client-ip=40.107.74.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bp.renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=bp.renesas.com header.i=@bp.renesas.com header.b="cZ9XghdK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=clmit2FkyfYhOT1Ut/p+E0hcwASkYSGAjinm7ywVGLJA+qjfK9pf3eGAxl6V/prtnuDNusQ4UxA+argZtPKR7OR7j3RsFP5Ovm8eWX1lS1GbGOdbriIeqctmuK5b/PvSSdotdnuVzwLNH/2yfHuywobhFkWK3I3PmrV3D/V8wge+ssdDhUtJmfhg5YhcR7shueTuaaX3U46iD223DJm0e9tSNgEeBMWkGXxl9Sy0elj31qu7mz+VwYMqoYsnF585AJP1PcLXv19cwkJQyP0pXq4Su/zwFzGH7SpfmFtSqWA8Gzg4NaUtyrNDcH3drENCSBYYPHmDd6XO/njp7P0OAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zEll/FYFPd3pViZY/fJHjfqBdOprq8UGgy83F3P+sJ0=; b=fc3C0LVIZvLVCElPnsvQKaSoJ1b7euStJ5XzG3LSIY5181mVcgMdlgQUDkXGGkBFPeNSJB4TMdWqBMeGRuDTyGmkc0INtv3yCFS6bkrk8pToPuTFXgLHVG0vpMcp+3BaJvucU6LjVh0+RgyLi0NtUMhR+hq4XvKeDlE1lXvw43a+Qill8+hmMPlvqiOmCJ/3yz+GY7UleltwtjYz+GAKUvFyRm/HxoM7urJRzOOXnZdy84K53NRUfJBNqwx8dFlbSbe5+LN46BzRc1P6EHVT8i6uacPI5sv03SMjAt2RTGi83B9J7BwujPc3h9wdnQ5XwnwcIJZkpicW4dKit4YF9A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=bp.renesas.com; dmarc=pass action=none header.from=bp.renesas.com; dkim=pass header.d=bp.renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bp.renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zEll/FYFPd3pViZY/fJHjfqBdOprq8UGgy83F3P+sJ0=; b=cZ9XghdK5aLsSJNwWsKttTaOTquzwIYpV21iR5mK8hAldkl8Q4jfXT2zKfx8vipWLbxQV6r4ksuVtfVS3/zSJHZy7hkw+0eIZGpDcn7SX8OzzGVUfIWk7SGO3hCyNbg7KoQN1DS7thmb6eMU79Rx62ZD6xAVx8ZopfV5lcEZsx0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=bp.renesas.com; Received: from TYCPR01MB11947.jpnprd01.prod.outlook.com (2603:1096:400:3e1::6) by TYWPR01MB12004.jpnprd01.prod.outlook.com (2603:1096:400:3fd::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9052.13; Wed, 20 Aug 2025 10:05:15 +0000 Received: from TYCPR01MB11947.jpnprd01.prod.outlook.com ([fe80::63d8:fff3:8390:8d31]) by TYCPR01MB11947.jpnprd01.prod.outlook.com ([fe80::63d8:fff3:8390:8d31%5]) with mapi id 15.20.9031.023; Wed, 20 Aug 2025 10:05:15 +0000 From: Tommaso Merciai To: tomm.merciai@gmail.com Cc: linux-renesas-soc@vger.kernel.org, biju.das.jz@bp.renesas.com, Tommaso Merciai , Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Vinod Koul , Philipp Zabel , Lad Prabhakar , Fabrizio Castro , Wolfram Sang , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org Subject: [PATCH 4/4] dmaengine: sh: rz-dmac: Add runtime PM support Date: Wed, 20 Aug 2025 12:04:25 +0200 Message-ID: <20250820100428.233913-5-tommaso.merciai.xr@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250820100428.233913-1-tommaso.merciai.xr@bp.renesas.com> References: <20250820100428.233913-1-tommaso.merciai.xr@bp.renesas.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR1P264CA0182.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:58::18) To TYCPR01MB11947.jpnprd01.prod.outlook.com (2603:1096:400:3e1::6) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB11947:EE_|TYWPR01MB12004:EE_ X-MS-Office365-Filtering-Correlation-Id: efa18206-4532-438c-ee2f-08dddfd10f4c X-LD-Processed: 53d82571-da19-47e4-9cb4-625a166a4a2a,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|7416014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?D2z3xZKkVeU0e9+Ym6OIDl41m2pBFnD1TPjgy1eirnUAoGQk8Am7fzHsAeGG?= =?us-ascii?Q?Uq6NUqqF1Njs0sYoYmDbOy91jus8X0Nmkuv3dOQKKsJHFwX4niC/9mjHG7ua?= =?us-ascii?Q?Gh3YQU+UNexJ5qNN9l/ZiWO4NRkTXeDUlFczL3cJojbxDG5QXzpvKIvSUAcZ?= =?us-ascii?Q?QVlfWP5gbkAhBr+G10UzSGdAGnBJmv8GQV+kaIlSgLqc7Zg4L6eV9QUOuFgK?= =?us-ascii?Q?/wCATG2OqpDTvQbAwEHpxeUVccGXnV1k0G4L6iMW+2RA5p0zOVCcEM/neggT?= =?us-ascii?Q?ONU8miMfqzlwJYieZHuFVSBgjdyOoArblDq0ob4qFJUXJwbBMUPpO1TWMeFr?= =?us-ascii?Q?jp4JYNb0ScmRr18e+/OjoBbELzK45oiK/85tKr7ZVDSAf8AXeBFOZIDWs5e6?= =?us-ascii?Q?tEPnEAkQ7tsf79qCIzcGLWuZ2BpuNieli+wxVljevfKAf8HaqMLCSuahj2Ds?= =?us-ascii?Q?5torHQqnk0C3vqpWVcaoKr1GsNPWHyrAbu3j+iYiqPm0BTCMTwOWYfBF+CjU?= =?us-ascii?Q?4bxg0ihi6z5Ujzv04lH2CNyE8sNFa5VNZlFTjeIroTUdmrt2acKUwcjMTr9q?= =?us-ascii?Q?3qzx4jA8z89qZsPM+T7gUH0Upm9Km3Jt4CCwg8kotPVUEe4gk88hMRLh/H9i?= =?us-ascii?Q?hnOWHgymJZP6UNy7mMYfFSRgDSWpjwsa6jN6V7CknV0YIe9/ZrMPCuNqsZ6I?= =?us-ascii?Q?EHiyQwA4vHrUSveMe1NgHNWLQDb/iGw3X9dk6QFEeunhLzhNEQ3ID1gBhQhq?= =?us-ascii?Q?85Lu9Bukj6uxw1ZdyjrEkIRm8/AKbIThyizjrIgXdbEIfMpYIrRvLbhvxApf?= =?us-ascii?Q?3NU+Xf9AZgQsB4jXjDSlBXYERZUz1PRD5NRCW6JrcTcQafO9WifN8ynMqMrI?= =?us-ascii?Q?nZgzWmIFxligy2/AnSrKP1w1CAXAi6OLInXrNsemFCJyZN7l2I1oi0WERx6s?= =?us-ascii?Q?l5q9GCD0CKKDU10mSdGMUr9ugp+tjzHfS6ke31xpLqEx0iaAY1DtSsJReDch?= =?us-ascii?Q?8YNOutNlHHzin8BnD/+P5nFiViMrUi+kr7de3aqEH5NBs8i7Ml2vhY2dAfvF?= =?us-ascii?Q?Vizol5Jg8LsNhH1cg0Kjyr5B6LqR0Fd56FbzJo2yJN4+tqQh687LCdUfHh1A?= =?us-ascii?Q?bnDOswNZRxLFL94pir//h3IKkVWQopsu07CTLanincIPR+s/RyekOtKe7KDZ?= =?us-ascii?Q?aVqs6GHrpkUAuL6CIWOfddXgPxciENtoVNvOKZo9tkBJEkJ4/Ezqd2aiK9RD?= =?us-ascii?Q?dbRxKkBINDhv+PnYStEMssuD/17Y6vVd6Q5s8Rse5LwvD1lA0Wq3XQ6GO8Oa?= =?us-ascii?Q?u6jNE4Fdy02NBNgRndh1QabFSM6kRqhQyxsEpscUtiZjRUV7Yl50/xFhJQqB?= =?us-ascii?Q?an5orrXuVZh3B+8tAHrRFic5Ime73hAH426vqMZjIBuo5V0MqhxwAepIvza5?= =?us-ascii?Q?wzIJVq+4vNSENyVTlXo8KVqGDPYVpbc7wuMuU7KVCZ8o9psDMHNFkg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB11947.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(52116014)(7416014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nylqvjiPzWmD0zDAJt3f9M6ZUVTBxGNCxmfmH6yP159UZffD8OeTEtgArHdU?= =?us-ascii?Q?JRLtQ/WfjvLmR3DJgLo35VE3d2EUBo7aXf0JraG8lJf/HzmxFgy99N3JGXaU?= =?us-ascii?Q?/ZsJPbVnhBX3hW+6mUJbdSxOdwNl2ZDTdesR094wMUsvAqHaJHiH35+o4XHG?= =?us-ascii?Q?IDuKjmsIvAQz8wCp4TcFbqaz08BZn1MuCKwCM+h6NpuR0mK9MHeTMO05sox5?= =?us-ascii?Q?o2nApvZXFgAnkGkI6qsNW+3FVibYcclkNto7YKjAaMce0hLgrTlRoPjj5Zka?= =?us-ascii?Q?Shp9uuZtoC+dIw4GVWuvOxdPgxehi6oDeDR+m1XcsKbcK1lEombCa8C4hljy?= =?us-ascii?Q?sPn+cwtgDU5/xrSmTgsO9vBv2AKl1ppqVwIY55AjCJiiaGQMpC+q+pCLhhjj?= =?us-ascii?Q?zYDoYd+xNAE9RkbF2HULWrzBplSXyNl3vkTahdiBeqvqV/WCma/U3k3xK4iE?= =?us-ascii?Q?L8Ns5qdTIsvSxsAA5TI7g3AIkV/YdI6czecw3KmAGmDm3iihV88Q2290EuQ/?= =?us-ascii?Q?X+pWVuITgpz7YfC7uMXmvwUVKo4zaFVcAgZ7Z0iwxgsuTrMlRxBiwXChiP/b?= =?us-ascii?Q?YT/5Z1ioHX+eM3kW4Bow9M3p0ahwH1CV6fmD+XGXtJ+WwkdkG7bslxKt8Dq0?= =?us-ascii?Q?cd/MdGXDVuDV/P5r6h+ruc+3wsqdE3mPpxW+7+oictITwsS3Rwjlocn2P8yL?= =?us-ascii?Q?kqXMYYJarmXP9hIgiHq4Fn1YbWf+Z4LMHYUiuBZ7Z7yhrm4IBRf4Yp5/9bet?= =?us-ascii?Q?vHgQhKDHTvGeb7fjbNWOeZbNcmX4B9Z5O5Tw+bErlhngh9Kku5UJkYU5xs1l?= =?us-ascii?Q?ZOpONfpjpAUuT3LnniJTzkYlrq4H204OKR/h0mwlrm0GA8L8qZei6f7WDBx0?= =?us-ascii?Q?eLtiEkchZySnfjg3beMXsNJMm7YgqoiiV7qyOITjRHHpP0elBAR2KDqeh22l?= =?us-ascii?Q?N/47aKGCuNtERqXwvo6j5ZBMIp+1vStDhcHHqpi6ploh6YRsDY3hqw6yjdy9?= =?us-ascii?Q?ylJuwZCb98nCZgVTQU+BtSXfiEf605n2ftSUqRkrBsCpp+vtLNwLsLPo4PUF?= =?us-ascii?Q?L3tZtIPbeW3m4S64uLjnrAR/H8j7bcbAuiDcpKDa5KCeeGxH6WBgb3I6Nyq+?= =?us-ascii?Q?H9Vq/cGXnSdLxjG/IyhZbWNG9Q/01JQeI2RoQW0ZMZqk8MCKnfkvm+McXCts?= =?us-ascii?Q?cqvGrzJoc1VxfpYrnWKXjlAXmMaLU06WxBWj3G4HltIOXcnb3B8jQdmiep4Q?= =?us-ascii?Q?IAaUDZ/Beam/cFHE2Sr4BwDFRB/JAWcy0wlK2/3P087CbM3odKGKxKqsVrd1?= =?us-ascii?Q?N+LGYTlmiatZLrBPBpiWQ8VVagWg77cBgoHWh+bBjKpO39EJ6qpL920ViHV5?= =?us-ascii?Q?AawYbo8+/zu9V8R5C0ZsZky4+p4qipbOjohmnYy7jg6mDYYGC+ABUL/v8rLu?= =?us-ascii?Q?M/b86faxxoGRYFnMcsCtKCztTCFMeFohtOtkfjD+IBr4GWuCLVN2MouJuiRw?= =?us-ascii?Q?VUA75BRk3yJ+nI5d/qgekUZ1vqoSJu014vKkInxtI2WFQjPvWco0Ekh+6OfZ?= =?us-ascii?Q?lMjOCS8LEYhZSDsvO9x48rO7GcCcwK4Rz9rAImXH/hqVtWl4w+5xgwg74klT?= =?us-ascii?Q?v6gL3sJoaMibiYDIr2Uu2Wk=3D?= X-OriginatorOrg: bp.renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: efa18206-4532-438c-ee2f-08dddfd10f4c X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB11947.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Aug 2025 10:05:15.5515 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LPP2/b86xsBJZ7DO65HCBqU7JaVFtX/EXruG3ksIw2yJij36If99REyiNIMRDFrok2QjuzVdKedF3hFNa9dwKGm3YPJ8TNNMzu0ZjeylhpgpTRep37QdKkOd9c8pMEqJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB12004 Content-Type: text/plain; charset="utf-8" Enable runtime power management in the rz-dmac driver by adding suspend and resume callbacks. This ensures the driver can correctly assert and deassert the reset control and manage power state transitions during suspend and resume. Adding runtime PM support allows the DMA controller to reduce power consumption when idle and maintain correct operation across system sleep states, addressing the previous lack of dynamic power management in the driver. Signed-off-by: Tommaso Merciai --- drivers/dma/sh/rz-dmac.c | 57 +++++++++++++++++++++++++++++++++++----- 1 file changed, 50 insertions(+), 7 deletions(-) diff --git a/drivers/dma/sh/rz-dmac.c b/drivers/dma/sh/rz-dmac.c index 1f687b08d6b8..2f06bdb7ce3b 100644 --- a/drivers/dma/sh/rz-dmac.c +++ b/drivers/dma/sh/rz-dmac.c @@ -437,6 +437,17 @@ static int rz_dmac_xfer_desc(struct rz_dmac_chan *chan) * DMA engine operations */ =20 +static void rz_dmac_chan_init_all(struct rz_dmac *dmac) +{ + unsigned int i; + + rz_dmac_writel(dmac, DCTRL_DEFAULT, CHANNEL_0_7_COMMON_BASE + DCTRL); + rz_dmac_writel(dmac, DCTRL_DEFAULT, CHANNEL_8_15_COMMON_BASE + DCTRL); + + for (i =3D 0; i < dmac->n_channels; i++) + rz_dmac_ch_writel(&dmac->channels[i], CHCTRL_DEFAULT, CHCTRL, 1); +} + static int rz_dmac_alloc_chan_resources(struct dma_chan *chan) { struct rz_dmac_chan *channel =3D to_rz_dmac_chan(chan); @@ -970,10 +981,6 @@ static int rz_dmac_probe(struct platform_device *pdev) goto err_pm_disable; } =20 - ret =3D reset_control_deassert(dmac->rstc); - if (ret) - goto err_pm_runtime_put; - for (i =3D 0; i < dmac->n_channels; i++) { ret =3D rz_dmac_chan_probe(dmac, &dmac->channels[i], i); if (ret < 0) @@ -1028,8 +1035,6 @@ static int rz_dmac_probe(struct platform_device *pdev) channel->lmdesc.base_dma); } =20 - reset_control_assert(dmac->rstc); -err_pm_runtime_put: pm_runtime_put(&pdev->dev); err_pm_disable: pm_runtime_disable(&pdev->dev); @@ -1052,13 +1057,50 @@ static void rz_dmac_remove(struct platform_device *= pdev) channel->lmdesc.base, channel->lmdesc.base_dma); } - reset_control_assert(dmac->rstc); pm_runtime_put(&pdev->dev); pm_runtime_disable(&pdev->dev); =20 platform_device_put(dmac->icu.pdev); } =20 +static int rz_dmac_runtime_suspend(struct device *dev) +{ + struct rz_dmac *dmac =3D dev_get_drvdata(dev); + + return reset_control_assert(dmac->rstc); +} + +static int rz_dmac_runtime_resume(struct device *dev) +{ + struct rz_dmac *dmac =3D dev_get_drvdata(dev); + + return reset_control_deassert(dmac->rstc); +} + +static int rz_dmac_resume(struct device *dev) +{ + struct rz_dmac *dmac =3D dev_get_drvdata(dev); + int ret; + + ret =3D pm_runtime_force_resume(dev); + if (ret) + return ret; + + rz_dmac_chan_init_all(dmac); + + return 0; +} + +static const struct dev_pm_ops rz_dmac_pm_ops =3D { + /* + * TODO for system sleep/resume: + * - Wait for the current transfer to complete and stop the device, + * - Resume transfers, if any. + */ + NOIRQ_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, rz_dmac_resume) + RUNTIME_PM_OPS(rz_dmac_runtime_suspend, rz_dmac_runtime_resume, NULL) +}; + static const struct of_device_id of_rz_dmac_match[] =3D { { .compatible =3D "renesas,r9a09g057-dmac", }, { .compatible =3D "renesas,rz-dmac", }, @@ -1068,6 +1110,7 @@ MODULE_DEVICE_TABLE(of, of_rz_dmac_match); =20 static struct platform_driver rz_dmac_driver =3D { .driver =3D { + .pm =3D pm_ptr(&rz_dmac_pm_ops), .name =3D "rz-dmac", .of_match_table =3D of_rz_dmac_match, }, --=20 2.43.0