Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp8130103pxb; Fri, 19 Feb 2021 08:07:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJyrtOuBgl68ogh0ejqnElgeTtOmkt5UqpF9TYHlsb+yt6ZBC5e21ZGAJgoQa0GYgQT8utvq X-Received: by 2002:a05:6402:149:: with SMTP id s9mr9848644edu.247.1613750825978; Fri, 19 Feb 2021 08:07:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613750825; cv=none; d=google.com; s=arc-20160816; b=GzRKmmZY65hmJ0MCfoBAWIygfl1cTmIRlGrLIzW+2vkNVCbh5Xh3ynxzyAKq0K+DPI bT8Tx5X/tQDrCnnR97OvN9YuVkWfhOMbgCqa5ns+79zeMXydhsOuaIq0lgozP5tWgje8 IF8Pb7m5leEzL6xU50LltUyTl5xWdkSXAvyxvajMc7RRAzJU0P+c4p69giTLzBKnHbBb cyTPmlkwGlEQQGQKiZITplsLpQlyVQIGlApsC/XbZMKOJ+WfjVeouTPZnVEPjk+DOmO0 i0DqM2jqzKATJUCb2ddPsb/XRRsivpzslmpORl+OUts+D+m42Ql7dQ9yYmrfrJAn7X/o Bk7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=oNazQtYtQt3GzUPPfTM2uwKLz6w78ylTqzlAvHg06Ps=; b=wokjWujq7+nkzrZuIEnD91ZblbhRhfvEvlvbpu2ud9w2dTZTt0kh6NF5ii0yyYPK6Y DIVqouVGGoqTQJ+Wq/Cekhw5stcOGkenc0JKA1V7nnu848pkm7JpdqjIzW+y0MnxOUqc uKPUWfGNxs8l6bDUWGz5CC37MhoV2TWTLt4+n8QwkI0lFRiiDpHxIRXH3V5cSd7IkVQi RfMCRmiELrpqs8xE6mltkp5WHXb336me9rP6xP5EguWNvFJb4dIwjP1opBz15G6978h9 infX9cOKUR9Rl6vvjpEYgvlrABPGl6+xp0N/GU3hbMM8cKna1CWoHJvwAir6xubiKyhJ +Fbw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y6si5680447edm.386.2021.02.19.08.06.42; Fri, 19 Feb 2021 08:07:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229985AbhBSQF0 (ORCPT + 99 others); Fri, 19 Feb 2021 11:05:26 -0500 Received: from inva021.nxp.com ([92.121.34.21]:57036 "EHLO inva021.nxp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229974AbhBSQCf (ORCPT ); Fri, 19 Feb 2021 11:02:35 -0500 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 9BDF420024B; Fri, 19 Feb 2021 17:01:05 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 8885E200235; Fri, 19 Feb 2021 17:01:05 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id E8B9C2042F; Fri, 19 Feb 2021 17:01:04 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Cc: NXP Linux Team , Abel Vesa Subject: [RFC 12/19] interconnect: imx: Add imx_icc_get_bw and imx_icc_aggregate functions Date: Fri, 19 Feb 2021 18:00:09 +0200 Message-Id: <1613750416-11901-13-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The aggregate function will return whatever is the highest rate for that specific node. The imx_icc_get_bw sets the initial avg and peak to 0 in order to avoid setting them to INT_MAX by the interconnect core. Signed-off-by: Abel Vesa --- drivers/interconnect/imx/imx.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/interconnect/imx/imx.c b/drivers/interconnect/imx/imx.c index db048df80011..5cc1ce55406c 100644 --- a/drivers/interconnect/imx/imx.c +++ b/drivers/interconnect/imx/imx.c @@ -25,6 +25,23 @@ struct imx_icc_node { struct dev_pm_qos_request qos_req; }; +static int imx_icc_get_bw(struct icc_node *node, u32 *avg, u32 *peak) +{ + *avg = 0; + *peak = 0; + + return 0; +} + +static int imx_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw, + u32 peak_bw, u32 *agg_avg, u32 *agg_peak) +{ + *agg_avg = max(*agg_avg, avg_bw); + *agg_peak = max(*agg_peak, peak_bw); + + return 0; +} + static int imx_icc_node_set(struct icc_node *node) { struct device *dev = node->provider->dev; @@ -233,7 +250,8 @@ int imx_icc_register(struct platform_device *pdev, if (!provider) return -ENOMEM; provider->set = imx_icc_set; - provider->aggregate = icc_std_aggregate; + provider->get_bw = imx_icc_get_bw; + provider->aggregate = imx_icc_aggregate; provider->xlate = of_icc_xlate_onecell; provider->data = data; provider->dev = dev; -- 2.29.2