Messages in this thread | | | From | Mike Tipton <> | Subject | Re: [PATCH 2/4] interconnect: Always call pre_aggregate before aggregate | Date | Mon, 12 Jul 2021 08:39:57 -0700 |
| |
On 7/1/2021 11:55 AM, okukatla@codeaurora.org wrote: > On 2021-06-26 02:58, Mike Tipton wrote: >> The pre_aggregate callback isn't called in all cases before calling >> aggregate. Add the missing calls so providers can rely on consistent >> framework behavior. >> >> Fixes: d3703b3e255f ("interconnect: Aggregate before setting initial >> bandwidth") >> Signed-off-by: Mike Tipton <mdtipton@codeaurora.org> >> --- >> drivers/interconnect/core.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c >> index 945121e18b5c..cfd54c90a6bb 100644 >> --- a/drivers/interconnect/core.c >> +++ b/drivers/interconnect/core.c >> @@ -973,9 +973,12 @@ 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) >> + if (provider->aggregate) { >> + if (provider->pre_aggregate) >> + provider->pre_aggregate(node); > nit: we can invoke pre_aggregate() out side of if (qcom_icc_aggregate).
Sure, will update this.
> >> 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;
| |