summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSumit Gupta <sumitg@nvidia.com>2025-07-03 16:08:22 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-15 12:13:36 +0200
commite2a57054e9998ba5455122f5925c1aacc70409fb (patch)
tree30b50a7e4cba60b33006356e36ea0e11fb0c96fa
parentbf8d808f77b90f15dcd5243b577ba0b9e1c2e0e1 (diff)
soc/tegra: cbb: Clear ERR_FORCE register with ERR_STATUS
[ 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>
-rw-r--r--drivers/soc/tegra/cbb/tegra234-cbb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/soc/tegra/cbb/tegra234-cbb.c b/drivers/soc/tegra/cbb/tegra234-cbb.c
index 5cf0e8c34164..e8cc46874c72 100644
--- a/drivers/soc/tegra/cbb/tegra234-cbb.c
+++ b/drivers/soc/tegra/cbb/tegra234-cbb.c
@@ -185,6 +185,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);
}