NVIDIA: SAUCE: mailbox: tegra-hsp: Do not clear interrupt routing at probe

HSP interrupts are shared across firmware & OS. Currently, if a
firmware configures interrupt routing before kernel boots,
the tegra-hsp driver can clear that routing if the same shared
interrupt is assigned to Linux. This disables the interrupts for
that firmware.

Bug 4774805

Change-Id: Icd819a31398ab53f8e915b9b2ef1ffd234972eb3
Signed-off-by: Hiteshkumar Patel <hiteshkumarg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/3rdparty/canonical/linux-noble/+/3483088
Reviewed-by: Kartik Rajput <kkartik@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Hiteshkumar Patel
2025-10-16 05:54:45 +00:00
committed by mobile promotions
parent fc8056e062
commit cc660d12b9

View File

@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2016-2024, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2016-2025, NVIDIA CORPORATION. All rights reserved.
*/
#include <linux/delay.h>
@@ -835,7 +835,6 @@ static int tegra_hsp_request_shared_irq(struct tegra_hsp *hsp)
{
unsigned int i, irq = 0;
unsigned int default_si = hsp->num_si;
unsigned int value;
int err;
for (i = 0; i < hsp->num_si; i++) {
@@ -853,13 +852,6 @@ static int tegra_hsp_request_shared_irq(struct tegra_hsp *hsp)
hsp->shared_irqs[i].enabled = true;
value = tegra_hsp_readl(hsp, HSP_INT_IE(i));
if (value && !hsp->soc->virtualized) {
dev_warn(hsp->dev,
"disabling interrupts for si: %d\n", i);
tegra_hsp_writel(hsp, 0, HSP_INT_IE(i));
}
/* Use first available interrupt as default. */
if (default_si == hsp->num_si)
default_si = i;