Code Review
/
o-du
/
phy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
O-RAN E Maintenance Release contribution for ODULOW
[o-du/phy.git]
/
fapi_5g
/
source
/
include
/
nr5g_fapi_framework.h
diff --git
a/fapi_5g/source/include/nr5g_fapi_framework.h
b/fapi_5g/source/include/nr5g_fapi_framework.h
index
fea31bf
..
63cb237
100644
(file)
--- a/
fapi_5g/source/include/nr5g_fapi_framework.h
+++ b/
fapi_5g/source/include/nr5g_fapi_framework.h
@@
-34,9
+34,13
@@
// FAPI CONFIG.request parameters
typedef struct _nr5g_fapi_phy_config {
// FAPI CONFIG.request parameters
typedef struct _nr5g_fapi_phy_config {
- uint8_t n_nr_of_rx_ant;
uint16_t phy_cell_id;
uint16_t phy_cell_id;
-} nr5g_fapi_phy_config_t, *pnr5g_fapi_phy_config_t;
+ uint8_t n_nr_of_rx_ant;
+ uint8_t use_vendor_EpreXSSB;
+ uint8_t sub_c_common;
+ uint8_t pad[3];
+} nr5g_fapi_phy_config_t,
+*pnr5g_fapi_phy_config_t;
typedef struct _nr5g_fapi_rach_info {
uint16_t phy_cell_id;
typedef struct _nr5g_fapi_rach_info {
uint16_t phy_cell_id;
@@
-62,6
+66,7
@@
typedef struct _nr5g_fapi_ul_slot_info {
uint16_t cookie; //set this to frame_no at UL_TTI.Request and compare the
//same during uplink indications.
uint8_t slot_no;
uint16_t cookie; //set this to frame_no at UL_TTI.Request and compare the
//same during uplink indications.
uint8_t slot_no;
+ uint8_t symbol_no;
uint8_t num_ulsch;
uint8_t num_ulcch;
uint8_t num_srs;
uint8_t num_ulsch;
uint8_t num_ulcch;
uint8_t num_srs;
@@
-177,19
+182,25
@@
typedef struct _nr5g_fapi_phy_instance {
nr5g_fapi_phy_config_t phy_config; // place holder to store,
// parameters from config request
nr5g_fapi_stats_t stats;
nr5g_fapi_phy_config_t phy_config; // place holder to store,
// parameters from config request
nr5g_fapi_stats_t stats;
- nr5g_fapi_ul_slot_info_t ul_slot_info[MAX_UL_SLOT_INFO_COUNT];
-} nr5g_fapi_phy_instance_t, *p_nr5g_fapi_phy_instance_t;
+ nr5g_fapi_ul_slot_info_t ul_slot_info[FAPI_MAX_SLOT_INFO_URLLC][MAX_UL_SLOT_INFO_COUNT][MAX_UL_SYMBOL_INFO_COUNT];
+} nr5g_fapi_phy_instance_t,
+*p_nr5g_fapi_phy_instance_t;
// Phy Context
typedef struct _nr5g_fapi_phy_context {
uint8_t num_phy_instance;
uint8_t mac2phy_worker_core_id;
uint8_t phy2mac_worker_core_id;
// Phy Context
typedef struct _nr5g_fapi_phy_context {
uint8_t num_phy_instance;
uint8_t mac2phy_worker_core_id;
uint8_t phy2mac_worker_core_id;
+ uint8_t urllc_worker_core_id;
pthread_t phy2mac_tid;
pthread_t mac2phy_tid;
pthread_t phy2mac_tid;
pthread_t mac2phy_tid;
- uint64_t process_exit;
+ pthread_t urllc_tid;
+ sem_t urllc_sem_process;
+ sem_t urllc_sem_done;
+ volatile uint64_t process_exit;
nr5g_fapi_phy_instance_t phy_instance[FAPI_MAX_PHY_INSTANCES];
nr5g_fapi_phy_instance_t phy_instance[FAPI_MAX_PHY_INSTANCES];
-} nr5g_fapi_phy_ctx_t, *p_nr5g_fapi_phy_ctx_t;
+} nr5g_fapi_phy_ctx_t,
+*p_nr5g_fapi_phy_ctx_t;
// Function Declarations
inline p_nr5g_fapi_phy_ctx_t nr5g_fapi_get_nr5g_fapi_phy_ctx(
// Function Declarations
inline p_nr5g_fapi_phy_ctx_t nr5g_fapi_get_nr5g_fapi_phy_ctx(
@@
-208,12
+219,17
@@
void *nr5g_fapi_phy2mac_thread_func(
void *config);
void *nr5g_fapi_mac2phy_thread_func(
void *config);
void *config);
void *nr5g_fapi_mac2phy_thread_func(
void *config);
+void *nr5g_fapi_urllc_thread_func(
+ void *config);
nr5g_fapi_ul_slot_info_t *nr5g_fapi_get_ul_slot_info(
nr5g_fapi_ul_slot_info_t *nr5g_fapi_get_ul_slot_info(
+ bool is_urllc,
uint16_t frame_no,
uint16_t frame_no,
- uint8_t slot_no,
+ uint16_t slot_no,
+ uint8_t symbol_no,
p_nr5g_fapi_phy_instance_t p_phy_instance);
void nr5g_fapi_set_ul_slot_info(
uint16_t frame_no,
p_nr5g_fapi_phy_instance_t p_phy_instance);
void nr5g_fapi_set_ul_slot_info(
uint16_t frame_no,
- uint8_t slot_no,
+ uint16_t slot_no,
+ uint8_t symbol_no,
nr5g_fapi_ul_slot_info_t * p_ul_slot_info);
#endif // _NR5G_FAPI_FRAMEWORK_H_
nr5g_fapi_ul_slot_info_t * p_ul_slot_info);
#endif // _NR5G_FAPI_FRAMEWORK_H_