-
Laurent THOMAS authored
Simplify the intermediate struct nr_uplink_indication_t by passing only tx frame+slot Simplify nr_scheduled_response_t by removing module id, CCid, ... that are there only to rediscover the mac storage structure head, pass directly the mac head pointer instead fix bugs in ul_info.frame_rx + 1 that was missing %1024 add mutex mac_IF_mutex modifications verification of returned value to log errors if a error occurs remove fill_scheduled_response() that was doing nothing useful split nr_ue_dl_indication() implementation in two very differnt functions depending on the call purpose (ue scheduler or actual dl data processing), the API is kept as one nr_ue_dl_indication() unchanged, nevertheless this design is obscur rework completly the access to mac->ul_config_request[slot] - make proper encapsulation of the data access, mutex, ... and proper API to create elements, iterators - kept general usage of this mutex protected storage as it is, even in useless cases (like inside processing of this given tx slot, so the consumer speaks to itself) nr_ue_get_rach(): remove a hidden result data global variable to return explcitly computed value (in one place, it reveals we don't use the computed value, kept as it is) nr_get_msg3_payload(): add a polling waiting state to wait the RRC thread sent the pdu to RLC (should be fixed better later) simplify a bit ue->tx_resume_ind_fifo, add logs in error cases, coherency checks with the associated counter tx_wait_for_dlsch this counter tx_wait_for_dlsch reduce it's visibility to be now local in main UE loop (UE_thread) nevertheless, it should be simplified more (the pair tx_resume_ind_fifo/tx_wait_for_dlsch is a complex wiat to make a semaphore, and maybe we can entirely simplify the multi-threading by running in place when it is appropriate time instead of calling send_slot_ind() that is furthermore a wrong function naming split nr_ue_scheduled_response() in nr_ue_scheduled_response_dl() and nr_ue_scheduled_response_ul(), the function is kept to minimize the code change improve this function C code, by shortening long C lines minor cleaning: move to static functions related to this MR when they can be static
6c34d3e6