From patchwork Thu Jul 23 13:09:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 11680969 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 4F819618 for ; Thu, 23 Jul 2020 13:09:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3120D207BB for ; Thu, 23 Jul 2020 13:09:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="zbMoMN09" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728965AbgGWNJr (ORCPT ); Thu, 23 Jul 2020 09:09:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728914AbgGWNJq (ORCPT ); Thu, 23 Jul 2020 09:09:46 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 26958C0619E3 for ; Thu, 23 Jul 2020 06:09:46 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id o2so5149090wmh.2 for ; Thu, 23 Jul 2020 06:09:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=u+kCNiTjOgccPUFcK1QBTuSbaCk+Ae80CxJOPhO94oQ=; b=zbMoMN09R+vY0MKqBYUY4Ifemnd2nzZZvHl+95cXAe78RLLF2G2UppaXYhhvSLTQJg Hqr0gKmVIC1OcZJ72G4vVROqzIUMHMKJ2f1fTHRQAJ0cpXqL6WENgXfBqcMvmJYpKVoz O6KaabT7Ij0HmN6qUIw6K/Mb9rRtGkFjWlZ1FwVVFHrjo9z4Kl2a8B1yc06Bm/utwnKE VrvVigWXNWjauqL1agdbmmL+i53g3wgJAuGOn+ZPqH+691U5gFvpmUYPY9+eoSHXamhN QHwaqGGgzso2dLu0a/5Uz5JlUmcn+mlrToCre3bFOq7l1kFCvzoYFptU/eieNrRvNBsS inMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=u+kCNiTjOgccPUFcK1QBTuSbaCk+Ae80CxJOPhO94oQ=; b=Y5AEm9OY0FLnc0YdyMhiSBFOEw1Ao3jQGAfU2mKrd94AAU9sxhiTrbqdxCZ5LeM59a AmJS+nztT96IKAC1vdplrcAccT0PQXzG2RLutquk/+G6cGJu8nPM9n7rUPkMpzchqJhu ot2FylUUSEGSU99+UkhbWiPUNbyLp36P3y5OpTD2appBwW+sBFrNvbpwj/LjCvJHmgAN FurUVmSsJ1pfV1DjmOvIvM7mrpjiRt6WcGyrghuZRr9u/bkDFxEoaHlBB1bb4tSVl1aQ 8RGY9/ddRJQynn29rIiaimP2n6E4ImsIr5fFzqFayyA+UUNgZBmTeGA4xk1pb95F8NNs e+fA== X-Gm-Message-State: AOAM530UJi37/SnpdmeUG9LMXfXDSF2MzGr4W4Rgqup/1XZXQUHgixK6 TDESXlelZ06Gp54dOmmZeAIMg4Cak2U= X-Google-Smtp-Source: ABdhPJz4e0aJewPYy7uh/Xs3tFu1upX0paTP2HOAXmVWvLuRADqRHfPWlicum4l/jqi4R0EhZGqWKg== X-Received: by 2002:a1c:acc9:: with SMTP id v192mr3976604wme.164.1595509783572; Thu, 23 Jul 2020 06:09:43 -0700 (PDT) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id w7sm3594632wmc.32.2020.07.23.06.09.42 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 06:09:43 -0700 (PDT) From: Georgi Djakov To: linux-pm@vger.kernel.org, devicetree@vger.kernel.org Cc: bjorn.andersson@linaro.org, robh+dt@kernel.org, sibis@codeaurora.org, mka@chromium.org, dianders@chromium.org, georgi.djakov@linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/6] interconnect: Introduce xlate_extended() callback Date: Thu, 23 Jul 2020 16:09:37 +0300 Message-Id: <20200723130942.28491-2-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200723130942.28491-1-georgi.djakov@linaro.org> References: <20200723130942.28491-1-georgi.djakov@linaro.org> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Currently there is the xlate() callback, which is provider-specific is used for mapping the nodes from phandle arguments. This is fine for simple mappings, but the phandle arguments could contain an additional data, such as tag information. Let's create another callback xlate_extended() for the cases where providers want also populate the tagging data. Signed-off-by: Georgi Djakov Tested-by: Sibi Sankar Reviewed-by: Sibi Sankar Reviewed-by: Matthias Kaehlcke Tested-by: Matthias Kaehlcke --- drivers/interconnect/core.c | 73 ++++++++++++++++++--------- include/linux/interconnect-provider.h | 17 ++++++- 2 files changed, 65 insertions(+), 25 deletions(-) diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c index befd111049c0..6ccf55818e68 100644 --- a/drivers/interconnect/core.c +++ b/drivers/interconnect/core.c @@ -336,12 +336,13 @@ EXPORT_SYMBOL_GPL(of_icc_xlate_onecell); * Looks for interconnect provider under the node specified by @spec and if * found, uses xlate function of the provider to map phandle args to node. * - * Returns a valid pointer to struct icc_node on success or ERR_PTR() + * Returns a valid pointer to struct icc_node_data on success or ERR_PTR() * on failure. */ -struct icc_node *of_icc_get_from_provider(struct of_phandle_args *spec) +struct icc_node_data *of_icc_get_from_provider(struct of_phandle_args *spec) { struct icc_node *node = ERR_PTR(-EPROBE_DEFER); + struct icc_node_data *data = NULL; struct icc_provider *provider; if (!spec) @@ -349,14 +350,33 @@ struct icc_node *of_icc_get_from_provider(struct of_phandle_args *spec) mutex_lock(&icc_lock); list_for_each_entry(provider, &icc_providers, provider_list) { - if (provider->dev->of_node == spec->np) - node = provider->xlate(spec, provider->data); - if (!IS_ERR(node)) - break; + if (provider->dev->of_node == spec->np) { + if (provider->xlate_extended) { + data = provider->xlate_extended(spec, provider->data); + if (!IS_ERR(data)) { + node = data->node; + break; + } + } else { + node = provider->xlate(spec, provider->data); + if (!IS_ERR(node)) + break; + } + } } mutex_unlock(&icc_lock); - return node; + if (IS_ERR(node)) + return ERR_CAST(node); + + if (!data) { + data = kzalloc(sizeof(*data), GFP_KERNEL); + if (!data) + return ERR_PTR(-ENOMEM); + data->node = node; + } + + return data; } EXPORT_SYMBOL_GPL(of_icc_get_from_provider); @@ -403,7 +423,7 @@ EXPORT_SYMBOL_GPL(devm_of_icc_get); struct icc_path *of_icc_get_by_index(struct device *dev, int idx) { struct icc_path *path; - struct icc_node *src_node, *dst_node; + struct icc_node_data *src_data, *dst_data; struct device_node *np; struct of_phandle_args src_args, dst_args; int ret; @@ -441,39 +461,46 @@ struct icc_path *of_icc_get_by_index(struct device *dev, int idx) of_node_put(dst_args.np); - src_node = of_icc_get_from_provider(&src_args); + src_data = of_icc_get_from_provider(&src_args); - if (IS_ERR(src_node)) { - if (PTR_ERR(src_node) != -EPROBE_DEFER) + if (IS_ERR(src_data)) { + if (PTR_ERR(src_data) != -EPROBE_DEFER) dev_err(dev, "error finding src node: %ld\n", - PTR_ERR(src_node)); - return ERR_CAST(src_node); + PTR_ERR(src_data)); + return ERR_CAST(src_data); } - dst_node = of_icc_get_from_provider(&dst_args); + dst_data = of_icc_get_from_provider(&dst_args); - if (IS_ERR(dst_node)) { - if (PTR_ERR(dst_node) != -EPROBE_DEFER) + if (IS_ERR(dst_data)) { + if (PTR_ERR(dst_data) != -EPROBE_DEFER) dev_err(dev, "error finding dst node: %ld\n", - PTR_ERR(dst_node)); - return ERR_CAST(dst_node); + PTR_ERR(dst_data)); + kfree(src_data); + return ERR_CAST(dst_data); } mutex_lock(&icc_lock); - path = path_find(dev, src_node, dst_node); + path = path_find(dev, src_data->node, dst_data->node); mutex_unlock(&icc_lock); if (IS_ERR(path)) { dev_err(dev, "%s: invalid path=%ld\n", __func__, PTR_ERR(path)); - return path; + goto free_icc_data; } + if (src_data->tag && src_data->tag == dst_data->tag) + icc_set_tag(path, src_data->tag); + path->name = kasprintf(GFP_KERNEL, "%s-%s", - src_node->name, dst_node->name); + src_data->node->name, dst_data->node->name); if (!path->name) { kfree(path); - return ERR_PTR(-ENOMEM); + path = ERR_PTR(-ENOMEM); } +free_icc_data: + kfree(src_data); + kfree(dst_data); return path; } EXPORT_SYMBOL_GPL(of_icc_get_by_index); @@ -975,7 +1002,7 @@ int icc_provider_add(struct icc_provider *provider) { if (WARN_ON(!provider->set)) return -EINVAL; - if (WARN_ON(!provider->xlate)) + if (WARN_ON(!provider->xlate && !provider->xlate_extended)) return -EINVAL; mutex_lock(&icc_lock); diff --git a/include/linux/interconnect-provider.h b/include/linux/interconnect-provider.h index 4735518de515..4d535fddd5d3 100644 --- a/include/linux/interconnect-provider.h +++ b/include/linux/interconnect-provider.h @@ -14,6 +14,17 @@ struct icc_node; struct of_phandle_args; +/** + * struct icc_node_data - icc node data + * + * @node: icc node + * @tag: tag + */ +struct icc_node_data { + struct icc_node *node; + u32 tag; +}; + /** * struct icc_onecell_data - driver data for onecell interconnect providers * @@ -39,6 +50,7 @@ struct icc_node *of_icc_xlate_onecell(struct of_phandle_args *spec, * @pre_aggregate: pointer to device specific function that is called * before the aggregation begins (optional) * @xlate: provider-specific callback for mapping nodes from phandle arguments + * @xlate_extended: vendor-specific callback for mapping node data from phandle arguments * @dev: the device this interconnect provider belongs to * @users: count of active users * @inter_set: whether inter-provider pairs will be configured with @set @@ -52,6 +64,7 @@ struct icc_provider { u32 peak_bw, u32 *agg_avg, u32 *agg_peak); void (*pre_aggregate)(struct icc_node *node); struct icc_node* (*xlate)(struct of_phandle_args *spec, void *data); + struct icc_node_data* (*xlate_extended)(struct of_phandle_args *spec, void *data); struct device *dev; int users; bool inter_set; @@ -105,7 +118,7 @@ void icc_node_del(struct icc_node *node); int icc_nodes_remove(struct icc_provider *provider); int icc_provider_add(struct icc_provider *provider); int icc_provider_del(struct icc_provider *provider); -struct icc_node *of_icc_get_from_provider(struct of_phandle_args *spec); +struct icc_node_data *of_icc_get_from_provider(struct of_phandle_args *spec); #else @@ -157,7 +170,7 @@ static inline int icc_provider_del(struct icc_provider *provider) return -ENOTSUPP; } -static inline struct icc_node *of_icc_get_from_provider(struct of_phandle_args *spec) +static inline struct icc_node_data *of_icc_get_from_provider(struct of_phandle_args *spec) { return ERR_PTR(-ENOTSUPP); } From patchwork Thu Jul 23 13:09:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 11680981 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E7DFA618 for ; Thu, 23 Jul 2020 13:10:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CEA1D22B49 for ; Thu, 23 Jul 2020 13:10:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="tvaotbhg" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728990AbgGWNKK (ORCPT ); Thu, 23 Jul 2020 09:10:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36930 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727859AbgGWNJs (ORCPT ); Thu, 23 Jul 2020 09:09:48 -0400 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59B02C0619E6 for ; Thu, 23 Jul 2020 06:09:47 -0700 (PDT) Received: by mail-wr1-x443.google.com with SMTP id r2so14193wrs.8 for ; Thu, 23 Jul 2020 06:09:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=YWTfVRkR79Imko0PPqnIzVcER9nAarkHmVQCWvBzyCc=; b=tvaotbhgbQViqsspi5Ia9TKg2g2+k8ZHJrq+MuqBEc7x4WaXGNGGEy7nerdKRpdySD AUFA0aEvde2ok3vmf3f7d032hQhoI/FwgRbVHeBsMzKfqIKacX8ch/8XktFVE7ixAXtp xLPPa/8uJemD/71lkS+de69byXAyLhqC1PhLMys6VruIqacBVqXH1r76V/IELKpOtb5f MbmEuoZdf2Cxe3mEMy4KFrMZ/td+/Pf/fhpk43Hc+Pe3hg36IZUe7lFHn+SwTrv6OCDC JLe0q+Pv2lnwhN3rYTWg6KicxVM0cM0TcLWDijyfCSFstREF/FY4UvOhbaLNUcz+I8fS sMjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YWTfVRkR79Imko0PPqnIzVcER9nAarkHmVQCWvBzyCc=; b=sZMSfM5WtP5RmqZKAWxdYZzMVrW7JYltIJ6F3DtjybjXZuVdmkcrQE9LLILtrQiQFV 6dBRHDWcK36FY0XV9G2No5FbF3yc4NF1jH7nAaXy5G0d/+xHlkjxWyRyVvLc023oyOY8 kZWVFs0i+MroNxEjyuimhScB/kG6flR45hcDaXDS9HIMgWEZ7Ob9Cfr67C3Xesx8guIr K6iVHTYOD4SUMsQPas3vizqUs6mCO2aPYdQXdiM4HhLHvHqAOQXKoYKdxcSQOReFMG+2 2Qrc7z/rmA0Y9dBPci1G1JCPedQfmcoapqHXF8qsd2W1mDXjTmsvwehTNdeh+ZmAW5Lc 2IDg== X-Gm-Message-State: AOAM533ESRysf8Ny+KLy0KJoEznq7ESF780QwospoFeRfYHmCsAElWlg gDpWRb9lZRXRTVgCblD7ICJIJYW6Gfk= X-Google-Smtp-Source: ABdhPJypdAbK/l+XgBOALRGgJMjOLyLZ37pF8MBqln+MJ+cdCucrwML/MuWtdw1EdWissbAnd5A8rQ== X-Received: by 2002:a5d:43ca:: with SMTP id v10mr3970548wrr.299.1595509784758; Thu, 23 Jul 2020 06:09:44 -0700 (PDT) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id w7sm3594632wmc.32.2020.07.23.06.09.43 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 06:09:44 -0700 (PDT) From: Georgi Djakov To: linux-pm@vger.kernel.org, devicetree@vger.kernel.org Cc: bjorn.andersson@linaro.org, robh+dt@kernel.org, sibis@codeaurora.org, mka@chromium.org, dianders@chromium.org, georgi.djakov@linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/6] interconnect: qcom: Implement xlate_extended() to parse tags Date: Thu, 23 Jul 2020 16:09:38 +0300 Message-Id: <20200723130942.28491-3-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200723130942.28491-1-georgi.djakov@linaro.org> References: <20200723130942.28491-1-georgi.djakov@linaro.org> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Implement a function to parse the arguments of the "interconnects" DT property and populate the interconnect path tags if this information is available. Signed-off-by: Georgi Djakov Tested-by: Sibi Sankar Reviewed-by: Sibi Sankar --- drivers/interconnect/qcom/icc-rpmh.c | 27 +++++++++++++++++++++++++++ drivers/interconnect/qcom/icc-rpmh.h | 1 + 2 files changed, 28 insertions(+) diff --git a/drivers/interconnect/qcom/icc-rpmh.c b/drivers/interconnect/qcom/icc-rpmh.c index 3ac5182c9ab2..44144fabec32 100644 --- a/drivers/interconnect/qcom/icc-rpmh.c +++ b/drivers/interconnect/qcom/icc-rpmh.c @@ -6,6 +6,8 @@ #include #include #include +#include +#include #include "bcm-voter.h" #include "icc-rpmh.h" @@ -92,6 +94,31 @@ int qcom_icc_set(struct icc_node *src, struct icc_node *dst) } EXPORT_SYMBOL_GPL(qcom_icc_set); +struct icc_node_data *qcom_icc_xlate_extended(struct of_phandle_args *spec, void *data) +{ + struct icc_node_data *ndata; + struct icc_node *node; + + if (!spec) + return ERR_PTR(-EINVAL); + + node = of_icc_xlate_onecell(spec, data); + if (IS_ERR(node)) + return ERR_CAST(node); + + ndata = kzalloc(sizeof(*ndata), GFP_KERNEL); + if (!ndata) + return ERR_PTR(-ENOMEM); + + ndata->node = node; + + if (spec->args_count == 2) + ndata->tag = spec->args[1]; + + return ndata; +} +EXPORT_SYMBOL_GPL(qcom_icc_xlate_extended); + /** * qcom_icc_bcm_init - populates bcm aux data and connect qnodes * @bcm: bcm to be initialized diff --git a/drivers/interconnect/qcom/icc-rpmh.h b/drivers/interconnect/qcom/icc-rpmh.h index 903d25e61984..1dac39bc255d 100644 --- a/drivers/interconnect/qcom/icc-rpmh.h +++ b/drivers/interconnect/qcom/icc-rpmh.h @@ -143,6 +143,7 @@ struct qcom_icc_desc { int qcom_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw, u32 peak_bw, u32 *agg_avg, u32 *agg_peak); int qcom_icc_set(struct icc_node *src, struct icc_node *dst); +struct icc_node_data *qcom_icc_xlate_extended(struct of_phandle_args *spec, void *data); int qcom_icc_bcm_init(struct qcom_icc_bcm *bcm, struct device *dev); void qcom_icc_pre_aggregate(struct icc_node *node); From patchwork Thu Jul 23 13:09:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 11680979 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3CE4313B4 for ; Thu, 23 Jul 2020 13:10:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 243F02086A for ; Thu, 23 Jul 2020 13:10:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="vEnGsBWq" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728985AbgGWNJs (ORCPT ); Thu, 23 Jul 2020 09:09:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36922 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728967AbgGWNJr (ORCPT ); Thu, 23 Jul 2020 09:09:47 -0400 Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 95D4AC0619E7 for ; Thu, 23 Jul 2020 06:09:47 -0700 (PDT) Received: by mail-wm1-x343.google.com with SMTP id p14so4539612wmg.1 for ; Thu, 23 Jul 2020 06:09:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=R+lee8B7JFfBYPKyFP3yz/BoNx5eAb9WaQRkbumGc3E=; b=vEnGsBWqxZP6Q+KXwBLvSyX1MOrqEdZzzqFXcnrqx1GiSKetgbLJOiMySAywIL80yq ZpW5g3USJh6jrO++XvlweFAMbDjZnX+Lv5ibi4oNbnAEY160dsY8mvIbjDmrwhhn2cg+ YwkpCWfCtcW/u/hxnf95mzfHcp7Wq0Sn7CE8BABd4jMGroI16PoBrbXXQch9K/6WV9sE Ng754Q4m097X0MDwn1Oh1giyud6/+GDKLTwDPMXaZ9hAxE94yHcxa7WNxn+MxAMYcD98 mpzJytXYhOZEul8gtsTierUiFbxBjspzIbbKM5J+UuujnJ2rAYZljscT+099Z+2TXElu lddA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=R+lee8B7JFfBYPKyFP3yz/BoNx5eAb9WaQRkbumGc3E=; b=OzRrPVje9g+S9Mo9K8dHwWCNabtjOlvrke/155DjZZB+wD14A+Co0+cmtPgIipxSTM vIqflL6Xyj71zcou6f9DMg3M7cQd7KgEo3hsRwKu3usYU35HCLmUtu6nS6ebzfyYR10h lsjKq9HzkSyyD+5FK3v3oINKMYGu20RLI1DsxaZFOo9qFUCg6Chp52YYA64A9sKIMDYu g80aOuyfWQ69iUpVfdD4XZVeSL8y6KpzXJ1nl7rez+yuFcBBsD9qwhHGbt/S7sJrLPwA sgBje7BenLTZ3ei6v4ujZEV3gk+8ATXrvNuwS1wy2iQIIg+CVfr+8ej6HnMi3x+bGAcz wBFA== X-Gm-Message-State: AOAM533E/IeAoGfDtk1v6uXxOv4jvTDk5YD+IxMqvK3RJYcAa8uZNgS+ ew2m9iXVm+lh/6S8kTm87RTouugF9Gg= X-Google-Smtp-Source: ABdhPJwgrZG+M6VvSuuefuXl0h1Zce5N82Kr5wnaXUw8uuGBWCxPV5wjRudOmF7cOpH6h97vM6pjZg== X-Received: by 2002:a1c:1f85:: with SMTP id f127mr1894728wmf.154.1595509786042; Thu, 23 Jul 2020 06:09:46 -0700 (PDT) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id w7sm3594632wmc.32.2020.07.23.06.09.44 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 06:09:45 -0700 (PDT) From: Georgi Djakov To: linux-pm@vger.kernel.org, devicetree@vger.kernel.org Cc: bjorn.andersson@linaro.org, robh+dt@kernel.org, sibis@codeaurora.org, mka@chromium.org, dianders@chromium.org, georgi.djakov@linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/6] interconnect: qcom: sdm845: Replace xlate with xlate_extended Date: Thu, 23 Jul 2020 16:09:39 +0300 Message-Id: <20200723130942.28491-4-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200723130942.28491-1-georgi.djakov@linaro.org> References: <20200723130942.28491-1-georgi.djakov@linaro.org> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Use the qcom_icc_xlate_extended() in order to parse tags, that are specified as an additional arguments to the path endpoints in DT. Signed-off-by: Georgi Djakov Tested-by: Sibi Sankar Reviewed-by: Sibi Sankar Reviewed-by: Matthias Kaehlcke --- drivers/interconnect/qcom/sdm845.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/interconnect/qcom/sdm845.c b/drivers/interconnect/qcom/sdm845.c index f6c7b969520d..3b81dbb71b0b 100644 --- a/drivers/interconnect/qcom/sdm845.c +++ b/drivers/interconnect/qcom/sdm845.c @@ -469,7 +469,7 @@ static int qnoc_probe(struct platform_device *pdev) provider->set = qcom_icc_set; provider->pre_aggregate = qcom_icc_pre_aggregate; provider->aggregate = qcom_icc_aggregate; - provider->xlate = of_icc_xlate_onecell; + provider->xlate_extended = qcom_icc_xlate_extended; INIT_LIST_HEAD(&provider->nodes); provider->data = data; From patchwork Thu Jul 23 13:09:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 11680975 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 683E0138A for ; Thu, 23 Jul 2020 13:10:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 49A73207BB for ; Thu, 23 Jul 2020 13:10:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="iNYz1nET" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729006AbgGWNJt (ORCPT ); Thu, 23 Jul 2020 09:09:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36940 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728991AbgGWNJt (ORCPT ); Thu, 23 Jul 2020 09:09:49 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E37CC0619E3 for ; Thu, 23 Jul 2020 06:09:49 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id a15so5098800wrh.10 for ; Thu, 23 Jul 2020 06:09:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=17kyN4uG9zM2SVvBdFEN2V7gUNHA6vQ1r82uXAWSj1o=; b=iNYz1nET+7qL8NTUHVBf7eGztC6NQ0TgdywiTyTGIX/d+DXZ6tr+VJjj4pgSqJMlet kqGvVy4YINDioCGruoErFj4WEE7R5+4t+BrtKfvH0awZWJbAmcrz8juXx2fQHvtLyQNl nNrBKpQuyFodYJV4O7XBRp8E93kQOgr5XQC5t/MMq6qqleeHpRsdZYKLybkKys1YwSyx 6uCiR4bUL1oLbmt3soAJKYL3GtHWcEcdLDnh6IbdN2HX1HirLhVyjtk0927YzoKhMlED Dfj0WI84IwcKXaEy63FlpLclR1QYL1ot2mq30BDzqeht3Re7XWK8PpZqV05hZtbyoXTg 5EFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=17kyN4uG9zM2SVvBdFEN2V7gUNHA6vQ1r82uXAWSj1o=; b=WIlZ+vTpWB4RKdZPoqQlL8YFtdQjZ7h7leXPQeub+HihW00dJpBz4vI3nywaF51a8a lzhicRjS4ofIHuuxDqM3PSbP8H1YL6XJVWOqBEgQCWrJpr5YQc6WRCjworXeF9x0NylK kVnJNzw4n7n6fG/bSvKU6LOGPj55vMY3vMlvk9r8r9gJ49cIP2wuQ3JLM5Os/lXcgl4V to2iklJhxbqEoJObk1XLsrv4sACCxbOPDZfHRrVED+jCSZdsp+3j6Z7p3r+qfWdWnqml chn36WzJs2q0Dz6SnrBZBsA6hahcqHk6UI/S+zvS1Mc3QCbQzFJvbd30PSbZ7m2APsSi /4ig== X-Gm-Message-State: AOAM5334ZNmbBf/DDQTEJSG0I5NmVZxo/rPmeyfN5VLJaxk4NBuNqmEr INLwz9S8Sn6Fdl00VNT4xVHJkdEE74A= X-Google-Smtp-Source: ABdhPJyRddYlfHbfNdkN27rGvrVTPfiDI0aI8edr9xqULBIVvlp2o1a61xqKne+8Jn1dMR4bE2NHIg== X-Received: by 2002:a5d:4d0b:: with SMTP id z11mr3865232wrt.315.1595509787450; Thu, 23 Jul 2020 06:09:47 -0700 (PDT) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id w7sm3594632wmc.32.2020.07.23.06.09.46 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 06:09:46 -0700 (PDT) From: Georgi Djakov To: linux-pm@vger.kernel.org, devicetree@vger.kernel.org Cc: bjorn.andersson@linaro.org, robh+dt@kernel.org, sibis@codeaurora.org, mka@chromium.org, dianders@chromium.org, georgi.djakov@linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/6] arm64: dts: qcom: sdm845: Increase the number of interconnect cells Date: Thu, 23 Jul 2020 16:09:40 +0300 Message-Id: <20200723130942.28491-5-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200723130942.28491-1-georgi.djakov@linaro.org> References: <20200723130942.28491-1-georgi.djakov@linaro.org> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org Increase the number of interconnect-cells, as now we can include the tag information. The consumers can specify the path tag as an additional argument to the endpoints. Signed-off-by: Georgi Djakov Tested-by: Sibi Sankar Reviewed-by: Sibi Sankar Reviewed-by: Matthias Kaehlcke --- arch/arm64/boot/dts/qcom/sdm845.dtsi | 44 ++++++++++++++-------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi index e506793407d8..94f5d27f2927 100644 --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -200,7 +200,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; qcom,freq-domain = <&cpufreq_hw 0>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gladiator_noc MASTER_APPSS_PROC &mem_noc SLAVE_EBI1>, + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; next-level-cache = <&L2_0>; @@ -225,7 +225,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; qcom,freq-domain = <&cpufreq_hw 0>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gladiator_noc MASTER_APPSS_PROC &mem_noc SLAVE_EBI1>, + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; next-level-cache = <&L2_100>; @@ -247,7 +247,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; qcom,freq-domain = <&cpufreq_hw 0>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gladiator_noc MASTER_APPSS_PROC &mem_noc SLAVE_EBI1>, + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; next-level-cache = <&L2_200>; @@ -269,7 +269,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; qcom,freq-domain = <&cpufreq_hw 0>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gladiator_noc MASTER_APPSS_PROC &mem_noc SLAVE_EBI1>, + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; next-level-cache = <&L2_300>; @@ -291,7 +291,7 @@ &BIG_CPU_SLEEP_1 dynamic-power-coefficient = <396>; qcom,freq-domain = <&cpufreq_hw 1>; operating-points-v2 = <&cpu4_opp_table>; - interconnects = <&gladiator_noc MASTER_APPSS_PROC &mem_noc SLAVE_EBI1>, + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; next-level-cache = <&L2_400>; @@ -313,7 +313,7 @@ &BIG_CPU_SLEEP_1 dynamic-power-coefficient = <396>; qcom,freq-domain = <&cpufreq_hw 1>; operating-points-v2 = <&cpu4_opp_table>; - interconnects = <&gladiator_noc MASTER_APPSS_PROC &mem_noc SLAVE_EBI1>, + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; next-level-cache = <&L2_500>; @@ -335,7 +335,7 @@ &BIG_CPU_SLEEP_1 dynamic-power-coefficient = <396>; qcom,freq-domain = <&cpufreq_hw 1>; operating-points-v2 = <&cpu4_opp_table>; - interconnects = <&gladiator_noc MASTER_APPSS_PROC &mem_noc SLAVE_EBI1>, + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; next-level-cache = <&L2_600>; @@ -357,7 +357,7 @@ &BIG_CPU_SLEEP_1 dynamic-power-coefficient = <396>; qcom,freq-domain = <&cpufreq_hw 1>; operating-points-v2 = <&cpu4_opp_table>; - interconnects = <&gladiator_noc MASTER_APPSS_PROC &mem_noc SLAVE_EBI1>, + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; next-level-cache = <&L2_700>; @@ -2011,49 +2011,49 @@ pcie1_lane: lanes@1c06200 { mem_noc: interconnect@1380000 { compatible = "qcom,sdm845-mem-noc"; reg = <0 0x01380000 0 0x27200>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; dc_noc: interconnect@14e0000 { compatible = "qcom,sdm845-dc-noc"; reg = <0 0x014e0000 0 0x400>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; config_noc: interconnect@1500000 { compatible = "qcom,sdm845-config-noc"; reg = <0 0x01500000 0 0x5080>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; system_noc: interconnect@1620000 { compatible = "qcom,sdm845-system-noc"; reg = <0 0x01620000 0 0x18080>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; aggre1_noc: interconnect@16e0000 { compatible = "qcom,sdm845-aggre1-noc"; reg = <0 0x016e0000 0 0x15080>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; aggre2_noc: interconnect@1700000 { compatible = "qcom,sdm845-aggre2-noc"; reg = <0 0x01700000 0 0x1f300>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; mmss_noc: interconnect@1740000 { compatible = "qcom,sdm845-mmss-noc"; reg = <0 0x01740000 0 0x1c100>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; @@ -2156,8 +2156,8 @@ ipa: ipa@1e40000 { clocks = <&rpmhcc RPMH_IPA_CLK>; clock-names = "core"; - interconnects = <&aggre2_noc MASTER_IPA &mem_noc SLAVE_EBI1>, - <&aggre2_noc MASTER_IPA &system_noc SLAVE_IMEM>, + interconnects = <&aggre2_noc MASTER_IPA 0 &mem_noc SLAVE_EBI1 0>, + <&aggre2_noc MASTER_IPA 0 &system_noc SLAVE_IMEM 0>, <&gladiator_noc MASTER_APPSS_PROC &config_noc SLAVE_IPA_CFG>; interconnect-names = "memory", "imem", @@ -3561,8 +3561,8 @@ usb_1: usb@a6f8800 { resets = <&gcc GCC_USB30_PRIM_BCR>; - interconnects = <&aggre2_noc MASTER_USB3_0 &mem_noc SLAVE_EBI1>, - <&gladiator_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3_0>; + interconnects = <&aggre2_noc MASTER_USB3_0 0 &mem_noc SLAVE_EBI1 0>, + <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_0 0>; interconnect-names = "usb-ddr", "apps-usb"; usb_1_dwc3: dwc3@a600000 { @@ -3609,8 +3609,8 @@ usb_2: usb@a8f8800 { resets = <&gcc GCC_USB30_SEC_BCR>; - interconnects = <&aggre2_noc MASTER_USB3_1 &mem_noc SLAVE_EBI1>, - <&gladiator_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3_1>; + interconnects = <&aggre2_noc MASTER_USB3_1 0 &mem_noc SLAVE_EBI1 0>, + <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3_1 0>; interconnect-names = "usb-ddr", "apps-usb"; usb_2_dwc3: dwc3@a800000 { @@ -4306,7 +4306,7 @@ lpasscc: clock-controller@17014000 { gladiator_noc: interconnect@17900000 { compatible = "qcom,sdm845-gladiator-noc"; reg = <0 0x17900000 0 0xd080>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; From patchwork Thu Jul 23 13:09:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 11680971 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 03C5F138A for ; Thu, 23 Jul 2020 13:09:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DDAFF207BB for ; Thu, 23 Jul 2020 13:09:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="LnqX/B+I" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729052AbgGWNJw (ORCPT ); Thu, 23 Jul 2020 09:09:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36952 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729049AbgGWNJv (ORCPT ); Thu, 23 Jul 2020 09:09:51 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E8ECC0619E3 for ; Thu, 23 Jul 2020 06:09:50 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id j18so4902177wmi.3 for ; Thu, 23 Jul 2020 06:09:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=7y9euSqb4UGhv5UE5N0M42WZpX+QG1MkkSdfq84u7II=; b=LnqX/B+IKmVX2RArreUfFVmrhFZbjMs43s5s/Re0yMQin/P7W7DMXO5aQqvpdNLc25 D+eouaQzVbL38f7M7n1PTxjkg7eerQo5VDUPEk4MfCaTXKaudatcACmgt7CZuGJnyj2a zTmT38T4D9GCe34bm+EiW+LHAHd/jzfCH42D1aowE1FzS9Sj4CaNeV08jgh5fkDM7rhh VgHrikYgqxAYY4v/8dG/lR+LVMKd6keNykp3pYdE/hEb+bucctOOIxbG/j/o2SGMu4S0 M2nZB69lADpVWpyXj1sCVMGOCQ2sKU9SPVMBi2ZZ4YtfpX34MsHF77GFh2LJ5NxtPb6w T33A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7y9euSqb4UGhv5UE5N0M42WZpX+QG1MkkSdfq84u7II=; b=ZVSe00r7Di36/KI8L59P08gfmuXGdgNTpjQinIj+ssbch18d1L9rPBILU77RJLiaMi +vsZya2f9wyI6rcVtCuodWI0CLsmluEGjXswO3RxBZF+jir6fsyNU510Xt06LC9O4RJf HUQQoV0CITjoCq84nmRk0zDttOpOTxjBO/Ui4yjaoSOsZJu/tH25OidP2mpcgUxNNIZd PG2KJN2P+XCAAOECtePJcEpWrGP5/Y+DBjXXFW9Nl3L2pFlghFcj/eIZjw7MAJAMeXSC ID0jxUFAjfgGTiBuiGKKgObEEJdlKTKuaWAeG9Ut8DJOqytsODe1BEdS680ma0qGbuWS Bx9A== X-Gm-Message-State: AOAM531cJd3Jmotu+ELDht1DdH+Gs6mtnbgWC728fK1iiNxtTCdGnr4x qAeWmEj3BOiDdG85mSprZlLdvLVAF0g= X-Google-Smtp-Source: ABdhPJws1JRS1xbOTd3gpqfPFZSxS071Z+dp2hlmrwJ8beTF4BZPvFsrO0Z0JrnTCmdqM6cCEKt0UQ== X-Received: by 2002:a1c:7d81:: with SMTP id y123mr1735724wmc.87.1595509788745; Thu, 23 Jul 2020 06:09:48 -0700 (PDT) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id w7sm3594632wmc.32.2020.07.23.06.09.47 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 06:09:48 -0700 (PDT) From: Georgi Djakov To: linux-pm@vger.kernel.org, devicetree@vger.kernel.org Cc: bjorn.andersson@linaro.org, robh+dt@kernel.org, sibis@codeaurora.org, mka@chromium.org, dianders@chromium.org, georgi.djakov@linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/6] interconnect: qcom: sc7180: Replace xlate with xlate_extended Date: Thu, 23 Jul 2020 16:09:41 +0300 Message-Id: <20200723130942.28491-6-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200723130942.28491-1-georgi.djakov@linaro.org> References: <20200723130942.28491-1-georgi.djakov@linaro.org> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org From: Sibi Sankar Use the qcom_icc_xlate_extended() in order to parse tags, that are specified as an additional arguments to the path endpoints in DT. Signed-off-by: Sibi Sankar Signed-off-by: Georgi Djakov Tested-by: Matthias Kaehlcke Reviewed-by: Matthias Kaehlcke --- drivers/interconnect/qcom/sc7180.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/interconnect/qcom/sc7180.c b/drivers/interconnect/qcom/sc7180.c index dcf493d07928..a6f119f363b1 100644 --- a/drivers/interconnect/qcom/sc7180.c +++ b/drivers/interconnect/qcom/sc7180.c @@ -535,7 +535,7 @@ static int qnoc_probe(struct platform_device *pdev) provider->set = qcom_icc_set; provider->pre_aggregate = qcom_icc_pre_aggregate; provider->aggregate = qcom_icc_aggregate; - provider->xlate = of_icc_xlate_onecell; + provider->xlate_extended = qcom_icc_xlate_extended; INIT_LIST_HEAD(&provider->nodes); provider->data = data; From patchwork Thu Jul 23 13:09:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Georgi Djakov X-Patchwork-Id: 11680973 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 13D33138A for ; Thu, 23 Jul 2020 13:09:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DCCE322BEA for ; Thu, 23 Jul 2020 13:09:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="vviuEPQm" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729053AbgGWNJz (ORCPT ); Thu, 23 Jul 2020 09:09:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729049AbgGWNJx (ORCPT ); Thu, 23 Jul 2020 09:09:53 -0400 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2582FC0619DC for ; Thu, 23 Jul 2020 06:09:52 -0700 (PDT) Received: by mail-wr1-x443.google.com with SMTP id b6so5092609wrs.11 for ; Thu, 23 Jul 2020 06:09:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=n+YRVEMhnbtayqfrSyBvmCm5bK/RwwiScDdw5E9JYC4=; b=vviuEPQmcvhQqv1Z0x0GJ9ykx0dLrTanjL3H1DFreVW2ToWT3rgBB5PpVyO8u+YrH9 KfbHY6nhjnsbTXvXLYXWVmxquDJRNkayAp5yzGmzdOrVxoktL+eLbvQrFFawxqxGXSRr gF+oKSnTHu8CeKPh9b4Qlg1zqCY30cqain6+moI13gihSzzI5hSyOQRgvi53W+w0/WpS U2+n72vXb0Vaw7g4GkgelfEun7do1s5VWCjvsRh9t6d4jIVvYdreuZEnz1HkH+nY6Tpv WHMqtVwiTHX/plNh1WQHayzhiR7i4LbkoknVrDOlsO7/yg/0zVDIOnM7QWg8NL1LXcHm mNDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=n+YRVEMhnbtayqfrSyBvmCm5bK/RwwiScDdw5E9JYC4=; b=LDF9ELCPOki8bXPXCJIE3+IWWhVzgGw1wpvtCNFMnbdAs50nyLPfWWFtf1eYKErbjB I/2STSXCJnNHrYsKnnQtGATyX4caH707llruuy6yLOguTMGGurdN5oWN/iDMSJasoxmf mhummDMCd50tmIjJZL/p+9evPChDH74nooLY9+awM3+ZQwTiTV93PJf6a1LwzZZzTpIO YQHMjhWXkDV39XoKToOJ07eKpDKe+0pUHbF3jIeds5Md5wvToGAYJoiwEsPAisMGjrF8 ZmpaoCLcVn6BDJPHgS98ZaIS7yI1ns7zCw9IN4GlgJc34aAKPsNlISngGik3KRmIrZVf RocQ== X-Gm-Message-State: AOAM531/WrO2rHEAES0wgPwPuS8rN01T2xaeB6K+YwtCSNB0gJPUmwi/ mBeDUQ1qRL8sRWxmO44qZp20rm0aRG8= X-Google-Smtp-Source: ABdhPJwnVaJNJ5YE1Z+K7EJmo6WoWQmnILaUidasCk7/aniLjVKwMYiCIOjtiU6ZZuHbkaHi9S1mMg== X-Received: by 2002:adf:9bdd:: with SMTP id e29mr4334632wrc.394.1595509790015; Thu, 23 Jul 2020 06:09:50 -0700 (PDT) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id w7sm3594632wmc.32.2020.07.23.06.09.48 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Jul 2020 06:09:49 -0700 (PDT) From: Georgi Djakov To: linux-pm@vger.kernel.org, devicetree@vger.kernel.org Cc: bjorn.andersson@linaro.org, robh+dt@kernel.org, sibis@codeaurora.org, mka@chromium.org, dianders@chromium.org, georgi.djakov@linaro.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/6] arm64: dts: qcom: sc7180: Increase the number of interconnect cells Date: Thu, 23 Jul 2020 16:09:42 +0300 Message-Id: <20200723130942.28491-7-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200723130942.28491-1-georgi.djakov@linaro.org> References: <20200723130942.28491-1-georgi.djakov@linaro.org> MIME-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org From: Sibi Sankar Increase the number of interconnect-cells, as now we can include the tag information. The consumers can specify the path tag as an additional argument to the endpoints. Signed-off-by: Sibi Sankar Signed-off-by: Georgi Djakov Tested-by: Matthias Kaehlcke Reviewed-by: Matthias Kaehlcke --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 216 +++++++++++++-------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi index 16df08d9ef8f..fe80e1b8acee 100644 --- a/arch/arm64/boot/dts/qcom/sc7180.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi @@ -132,7 +132,7 @@ &LITTLE_CPU_SLEEP_1 capacity-dmips-mhz = <1024>; dynamic-power-coefficient = <100>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>, + interconnects = <&gem_noc MASTER_APPSS_PROC 3 &mc_virt SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; next-level-cache = <&L2_0>; #cooling-cells = <2>; @@ -158,7 +158,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; next-level-cache = <&L2_100>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>, + interconnects = <&gem_noc MASTER_APPSS_PROC 3 &mc_virt SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; qcom,freq-domain = <&cpufreq_hw 0>; @@ -180,7 +180,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; next-level-cache = <&L2_200>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>, + interconnects = <&gem_noc MASTER_APPSS_PROC 3 &mc_virt SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; qcom,freq-domain = <&cpufreq_hw 0>; @@ -202,7 +202,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; next-level-cache = <&L2_300>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>, + interconnects = <&gem_noc MASTER_APPSS_PROC 3 &mc_virt SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; qcom,freq-domain = <&cpufreq_hw 0>; @@ -224,7 +224,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; next-level-cache = <&L2_400>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>, + interconnects = <&gem_noc MASTER_APPSS_PROC 3 &mc_virt SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; qcom,freq-domain = <&cpufreq_hw 0>; @@ -246,7 +246,7 @@ &LITTLE_CPU_SLEEP_1 dynamic-power-coefficient = <100>; next-level-cache = <&L2_500>; operating-points-v2 = <&cpu0_opp_table>; - interconnects = <&gem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>, + interconnects = <&gem_noc MASTER_APPSS_PROC 3 &mc_virt SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; qcom,freq-domain = <&cpufreq_hw 0>; @@ -268,7 +268,7 @@ &BIG_CPU_SLEEP_1 dynamic-power-coefficient = <405>; next-level-cache = <&L2_600>; operating-points-v2 = <&cpu6_opp_table>; - interconnects = <&gem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>, + interconnects = <&gem_noc MASTER_APPSS_PROC 3 &mc_virt SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; qcom,freq-domain = <&cpufreq_hw 1>; @@ -290,7 +290,7 @@ &BIG_CPU_SLEEP_1 dynamic-power-coefficient = <405>; next-level-cache = <&L2_700>; operating-points-v2 = <&cpu6_opp_table>; - interconnects = <&gem_noc MASTER_APPSS_PROC &mc_virt SLAVE_EBI1>, + interconnects = <&gem_noc MASTER_APPSS_PROC 3 &mc_virt SLAVE_EBI1 3>, <&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>; #cooling-cells = <2>; qcom,freq-domain = <&cpufreq_hw 1>; @@ -742,7 +742,7 @@ qupv3_id_0: geniqup@8c0000 { #size-cells = <2>; ranges; iommus = <&apps_smmu 0x43 0x0>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>; interconnect-names = "qup-core"; status = "disabled"; @@ -756,9 +756,9 @@ i2c0: i2c@880000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>, - <&aggre1_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>, + <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -776,8 +776,8 @@ spi0: spi@880000 { #size-cells = <0>; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -792,8 +792,8 @@ uart0: serial@880000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -808,9 +808,9 @@ i2c1: i2c@884000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>, - <&aggre1_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>, + <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -828,8 +828,8 @@ spi1: spi@884000 { #size-cells = <0>; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -844,8 +844,8 @@ uart1: serial@884000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -860,9 +860,9 @@ i2c2: i2c@888000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>, - <&aggre1_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>, + <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -878,8 +878,8 @@ uart2: serial@888000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -894,9 +894,9 @@ i2c3: i2c@88c000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>, - <&aggre1_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>, + <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -914,8 +914,8 @@ spi3: spi@88c000 { #size-cells = <0>; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -930,8 +930,8 @@ uart3: serial@88c000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -946,9 +946,9 @@ i2c4: i2c@890000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>, - <&aggre1_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>, + <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -964,8 +964,8 @@ uart4: serial@890000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -980,9 +980,9 @@ i2c5: i2c@894000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>, - <&aggre1_noc MASTER_QUP_0 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>, + <&aggre1_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -1000,8 +1000,8 @@ spi5: spi@894000 { #size-cells = <0>; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1016,8 +1016,8 @@ uart5: serial@894000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_0 &qup_virt SLAVE_QUP_CORE_0>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_0>; + interconnects = <&qup_virt MASTER_QUP_CORE_0 0 &qup_virt SLAVE_QUP_CORE_0 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_0 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1033,7 +1033,7 @@ qupv3_id_1: geniqup@ac0000 { #size-cells = <2>; ranges; iommus = <&apps_smmu 0x4c3 0x0>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>; interconnect-names = "qup-core"; status = "disabled"; @@ -1047,9 +1047,9 @@ i2c6: i2c@a80000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>, - <&aggre2_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>, + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -1067,8 +1067,8 @@ spi6: spi@a80000 { #size-cells = <0>; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1083,8 +1083,8 @@ uart6: serial@a80000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1099,9 +1099,9 @@ i2c7: i2c@a84000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>, - <&aggre2_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>, + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -1117,8 +1117,8 @@ uart7: serial@a84000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1133,9 +1133,9 @@ i2c8: i2c@a88000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>, - <&aggre2_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>, + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -1153,8 +1153,8 @@ spi8: spi@a88000 { #size-cells = <0>; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1169,8 +1169,8 @@ uart8: serial@a88000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1185,9 +1185,9 @@ i2c9: i2c@a8c000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>, - <&aggre2_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>, + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -1203,8 +1203,8 @@ uart9: serial@a8c000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1219,9 +1219,9 @@ i2c10: i2c@a90000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>, - <&aggre2_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>, + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -1239,8 +1239,8 @@ spi10: spi@a90000 { #size-cells = <0>; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1255,8 +1255,8 @@ uart10: serial@a90000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1271,9 +1271,9 @@ i2c11: i2c@a94000 { interrupts = ; #address-cells = <1>; #size-cells = <0>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>, - <&aggre2_noc MASTER_QUP_1 &mc_virt SLAVE_EBI1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>, + <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>; interconnect-names = "qup-core", "qup-config", "qup-memory"; status = "disabled"; @@ -1291,8 +1291,8 @@ spi11: spi@a94000 { #size-cells = <0>; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1307,8 +1307,8 @@ uart11: serial@a94000 { interrupts = ; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qup_opp_table>; - interconnects = <&qup_virt MASTER_QUP_CORE_1 &qup_virt SLAVE_QUP_CORE_1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_QUP_1>; + interconnects = <&qup_virt MASTER_QUP_CORE_1 0 &qup_virt SLAVE_QUP_CORE_1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QUP_1 0>; interconnect-names = "qup-core", "qup-config"; status = "disabled"; }; @@ -1317,63 +1317,63 @@ uart11: serial@a94000 { config_noc: interconnect@1500000 { compatible = "qcom,sc7180-config-noc"; reg = <0 0x01500000 0 0x28000>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; system_noc: interconnect@1620000 { compatible = "qcom,sc7180-system-noc"; reg = <0 0x01620000 0 0x17080>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; mc_virt: interconnect@1638000 { compatible = "qcom,sc7180-mc-virt"; reg = <0 0x01638000 0 0x1000>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; qup_virt: interconnect@1650000 { compatible = "qcom,sc7180-qup-virt"; reg = <0 0x01650000 0 0x1000>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; aggre1_noc: interconnect@16e0000 { compatible = "qcom,sc7180-aggre1-noc"; reg = <0 0x016e0000 0 0x15080>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; aggre2_noc: interconnect@1705000 { compatible = "qcom,sc7180-aggre2-noc"; reg = <0 0x01705000 0 0x9000>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; compute_noc: interconnect@170e000 { compatible = "qcom,sc7180-compute-noc"; reg = <0 0x0170e000 0 0x6000>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; mmss_noc: interconnect@1740000 { compatible = "qcom,sc7180-mmss-noc"; reg = <0 0x01740000 0 0x1c100>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; ipa_virt: interconnect@1e00000 { compatible = "qcom,sc7180-ipa-virt"; reg = <0 0x01e00000 0 0x1000>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; @@ -1400,9 +1400,9 @@ ipa: ipa@1e40000 { clocks = <&rpmhcc RPMH_IPA_CLK>; clock-names = "core"; - interconnects = <&aggre2_noc MASTER_IPA &mc_virt SLAVE_EBI1>, - <&aggre2_noc MASTER_IPA &system_noc SLAVE_IMEM>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_IPA_CFG>; + interconnects = <&aggre2_noc MASTER_IPA 0 &mc_virt SLAVE_EBI1 0>, + <&aggre2_noc MASTER_IPA 0 &system_noc SLAVE_IMEM 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_IPA_CFG 0>; interconnect-names = "memory", "imem", "config"; @@ -2526,8 +2526,8 @@ qspi: spi@88dc000 { clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>, <&gcc GCC_QSPI_CORE_CLK>; clock-names = "iface", "core"; - interconnects = <&gem_noc MASTER_APPSS_PROC - &config_noc SLAVE_QSPI_0>; + interconnects = <&gem_noc MASTER_APPSS_PROC 0 + &config_noc SLAVE_QSPI_0 0>; interconnect-names = "qspi-config"; power-domains = <&rpmhpd SC7180_CX>; operating-points-v2 = <&qspi_opp_table>; @@ -2586,7 +2586,7 @@ usb_1_ssphy: phy@88e9200 { dc_noc: interconnect@9160000 { compatible = "qcom,sc7180-dc-noc"; reg = <0 0x09160000 0 0x03200>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; @@ -2600,14 +2600,14 @@ system-cache-controller@9200000 { gem_noc: interconnect@9680000 { compatible = "qcom,sc7180-gem-noc"; reg = <0 0x09680000 0 0x3e200>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; npu_noc: interconnect@9990000 { compatible = "qcom,sc7180-npu-noc"; reg = <0 0x09990000 0 0x1600>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; @@ -2643,8 +2643,8 @@ usb_1: usb@a6f8800 { resets = <&gcc GCC_USB30_PRIM_BCR>; - interconnects = <&aggre2_noc MASTER_USB3 &mc_virt SLAVE_EBI1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_USB3>; + interconnects = <&aggre2_noc MASTER_USB3 0 &mc_virt SLAVE_EBI1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_USB3 0>; interconnect-names = "usb-ddr", "apps-usb"; usb_1_dwc3: dwc3@a600000 { @@ -2675,8 +2675,8 @@ venus: video-codec@aa00000 { "vcodec0_core", "vcodec0_bus"; iommus = <&apps_smmu 0x0c00 0x60>; memory-region = <&venus_mem>; - interconnects = <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI1>, - <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_VENUS_CFG>; + interconnects = <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>, + <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_VENUS_CFG 0>; interconnect-names = "video-mem", "cpu-cfg"; video-decoder { @@ -2701,7 +2701,7 @@ videocc: clock-controller@ab00000 { camnoc_virt: interconnect@ac00000 { compatible = "qcom,sc7180-camnoc-virt"; reg = <0 0x0ac00000 0 0x1000>; - #interconnect-cells = <1>; + #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; };