diff options
author | Barry Spinney <spinney@ezchip.com> | 2016-02-25 22:02:02 -0600 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2016-02-26 11:17:18 +0300 |
commit | 6582a4497bb205639564bede5287b26a8b28e553 (patch) | |
tree | 8dd0f70655f8bed3b7bce1f7d771352a82aaafa7 /platform/linux-generic | |
parent | 7c4fdda38e8349cad314509bb618e57dcebb1d40 (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.h | 8 | ||||
-rw-r--r-- | platform/linux-generic/include/odp_name_table_internal.h | 3 | ||||
-rw-r--r-- | platform/linux-generic/include/odp_timer_wheel_internal.h | 3 | ||||
-rw-r--r-- | platform/linux-generic/odp_init.c | 19 | ||||
-rw-r--r-- | platform/linux-generic/odp_name_table.c | 9 |
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; } |