From nobody Mon Apr 6 12:13:53 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (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 BF8153D3CEB for ; Thu, 19 Mar 2026 12:51:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773924715; cv=none; b=r9toRpGd0ssq18+yNlP/ns7e+o1vZttd3Zv4Ok/IStamfXEUW142bRg7nvztp2xrad2XVUJ/MubeVB5G863HQjv5baHp7s2i5WBjPMeWm4Gswr2CLjdREmlxmn+F23YtcFc38Xtn5PNNFNHVKKmfPZCi4zmLwzFtamIYIhhP+/s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773924715; c=relaxed/simple; bh=39hByDfnJCYJ6oNajHKlGBkMVQZYZzfguxphvzS36s0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D4xIo7eJ7PZpvXjFPJl56Z1w9cwjSWFELFIK7Zhlmit6vSd5PFgTysgWVstMj+Y5HT/79oYkWcyMiXRj6NWmx3II2xkhKcIB2VQyYXvszYEsXcthxkBFdpyZ7zyuTvIZOGL6UshYvIzAURRYp5IWTreS3p4bAZykkYJl8ZZ8Q20= 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=iO1iv2ep; arc=none smtp.client-ip=209.85.128.51 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="iO1iv2ep" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-48540d21f7dso9835845e9.0 for ; Thu, 19 Mar 2026 05:51:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773924709; x=1774529509; 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=uKjoORFNgZSvdSOmuonOe/FlsQBgRaSi4rKz8f+gvh4=; b=iO1iv2epCo6+8VGGDoINogEyl+XmF0DC9ZC+VK+aXhvP/M3KKYU/lE0vXORef3SJhs dxJ66qRGJ/RB0g176mb35BazgEkzychnbq46Pi7vlFhh6M6GsuCZQRrXp2ZBjzCZUkAx ngUkO+8qAR+YcL0DkmccbxbiHOAlewpTnk+rDJ1MHwMH8JMrtvE3NH9Wtvv+BXa5WfDg aY1VB0R2Bm+NckK8Xd6GpdCfCfA78/GnXqIQ+GUnpWa49mSouIn8RV29HCgEcXIVNnU/ dYgNc16/t9684XeZ+E+neW0LWkaPADWv0YVxk5+iqFK++6I+KMT2dCQnRg0tQTwJtQag XzMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773924709; x=1774529509; 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=uKjoORFNgZSvdSOmuonOe/FlsQBgRaSi4rKz8f+gvh4=; b=O6oCj3FsNpqY/yKyeQNGnifxoWU35XESZwZv0XtgWAYn/SBdVysxziQkghkXWs+nUR NwIXxvtwu5XoAPXP8h7KupKfoVrU0TpMjwcNLBA4FYXvYVoWt1g4m/v5YxkosC+L180O 8KtetD1wjtJj82D8VW27CnEZbDNb2aWkfmT4qFts6u1fKuXc4d/JzMPmorM1+Cm4O7Ch +83qbtTbxkJDQy/sifGCR27hHW3Vujk91zp//8hK449S8PK9OPjjv7SDcUqkExjEGiDT DucEEgwuK8IdGQfCm3UjR54Sqd0TMcLLk6Si7v9Ucf4pLZdhv0QDqNNBO9CUMfhfK5iN lvXw== X-Forwarded-Encrypted: i=1; AJvYcCUzMY2t1oYXNV6/8Upq4A+t8vu3RwJNwSzMJgDIA+zNXJWJMuSdHa0TdF0mPGl0QIPdmNw5tg6csCHY2ck=@vger.kernel.org X-Gm-Message-State: AOJu0YzHgTT9A+aqfp87AVsBG50QBLh7jPa4tWp2naZ/KUKrcVSa0N3P Flj1BiawI8H7Qr+DALOxRgig564lOym1kv0gqBWVsn/vBrJMtkCkG/Vj X-Gm-Gg: ATEYQzwNx4IbpFKfTx8YsNS2gLdCPMvtbosHmIMxpz7KorJ3EznFMbaW/1pfpaBsBr+ vjmGzZbw7CkQNAMWIBKKpT91+sVoRlk1/VNkCG8Zi5WlqcbzXx8wpjz7OJ2Wk/EquIEQQtaVWvh XneAb32LaYh7un9o7+MP4Dmia6fKBfJ/O5brDwW+7PMX0O5J0r95i2fFut79dXpj6a9DDgNEfF6 MPfYtuegsXIr2ll7mWTVaw7AxlwIf3CMsZBD7r3qqc+uw6BFSE5COCJEGZ0UkU6iI32PSUQPdSr 6CHCQ/F80BNrBvFJmjQhSQbRp/5DcLILo2gPa53VYPhHhu0xRA921MVOShG/q7Ahz/oRMdp7rcM IVcjqjf/Bd6/92rXYRGc1MwMtHEaHdC/qzWezxhi0XlX857vPV6JBlZ84jlUNFuluRv/KbrGvm8 DxfhM7T/Kfpdc4OasnIJ66fgKLPBzAVPg= X-Received: by 2002:a05:600c:1c2a:b0:485:34b3:8587 with SMTP id 5b1f17b1804b1-486f443756cmr115583065e9.10.1773924708677; Thu, 19 Mar 2026 05:51:48 -0700 (PDT) Received: from biju.lan ([2a00:23c4:a758:8a01:8326:7b31:bf82:d2d0]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-486f4bc96c6sm72382035e9.5.2026.03.19.05.51.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Mar 2026 05:51:48 -0700 (PDT) From: Biju X-Google-Original-From: Biju To: Geert Uytterhoeven , Michael Turquette , Stephen Boyd , Philipp Zabel 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 v6 03/10] clk: renesas: r9a07g04{3,4}/r9a08g045-cpg: Add critical reset entries Date: Thu, 19 Mar 2026 12:51:27 +0000 Message-ID: <20260319125143.230377-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260319125143.230377-1-biju.das.jz@bp.renesas.com> References: <20260319125143.230377-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 The RZ/G2L SoC family requires DMA resets to be deasserted for routing some peripheral interrupts to the CPU. Asserting these resets after boot would silently break interrupt delivery with no driver to restore them. Mark the DMA resets as critical by adding them to the crit_resets table in the SoC-specific rzg2l_cpg_info for r9a07g043, r9a07g044, and r9a08g045, preventing __rzg2l_cpg_assert() from asserting them and ensuring they are deasserted during probe and resume. Reviewed-by: Geert Uytterhoeven Signed-off-by: Biju Das --- v5->v6: * Replaced r9a07g043_critical_resets[] -> r9a07g043_crit_resets[] for consistency * Collected tag v4->v5: * No change v4: * Moved this patch from [1] as it is boot-dependent [1] https://lore.kernel.org/all/20260306134228.871815-1-biju.das.jz@bp.ren= esas.com/ --- drivers/clk/renesas/r9a07g043-cpg.c | 8 ++++++++ drivers/clk/renesas/r9a07g044-cpg.c | 13 +++++++++++++ drivers/clk/renesas/r9a08g045-cpg.c | 9 +++++++++ 3 files changed, 30 insertions(+) diff --git a/drivers/clk/renesas/r9a07g043-cpg.c b/drivers/clk/renesas/r9a0= 7g043-cpg.c index 33e9a1223c72..99864c5a4cc8 100644 --- a/drivers/clk/renesas/r9a07g043-cpg.c +++ b/drivers/clk/renesas/r9a07g043-cpg.c @@ -379,6 +379,11 @@ static const unsigned int r9a07g043_crit_mod_clks[] __= initconst =3D { MOD_CLK_BASE + R9A07G043_DMAC_ACLK, }; =20 +static const unsigned int r9a07g043_crit_resets[] =3D { + R9A07G043_DMAC_ARESETN, + R9A07G043_DMAC_RST_ASYNC, +}; + #ifdef CONFIG_ARM64 static const unsigned int r9a07g043_no_pm_mod_clks[] =3D { MOD_CLK_BASE + R9A07G043_CRU_SYSCLK, @@ -420,5 +425,8 @@ const struct rzg2l_cpg_info r9a07g043_cpg_info =3D { .num_resets =3D R9A07G043_IAX45_RESETN + 1, /* Last reset ID + 1 */ #endif =20 + /* Critical Resets */ + .crit_resets =3D r9a07g043_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g043_crit_resets), .has_clk_mon_regs =3D true, }; diff --git a/drivers/clk/renesas/r9a07g044-cpg.c b/drivers/clk/renesas/r9a0= 7g044-cpg.c index 0dd264877b9a..7f1405cab9c3 100644 --- a/drivers/clk/renesas/r9a07g044-cpg.c +++ b/drivers/clk/renesas/r9a07g044-cpg.c @@ -489,6 +489,11 @@ static const unsigned int r9a07g044_crit_mod_clks[] __= initconst =3D { MOD_CLK_BASE + R9A07G044_DMAC_ACLK, }; =20 +static const unsigned int r9a07g044_critical_resets[] =3D { + R9A07G044_DMAC_ARESETN, + R9A07G044_DMAC_RST_ASYNC, +}; + static const unsigned int r9a07g044_no_pm_mod_clks[] =3D { MOD_CLK_BASE + R9A07G044_CRU_SYSCLK, MOD_CLK_BASE + R9A07G044_CRU_VCLK, @@ -519,6 +524,10 @@ const struct rzg2l_cpg_info r9a07g044_cpg_info =3D { .resets =3D r9a07g044_resets, .num_resets =3D R9A07G044_TSU_PRESETN + 1, /* Last reset ID + 1 */ =20 + /* Critical Resets */ + .crit_resets =3D r9a07g044_critical_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g044_critical_resets), + .has_clk_mon_regs =3D true, }; #endif @@ -548,6 +557,10 @@ const struct rzg2l_cpg_info r9a07g054_cpg_info =3D { .resets =3D r9a07g044_resets, .num_resets =3D R9A07G054_STPAI_ARESETN + 1, /* Last reset ID + 1 */ =20 + /* Critical Resets */ + .crit_resets =3D r9a07g044_critical_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g044_critical_resets), + .has_clk_mon_regs =3D true, }; #endif diff --git a/drivers/clk/renesas/r9a08g045-cpg.c b/drivers/clk/renesas/r9a0= 8g045-cpg.c index 79e7b19c7882..87ee43f9fe18 100644 --- a/drivers/clk/renesas/r9a08g045-cpg.c +++ b/drivers/clk/renesas/r9a08g045-cpg.c @@ -361,6 +361,11 @@ static const unsigned int r9a08g045_crit_mod_clks[] __= initconst =3D { MOD_CLK_BASE + R9A08G045_VBAT_BCLK, }; =20 +static const unsigned int r9a08g045_critical_resets[] =3D { + R9A08G045_DMAC_ARESETN, + R9A08G045_DMAC_RST_ASYNC, +}; + static const unsigned int r9a08g045_no_pm_mod_clks[] =3D { MOD_CLK_BASE + R9A08G045_PCI_CLKL1PM, }; @@ -389,5 +394,9 @@ const struct rzg2l_cpg_info r9a08g045_cpg_info =3D { .resets =3D r9a08g045_resets, .num_resets =3D R9A08G045_VBAT_BRESETN + 1, /* Last reset ID + 1 */ =20 + /* Critical Resets */ + .crit_resets =3D r9a08g045_critical_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a08g045_critical_resets), + .has_clk_mon_regs =3D true, }; --=20 2.43.0