The number of uncore frequencies was defined in three places,
and two of them were too small leading to test failures.
All places should be using RTE_MAX_UNCORE_FREQS.

Bugzilla ID: 1499
Fixes: 60b8a661a957 ("power: add Intel uncore frequency control")
Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
---
v2 - drop the debug log changes

 app/test/test_power_intel_uncore.c | 4 +---
 lib/power/power_intel_uncore.c     | 5 ++---
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/app/test/test_power_intel_uncore.c 
b/app/test/test_power_intel_uncore.c
index 80b45ce46e..049658627d 100644
--- a/app/test/test_power_intel_uncore.c
+++ b/app/test/test_power_intel_uncore.c
@@ -17,14 +17,12 @@ test_power_intel_uncore(void)
 #include <rte_power_uncore.h>
 #include <power_common.h>
 
-#define MAX_UNCORE_FREQS 32
-
 #define VALID_PKG 0
 #define VALID_DIE 0
 #define INVALID_PKG (rte_power_uncore_get_num_pkgs() + 1)
 #define INVALID_DIE (rte_power_uncore_get_num_dies(VALID_PKG) + 1)
 #define VALID_INDEX 1
-#define INVALID_INDEX (MAX_UNCORE_FREQS + 1)
+#define INVALID_INDEX (RTE_MAX_UNCORE_FREQS + 1)
 
 static int check_power_uncore_init(void)
 {
diff --git a/lib/power/power_intel_uncore.c b/lib/power/power_intel_uncore.c
index 9c152e4ed2..0090ddd374 100644
--- a/lib/power/power_intel_uncore.c
+++ b/lib/power/power_intel_uncore.c
@@ -11,7 +11,6 @@
 #include "power_intel_uncore.h"
 #include "power_common.h"
 
-#define MAX_UNCORE_FREQS 32
 #define MAX_NUMA_DIE 8
 #define BUS_FREQ     100000
 #define FILTER_LENGTH 18
@@ -32,7 +31,7 @@
 struct __rte_cache_aligned uncore_power_info {
        unsigned int die;                  /* Core die id */
        unsigned int pkg;                  /* Package id */
-       uint32_t freqs[MAX_UNCORE_FREQS];  /* Frequency array */
+       uint32_t freqs[RTE_MAX_UNCORE_FREQS]; /* Frequency array */
        uint32_t nb_freqs;                 /* Number of available freqs */
        FILE *f_cur_min;                   /* FD of scaling_min */
        FILE *f_cur_max;                   /* FD of scaling_max */
@@ -221,7 +220,7 @@ power_get_available_uncore_freqs(struct uncore_power_info 
*ui)
        uint32_t i, num_uncore_freqs = 0;
 
        num_uncore_freqs = (ui->init_max_freq - ui->init_min_freq) / BUS_FREQ + 
1;
-       if (num_uncore_freqs >= MAX_UNCORE_FREQS) {
+       if (num_uncore_freqs >= RTE_MAX_UNCORE_FREQS) {
                POWER_LOG(ERR, "Too many available uncore frequencies: %d",
                                num_uncore_freqs);
                goto out;
-- 
2.43.0

Reply via email to