[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9ab1a77c-82e6-39be-9b90-b394037fb574@gmail.com>
Date: Sat, 19 Mar 2022 19:14:51 +0300
From: Dmitry Osipenko <digetx@...il.com>
To: Ashish Mhetre <amhetre@...dia.com>,
krzysztof.kozlowski@...onical.com, robh+dt@...nel.org,
thierry.reding@...il.com, jonathanh@...dia.com,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-tegra@...r.kernel.org
Cc: vdumpa@...dia.com, Snikam@...dia.com
Subject: Re: [Patch v5 2/4] memory: tegra: Add MC error logging on tegra186
onward
16.03.2022 12:25, Ashish Mhetre пишет:
> +static int tegra186_mc_get_channel(const struct tegra_mc *mc, int *mc_channel)
> +{
> + u32 status;
> +
> + status = mc_ch_readl(mc, MC_BROADCAST_CHANNEL, MC_GLOBAL_INTSTATUS);
This mc_ch_readl(MC_GLOBAL_INTSTATUS) is replicated by every
tegraxxx_mc_get_channel(), it should be a part of common interrupt
handler, IMO.
And then I'd rename that callback to global_intstatus_to_channel().
> + switch (status & mc->soc->int_channel_mask) {
> + case BIT(0):
> + *mc_channel = 0;
> + break;
> +
> + case BIT(1):
> + *mc_channel = 1;
> + break;
> +
> + case BIT(2):
> + *mc_channel = 2;
> + break;
> +
> + case BIT(3):
> + *mc_channel = 3;
> + break;
> +
> + case BIT(24):
> + *mc_channel = MC_BROADCAST_CHANNEL;
> + break;
> +
> + default:
> + pr_err("Unknown interrupt source\n");
dev_err_ratelimited("unknown interrupt channel 0x%08x\n", status) and
should be moved to the common interrupt handler.
Powered by blists - more mailing lists