aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic
diff options
context:
space:
mode:
authorBarry Spinney <spinney@ezchip.com>2016-02-25 22:02:02 -0600
committerMaxim Uvarov <maxim.uvarov@linaro.org>2016-02-26 11:17:18 +0300
commit6582a4497bb205639564bede5287b26a8b28e553 (patch)
tree8dd0f70655f8bed3b7bce1f7d771352a82aaafa7 /platform/linux-generic
parent7c4fdda38e8349cad314509bb618e57dcebb1d40 (diff)
linux-generic: tm: Add missing name table initialization call.
This patch adds a call from odp_init.c to _odp_int_name_tbl_init(). Signed-off-by: Barry Spinney <spinney@ezchip.com> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic')
-rw-r--r--platform/linux-generic/include/odp_internal.h8
-rw-r--r--platform/linux-generic/include/odp_name_table_internal.h3
-rw-r--r--platform/linux-generic/include/odp_timer_wheel_internal.h3
-rw-r--r--platform/linux-generic/odp_init.c19
-rw-r--r--platform/linux-generic/odp_name_table.c9
5 files changed, 33 insertions, 9 deletions
diff --git a/platform/linux-generic/include/odp_internal.h b/platform/linux-generic/include/odp_internal.h
index d7b71ca4d..b56e85a0c 100644
--- a/platform/linux-generic/include/odp_internal.h
+++ b/platform/linux-generic/include/odp_internal.h
@@ -4,7 +4,6 @@
* SPDX-License-Identifier: BSD-3-Clause
*/
-
/**
* @file
*
@@ -55,7 +54,9 @@ enum init_stage {
TIMER_INIT = 9,
CRYPTO_INIT = 10,
CLASSIFICATION_INIT = 11,
- ALL_INIT = 12 /* All init stages completed */
+ TRAFFIC_MNGR_INIT = 12,
+ NAME_TABLE_INIT = 13,
+ ALL_INIT /* All init stages completed */
};
extern struct odp_global_data_s odp_global_data;
@@ -107,6 +108,9 @@ int odp_time_term_global(void);
int odp_tm_init_global(void);
+int _odp_int_name_tbl_init_global(void);
+int _odp_int_name_tbl_term_global(void);
+
void _odp_flush_caches(void);
int odp_cpuinfo_parser(FILE *file, odp_system_info_t *sysinfo);
diff --git a/platform/linux-generic/include/odp_name_table_internal.h b/platform/linux-generic/include/odp_name_table_internal.h
index e9a85daa5..21ae42dbb 100644
--- a/platform/linux-generic/include/odp_name_table_internal.h
+++ b/platform/linux-generic/include/odp_name_table_internal.h
@@ -52,7 +52,8 @@ uint64_t _odp_int_name_tbl_user_data(_odp_int_name_t odp_name);
void _odp_int_name_tbl_stats_print(void);
-void _odp_int_name_tbl_init(void);
+int _odp_int_name_tbl_init_global(void);
+int _odp_int_name_tbl_term_global(void);
#ifdef __cplusplus
}
diff --git a/platform/linux-generic/include/odp_timer_wheel_internal.h b/platform/linux-generic/include/odp_timer_wheel_internal.h
index 0e5828f9a..bb98df14c 100644
--- a/platform/linux-generic/include/odp_timer_wheel_internal.h
+++ b/platform/linux-generic/include/odp_timer_wheel_internal.h
@@ -16,9 +16,6 @@ extern "C" {
#include <stdint.h>
#include <odp_api.h>
-/* Note that ALL times in this API are in units of processor/cpu clock
- * cycles!
- */
typedef uint64_t _odp_timer_wheel_t;
#define _ODP_INT_TIMER_WHEEL_INVALID 0
diff --git a/platform/linux-generic/odp_init.c b/platform/linux-generic/odp_init.c
index a8c91a5e6..8d1d32c0b 100644
--- a/platform/linux-generic/odp_init.c
+++ b/platform/linux-generic/odp_init.c
@@ -93,7 +93,13 @@ int odp_init_global(const odp_init_t *params,
if (odp_tm_init_global()) {
ODP_ERR("ODP traffic manager init failed\n");
- return -1;
+ goto init_failed;
+ }
+ stage = TRAFFIC_MNGR_INIT;
+
+ if (_odp_int_name_tbl_init_global()) {
+ ODP_ERR("ODP name table init failed\n");
+ goto init_failed;
}
return 0;
@@ -114,10 +120,19 @@ int _odp_term_global(enum init_stage stage)
switch (stage) {
case ALL_INIT:
+ case NAME_TABLE_INIT:
+ if (_odp_int_name_tbl_term_global()) {
+ ODP_ERR("Name table term failed.\n");
+ rc = -1;
+ }
+ /* Fall through */
+
+ case TRAFFIC_MNGR_INIT:
+ /* Fall through */
case CLASSIFICATION_INIT:
if (odp_classification_term_global()) {
- ODP_ERR("ODP classificatio term failed.\n");
+ ODP_ERR("ODP classification term failed.\n");
rc = -1;
}
/* Fall through */
diff --git a/platform/linux-generic/odp_name_table.c b/platform/linux-generic/odp_name_table.c
index 610f03425..1e43a2c99 100644
--- a/platform/linux-generic/odp_name_table.c
+++ b/platform/linux-generic/odp_name_table.c
@@ -1181,7 +1181,7 @@ void _odp_int_name_tbl_stats_print(void)
#endif
}
-void _odp_int_name_tbl_init(void)
+int _odp_int_name_tbl_init_global(void)
{
name_tbl_t *new_name_tbl;
@@ -1196,4 +1196,11 @@ void _odp_int_name_tbl_init(void)
name_tbls.avail_space_bit_mask |= 1;
name_tbls.num_name_tbls = 1;
name_tbls_initialized = 1;
+
+ return 0;
+}
+
+int _odp_int_name_tbl_term_global(void)
+{
+ return 0;
}