mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 21:22:09 -04:00
Merge "mmc: host: sdhci-msm: Don't return error on missing bus voting paths"
This commit is contained in:
commit
33a49c58db
3 changed files with 31 additions and 13 deletions
|
|
@ -859,3 +859,9 @@ CONFIG_INTERCONNECT_TEST=y
|
|||
CONFIG_INTERCONNECT_QCOM=y
|
||||
CONFIG_INTERCONNECT_QCOM_SDXNIGHTJAR=y
|
||||
CONFIG_QCOM_SOCINFO=y
|
||||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_IOSCHED_BFQ=y
|
||||
CONFIG_BFQ_GROUP_IOSCHED=y
|
||||
CONFIG_SDC_QTI=y
|
||||
CONFIG_MMC_SDHCI_MSM=y
|
||||
CONFIG_MMC_IPC_LOGGING=y
|
||||
|
|
|
|||
8
arch/arm/configs/vendor/sdxnightjar.config
vendored
8
arch/arm/configs/vendor/sdxnightjar.config
vendored
|
|
@ -874,3 +874,11 @@ CONFIG_INTERCONNECT_TEST=y
|
|||
CONFIG_INTERCONNECT_QCOM=y
|
||||
CONFIG_INTERCONNECT_QCOM_SDXNIGHTJAR=y
|
||||
CONFIG_QCOM_SOCINFO=y
|
||||
CONFIG_BLK_CGROUP=y
|
||||
CONFIG_IOSCHED_BFQ=y
|
||||
CONFIG_BFQ_GROUP_IOSCHED=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_SDC_QTI=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_MSM=y
|
||||
|
|
|
|||
|
|
@ -2862,7 +2862,7 @@ static inline int sdhci_msm_bus_set_vote(struct sdhci_msm_host *msm_host,
|
|||
struct sdhci_msm_bus_vote_data *bvd = msm_host->bus_vote_data;
|
||||
struct msm_bus_path *usecase = bvd->usecase;
|
||||
struct msm_bus_vectors *vec = usecase[vote].vec;
|
||||
int ddr_rc, cpu_rc;
|
||||
int ddr_rc = 0, cpu_rc = 0;
|
||||
|
||||
if (vote == bvd->curr_vote)
|
||||
return 0;
|
||||
|
|
@ -2870,8 +2870,13 @@ static inline int sdhci_msm_bus_set_vote(struct sdhci_msm_host *msm_host,
|
|||
pr_debug("%s: vote:%d sdhc_ddr ab:%llu ib:%llu cpu_sdhc ab:%llu ib:%llu\n",
|
||||
mmc_hostname(host->mmc), vote, vec[0].ab,
|
||||
vec[0].ib, vec[1].ab, vec[1].ib);
|
||||
ddr_rc = icc_set_bw(bvd->sdhc_ddr, vec[0].ab, vec[0].ib);
|
||||
cpu_rc = icc_set_bw(bvd->cpu_sdhc, vec[1].ab, vec[1].ib);
|
||||
|
||||
if (bvd->sdhc_ddr)
|
||||
ddr_rc = icc_set_bw(bvd->sdhc_ddr, vec[0].ab, vec[0].ib);
|
||||
|
||||
if (bvd->cpu_sdhc)
|
||||
cpu_rc = icc_set_bw(bvd->cpu_sdhc, vec[1].ab, vec[1].ib);
|
||||
|
||||
if (ddr_rc || cpu_rc) {
|
||||
pr_err("%s: icc_set() failed\n",
|
||||
mmc_hostname(host->mmc));
|
||||
|
|
@ -2894,8 +2899,8 @@ static void sdhci_msm_bus_get_and_set_vote(struct sdhci_host *host,
|
|||
struct sdhci_msm_host *msm_host = sdhci_pltfm_priv(pltfm_host);
|
||||
|
||||
if (!msm_host->bus_vote_data ||
|
||||
!msm_host->bus_vote_data->sdhc_ddr ||
|
||||
!msm_host->bus_vote_data->cpu_sdhc)
|
||||
(!msm_host->bus_vote_data->sdhc_ddr &&
|
||||
!msm_host->bus_vote_data->cpu_sdhc))
|
||||
return;
|
||||
vote = sdhci_msm_bus_get_vote_for_bw(msm_host, bw);
|
||||
sdhci_msm_bus_set_vote(msm_host, vote);
|
||||
|
|
@ -3004,20 +3009,16 @@ static int sdhci_msm_bus_register(struct sdhci_msm_host *host,
|
|||
|
||||
bsd->sdhc_ddr = of_icc_get(&pdev->dev, "sdhc-ddr");
|
||||
if (IS_ERR_OR_NULL(bsd->sdhc_ddr)) {
|
||||
dev_err(&pdev->dev, "(%ld): failed getting %s path\n",
|
||||
dev_info(&pdev->dev, "(%ld): failed getting %s path\n",
|
||||
PTR_ERR(bsd->sdhc_ddr), "sdhc-ddr");
|
||||
ret = PTR_ERR(bsd->sdhc_ddr);
|
||||
bsd->sdhc_ddr = NULL;
|
||||
return ret;
|
||||
}
|
||||
|
||||
bsd->cpu_sdhc = of_icc_get(&pdev->dev, "cpu-sdhc");
|
||||
if (IS_ERR_OR_NULL(bsd->cpu_sdhc)) {
|
||||
dev_err(&pdev->dev, "(%ld): failed getting %s path\n",
|
||||
dev_info(&pdev->dev, "(%ld): failed getting %s path\n",
|
||||
PTR_ERR(bsd->cpu_sdhc), "cpu-sdhc");
|
||||
ret = PTR_ERR(bsd->cpu_sdhc);
|
||||
bsd->cpu_sdhc = NULL;
|
||||
return ret;
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
|
@ -3028,8 +3029,11 @@ static void sdhci_msm_bus_unregister(struct device *dev,
|
|||
{
|
||||
struct sdhci_msm_bus_vote_data *bsd = host->bus_vote_data;
|
||||
|
||||
icc_put(bsd->sdhc_ddr);
|
||||
icc_put(bsd->cpu_sdhc);
|
||||
if (bsd->sdhc_ddr)
|
||||
icc_put(bsd->sdhc_ddr);
|
||||
|
||||
if (bsd->cpu_sdhc)
|
||||
icc_put(bsd->cpu_sdhc);
|
||||
}
|
||||
|
||||
static void sdhci_msm_bus_voting(struct sdhci_host *host, bool enable)
|
||||
|
|
|
|||
Loading…
Reference in a new issue