]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
soc/tegra: cbb: Clear ERR_FORCE register with ERR_STATUS
authorSumit Gupta <sumitg@nvidia.com>
Thu, 3 Jul 2025 10:38:22 +0000 (16:08 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 10:04:54 +0000 (12:04 +0200)
[ Upstream commit a0647bca8966db04b79af72851ebd04224a4da40 ]

When error is injected with the ERR_FORCE register, then this register
is not auto cleared on clearing the ERR_STATUS register. This causes
repeated interrupts on error injection. To fix, set the ERR_FORCE to
zero along with clearing the ERR_STATUS register after handling error.

Fixes: fc2f151d2314 ("soc/tegra: cbb: Add driver for Tegra234 CBB 2.0")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/soc/tegra/cbb/tegra234-cbb.c

index f33d094e5ea60c28501b960f0952b05ed5a84303..5813c55222ca3605e755bb9c68748ff97d7733c8 100644 (file)
@@ -189,6 +189,8 @@ static void tegra234_cbb_error_clear(struct tegra_cbb *cbb)
 {
        struct tegra234_cbb *priv = to_tegra234_cbb(cbb);
 
+       writel(0, priv->mon + FABRIC_MN_MASTER_ERR_FORCE_0);
+
        writel(0x3f, priv->mon + FABRIC_MN_MASTER_ERR_STATUS_0);
        dsb(sy);
 }