Loading drivers/soc/qcom/spm.c +6 −0 Original line number Diff line number Diff line Loading @@ -423,6 +423,12 @@ int msm_spm_drv_set_low_power_mode(struct msm_spm_driver_data *dev, return 0; } uint32_t msm_spm_drv_get_vdd(struct msm_spm_driver_data *dev) { msm_spm_drv_load_shadow(dev, MSM_SPM_REG_SAW_PMIC_STS); return dev->reg_shadow[MSM_SPM_REG_SAW_PMIC_STS] & 0xFF; } #ifdef CONFIG_MSM_AVS_HW static bool msm_spm_drv_is_avs_enabled(struct msm_spm_driver_data *dev) { Loading drivers/soc/qcom/spm_devices.c +2 −7 Original line number Diff line number Diff line Loading @@ -144,19 +144,14 @@ EXPORT_SYMBOL(msm_spm_set_vdd); * @cpu: core id * @return: Returns encoded PMIC data. */ unsigned int msm_spm_get_vdd(unsigned int cpu) int msm_spm_get_vdd(unsigned int cpu) { int ret; struct msm_spm_device *dev = per_cpu(cpu_vctl_device, cpu); if (!dev) return -EPROBE_DEFER; ret = IS_ERR(dev); if (ret) return ret; return dev->cpu_vdd; return msm_spm_drv_get_vdd(&dev->reg_data) ? : -EINVAL; } EXPORT_SYMBOL(msm_spm_get_vdd); Loading drivers/soc/qcom/spm_driver.h +1 −0 Original line number Diff line number Diff line Loading @@ -130,4 +130,5 @@ void msm_spm_reinit(void); int msm_spm_init(struct msm_spm_platform_data *data, int nr_devs); void msm_spm_drv_upd_reg_shadow(struct msm_spm_driver_data *dev, int id, int val); uint32_t msm_spm_drv_get_vdd(struct msm_spm_driver_data *dev); #endif include/soc/qcom/spm.h +2 −2 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ struct device_node; int msm_spm_set_low_power_mode(unsigned int mode, bool notify_rpm); int msm_spm_probe_done(void); int msm_spm_set_vdd(unsigned int cpu, unsigned int vlevel); unsigned int msm_spm_get_vdd(unsigned int cpu); int msm_spm_get_vdd(unsigned int cpu); int msm_spm_turn_on_cpu_rail(struct device_node *l2ccc_node, unsigned int val, int cpu, int vctl_offset); struct msm_spm_device *msm_spm_get_device_by_name(const char *name); Loading Loading @@ -89,7 +89,7 @@ static inline int msm_spm_set_vdd(unsigned int cpu, unsigned int vlevel) return -ENOSYS; } static inline unsigned int msm_spm_get_vdd(unsigned int cpu) static inline int msm_spm_get_vdd(unsigned int cpu) { return 0; } Loading Loading
drivers/soc/qcom/spm.c +6 −0 Original line number Diff line number Diff line Loading @@ -423,6 +423,12 @@ int msm_spm_drv_set_low_power_mode(struct msm_spm_driver_data *dev, return 0; } uint32_t msm_spm_drv_get_vdd(struct msm_spm_driver_data *dev) { msm_spm_drv_load_shadow(dev, MSM_SPM_REG_SAW_PMIC_STS); return dev->reg_shadow[MSM_SPM_REG_SAW_PMIC_STS] & 0xFF; } #ifdef CONFIG_MSM_AVS_HW static bool msm_spm_drv_is_avs_enabled(struct msm_spm_driver_data *dev) { Loading
drivers/soc/qcom/spm_devices.c +2 −7 Original line number Diff line number Diff line Loading @@ -144,19 +144,14 @@ EXPORT_SYMBOL(msm_spm_set_vdd); * @cpu: core id * @return: Returns encoded PMIC data. */ unsigned int msm_spm_get_vdd(unsigned int cpu) int msm_spm_get_vdd(unsigned int cpu) { int ret; struct msm_spm_device *dev = per_cpu(cpu_vctl_device, cpu); if (!dev) return -EPROBE_DEFER; ret = IS_ERR(dev); if (ret) return ret; return dev->cpu_vdd; return msm_spm_drv_get_vdd(&dev->reg_data) ? : -EINVAL; } EXPORT_SYMBOL(msm_spm_get_vdd); Loading
drivers/soc/qcom/spm_driver.h +1 −0 Original line number Diff line number Diff line Loading @@ -130,4 +130,5 @@ void msm_spm_reinit(void); int msm_spm_init(struct msm_spm_platform_data *data, int nr_devs); void msm_spm_drv_upd_reg_shadow(struct msm_spm_driver_data *dev, int id, int val); uint32_t msm_spm_drv_get_vdd(struct msm_spm_driver_data *dev); #endif
include/soc/qcom/spm.h +2 −2 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ struct device_node; int msm_spm_set_low_power_mode(unsigned int mode, bool notify_rpm); int msm_spm_probe_done(void); int msm_spm_set_vdd(unsigned int cpu, unsigned int vlevel); unsigned int msm_spm_get_vdd(unsigned int cpu); int msm_spm_get_vdd(unsigned int cpu); int msm_spm_turn_on_cpu_rail(struct device_node *l2ccc_node, unsigned int val, int cpu, int vctl_offset); struct msm_spm_device *msm_spm_get_device_by_name(const char *name); Loading Loading @@ -89,7 +89,7 @@ static inline int msm_spm_set_vdd(unsigned int cpu, unsigned int vlevel) return -ENOSYS; } static inline unsigned int msm_spm_get_vdd(unsigned int cpu) static inline int msm_spm_get_vdd(unsigned int cpu) { return 0; } Loading