summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-09-02 13:52:23 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-02 13:52:23 -0700
commitda1845f69cd7c78c45f07dcf15f25ccf16d6fea7 (patch)
treed4b88a62bd6fa5a5025aa8e960e25c921d967fab
parent3fa0d6f138f6fda3bc1a1fc2ae3ed0dfb93d7518 (diff)
parent38610b88bf1cb8cb88f724c6bc510b3432298ffd (diff)
Merge "host: sdhci-msm: implement get_current_limit() host op"
-rw-r--r--drivers/mmc/host/sdhci-msm.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index 0568769fd94a..be3ccf2536d9 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -3707,6 +3707,19 @@ static void sdhci_msm_init(struct sdhci_host *host)
msm_host->pdata->pm_qos_data.latency);
}
+static unsigned int sdhci_msm_get_current_limit(struct sdhci_host *host)
+{
+ struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
+ struct sdhci_msm_host *msm_host = pltfm_host->priv;
+ struct sdhci_msm_slot_reg_data *curr_slot = msm_host->pdata->vreg_data;
+ u32 max_curr = 0;
+
+ if (curr_slot && curr_slot->vdd_data)
+ max_curr = curr_slot->vdd_data->hpm_uA;
+
+ return max_curr;
+}
+
static struct sdhci_ops sdhci_msm_ops = {
.crypto_engine_cfg = sdhci_msm_ice_cfg,
.crypto_cfg_reset = sdhci_msm_ice_cfg_reset,
@@ -3732,6 +3745,7 @@ static struct sdhci_ops sdhci_msm_ops = {
.init = sdhci_msm_init,
.pre_req = sdhci_msm_pre_req,
.post_req = sdhci_msm_post_req,
+ .get_current_limit = sdhci_msm_get_current_limit,
};
static void sdhci_set_default_hw_caps(struct sdhci_msm_host *msm_host,