Messages in this thread | | | Date | Fri, 02 Jul 2021 00:25:04 +0530 | From | okukatla@codeauro ... | Subject | Re: [PATCH 2/4] interconnect: Always call pre_aggregate before aggregate |
| |
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).
> 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;
| |