numam-dpdk/lib
Reshma Pattan a3f9cca718 power: fix current frequency index
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>
2020-10-07 14:51:52 +02:00
..
librte_acl build: remove deprecated cpuflag macros 2020-09-25 11:13:57 +02:00
librte_bbdev bbdev: use C11 atomics for device processing counter 2020-09-25 15:37:55 +02:00
librte_bitratestats build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_bpf bpf: promote library as stable 2020-09-16 18:52:55 +02:00
librte_cfgfile build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_cmdline build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_compressdev build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_cryptodev build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_distributor build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_eal trace: add size_t as generic trace point 2020-10-07 14:44:03 +02:00
librte_efd build: remove deprecated cpuflag macros 2020-09-25 11:13:57 +02:00
librte_ethdev ethdev: add common stats for telemetry 2020-10-06 22:55:41 +02:00
librte_eventdev build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_fib build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_flow_classify build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_graph build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_gro gro: support VXLAN UDP/IPv4 2020-10-06 21:51:03 +02:00
librte_gso gso: fix payload unit size for UDP 2020-09-18 18:55:12 +02:00
librte_hash build: remove deprecated cpuflag macros 2020-09-25 11:13:57 +02:00
librte_ip_frag build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_ipsec build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_jobstats build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_kni mem: remove physical address aliases 2020-09-19 00:25:35 +02:00
librte_kvargs build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_latencystats build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_lpm build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_mbuf mbuf: remove physical address alias 2020-09-19 00:25:37 +02:00
librte_member build: remove deprecated cpuflag macros 2020-09-25 11:13:57 +02:00
librte_mempool mempool: dump handler index and name 2020-10-06 23:44:15 +02:00
librte_meter meter: remove experimental alias 2020-10-05 11:11:59 +02:00
librte_metrics build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_net net: calculate checksum of packet with IPv4 options 2020-10-06 17:10:02 +02:00
librte_node build: remove deprecated cpuflag macros 2020-09-25 11:13:57 +02:00
librte_pci net/qede: define PCI config space specific osals 2020-09-30 19:19:11 +02:00
librte_pdump build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_pipeline pipeline: fix build with glibc < 2.26 2020-10-02 13:49:16 +02:00
librte_port port: remove useless assignment 2020-10-06 23:39:34 +02:00
librte_power power: fix current frequency index 2020-10-07 14:51:52 +02:00
librte_rawdev telemetry: fix passing full params string to command 2020-10-06 22:54:58 +02:00
librte_rcu rcu: promote library as stable 2020-10-06 10:31:13 +02:00
librte_regexdev build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_reorder build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_rib build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_ring config: remove default configs used with make 2020-09-08 00:11:30 +02:00
librte_sched build: remove deprecated cpuflag macros 2020-09-25 11:13:57 +02:00
librte_security build: remove makefiles 2020-09-08 00:09:50 +02:00
librte_stack stack: promote library as stable 2020-10-05 11:56:17 +02:00
librte_table table: add exact match SWX table 2020-10-01 18:43:10 +02:00
librte_telemetry telemetry: support array values in data object 2020-10-06 22:55:00 +02:00
librte_timer timer: promote some experimental functions as stable 2020-10-05 11:12:52 +02:00
librte_vhost vhost: remove dequeue zero-copy support 2020-09-30 23:16:56 +02:00
meson.build hash: build on Windows 2020-10-05 09:49:55 +02:00