On 30 November 2015 at 13:45, Bill Fischofer <bill.fischo...@linaro.org> wrote:
> Signed-off-by: Bill Fischofer <bill.fischo...@linaro.org> > Reviewed-by: Mike Holmes <mike.hol...@linaro.org> > --- > .../include/odp_traffic_mngr_internal.h | 15 +++--- > platform/linux-generic/odp_name_table.c | 58 > ++++++++++++---------- > platform/linux-generic/odp_pkt_queue.c | 12 ++--- > platform/linux-generic/odp_sorted_list.c | 16 +++--- > platform/linux-generic/odp_timer_wheel.c | 18 +++---- > platform/linux-generic/odp_traffic_mngr.c | 4 +- > 6 files changed, 67 insertions(+), 56 deletions(-) > > diff --git a/platform/linux-generic/include/odp_traffic_mngr_internal.h > b/platform/linux-generic/include/odp_traffic_mngr_internal.h > index c2d5cf4..e48e213 100644 > --- a/platform/linux-generic/include/odp_traffic_mngr_internal.h > +++ b/platform/linux-generic/include/odp_traffic_mngr_internal.h > @@ -48,8 +48,8 @@ typedef struct stat file_stat_t; > > /* Macros to convert handles to internal pointers and vice versa. */ > > -#define MAKE_ODP_TM_HANDLE(tm_system) ((odp_tm_t)tm_system) > -#define GET_TM_SYSTEM(odp_tm) ((tm_system_t *)odp_tm) > +#define MAKE_ODP_TM_HANDLE(tm_system) ((odp_tm_t)(uintptr_t)tm_system) > +#define GET_TM_SYSTEM(odp_tm) ((tm_system_t *)(uintptr_t)odp_tm) > > #define MAKE_PROFILE_HANDLE(profile_kind, tbl_idx) \ > (((profile_kind & 0xF) << 28) | ((tbl_idx + 1) & 0xFFFFFFF)) > @@ -59,11 +59,14 @@ typedef struct stat file_stat_t; > > #define GET_TBL_IDX(profile_handle) ((profile_handle & 0xFFFFFFF) - 1) > > -#define MAKE_ODP_TM_NODE(tm_node_obj) ((odp_tm_node_t)(tm_node_obj)) > -#define GET_TM_NODE_OBJ(odp_tm_node) ((tm_node_obj_t *)(odp_tm_node)) > +#define MAKE_ODP_TM_NODE(tm_node_obj) > ((odp_tm_node_t)(uintptr_t)(tm_node_obj)) > +#define GET_TM_NODE_OBJ(odp_tm_node) \ > + ((tm_node_obj_t *)(uintptr_t)(odp_tm_node)) > > -#define MAKE_ODP_TM_QUEUE(tm_queue_obj) ((odp_tm_queue_t)(tm_queue_obj)) > -#define GET_TM_QUEUE_OBJ(odp_tm_queue) ((tm_queue_obj_t > *)(odp_tm_queue)) > +#define MAKE_ODP_TM_QUEUE(tm_queue_obj) \ > + ((odp_tm_queue_t)(uintptr_t)(tm_queue_obj)) > +#define GET_TM_QUEUE_OBJ(odp_tm_queue) \ > + ((tm_queue_obj_t *)(uintptr_t)(odp_tm_queue)) > > typedef uint64_t tm_handle_t; > > diff --git a/platform/linux-generic/odp_name_table.c > b/platform/linux-generic/odp_name_table.c > index 10ce099..10a760e 100644 > --- a/platform/linux-generic/odp_name_table.c > +++ b/platform/linux-generic/odp_name_table.c > @@ -567,7 +567,7 @@ static hash_tbl_entry_t > make_hash_tbl_entry(name_tbl_entry_t *name_tbl_entry, > uint32_t new_entry_cnt; > > new_entry_cnt = MIN(entry_cnt + 1, 0x3F); > - hash_tbl_entry = (hash_tbl_entry_t)name_tbl_entry; > + hash_tbl_entry = (hash_tbl_entry_t)(uintptr_t)name_tbl_entry; > hash_tbl_entry &= ~0x3F; > hash_tbl_entry |= new_entry_cnt; > return hash_tbl_entry; > @@ -584,18 +584,18 @@ static name_tbl_entry_t > *name_hash_tbl_lookup(uint32_t hash_value) > if (hash_tbl_entry == 0) > return NULL; > else if ((hash_tbl_entry & 0x3F) != 0) > - return (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F); > + return (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > > /* This hash_tbl_entry references a secondary hash table, so get > * some more hash_value bits and index that table. > */ > hash_idx = (hash_value >> 16) & (SECONDARY_HASH_TBL_SIZE - > 1); > - secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry; > + secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry; > hash_tbl_entry = secondary_hash->hash_entries[hash_idx]; > if (hash_tbl_entry == 0) > return NULL; > else if ((hash_tbl_entry & 0x3F) != 0) > - return (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F); > + return (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > > /* Yet again, this hash_tbl_entry references a secondary hash > table, > * so get some more hash_value bits and index that table. We only > @@ -604,12 +604,12 @@ static name_tbl_entry_t > *name_hash_tbl_lookup(uint32_t hash_value) > * returning NULL. > */ > hash_idx = (hash_value >> 24) & (SECONDARY_HASH_TBL_SIZE - > 1); > - secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry; > + secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry; > hash_tbl_entry = secondary_hash->hash_entries[hash_idx]; > if (hash_tbl_entry == 0) > return NULL; > else if ((hash_tbl_entry & 0x3F) != 0) > - return (name_tbl_entry_t *)(hash_tbl_entry & ~0x3F); > + return (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > > return NULL; > } > @@ -655,7 +655,8 @@ static hash_tbl_entry_t > secondary_hash_add(name_tbl_entry_t *name_tbl_entry, > > hash_tbl_entry = secondary_hash->hash_entries[hash_idx]; > entry_cnt = hash_tbl_entry & 0x3F; > - first_entry = (name_tbl_entry_t *)(hash_tbl_entry & > ~0x3F); > + first_entry = > + (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > > name_tbl_entry->next_entry = first_entry; > new_hash_tbl_entry = > @@ -666,7 +667,7 @@ static hash_tbl_entry_t > secondary_hash_add(name_tbl_entry_t *name_tbl_entry, > } > > /* secondary_hash_dump(secondary_hash); */ > - return (hash_tbl_entry_t)secondary_hash; > + return (hash_tbl_entry_t)(uintptr_t)secondary_hash; > } > > static hash_tbl_entry_t hash_tbl_remove(secondary_hash_tbl_t *hash_tbl, > @@ -693,11 +694,11 @@ static hash_tbl_entry_t > hash_tbl_remove(secondary_hash_tbl_t *hash_tbl, > * new entry onto the front of it. > */ > head_entry = (name_tbl_entry_t *) > - (hash_tbl_entry & ~0x3F); > + (uintptr_t)(hash_tbl_entry & > ~0x3F); > tail_entry = head_entry; > } else { > secondary_hash = (secondary_hash_tbl_t *) > - hash_tbl_entry; > + (uintptr_t)hash_tbl_entry; > check_secondary_hash(secondary_hash); > if (level == 1) > break; > @@ -758,7 +759,8 @@ static int name_hash_tbl_add(name_tbl_entry_t > *entry_to_add, > /* This primary hash table entry points to a > name_tbl_entry_t > * linked list, so add this new entry onto the front of it. > */ > - name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & > ~0x3F); > + name_tbl_entry = > + (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > entry_to_add->next_entry = name_tbl_entry; > hash_tbl_entry = make_hash_tbl_entry(entry_to_add, > entry_cnt); > name_hash_tbl.hash_entries[primary_hash_idx] = > hash_tbl_entry; > @@ -783,7 +785,7 @@ static int name_hash_tbl_add(name_tbl_entry_t > *entry_to_add, > * some more hash_value bits and index that table. > */ > hash_idx = (hash_value >> 16) & (SECONDARY_HASH_TBL_SIZE - > 1); > - secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry; > + secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry; > check_secondary_hash(secondary_hash); > hash_tbl_entry = secondary_hash->hash_entries[hash_idx]; > entry_cnt = hash_tbl_entry & 0x3F; > @@ -799,7 +801,8 @@ static int name_hash_tbl_add(name_tbl_entry_t > *entry_to_add, > * name_tbl_entry_t linked list, so add this new entry onto > * the front of it. > */ > - name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & > ~0x3F); > + name_tbl_entry = > + (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > entry_to_add->next_entry = name_tbl_entry; > hash_tbl_entry = make_hash_tbl_entry(entry_to_add, > entry_cnt); > secondary_hash->hash_entries[hash_idx] = hash_tbl_entry; > @@ -827,7 +830,7 @@ static int name_hash_tbl_add(name_tbl_entry_t > *entry_to_add, > * signal failure by returning -1. > */ > hash_idx = (hash_value >> 24) & (SECONDARY_HASH_TBL_SIZE - > 1); > - secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry; > + secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry; > check_secondary_hash(secondary_hash); > hash_tbl_entry = secondary_hash->hash_entries[hash_idx]; > entry_cnt = hash_tbl_entry & 0x3F; > @@ -846,7 +849,8 @@ static int name_hash_tbl_add(name_tbl_entry_t > *entry_to_add, > * linked list, we never add another hash table, so we > don't > * need to update any secondary table counts. > */ > - name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & > ~0x3F); > + name_tbl_entry = > + (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > entry_to_add->next_entry = name_tbl_entry; > hash_tbl_entry = make_hash_tbl_entry(entry_to_add, > entry_cnt); > secondary_hash->hash_entries[hash_idx] = hash_tbl_entry; > @@ -875,7 +879,8 @@ static int name_tbl_entry_list_remove(hash_tbl_entry_t > *hash_entry_ptr, > * deleted. > */ > if (!prev_entry) { > - hash_tbl_entry = > (hash_tbl_entry_t)next_entry; > + hash_tbl_entry = > + > (hash_tbl_entry_t)(uintptr_t)next_entry; > hash_tbl_entry &= ~0x3F; > hash_tbl_entry |= entry_cnt; > *hash_entry_ptr = hash_tbl_entry; > @@ -922,7 +927,8 @@ static int name_hash_tbl_delete(name_tbl_entry_t > *entry_to_delete, > /* This primary hash table entry points to a > name_tbl_entry_t > * linked list, so remove entry from this linked list. > */ > - name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & > ~0x3F); > + name_tbl_entry = > + (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > rc = name_tbl_entry_list_remove(hash_entry_ptr, > name_tbl_entry, > entry_to_delete, > entry_cnt); > tbn = (*hash_entry_ptr) & ~0x3F; > @@ -940,7 +946,7 @@ static int name_hash_tbl_delete(name_tbl_entry_t > *entry_to_delete, > * some more hash_value bits and index that table. > */ > hash_idx = (hash_value >> 16) & (SECONDARY_HASH_TBL_SIZE - > 1); > - secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry; > + secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry; > check_secondary_hash(secondary_hash); > hash_entry_ptr = &secondary_hash->hash_entries[hash_idx]; > hash_tbl_entry = *hash_entry_ptr; > @@ -955,7 +961,8 @@ static int name_hash_tbl_delete(name_tbl_entry_t > *entry_to_delete, > * name_tbl_entry_t linked list, so try to remove > * entry_to_delete from this linked list. > */ > - name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & > ~0x3F); > + name_tbl_entry = > + (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > rc = name_tbl_entry_list_remove(hash_entry_ptr, > name_tbl_entry, > entry_to_delete, > entry_cnt); > tbn = (*hash_entry_ptr) & ~0x3F; > @@ -988,7 +995,7 @@ static int name_hash_tbl_delete(name_tbl_entry_t > *entry_to_delete, > * signal failure by returning -1. > */ > hash_idx = (hash_value >> 24) & (SECONDARY_HASH_TBL_SIZE - > 1); > - secondary_hash = (secondary_hash_tbl_t *)hash_tbl_entry; > + secondary_hash = (secondary_hash_tbl_t *)(uintptr_t)hash_tbl_entry; > check_secondary_hash(secondary_hash); > hash_entry_ptr = &secondary_hash->hash_entries[hash_idx]; > hash_tbl_entry = *hash_entry_ptr; > @@ -1003,7 +1010,8 @@ static int name_hash_tbl_delete(name_tbl_entry_t > *entry_to_delete, > * name_tbl_entry_t linked list, so try to remove > * entry_to_delete from this linked list. > */ > - name_tbl_entry = (name_tbl_entry_t *)(hash_tbl_entry & > ~0x3F); > + name_tbl_entry = > + (name_tbl_entry_t *)(uintptr_t)(hash_tbl_entry & > ~0x3F); > rc = name_tbl_entry_list_remove(hash_entry_ptr, > name_tbl_entry, > entry_to_delete, > entry_cnt); > tbn = (*hash_entry_ptr) & ~0x3F; > @@ -1172,7 +1180,7 @@ static uint32_t > level2_hash_histo(secondary_hash_tbl_t *hash_tbl, > collisions = 0; > } else { > name_tbl_entry = (name_tbl_entry_t *) > - (hash_tbl_entry & ~0x3F); > + (uintptr_t)(hash_tbl_entry & ~0x3F); > collisions = linked_list_len(name_tbl_entry); > } > > @@ -1199,11 +1207,11 @@ static uint32_t > level1_hash_histo(secondary_hash_tbl_t *hash_tbl, > collisions = 0; > } else if ((hash_tbl_entry & 0x3F) != 0) { > name_tbl_entry = (name_tbl_entry_t *) > - (hash_tbl_entry & ~0x3F); > + (uintptr_t)(hash_tbl_entry & ~0x3F); > collisions = linked_list_len(name_tbl_entry); > } else { > secondary_hash = (secondary_hash_tbl_t *) > - hash_tbl_entry; > + (uintptr_t)hash_tbl_entry; > collisions = level2_hash_histo(secondary_hash, > level2_histo); > } > @@ -1232,7 +1240,7 @@ static void secondary_hash_histo_print(void) > * hash table > */ > secondary_hash = (secondary_hash_tbl_t *) > - hash_tbl_entry; > + (uintptr_t)hash_tbl_entry; > level1_hash_histo(secondary_hash, level1_histo, > level2_histo); > } > diff --git a/platform/linux-generic/odp_pkt_queue.c > b/platform/linux-generic/odp_pkt_queue.c > index 45508eb..88520b1 100644 > --- a/platform/linux-generic/odp_pkt_queue.c > +++ b/platform/linux-generic/odp_pkt_queue.c > @@ -215,7 +215,7 @@ _odp_int_queue_pool_t _odp_queue_pool_create(uint32_t > max_num_queues, > > pool->min_free_list_size = pool->free_list_size; > pool->peak_free_list_size = pool->free_list_size; > - return (_odp_int_queue_pool_t)pool; > + return (_odp_int_queue_pool_t)(uintptr_t)pool; > } > > _odp_int_pkt_queue_t _odp_pkt_queue_create(_odp_int_queue_pool_t > queue_pool) > @@ -223,7 +223,7 @@ _odp_int_pkt_queue_t > _odp_pkt_queue_create(_odp_int_queue_pool_t queue_pool) > queue_pool_t *pool; > uint32_t queue_num; > > - pool = (queue_pool_t *)queue_pool; > + pool = (queue_pool_t *)(uintptr_t)queue_pool; > queue_num = pool->next_queue_num++; > if (pool->max_queue_num < queue_num) > return _ODP_INT_PKT_QUEUE_INVALID; > @@ -239,7 +239,7 @@ int _odp_pkt_queue_append(_odp_int_queue_pool_t > queue_pool, > uint32_t queue_num, first_blk_idx, tail_blk_idx, new_tail_blk_idx; > uint32_t idx; > > - pool = (queue_pool_t *)queue_pool; > + pool = (queue_pool_t *)(uintptr_t)queue_pool; > queue_num = (uint32_t)pkt_queue; > if ((queue_num == 0) || (pool->max_queue_num < queue_num)) > return -2; > @@ -296,7 +296,7 @@ int _odp_pkt_queue_remove(_odp_int_queue_pool_t > queue_pool, > queue_blk_t *first_blk, *second_blk; > uint32_t queue_num, first_blk_idx, next_blk_idx, idx; > > - pool = (queue_pool_t *)queue_pool; > + pool = (queue_pool_t *)(uintptr_t)queue_pool; > queue_num = (uint32_t)pkt_queue; > if ((queue_num == 0) || (pool->max_queue_num < queue_num)) > return -2; > @@ -347,7 +347,7 @@ void _odp_pkt_queue_stats_print(_odp_int_queue_pool_t > queue_pool) > { > queue_pool_t *pool; > > - pool = (queue_pool_t *)queue_pool; > + pool = (queue_pool_t *)(uintptr_t)queue_pool; > ODP_DBG("pkt_queue_stats - queue_pool=0x%lX\n", queue_pool); > ODP_DBG(" max_queue_num=%u max_queued_pkts=%u > next_queue_num=%u\n", > pool->max_queue_num, pool->max_queued_pkts, > @@ -367,7 +367,7 @@ void _odp_queue_pool_destroy(_odp_int_queue_pool_t > queue_pool) > queue_pool_t *pool; > uint32_t idx; > > - pool = (queue_pool_t *)queue_pool; > + pool = (queue_pool_t *)(uintptr_t)queue_pool; > for (idx = 0; idx < 16; idx++) { > queue_region_desc = &pool->queue_region_descs[idx]; > if (queue_region_desc->queue_blks) > diff --git a/platform/linux-generic/odp_sorted_list.c > b/platform/linux-generic/odp_sorted_list.c > index 221754d..5811266 100644 > --- a/platform/linux-generic/odp_sorted_list.c > +++ b/platform/linux-generic/odp_sorted_list.c > @@ -56,7 +56,7 @@ _odp_int_sorted_pool_t _odp_sorted_pool_create(uint32_t > max_sorted_lists) > list_descs = malloc(malloc_len); > memset(list_descs, 0, malloc_len); > pool->list_descs = list_descs; > - return (_odp_int_sorted_pool_t)pool; > + return (_odp_int_sorted_pool_t)(uintptr_t)pool; > } > > _odp_int_sorted_list_t > @@ -66,7 +66,7 @@ _odp_sorted_list_create(_odp_int_sorted_pool_t > sorted_pool, > sorted_pool_t *pool; > uint32_t list_idx; > > - pool = (sorted_pool_t *)sorted_pool; > + pool = (sorted_pool_t *)(uintptr_t)sorted_pool; > list_idx = pool->next_list_idx++; > return (_odp_int_sorted_list_t)list_idx; > } > @@ -81,7 +81,7 @@ int _odp_sorted_list_insert(_odp_int_sorted_pool_t > sorted_pool, > sorted_pool_t *pool; > uint32_t list_idx; > > - pool = (sorted_pool_t *)sorted_pool; > + pool = (sorted_pool_t *)(uintptr_t)sorted_pool; > list_idx = (uint32_t)sorted_list; > if ((pool->next_list_idx <= list_idx) || > (pool->max_sorted_lists <= list_idx)) > @@ -125,7 +125,7 @@ int _odp_sorted_list_find(_odp_int_sorted_pool_t > sorted_pool, > sorted_pool_t *pool; > uint32_t list_idx; > > - pool = (sorted_pool_t *)sorted_pool; > + pool = (sorted_pool_t *)(uintptr_t)sorted_pool; > list_idx = (uint32_t)sorted_list; > if ((pool->next_list_idx <= list_idx) || > (pool->max_sorted_lists <= list_idx)) > @@ -161,7 +161,7 @@ int _odp_sorted_list_delete(_odp_int_sorted_pool_t > sorted_pool, > sorted_pool_t *pool; > uint32_t list_idx; > > - pool = (sorted_pool_t *)sorted_pool; > + pool = (sorted_pool_t *)(uintptr_t)sorted_pool; > list_idx = (uint32_t)sorted_list; > if ((pool->next_list_idx <= list_idx) || > (pool->max_sorted_lists <= list_idx)) > @@ -207,7 +207,7 @@ int _odp_sorted_list_remove(_odp_int_sorted_pool_t > sorted_pool, > sorted_pool_t *pool; > uint32_t list_idx; > > - pool = (sorted_pool_t *)sorted_pool; > + pool = (sorted_pool_t *)(uintptr_t)sorted_pool; > list_idx = (uint32_t)sorted_list; > if ((pool->next_list_idx <= list_idx) || > (pool->max_sorted_lists <= list_idx)) > @@ -237,7 +237,7 @@ void > _odp_sorted_list_stats_print(_odp_int_sorted_pool_t sorted_pool) > { > sorted_pool_t *pool; > > - pool = (sorted_pool_t *)sorted_pool; > + pool = (sorted_pool_t *)(uintptr_t)sorted_pool; > ODP_DBG("sorted_pool=0x%lX\n", sorted_pool); > ODP_DBG(" max_sorted_lists=%u next_list_idx=%u\n", > pool->max_sorted_lists, pool->next_list_idx); > @@ -253,7 +253,7 @@ void _odp_sorted_pool_destroy(_odp_int_sorted_pool_t > sorted_pool) > sorted_pool_t *pool; > uint32_t list_idx; > > - pool = (sorted_pool_t *)sorted_pool; > + pool = (sorted_pool_t *)(uintptr_t)sorted_pool; > list_descs = pool->list_descs; > > for (list_idx = 0; list_idx < pool->next_list_idx; list_idx++) { > diff --git a/platform/linux-generic/odp_timer_wheel.c > b/platform/linux-generic/odp_timer_wheel.c > index bcab01b..21be3ef 100644 > --- a/platform/linux-generic/odp_timer_wheel.c > +++ b/platform/linux-generic/odp_timer_wheel.c > @@ -748,7 +748,7 @@ _odp_timer_wheel_t _odp_timer_wheel_create(uint32_t > max_concurrent_timers, > free_list_add(timer_wheels, max_concurrent_timers / 4); > timer_wheels->min_free_list_size = timer_wheels->free_list_size; > timer_wheels->peak_free_list_size = timer_wheels->free_list_size; > - return (_odp_timer_wheel_t)timer_wheels; > + return (_odp_timer_wheel_t)(uintptr_t)timer_wheels; > } > > uint32_t _odp_timer_wheel_curr_time_update(_odp_timer_wheel_t timer_wheel, > @@ -759,7 +759,7 @@ uint32_t > _odp_timer_wheel_curr_time_update(_odp_timer_wheel_t timer_wheel, > uint32_t desc_idx; > int rc; > > - timer_wheels = (timer_wheels_t *)timer_wheel; > + timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel; > new_current_ticks = current_time >> CYCLES_TO_TICKS_SHIFT; > elapsed_ticks = new_current_ticks - > timer_wheels->current_ticks; > if (elapsed_ticks == 0) > @@ -787,13 +787,13 @@ int _odp_timer_wheel_insert(_odp_timer_wheel_t > timer_wheel, > uint64_t user_data, wakeup_ticks; > int rc; > > - user_data = (uint64_t)user_ptr; > + user_data = (uint64_t)(uintptr_t)user_ptr; > if (user_data == 0) > return -4; /* user_data cannot be 0! */ > else if ((user_data & 0x3) != 0) > return -5; /* user_data ptr must be at least 4-byte > aligned. */ > > - timer_wheels = (timer_wheels_t *)timer_wheel; > + timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel; > wakeup_ticks = (wakeup_time >> CYCLES_TO_TICKS_SHIFT) + 1; > if (wakeup_time <= timer_wheels->current_ticks) > return -6; > @@ -828,21 +828,21 @@ void > *_odp_timer_wheel_next_expired(_odp_timer_wheel_t timer_wheel) > int rc; > > /* Remove the head of the timer wheel. */ > - timer_wheels = (timer_wheels_t *)timer_wheel; > + timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel; > rc = expired_timers_remove(timer_wheels, &user_data); > if (rc <= 0) > return NULL; > > user_data &= ~0x3; > timer_wheels->total_timer_removes++; > - return (void *)user_data; > + return (void *)(uintptr_t)user_data; > } > > uint32_t _odp_timer_wheel_count(_odp_timer_wheel_t timer_wheel) > { > timer_wheels_t *timer_wheels; > > - timer_wheels = (timer_wheels_t *)timer_wheel; > + timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel; > return timer_wheels->total_timer_inserts - > timer_wheels->total_timer_removes; > } > @@ -862,7 +862,7 @@ void _odp_timer_wheel_stats_print(_odp_timer_wheel_t > timer_wheel) > expired_ring_t *expired_ring; > uint32_t wheel_idx; > > - timer_wheels = (timer_wheels_t *)timer_wheel; > + timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel; > expired_ring = timer_wheels->expired_timers_ring; > > ODP_DBG("_odp_int_timer_wheel_stats current_ticks=%lu\n", > @@ -894,7 +894,7 @@ void _odp_timer_wheel_destroy(_odp_timer_wheel_t > timer_wheel) > timer_wheels_t *timer_wheels; > expired_ring_t *expired_ring; > > - timer_wheels = (timer_wheels_t *)timer_wheel; > + timer_wheels = (timer_wheels_t *)(uintptr_t)timer_wheel; > expired_ring = timer_wheels->expired_timers_ring; > > /* First free all of the block_of_timer_blks @TODO */ > diff --git a/platform/linux-generic/odp_traffic_mngr.c > b/platform/linux-generic/odp_traffic_mngr.c > index 88e0ada..6179568 100644 > --- a/platform/linux-generic/odp_traffic_mngr.c > +++ b/platform/linux-generic/odp_traffic_mngr.c > @@ -658,7 +658,7 @@ static int tm_delay_pkt(tm_system_t *tm_system, > tm_shaper_obj_t *shaper_obj, > timer_context = (((uint64_t)tm_queue_obj->timer_seq) << 32) | > (((uint64_t)tm_queue_obj->queue_num) << 4); > _odp_timer_wheel_insert(tm_system->_odp_int_timer_wheel, > - wakeup_time, (void *)timer_context); > + wakeup_time, (void > *)(uintptr_t)timer_context); > > tm_queue_obj->timer_reason = UNDELAY_PKT; > tm_queue_obj->timer_shaper = shaper_obj; > @@ -1680,7 +1680,7 @@ static int tm_process_expired_timers(tm_system_t > *tm_system, > if (!ptr) > return work_done; > > - timer_context = (uint64_t)ptr; > + timer_context = (uint64_t)(uintptr_t)ptr; > queue_num = (timer_context & 0xFFFFFFFF) >> 4; > timer_seq = timer_context >> 32; > tm_queue_obj = tm_system->queue_num_tbl[queue_num]; > -- > 2.1.4 > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > https://lists.linaro.org/mailman/listinfo/lng-odp > -- Mike Holmes Technical Manager - Linaro Networking Group Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
_______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp