Re: [Patch v1 01/10] memory: tegra: add interconnect support for DRAM scaling in Tegra234

From: Sumit Gupta
Date: Wed Dec 21 2022 - 04:35:52 EST




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.