2 #include "lfds710_ringbuffer_internal.h"
8 /****************************************************************************/
9 void lfds710_ringbuffer_init_valid_on_current_logical_core( struct lfds710_ringbuffer_state *rs,
10 struct lfds710_ringbuffer_element *re_array_inc_dummy,
11 lfds710_pal_uint_t number_elements_inc_dummy,
17 LFDS710_PAL_ASSERT( rs != NULL );
18 LFDS710_PAL_ASSERT( re_array_inc_dummy != NULL );
19 LFDS710_PAL_ASSERT( number_elements_inc_dummy >= 2 );
20 // TRD : user_state can be NULL
22 rs->user_state = user_state;
24 re_array_inc_dummy[0].qumme_use = &re_array_inc_dummy[0].qumme;
26 lfds710_freelist_init_valid_on_current_logical_core( &rs->fs, NULL, 0, rs );
27 lfds710_queue_umm_init_valid_on_current_logical_core( &rs->qumms, &re_array_inc_dummy[0].qumme, rs );
29 for( loop = 1 ; loop < number_elements_inc_dummy ; loop++ )
31 re_array_inc_dummy[loop].qumme_use = &re_array_inc_dummy[loop].qumme;
32 LFDS710_FREELIST_SET_VALUE_IN_ELEMENT( re_array_inc_dummy[loop].fe, &re_array_inc_dummy[loop] );
33 lfds710_freelist_push( &rs->fs, &re_array_inc_dummy[loop].fe, NULL );
36 LFDS710_MISC_BARRIER_STORE;
38 lfds710_misc_force_store();