From: Jon Hunter <jonathanh@nvidia.com>
To: Ketan Patil <ketanp@nvidia.com>,
krzk@kernel.org, thierry.reding@gmail.com
Cc: linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH v3 4/4] memory: tegra: Add MC error logging support for Tegra264
Date: Tue, 7 Oct 2025 17:01:10 +0100 [thread overview]
Message-ID: <4b3cfaee-70dd-4df3-bd12-5deb26217674@nvidia.com> (raw)
In-Reply-To: <20251004191123.2145307-5-ketanp@nvidia.com>
Hi Ketan,
On 04/10/2025 20:11, Ketan Patil wrote:
> In Tegra264, different components from memory subsystems like Memory
> Controller Fabric (MCF), HUB, HUB Common (HUBC), Side Band Shim (SBS)
> and MC Channels have different interrupt lines for receiving memory
> controller error interrupts.
>
> Add support for logging memory controller errors on Tegra264.
> - Add MC error handling flow for MCF, HUB, HUBC, SBS and MC Channel.
> - Each of these components have different interrupt lines for MC error.
> - Register interrupt handlers for interrupts from these different MC
> components.
> - There is no global interrupt status register in Tegra264 unlike older
> Tegra chips.
> - There are common interrupt status registers in case of MCF, HUB, HUBC
> from which figure out the slice number or hub number responsible for
> generating interrupt and then read interrupt status register to find out
> type of violation.
> - Introduce new SoC specific fields in tegra_mc_soc like interrupt mask
> values for MCF, HUB, HUBC etc., which are SOC specific.
>
> Signed-off-by: Ketan Patil <ketanp@nvidia.com>
...
> +static irqreturn_t handle_hub_irq(int irq, void *data)
> +{
> + struct tegra_mc *mc = data;
> + unsigned long hub_global_intstat, hub_intstat, hub_interrupted = 0;
> + unsigned int hub_gobal_mask = 0x7F00, hub_gobal_shift = 8, hub;
I assume the above are typos and these should be 'hub_global_mask' and
'hub_global_shift'?
> +
> + /* Read MSS_HUB_GLOBAL_INTSTATUS_0 from MCB block */
> + hub_global_intstat = mc_ch_readl(mc, MC_BROADCAST_CHANNEL, MSS_HUB_GLOBAL_INTSTATUS_0);
> + if (hub_global_intstat == 0) {
> + dev_err(mc->dev, "No interrupt in HUB/HUBC\n");
It appears that this handle_hub_irq() is used for multiple interrupts,
should the error messages in this function print the IRQ number that
triggered this?
BTW, it appears that all interrupts that use this handle_hub_irq()
function pass the same tegra_mc structure and so from what I can tell
they are all reading and accessing the same registers. Is that intentional?
Jon
--
nvpublic
prev parent reply other threads:[~2025-10-07 16:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-04 19:11 [PATCH v3 0/4] memory: tegra: Add MC error logging support for Tegra264 SoC Ketan Patil
2025-10-04 19:11 ` [PATCH v3 1/4] memory: tegra: Group mc-err related registers Ketan Patil
2025-10-04 19:11 ` [PATCH v3 2/4] memory: tegra: Group register and fields Ketan Patil
2025-10-04 19:11 ` [PATCH v3 3/4] memory: tegra: Add support for multiple irqs Ketan Patil
2025-10-04 19:11 ` [PATCH v3 4/4] memory: tegra: Add MC error logging support for Tegra264 Ketan Patil
2025-10-07 16:01 ` Jon Hunter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4b3cfaee-70dd-4df3-bd12-5deb26217674@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=ketanp@nvidia.com \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®