interconnect: Aggregate before setting initial bandwidth

When setting the initial bandwidth, make sure to call the aggregate()
function (if such is implemented for the current provider), to handle
cases when data needs to be aggregated first.

Fixes: b1d681d8d3 ("interconnect: Add sync state support")
Acked-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20201013135913.29059-1-georgi.djakov@linaro.org
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
This commit is contained in:
Georgi Djakov 2020-10-13 16:59:11 +03:00
Родитель 5be1805dc3
Коммит d3703b3e25
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -971,6 +971,9 @@ void icc_node_add(struct icc_node *node, struct icc_provider *provider)
} }
node->avg_bw = node->init_avg; node->avg_bw = node->init_avg;
node->peak_bw = node->init_peak; node->peak_bw = node->init_peak;
if (provider->aggregate)
provider->aggregate(node, 0, node->init_avg, node->init_peak,
&node->avg_bw, &node->peak_bw);
provider->set(node, node); provider->set(node, node);
node->avg_bw = 0; node->avg_bw = 0;
node->peak_bw = 0; node->peak_bw = 0;