From: Georgi Djakov Date: Tue, 13 Oct 2020 13:59:11 +0000 (+0300) Subject: interconnect: Aggregate before setting initial bandwidth X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d3703b3e255f56d543aac183f8aafdbfd7096559;p=linux.git 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: b1d681d8d324 ("interconnect: Add sync state support") Acked-by: Saravana Kannan Link: https://lore.kernel.org/r/20201013135913.29059-1-georgi.djakov@linaro.org Signed-off-by: Georgi Djakov --- diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c index eea47b4c84aa7..974a66725d094 100644 --- a/drivers/interconnect/core.c +++ b/drivers/interconnect/core.c @@ -971,6 +971,9 @@ void icc_node_add(struct icc_node *node, struct icc_provider *provider) } node->avg_bw = node->init_avg; 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); node->avg_bw = 0; node->peak_bw = 0;