From: Sumit Gupta <sumitg@nvidia.com>
To: <treding@nvidia.com>, <krzysztof.kozlowski@linaro.org>,
<dmitry.osipenko@collabora.com>, <viresh.kumar@linaro.org>,
<rafael@kernel.org>, <jonathanh@nvidia.com>, <robh+dt@kernel.org>,
<linux-kernel@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
<linux-pm@vger.kernel.org>, <devicetree@vger.kernel.org>
Cc: <sanjayc@nvidia.com>, <ksitaraman@nvidia.com>, <ishah@nvidia.com>,
<bbasu@nvidia.com>, <sumitg@nvidia.com>
Subject: [Patch v1 10/10] memory: tegra: make cluster bw request a multiple of mc_channels
Date: Tue, 20 Dec 2022 21:32:40 +0530 [thread overview]
Message-ID: <20221220160240.27494-11-sumitg@nvidia.com> (raw)
In-Reply-To: <20221220160240.27494-1-sumitg@nvidia.com>
CPU opp table have bandwidth data per MC channel. The actual bandwidth
depends on number of MC channels which can change as per the boot config
for a board. So, multiply the bandwidth request for CPU clusters with
number of enabled MC channels. This is not required to be done for other
MC clients.
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
---
drivers/memory/tegra/tegra234.c | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/drivers/memory/tegra/tegra234.c b/drivers/memory/tegra/tegra234.c
index 82ce6c3c3eb0..a45fc99b9c82 100644
--- a/drivers/memory/tegra/tegra234.c
+++ b/drivers/memory/tegra/tegra234.c
@@ -834,6 +834,29 @@ static int tegra234_mc_icc_set(struct icc_node *src, struct icc_node *dst)
return 0;
}
+static int tegra234_mc_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw,
+ u32 peak_bw, u32 *agg_avg, u32 *agg_peak)
+{
+ struct tegra_icc_node *tnode = NULL;
+ struct tegra_mc *mc = NULL;
+
+ if (node->id == TEGRA_ICC_MC_CPU_CLUSTER0 ||
+ node->id == TEGRA_ICC_MC_CPU_CLUSTER1 ||
+ node->id == TEGRA_ICC_MC_CPU_CLUSTER2) {
+ if (node->data) {
+ tnode = node->data;
+ mc = tnode->mc;
+ if (mc)
+ peak_bw = peak_bw * mc->num_channels;
+ }
+ }
+
+ *agg_avg += avg_bw;
+ *agg_peak = max(*agg_peak, peak_bw);
+
+ return 0;
+}
+
static struct icc_node*
tegra234_mc_of_icc_xlate(struct of_phandle_args *spec, void *data)
{
@@ -866,7 +889,7 @@ static int tegra234_mc_icc_get_init_bw(struct icc_node *node, u32 *avg, u32 *pea
static const struct tegra_mc_icc_ops tegra234_mc_icc_ops = {
.xlate = tegra234_mc_of_icc_xlate,
.get_bw = tegra234_mc_icc_get_init_bw,
- .aggregate = icc_std_aggregate,
+ .aggregate = tegra234_mc_icc_aggregate,
.set = tegra234_mc_icc_set,
};
--
2.17.1
prev parent reply other threads:[~2022-12-20 16:06 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-20 16:02 [Patch v1 00/10] Tegra234 Memory interconnect support Sumit Gupta
2022-12-20 16:02 ` [Patch v1 01/10] memory: tegra: add interconnect support for DRAM scaling in Tegra234 Sumit Gupta
2022-12-20 18:05 ` Dmitry Osipenko
2022-12-21 7:53 ` Sumit Gupta
2022-12-20 18:06 ` Dmitry Osipenko
2022-12-21 7:54 ` Sumit Gupta
2022-12-20 18:07 ` Dmitry Osipenko
2022-12-21 8:05 ` Sumit Gupta
2022-12-21 16:44 ` Dmitry Osipenko
2023-01-17 13:03 ` Sumit Gupta
2022-12-20 18:10 ` Dmitry Osipenko
2022-12-21 9:35 ` Sumit Gupta
2022-12-21 16:43 ` Dmitry Osipenko
2023-01-13 12:15 ` Sumit Gupta
2022-12-21 0:55 ` Dmitry Osipenko
2022-12-21 8:07 ` Sumit Gupta
2022-12-21 16:54 ` Dmitry Osipenko
2023-01-13 12:25 ` Sumit Gupta
2022-12-21 19:17 ` Dmitry Osipenko
2022-12-21 19:20 ` Dmitry Osipenko
2022-12-22 15:56 ` Dmitry Osipenko
2023-01-13 12:35 ` Sumit Gupta
2023-01-13 12:40 ` Sumit Gupta
2022-12-21 19:43 ` Dmitry Osipenko
2022-12-22 11:32 ` Krzysztof Kozlowski
2023-03-06 19:28 ` Sumit Gupta
2022-12-20 16:02 ` [Patch v1 02/10] memory: tegra: adding iso mc clients for Tegra234 Sumit Gupta
2022-12-20 16:02 ` [Patch v1 03/10] memory: tegra: add pcie " Sumit Gupta
2022-12-22 11:33 ` Krzysztof Kozlowski
2023-01-13 14:51 ` Sumit Gupta
2022-12-20 16:02 ` [Patch v1 04/10] memory: tegra: add support for software mc clients in Tegra234 Sumit Gupta
2022-12-22 11:36 ` Krzysztof Kozlowski
2023-03-06 19:41 ` Sumit Gupta
2022-12-20 16:02 ` [Patch v1 05/10] dt-bindings: tegra: add icc ids for dummy MC clients Sumit Gupta
2022-12-22 11:29 ` Krzysztof Kozlowski
2023-01-13 14:44 ` Sumit Gupta
2023-01-13 17:11 ` Krzysztof Kozlowski
2022-12-20 16:02 ` [Patch v1 06/10] arm64: tegra: Add cpu OPP tables and interconnects property Sumit Gupta
2023-01-16 16:29 ` Thierry Reding
2022-12-20 16:02 ` [Patch v1 07/10] cpufreq: Add Tegra234 to cpufreq-dt-platdev blocklist Sumit Gupta
2022-12-21 5:01 ` Viresh Kumar
2022-12-20 16:02 ` [Patch v1 08/10] cpufreq: tegra194: add OPP support and set bandwidth Sumit Gupta
2022-12-22 15:46 ` Dmitry Osipenko
2023-01-13 13:50 ` Sumit Gupta
2023-01-16 12:16 ` Dmitry Osipenko
2023-01-19 10:26 ` Thierry Reding
2023-01-19 13:01 ` Dmitry Osipenko
2023-02-06 13:31 ` Sumit Gupta
2022-12-20 16:02 ` [Patch v1 09/10] memory: tegra: get number of enabled mc channels Sumit Gupta
2022-12-22 11:37 ` Krzysztof Kozlowski
2023-01-13 15:04 ` Sumit Gupta
2023-01-16 16:30 ` Thierry Reding
2022-12-20 16:02 ` Sumit Gupta [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=20221220160240.27494-11-sumitg@nvidia.com \
--to=sumitg@nvidia.com \
--cc=bbasu@nvidia.com \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.osipenko@collabora.com \
--cc=ishah@nvidia.com \
--cc=jonathanh@nvidia.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=ksitaraman@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=robh+dt@kernel.org \
--cc=sanjayc@nvidia.com \
--cc=treding@nvidia.com \
--cc=viresh.kumar@linaro.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.