aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/interconnect
diff options
context:
space:
mode:
authorGeorgi Djakov <georgi.djakov@linaro.org>2019-08-09 15:13:24 +0300
committerGeorgi Djakov <georgi.djakov@linaro.org>2019-08-13 23:02:48 +0300
commitcbd5a9c28bb5d2560be34fc6a2b6e60197628433 (patch)
tree1c04f2c9a88b51b68c98e295117e9b9c7fcdae4a /drivers/interconnect
parentinterconnect: Add support for path tags (diff)
downloadwireguard-linux-cbd5a9c28bb5d2560be34fc6a2b6e60197628433.tar.xz
wireguard-linux-cbd5a9c28bb5d2560be34fc6a2b6e60197628433.zip
interconnect: Add pre_aggregate() callback
Introduce an optional callback in interconnect provider drivers. It can be used for implementing actions, that need to be executed before the actual aggregation of the bandwidth requests has started. The benefit of this for now is that it will significantly simplify the code in provider drivers. Suggested-by: Evan Green <evgreen@chromium.org> Reviewed-by: Evan Green <evgreen@chromium.org> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Diffstat (limited to 'drivers/interconnect')
-rw-r--r--drivers/interconnect/core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
index 251354bb7fdc..7b971228df38 100644
--- a/drivers/interconnect/core.c
+++ b/drivers/interconnect/core.c
@@ -205,6 +205,9 @@ static int aggregate_requests(struct icc_node *node)
node->avg_bw = 0;
node->peak_bw = 0;
+ if (p->pre_aggregate)
+ p->pre_aggregate(node);
+
hlist_for_each_entry(r, &node->req_list, req_node)
p->aggregate(node, r->tag, r->avg_bw, r->peak_bw,
&node->avg_bw, &node->peak_bw);