From nobody Mon Apr 6 23:13:57 2026 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) (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 92EE2345725 for ; Tue, 17 Mar 2026 19:44:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773776693; cv=none; b=ROtpwVrq4YnV3O6iEASwp9S7pIBJanFOuXBAaYOg5B5ri7iVueFvcUvoQ0/nJOrLhGMmDYN+KJAchrcR0gHSG5BZLg/L3tedvpcREl7WBbSm0dCgib6zu1SShdzcGP/kYIL6/7kqgHHp2VHTnHrBjyTBN+I95KvbjzXLJmA8m8c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773776693; c=relaxed/simple; bh=rvcl8x70hBsjnab9fTtTkQT29M7rkPtwI3LOdVMcKIw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=udxl4UE5Tr63goDr4DOKLsJA5kEans/HTYQMygDNwFJL3bjiK+Fx9m29EdPfGHcIp602tLyvF/t9LD3l11da5+m06LHFWKulY/cJ+gYqX3rQWDOT+jPzJxsfNUlCh+2ixqxlI7R3gwhkrNKy1uclIsFnGgNL3yJHlEUjQrlP2bk= 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=cr+OuwYG; arc=none smtp.client-ip=209.85.221.48 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="cr+OuwYG" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-4327790c4e9so4483644f8f.2 for ; Tue, 17 Mar 2026 12:44:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773776690; x=1774381490; 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=jeK06cR2Nyk++6NOuplshRyefztocvFnw4c5j63Tkko=; b=cr+OuwYGYXSq7s7cpYwDDwPfA0pvA5l4opZAy7JKds1qTc4oMwzcBDK2/8xUrbsodl gCt58gODJN/4eg7snPWgCr7StU/UwgbmGHrPqEZ4JsTcIQBwDxyHFrZ0weZJ04xh7Apv N9rL6IY9Rk9KiawD0glwgc8xooHlV0JWhEd5Uy6mgSoiPmWgQN0u4Y/cckTf7Jful7NN bIRWFs3VdmM8AV0VC1JDvujj+O551IvlQBpMVrfIBTsnZMImCK6cD2VuIsB5eqE9+JYp P4dSOBL8/c64+puBCM3DMsTzeXoQv7Fib5hECqNx0NR/4eZVrITJ/msyhcrdmVSuefMd cEow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773776690; x=1774381490; 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=jeK06cR2Nyk++6NOuplshRyefztocvFnw4c5j63Tkko=; b=pgRIMNE2bVpGmMqIWC/rejjUdPOgNRd+nZKxC5YXOWFChKa7jji3Xeyyg7PhKf18VW MEikI7A97Rufesrk4tNFJQIq96iiHcOnKXcvmigIIVQEhKIiMmaGgVcxsJYCHiQrKid5 eVZSHjjDOmOMJLNvFcERD4c5sL4hPvUZj0iPR/im2Ra8VAz0dDJsYhsPMFuE/6Ex7nl2 Yq94l6YWII5FtbJuxLUdzDp57mFwnEU6UL1QG5OUHMEUJ/lSz8lJM3N/Cbw0bYfL6V6J gShgU4Pi63FY2S1F/oB/HHfCvqFbYG00yHaxkQzc2FEfFrw0p2+YKTCeGvFpVdTTcyYE vjKQ== X-Forwarded-Encrypted: i=1; AJvYcCViM1F3sZ/z29HcQ/4KkJifuhLcvNnBfzDOVzN46TOqBHfFLVR6y6fuRG+y+LxqNzGJidDqQPaQ4fZfxWk=@vger.kernel.org X-Gm-Message-State: AOJu0YynFqKj3pITkNWoWHME3s0eE61VK9L3M2yt4iDDdkhGnaDnUEh1 7nvTgsIRQklJltFy7/P6gZhvyPseODHzwI/CnE9wRD2gpcVTuLIcFnXP X-Gm-Gg: ATEYQzztUN+O4uFP/SoBR0hmL0zegqJ2WvyQkxZ8QYx2PMiLX8tux48E+4QpZa4r35i Re3ZazbyGU4uL5rxkX12UnkzNO3PmEZJX8/n43PPRFe5rtMcYHPlWj2g5Sj2qKkuxx55yje5QEi QzBh6eg6mQ+Rk3e/xcMvpxBmwKAJEPYYXYgQIFibEoS4OBrE1Aq8wDvsba+S0NecZ4u0grIg2Dr +VTYC+1wmFDIOyjR/KjFjkVsSyuzySJl5ODZ+0gIk9iMUTSogQ+Z2lQ4DFy/1+QMcpmgIUGPZto LNQXM6qKUD+MNQf8th1MIzG2xgCZzIpauR5Gbivj6XsJ4C48kPpzA5BmVsAFwxrLhjpadKQ+ssE qdH8MM57AgTq8QtvngddYdZu5kzPC1TEA2hYGkZQdGMYtvbqdBXPhKgseIvEllx/WchrMoBIxf+ yt26uFOV72U9qZMJv7hxChVO8y0xGIkLL+bfEQ0bV7Kke9Xtn6UMfJ85NzdW4= X-Received: by 2002:a05:6000:420a:b0:43b:514a:ec78 with SMTP id ffacd0b85a97d-43b5279c925mr926507f8f.1.1773776689847; Tue, 17 Mar 2026 12:44:49 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:e16b:fc56:e220:9aa9]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b51892161sm1788235f8f.21.2026.03.17.12.44.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 12:44:49 -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 v4 3/9] clk: renesas: r9a07g04{3,4}/r9a08g045-cpg: Add critical reset entries Date: Tue, 17 Mar 2026 19:44:30 +0000 Message-ID: <20260317194442.468147-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260317194442.468147-1-biju.das.jz@bp.renesas.com> References: <20260317194442.468147-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. Signed-off-by: Biju Das --- 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..01d741ed8dc5 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_critical_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_critical_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g043_critical_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