From nobody Mon Apr 6 23:15:53 2026 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (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 E032934A3CD for ; Tue, 17 Mar 2026 19:56:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773777420; cv=none; b=LZkOOc3ZFQCAxbXGFM2TPSBIzucoCNCqtIf4YKpbcfHKAOOStCasXJL9h9+U/4EHr1cZ3DrIlDvX0fbb/MI0oSAHRN2QccLhRotcC4CRhcOJbQYQOvm1mWcPkKgFvMzRvGm1CwYWAHzlFVYZoFLILJxk4H/W9EF1nVwt/YaQKCM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773777420; c=relaxed/simple; bh=rvcl8x70hBsjnab9fTtTkQT29M7rkPtwI3LOdVMcKIw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Wh2RGQl+dg7lVRyJRRsvk/OJWWc4zbvzDUDtIuIyU1E8v1YL5iYru46mkcxoukT9vR8qhOMb5OZDyBvfw0G5OndVpincRH5sJYk9JdeVa4xBOdSHK0SOxIx4jB7UslcYn400yZg2T80dd7sD4FCpevt63iJLl2YH3HXuPA3E/uE= 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=SoxfTzpy; arc=none smtp.client-ip=209.85.221.41 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="SoxfTzpy" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-43b40fb7f95so2599007f8f.3 for ; Tue, 17 Mar 2026 12:56:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773777417; x=1774382217; 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=SoxfTzpyzvtlrrrKeHEXxpEkya5UaltApG27Fn+p7oI5sF7A811z8ACxpdOm0Y7q80 t2xyyXNkWeAa8TNK1zqYrJBt8z2JQLMlYyCQ8KXu6FgucGNtvqOUtMp0B3CcQb3xIzcW EZE9PiWTTBcwRVwQhrlfbuqpE+3cDuthSpVQh2HJJSxlYO7+Gc9RzpbtjGdP8bcZVnfW tl8FTI/V8NjsXwtwOiVmfiJWyOMjKjNquJ3bvmB60zmjd500yKPheePbzvdcGEsSgELM hfQAvscuKUWbwObv1DwrFqfAdlWGO8oNtTcmIZo1cKle52Jcs/oIS1de1slrrScBk9vE 5hzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773777417; x=1774382217; 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=NZ1PTft9ZEed8nY5llQ1cqsI0e5k8L5q7AywJ4YPwi+7EH6gvfFigZmPDhqWvmzjc7 cI7gDMeYVzxDm32HIr6m0Xtxcb4lPw6qZ+V2qMC1pZEivPxOL4CvglZoZkTFSGg7SPEd Og8u/lumVTblOLf5Afj1QKDmyEM4Mezpc/3GJRWId+Mxuc5+38mNHnlzb9rH3nvq87RW i7NpFlQqSE5nytdJS/i5l16Lj4WFrVbwvenMk96sCxL2BBDWWY96w19svZeqI579LaF0 pAwKE+nDscNLrN7IA62tDdkhX1CkjamlS07AbSZ/wPGvth0xPgdniUhF1epmX6I2Yz66 Oi4A== X-Forwarded-Encrypted: i=1; AJvYcCWwtkqWLMO81OXu1gGA1Uc3HIg4GY6Cfh9YDDjHUpet6xpOCg0RaWrwap9DIs+40AJxlSN7M67KH6aOTMM=@vger.kernel.org X-Gm-Message-State: AOJu0YyhWq2qQvopVAWc+BJqfFNF4LKG2KgrNgIuDUL3eP+3abaRVkJ6 u4YfBkqU/+SRdsFIqQJgvcRM672x26muwnRwc/lOmJ1MZh/vihqk8Ozx2Z86Qw== X-Gm-Gg: ATEYQzzoG/vXItgImdaINuXhktODNiLb01CGTf90raRsmhuBsKQ+QT8JcgJE5KY/CVg VHePiR6Wj7we1ftzLCDqV2HO6byzDE18GBMQ5G5sUBQMlltgSr0CG2Pbs4IBq9rLa3aCsgJq3fy Pvzb7t2GsGRPToT/3T+SLr1Teehog3ozPsV4hVSlPE9dwhCW8P1v1HuDKEUA25cXXAfqX00Upon 3KYlp4Cwx9fpZWzOmuoPtIryvzXP1qlbUjeqHSOr4lzB/4hJkpVoi9EBU7VPzPUruqc/FSCeHL7 fOCROphRLGeAcJYvjVKYqbEHhhB5tPKDoZS7juzjj1oLkx8l08juCseV8HrbhUX7HXKdq+a/RMk 1H4lIMBLfIhO38GavCWf5aEmDWqutG+7hh0ZyD7estTMHnT+4qKI1zneTB7lulfuYu1XsQlqweG zC3tlDtcq038IgHJU7apwfAl02G3VAjjh6b1IuWV7pxJmVFAdk X-Received: by 2002:a05:6000:2403:b0:439:b991:5c07 with SMTP id ffacd0b85a97d-43b527c812amr912021f8f.40.1773777417160; Tue, 17 Mar 2026 12:56:57 -0700 (PDT) Received: from localhost.localdomain ([2a00:23c4:a758:8a01:e16b:fc56:e220:9aa9]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b5189221dsm1339217f8f.23.2026.03.17.12.56.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Mar 2026 12:56:56 -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:56:32 +0000 Message-ID: <20260317195650.468330-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260317195650.468330-1-biju.das.jz@bp.renesas.com> References: <20260317195650.468330-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