Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp3983908ybz; Mon, 4 May 2020 13:28:27 -0700 (PDT) X-Google-Smtp-Source: APiQypJax5/pVA5dxg0GAP2qPSm6t4xojsdqr3y4GwAOp5bIjYkG5FOM769IXElRlz4R9AW60ru+ X-Received: by 2002:a17:906:7750:: with SMTP id o16mr16619044ejn.12.1588624106809; Mon, 04 May 2020 13:28:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588624106; cv=none; d=google.com; s=arc-20160816; b=AIQvvCA7lawzx50tUFLe3pcC9pr5ETotOVMTcHRgBU2UmqTeIW51TyxA9VOlpkRcn7 mOj2Y/ddexgCV5nvc6U3ySODffQy2WVHAiPYCOmK7lIc1iTFZ44ru9lqQRl9dnyk/1bK bI6dFp62Ze4n3g7AY276aBBzBAr/xLP/zpu/fTQklfv8Py5HgBehRI4GaTABDLYg12A/ VpD3RYpnze0G7xEYl5vi2kCF0j8t7QybuwtEnaWgYvj8Kd4lNRUVUqa+Q4UF07SDERge gmW82AhkEe9EW0esH+vbE5Rry2lNLEQ8hIwAnglKhDvw181UIvbOKlRYBLDyrEi54EyS 3Svg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dmarc-filter:dkim-signature; bh=dyAHQjbj+/cBM6O9IUUcBIRYNzgSI7OhgoYQIYafOj8=; b=aoS5irz0N896MQW1GYlqGVzlaODN0UgAAijRbBfvCE4+uSQvt16X3SyhVWjjDSxvf3 nb5iWcBReo63T9UKAU0PcsX/FZjsDHgrZlNdb8PjKErOwMNsAvyiaIZodJaIf3Ewx/6q MEGHHeWDn7BVOI7X4s5k2S+johP4/rmBPCAXPEOGBQc1hj/5OOifKH4sQ9xwpegHa84O lVegvmHgIfeX6nmFcxAlnttWZKzW7Dic8lcMyTDRDTvCslCpujeE83lhc8yZvwUgwf9A O+x6jsD6IbdEXT5sXHTaaOENrc0KBlZOUDpC5nCfDsP7UBc3Mk94hQZw+uFZUMxQi7t5 sh5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=dC21TmOU; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m5si7318132ejr.155.2020.05.04.13.28.03; Mon, 04 May 2020 13:28:26 -0700 (PDT) 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; dkim=fail header.i=@mg.codeaurora.org header.s=smtp header.b=dC21TmOU; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728185AbgEDUZH (ORCPT + 99 others); Mon, 4 May 2020 16:25:07 -0400 Received: from mail27.static.mailgun.info ([104.130.122.27]:52043 "EHLO mail27.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728101AbgEDUZE (ORCPT ); Mon, 4 May 2020 16:25:04 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1588623903; h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To: Message-Id: Date: Subject: Cc: To: From: Sender; bh=dyAHQjbj+/cBM6O9IUUcBIRYNzgSI7OhgoYQIYafOj8=; b=dC21TmOU9wQlBrAC0/x4IG84Px0tU3RBSnQfIijY323t4jMeN5A6MrMDQxMp3Ntv/T6Vawxo mcHB71MQJ+4teQriN9mzPnSgNyvYqksoxVyau7BCbOGad5nf0Q9w6/CfQ/OMoK6D/Zb5iB5N XmRhXzMTnfKoBtM1K8nY1p+quII= X-Mailgun-Sending-Ip: 104.130.122.27 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by mxa.mailgun.org with ESMTP id 5eb07a1f.7f505694d4c8-smtp-out-n05; Mon, 04 May 2020 20:25:03 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 44F41C38565; Mon, 4 May 2020 20:25:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.0 Received: from blr-ubuntu-87.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com [103.229.18.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: sibis) by smtp.codeaurora.org (Postfix) with ESMTPSA id 93C8BC00448; Mon, 4 May 2020 20:24:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 93C8BC00448 Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=sibis@codeaurora.org From: Sibi Sankar To: viresh.kumar@linaro.org, sboyd@kernel.org, georgi.djakov@linaro.org, bjorn.andersson@linaro.org, saravanak@google.com, mka@chromium.org Cc: nm@ti.com, agross@kernel.org, david.brown@linaro.org, robh+dt@kernel.org, mark.rutland@arm.com, rjw@rjwysocki.net, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, dianders@chromium.org, vincent.guittot@linaro.org, amit.kucheria@linaro.org, ulf.hansson@linaro.org, lukasz.luba@arm.com, sudeep.holla@arm.com, Sibi Sankar Subject: [PATCH v4 10/12] OPP: Add support for setting interconnect-tags Date: Tue, 5 May 2020 01:52:41 +0530 Message-Id: <20200504202243.5476-11-sibis@codeaurora.org> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20200504202243.5476-1-sibis@codeaurora.org> References: <20200504202243.5476-1-sibis@codeaurora.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add support for setting tags on icc paths associated with the opp_table. Signed-off-by: Sibi Sankar --- drivers/opp/of.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/drivers/opp/of.c b/drivers/opp/of.c index 2b590fe2e69ae..5273b46f11025 100644 --- a/drivers/opp/of.c +++ b/drivers/opp/of.c @@ -336,6 +336,7 @@ int _of_find_paths(struct opp_table *opp_table, struct device *dev) { struct device_node *np; int ret, i, count, num_paths; + u32 tag; np = of_node_get(dev->of_node); if (!np) @@ -343,22 +344,26 @@ int _of_find_paths(struct opp_table *opp_table, struct device *dev) count = of_count_phandle_with_args(np, "interconnects", "#interconnect-cells"); - of_node_put(np); - if (count < 0) - return 0; + if (count < 0) { + ret = 0; + goto put_np; + } /* two phandles when #interconnect-cells = <1> */ if (count % 2) { dev_err(dev, "%s: Invalid interconnects values\n", __func__); - return -EINVAL; + ret = -EINVAL; + goto put_np; } num_paths = count / 2; opp_table->paths = kcalloc(num_paths, sizeof(*opp_table->paths), GFP_KERNEL); - if (!opp_table->paths) - return -ENOMEM; + if (!opp_table->paths) { + ret = -ENOMEM; + goto put_np; + } for (i = 0; i < num_paths; i++) { opp_table->paths[i] = of_icc_get_by_index(dev, i); @@ -370,8 +375,14 @@ int _of_find_paths(struct opp_table *opp_table, struct device *dev) } goto err; } + + /* Set tag if present */ + if (!of_property_read_u32_index(np, "interconnect-tags", + i, &tag)) + icc_set_tag(opp_table->paths[i], tag); } opp_table->path_count = num_paths; + of_node_put(np); return 0; @@ -381,6 +392,8 @@ int _of_find_paths(struct opp_table *opp_table, struct device *dev) kfree(opp_table->paths); opp_table->paths = NULL; +put_np: + of_node_put(np); return ret; } -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project