Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5255a227 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: spm-v2: Flush the PMIC_DATA registers"

parents 71df85c6 6f3fac6b
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -139,6 +139,10 @@ static inline void msm_spm_drv_set_vctl(struct msm_spm_driver_data *dev,
	dev->reg_shadow[MSM_SPM_REG_SAW2_PMIC_DATA_1] &= ~0x3F0000;
	dev->reg_shadow[MSM_SPM_REG_SAW2_PMIC_DATA_1] |=
						((vlevel & 0x3F) << 16);

	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_VCTL);
	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_PMIC_DATA_0);
	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_PMIC_DATA_1);
}

static inline void msm_spm_drv_set_vctl2(struct msm_spm_driver_data *dev,
@@ -160,6 +164,9 @@ static inline void msm_spm_drv_set_vctl2(struct msm_spm_driver_data *dev,

	dev->reg_shadow[MSM_SPM_REG_SAW2_PMIC_DATA_3] &= ~0x700FF;
	dev->reg_shadow[MSM_SPM_REG_SAW2_PMIC_DATA_3] |= pmic_data;

	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_VCTL);
	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_PMIC_DATA_3);
}

static inline void msm_spm_drv_apcs_set_vctl(struct msm_spm_driver_data *dev,
@@ -382,9 +389,6 @@ int msm_spm_drv_set_vdd(struct msm_spm_driver_data *dev, unsigned int vlevel)
	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_RST);

	msm_spm_drv_apcs_set_vctl(dev, vlevel);
	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_VCTL);
	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_PMIC_DATA_0);
	msm_spm_drv_flush_shadow(dev, MSM_SPM_REG_SAW2_PMIC_DATA_1);

	timeout_us = dev->vctl_timeout_us;
	/* Confirm the voltage we set was what hardware sent */