a3f9cca718
During power initialization the pstate cpufreq api is not setting the initial curr_idx of pstate_power_info to corresponding current frequency index. Without this the idx is always 0, which is causing the below check to pass and returns without setting the initial min/max frequency to system max frequency and this leads to incorrect frequency settings when power_pstate_cpufreq_set_freq() is called in the apps. set_freq_internal(struct pstate_power_info *pi, uint32_t idx) { ... /* Check if it is the same as current */ if (idx == pi->curr_idx) return 0; ... } scenario 1: If system has starting scaling min/max: 1000/1000, and want to set this to 2200/2200, the max frequency gets updated but not min. scenario 2: If system has starting scaling min/max: 2200/1000, and want to set to 2200/2200, the max, min frequency was not updated. Since no change in max that should be ok, but min was also ignored, which will be fixed now with the new changes. Fixes: e6c6dc0f ("power: add p-state driver compatibility") Cc: stable@dpdk.org Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Reviewed-by: Liang Ma <liang.j.ma@intel.com>