[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <298fcaca-c708-5d68-95d6-51673f7a2174@nvidia.com>
Date: Wed, 21 Dec 2022 15:05:22 +0530
From: Sumit Gupta <sumitg@...dia.com>
To: Dmitry Osipenko <digetx@...il.com>, <treding@...dia.com>,
<krzysztof.kozlowski@...aro.org>, <dmitry.osipenko@...labora.com>,
<viresh.kumar@...aro.org>, <rafael@...nel.org>,
<jonathanh@...dia.com>, <robh+dt@...nel.org>,
<linux-kernel@...r.kernel.org>, <linux-tegra@...r.kernel.org>,
<linux-pm@...r.kernel.org>, <devicetree@...r.kernel.org>,
Sumit Gupta <sumitg@...dia.com>
Subject: Re: [Patch v1 01/10] memory: tegra: add interconnect support for DRAM
scaling in Tegra234
On 20/12/22 23:40, Dmitry Osipenko wrote:
> External email: Use caution opening links or attachments
>
>
> 20.12.2022 19:02, Sumit Gupta пишет:
>> +static int tegra_emc_icc_get_init_bw(struct icc_node *node, u32 *avg, u32 *peak)
>> +{
>> + *avg = 0;
>> + *peak = 0;
>> +
>> + return 0;
>> +}
>
> Looks wrong, you should add ICC support to all the drivers first and
> only then enable ICC. I think you added this init_bw() to work around
> the fact that ICC isn't supported by T234 drivers.
If get_bw hook is not added then max freq is set due to 'INT_MAX' below.
void icc_node_add(struct icc_node *node, struct icc_provider *provider)
{
....
/* get the initial bandwidth values and sync them with hardware */
if (provider->get_bw) {
provider->get_bw(node, &node->init_avg, &node->init_peak);
} else {
node->init_avg = INT_MAX;
node->init_peak = INT_MAX;
}
So, will have to add the empty functions at least.
static int tegra_emc_icc_get_init_bw(struct icc_node *node, u32 *avg,
u32 *peak)
{
- *avg = 0;
- *peak = 0;
-
return 0;
}
Support to all the client drivers can't be added at once as there are
many drivers all with different requirements and handling. This patch
series is the beginning to add the basic interconnect support in new
Tegra SoC's. Support for more clients will be added later one by one or
in batch.
Powered by blists - more mailing lists