Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp344064ybg; Wed, 3 Jun 2020 02:13:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbkIEje9KkHW3nA/jCEpSRsE5NrokAiCjkAhWhmi1H2sgD1IPsmsuUiRUHCMYTVdSbuwpn X-Received: by 2002:a17:906:7f02:: with SMTP id d2mr12375461ejr.211.1591175629870; Wed, 03 Jun 2020 02:13:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591175629; cv=none; d=google.com; s=arc-20160816; b=RZ+h32LY/yFud1mFU9Jzyu51spWwt2JtD5WL+VA2hFffYL/FXetTRiHWXHif8kJ1w0 +tnwCXEQ+kILfecAivbnBXamB7FA3ckPWS1Y/yQI+C/0VN8e+RgGNiXm00cIsbYsH3DL +L/ZGFoATJdyR3E1TqELIEC9QYaQpveN0o1vqky4lDiYjVJ3w30zstlOkb1/ukSDOBGL ODTnBdzSzMlZZ4j2RZB6Evx2TsJyvypL2QCM8q5o/pNFUclKomth+LPycdl62d6cWUoQ 7EoyI1YqpADT52fFIADIg/Yu4gX1AoPzXzNfwjK3CbTBlhDctLS8+qDrHnNvyUNqDecY ldlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=F5nyKJJmqc9fKfptQ2dgBZOPYSFDswGLKv8SiiCpDB0=; b=fGHT+UDjHhljxAH99KaQQlruzUvnXO7Sn7b9oj9bGJTez8KzUJZ0RRAzbQjZxTFFLE cagin8cu9RNaCRxBorYaMJ4FLMofSkdc9AKtuajFZygtXv4ELrkb/1iIYB+pTTWDlIYp EeAJb/+apM00L2zkS/A3WMrw5ZsbmqzDtnUGSE6I9K+UNmtc+Bm0eOL8X/bD/TG2PYQu XcmCl+5fW5W/6bd9VdFLgbaLklAtYOiQOBjWZb2RMz1drn6nUMdlNx0EYHyg4a3QaamJ Kp4PMnBwaAEr8TevyhXYFIJSC+eH/9u2JPn9asUmFxqIW56vq2gHuvTZ0112nFSMUbaV CiHw== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t10si837851edq.305.2020.06.03.02.13.27; Wed, 03 Jun 2020 02:13:49 -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; 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 S1726441AbgFCJL2 (ORCPT + 99 others); Wed, 3 Jun 2020 05:11:28 -0400 Received: from alexa-out-blr-02.qualcomm.com ([103.229.18.198]:25968 "EHLO alexa-out-blr-02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726236AbgFCJL0 (ORCPT ); Wed, 3 Jun 2020 05:11:26 -0400 Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by alexa-out-blr-02.qualcomm.com with ESMTP/TLS/AES256-SHA; 03 Jun 2020 14:40:19 +0530 Received: from c-ppvk-linux.qualcomm.com ([10.206.24.34]) by ironmsg02-blr.qualcomm.com with ESMTP; 03 Jun 2020 14:39:50 +0530 Received: by c-ppvk-linux.qualcomm.com (Postfix, from userid 2304101) id 211865047; Wed, 3 Jun 2020 14:39:50 +0530 (IST) From: Pradeep P V K To: bjorn.andersson@linaro.org, adrian.hunter@intel.com, robh+dt@kernel.org, ulf.hansson@linaro.org, vbadigan@codeaurora.org, sboyd@kernel.org, georgi.djakov@linaro.org, mka@chromium.org Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-mmc-owner@vger.kernel.org, rnayak@codeaurora.org, sibis@codeaurora.org, matthias@chromium.org, Pradeep P V K Subject: [PATCH V1 1/2] mmc: sdhci-msm: Add interconnect bandwidth scaling support Date: Wed, 3 Jun 2020 14:39:35 +0530 Message-Id: <1591175376-2374-2-git-send-email-ppvk@codeaurora.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1591175376-2374-1-git-send-email-ppvk@codeaurora.org> References: <1591175376-2374-1-git-send-email-ppvk@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Interconnect bandwidth scaling support is now added as a part of OPP [1]. So, make sure interconnect driver is ready before handling interconnect scaling. This change is based on [1] [Patch v8] Introduce OPP bandwidth bindings (https://lkml.org/lkml/2020/5/12/493) [2] [Patch v3] mmc: sdhci-msm: Fix error handling for dev_pm_opp_of_add_table() (https://lkml.org/lkml/2020/5/5/491) Signed-off-by: Pradeep P V K --- drivers/mmc/host/sdhci-msm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index b277dd7..bf95484 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -14,6 +14,7 @@ #include #include #include +#include #include "sdhci-pltfm.h" #include "cqhci.h" @@ -1999,6 +2000,7 @@ static int sdhci_msm_probe(struct platform_device *pdev) struct sdhci_pltfm_host *pltfm_host; struct sdhci_msm_host *msm_host; struct clk *clk; + struct icc_path *sdhc_path; int ret; u16 host_version, core_minor; u32 core_version, config; @@ -2070,6 +2072,20 @@ static int sdhci_msm_probe(struct platform_device *pdev) } msm_host->bulk_clks[0].clk = clk; + /* Make sure that ICC driver is ready for interconnect bandwdith + * scaling before registering the device for OPP. + */ + sdhc_path = of_icc_get(&pdev->dev, NULL); + ret = PTR_ERR_OR_ZERO(sdhc_path); + if (ret) { + if (ret == -EPROBE_DEFER) + dev_info(&pdev->dev, "defer icc path: %d\n", ret); + else + dev_err(&pdev->dev, "failed to get icc path:%d\n", ret); + goto bus_clk_disable; + } + icc_put(sdhc_path); + msm_host->opp_table = dev_pm_opp_set_clkname(&pdev->dev, "core"); if (IS_ERR(msm_host->opp_table)) { ret = PTR_ERR(msm_host->opp_table); -- 1.9.1