From nobody Mon Apr 6 09:12:33 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 16ACC3921D1 for ; Fri, 20 Mar 2026 10:49:55 +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=1774003798; cv=none; b=Vb/bfzXv8Z8WyEc53R90/cKeU7RGQ5pHVB9Z9HqkIw/QYBAegAbuCtIrEBDD5+y6LwQeOC7o9d24GVTDxN3jmKRAhzWCg7DbgkOPgw8W5B2+bVNO2dhaLrgs8SClodx5IAyqo4zuagdi2ZjH4Srs4AdeyXWF7wqvzZF4bakh9T0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774003798; c=relaxed/simple; bh=ajpMcqKfNP9HAt82cwjHe9/52zY3oHxoR2gC6/k0qOs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h+GZoQhHEhyNQ3/FnEQWcuJZO+RQfKhbNc7k5RdZmkqGoX9BZ9Jnrp8ILYuCgYwIsTl8MMlkKj+mPrKqUemrZef8pRRFz6rMxdFjWAl72cLFIy3JaXKiwWsfztwIr9lE3LZ7p8vS6d/cOx9rXJvu9w07/jpcpYdxyuJ7PVLi8Fg= 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=dUmX/j1O; 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="dUmX/j1O" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-43b3d9d0695so1601220f8f.0 for ; Fri, 20 Mar 2026 03:49:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1774003794; x=1774608594; 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=eaD0/MOliBcQM28TfUPYVE0y6iDdS5KDXDCppjI2wrU=; b=dUmX/j1OlGI7bXannrHmAawXtUGVRMYfUVEkcMe+7yHIRydkSe/8uEyehZm3+LqFlc DeDpRJl4JmZ2FeO+5uwn3PfFaT8rYBgYtD90CPG3x36I11vJ8ZHhEODUADLOhJDsOYeA f83CpPPNmiLfcQw3UWpy8UWdOlSBU31HQWGqKpDLFolAXUuNcJ9h0lFl6Gj9VW24XhGm TwXnJtueRirPSuUtw5j+U/o7lnk0ap3GvTOBnBpSFaNNCl/CEH/8BFlUbAOZzvKLfH0K dD20nUDT+s5SFJEe5E9h8H6xXkoaFqIe3E3BYP4LSX5dVhntpDPBEe6oG8Yg2o0W73Wn BHHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774003794; x=1774608594; 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=eaD0/MOliBcQM28TfUPYVE0y6iDdS5KDXDCppjI2wrU=; b=rbdN0UjCqbiPZzUeEosYW8e+l8aMJqn4o/m3RCk5tfWzev2ok2eaUJE7V796Rqe7or iuNjLxW/JMvs2kUTD9XRrbxuxQUW2pEr0R4CqplHsJN5YpLuaZMRPfJQ3htlbti7GeBA rl+ZMLOpCLLVd/An1aCZ+FqRnnNaICUFvEIIRHR327DSQdtNcoWQEPYx9B6ejjf1DaBg B9i0vpj5kzLPSyQmgBJf2t0MFunk90i5S9cCtCdF55EN+hbSU3h1PSR2uw9f4OQC+x/q +QKUmQ96l7FnFjwQcicZGjXwARlAXdaPgTQRYO+KWiueebJlqaQpFitTHngmloSUqk5M BqgA== X-Forwarded-Encrypted: i=1; AJvYcCUE6kV8NB5eQV8KF39fHr63Yc5z+T6Y3bXRLdIO+fjpJ3dj1rEHWXbZSS/2zsgXo19rbE+mGaDSgkvPsRs=@vger.kernel.org X-Gm-Message-State: AOJu0YwtchSNrl4cKXozyytO1oD2F+9e7L1Di87xQDbm3hFqx6RfPtEy 3Ag9MgXKKcGfYcvYca+qjOJh0GQx1eX7mvZf1a88GRL9C771z7TsiMcI036xZA== X-Gm-Gg: ATEYQzwDttTkRR1WrY8jGxjO+kYTptSwl1pUtZgeUh0ZM6VTVQIVO8BMP6++IOttHno B4jPWDqKQvCAgdA0aRrCEexb4aJi5+wJFThJic6xvRHfK4ZFG9S6TpHAp1tUKGp6N5jKj221GgO MdV5tZCIQFXOZnX68SxaUXfSOwJD+i2tBtJgAaHr7ZchIw7OME/phChaBq2TxJMBGVoyLn2acN9 9IWsVHEDnP9RCam3Gq7IK7ndSJpE1MFqOgQkf89VvO5wZHYu2zm8GY6XT8KXo6L/T0smNIuxXhe LCRuQZW2bci5hO46ZT29GOCMayK2hFPjYmuwmsb2Vy0Jh0pBIgx+cukFD2ZrRAzms+884InSL/e hnwf/5pWLj123chbItjgBMlrwEswvTB2HQQJ3sdtqN0cpx8JYRRQQ9vFEPSlQdzKz7xvR2Mw19R +ElgJTiCWP1/edQOzxIsBLKWE1ZEs+408= X-Received: by 2002:a05:6000:4021:b0:43b:566e:fad2 with SMTP id ffacd0b85a97d-43b64242eb2mr5322361f8f.9.1774003793977; Fri, 20 Mar 2026 03:49:53 -0700 (PDT) Received: from biju.lan ([2a00:23c4:a758:8a01:5b93:d2b1:bc5c:9231]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43b644ae619sm6203062f8f.5.2026.03.20.03.49.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Mar 2026 03:49:53 -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 v7 03/10] clk: renesas: r9a07g04{3,4}/r9a08g045-cpg: Add critical reset entries Date: Fri, 20 Mar 2026 10:49:37 +0000 Message-ID: <20260320104950.42220-4-biju.das.jz@bp.renesas.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260320104950.42220-1-biju.das.jz@bp.renesas.com> References: <20260320104950.42220-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 --- v6->v7: * Updated r9a07g043_cpg_info by inserting a blank line before .has_clk_mon_regs * Replaced r9a07g044_critical_resets->r9a07g044_crit_resets and r9a08g045_critical_resets->r9a08g045_crit_resets for consistency 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 | 9 +++++++++ drivers/clk/renesas/r9a07g044-cpg.c | 13 +++++++++++++ drivers/clk/renesas/r9a08g045-cpg.c | 9 +++++++++ 3 files changed, 31 insertions(+) diff --git a/drivers/clk/renesas/r9a07g043-cpg.c b/drivers/clk/renesas/r9a0= 7g043-cpg.c index 33e9a1223c72..70944ef8c5b8 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,9 @@ 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..2d3487203bf5 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_crit_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_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g044_crit_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_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a07g044_crit_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..1232fec913eb 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_crit_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_crit_resets, + .num_crit_resets =3D ARRAY_SIZE(r9a08g045_crit_resets), + .has_clk_mon_regs =3D true, }; --=20 2.43.0