Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
6b56b468
Commit
6b56b468
authored
Sep 21, 2023
by
Laurent THOMAS
Committed by
Robert Schmidt
Oct 12, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Break UE DCI processing function in smaller pieces
parent
34e64ab1
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
696 additions
and
634 deletions
+696
-634
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
+0
-13
openair1/PHY/NR_TRANSPORT/nr_dci.h
openair1/PHY/NR_TRANSPORT/nr_dci.h
+0
-4
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
+2
-1
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+11
-6
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+667
-600
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+16
-10
No files found.
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h
View file @
6b56b468
...
@@ -239,19 +239,6 @@ typedef struct {
...
@@ -239,19 +239,6 @@ typedef struct {
nfapi_vendor_extension_tlv_t
vendor_extension
;
nfapi_vendor_extension_tlv_t
vendor_extension
;
}
nfapi_nr_config_request_t
;
}
nfapi_nr_config_request_t
;
typedef
enum
{
NFAPI_NR_DL_DCI_FORMAT_1_0
=
0
,
NFAPI_NR_DL_DCI_FORMAT_1_1
,
NFAPI_NR_DL_DCI_FORMAT_2_0
,
NFAPI_NR_DL_DCI_FORMAT_2_1
,
NFAPI_NR_DL_DCI_FORMAT_2_2
,
NFAPI_NR_DL_DCI_FORMAT_2_3
,
NFAPI_NR_UL_DCI_FORMAT_0_0
,
NFAPI_NR_UL_DCI_FORMAT_0_1
}
nfapi_nr_dci_format_e
;
typedef
enum
{
typedef
enum
{
NFAPI_NR_RNTI_new
=
0
,
NFAPI_NR_RNTI_new
=
0
,
NFAPI_NR_RNTI_C
,
NFAPI_NR_RNTI_C
,
...
...
openair1/PHY/NR_TRANSPORT/nr_dci.h
View file @
6b56b468
...
@@ -25,10 +25,6 @@
...
@@ -25,10 +25,6 @@
#include "PHY/defs_gNB.h"
#include "PHY/defs_gNB.h"
#include "PHY/NR_REFSIG/nr_refsig.h"
#include "PHY/NR_REFSIG/nr_refsig.h"
uint16_t
nr_get_dci_size
(
nfapi_nr_dci_format_e
format
,
nfapi_nr_rnti_type_e
rnti_type
,
uint16_t
N_RB
);
void
nr_generate_dci_top
(
processingData_L1tx_t
*
msgTx
,
void
nr_generate_dci_top
(
processingData_L1tx_t
*
msgTx
,
int
slot
,
int
slot
,
int32_t
*
txdataF
,
int32_t
*
txdataF
,
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
View file @
6b56b468
...
@@ -447,7 +447,8 @@ typedef enum {
...
@@ -447,7 +447,8 @@ typedef enum {
NR_DL_DCI_FORMAT_2_2
,
NR_DL_DCI_FORMAT_2_2
,
NR_DL_DCI_FORMAT_2_3
,
NR_DL_DCI_FORMAT_2_3
,
NR_UL_DCI_FORMAT_0_0
,
NR_UL_DCI_FORMAT_0_0
,
NR_UL_DCI_FORMAT_0_1
NR_UL_DCI_FORMAT_0_1
,
NR_DCI_NONE
}
nr_dci_format_t
;
}
nr_dci_format_t
;
typedef
enum
{
typedef
enum
{
...
...
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
6b56b468
...
@@ -161,12 +161,17 @@ int nr_get_sf_periodicBSRTimer(uint8_t bucketSize);
...
@@ -161,12 +161,17 @@ int nr_get_sf_periodicBSRTimer(uint8_t bucketSize);
*/
*/
int
nr_get_sf_retxBSRTimer
(
uint8_t
retxBSR_Timer
);
int
nr_get_sf_retxBSRTimer
(
uint8_t
retxBSR_Timer
);
int8_t
nr_ue_process_dci
(
module_id_t
module_id
,
int
cc_id
,
uint8_t
gNB_index
,
frame_t
frame
,
int
slot
,
dci_pdu_rel15_t
*
dci
,
fapi_nr_dci_indication_pdu_t
*
dci_ind
);
int8_t
nr_ue_process_dci
(
module_id_t
module_id
,
int
cc_id
,
frame_t
frame
,
int
slot
,
dci_pdu_rel15_t
*
dci
,
fapi_nr_dci_indication_pdu_t
*
dci_ind
);
int
nr_ue_process_dci_indication_pdu
(
module_id_t
module_id
,
int
cc_id
,
int
gNB_index
,
frame_t
frame
,
int
slot
,
fapi_nr_dci_indication_pdu_t
*
dci
);
int
nr_ue_process_dci_indication_pdu
(
module_id_t
module_id
,
int
cc_id
,
int
gNB_index
,
frame_t
frame
,
int
slot
,
fapi_nr_dci_indication_pdu_t
*
dci
);
int8_t
nr_ue_process_csirs_measurements
(
module_id_t
module_id
,
frame_t
frame
,
int
slot
,
fapi_nr_csirs_measurements_t
*
csirs_measurements
);
int8_t
nr_ue_process_csirs_measurements
(
module_id_t
module_id
,
frame_t
frame
,
uint32_t
get_ssb_frame
(
uint32_t
test
);
int
slot
,
fapi_nr_csirs_measurements_t
*
csirs_measurements
);
void
nr_ue_aperiodic_srs_scheduling
(
NR_UE_MAC_INST_t
*
mac
,
long
resource_trigger
,
int
frame
,
int
slot
);
void
nr_ue_aperiodic_srs_scheduling
(
NR_UE_MAC_INST_t
*
mac
,
long
resource_trigger
,
int
frame
,
int
slot
);
bool
trigger_periodic_scheduling_request
(
NR_UE_MAC_INST_t
*
mac
,
bool
trigger_periodic_scheduling_request
(
NR_UE_MAC_INST_t
*
mac
,
...
@@ -415,6 +420,6 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
...
@@ -415,6 +420,6 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
dci_pdu_rel15_t
*
dci
,
dci_pdu_rel15_t
*
dci
,
RAR_grant_t
*
rar_grant
,
RAR_grant_t
*
rar_grant
,
uint16_t
rnti
,
uint16_t
rnti
,
const
nr_dci_format_t
*
dci_format
);
const
nr_dci_format_t
dci_format
);
#endif
#endif
/** @}*/
/** @}*/
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
6b56b468
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
6b56b468
...
@@ -422,7 +422,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
...
@@ -422,7 +422,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
dci_pdu_rel15_t
*
dci
,
dci_pdu_rel15_t
*
dci
,
RAR_grant_t
*
rar_grant
,
RAR_grant_t
*
rar_grant
,
uint16_t
rnti
,
uint16_t
rnti
,
const
nr_dci_format_t
*
dci_format
)
const
nr_dci_format_t
dci_format
)
{
{
int
f_alloc
;
int
f_alloc
;
...
@@ -534,23 +534,23 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
...
@@ -534,23 +534,23 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
pusch_config_pdu
->
bwp_size
=
current_UL_BWP
->
BWPSize
;
pusch_config_pdu
->
bwp_size
=
current_UL_BWP
->
BWPSize
;
/* Transform precoding */
/* Transform precoding */
pusch_config_pdu
->
transform_precoding
=
get_transformPrecoding
(
current_UL_BWP
,
*
dci_format
,
0
);
pusch_config_pdu
->
transform_precoding
=
get_transformPrecoding
(
current_UL_BWP
,
dci_format
,
0
);
/*DCI format-related configuration*/
/*DCI format-related configuration*/
int
target_ss
;
int
target_ss
;
if
(
*
dci_format
==
NR_UL_DCI_FORMAT_0_0
)
{
if
(
dci_format
==
NR_UL_DCI_FORMAT_0_0
)
{
target_ss
=
NR_SearchSpace__searchSpaceType_PR_common
;
target_ss
=
NR_SearchSpace__searchSpaceType_PR_common
;
if
((
pusch_config_pdu
->
transform_precoding
==
NR_PUSCH_Config__transformPrecoder_disabled
)
&&
if
((
pusch_config_pdu
->
transform_precoding
==
NR_PUSCH_Config__transformPrecoder_disabled
)
&&
pusch_config_pdu
->
nr_of_symbols
<
3
)
pusch_config_pdu
->
nr_of_symbols
<
3
)
pusch_config_pdu
->
num_dmrs_cdm_grps_no_data
=
1
;
pusch_config_pdu
->
num_dmrs_cdm_grps_no_data
=
1
;
else
else
pusch_config_pdu
->
num_dmrs_cdm_grps_no_data
=
2
;
pusch_config_pdu
->
num_dmrs_cdm_grps_no_data
=
2
;
}
else
if
(
*
dci_format
==
NR_UL_DCI_FORMAT_0_1
)
{
}
else
if
(
dci_format
==
NR_UL_DCI_FORMAT_0_1
)
{
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
ul_layers_config
(
mac
,
pusch_config_pdu
,
dci
,
*
dci_format
);
ul_layers_config
(
mac
,
pusch_config_pdu
,
dci
,
dci_format
);
ul_ports_config
(
mac
,
&
dmrslength
,
pusch_config_pdu
,
dci
,
*
dci_format
);
ul_ports_config
(
mac
,
&
dmrslength
,
pusch_config_pdu
,
dci
,
dci_format
);
}
else
{
}
else
{
LOG_E
(
NR_MAC
,
"In %s: UL grant from DCI format %d is not handled...
\n
"
,
__FUNCTION__
,
*
dci_format
);
LOG_E
(
NR_MAC
,
"In %s: UL grant from DCI format %d is not handled...
\n
"
,
__FUNCTION__
,
dci_format
);
return
-
1
;
return
-
1
;
}
}
...
@@ -564,7 +564,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
...
@@ -564,7 +564,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
pusch_config_pdu
->
scid
=
0
;
pusch_config_pdu
->
scid
=
0
;
pusch_config_pdu
->
ul_dmrs_scrambling_id
=
mac
->
physCellId
;
pusch_config_pdu
->
ul_dmrs_scrambling_id
=
mac
->
physCellId
;
if
(
*
dci_format
==
NR_UL_DCI_FORMAT_0_1
)
if
(
dci_format
==
NR_UL_DCI_FORMAT_0_1
)
pusch_config_pdu
->
scid
=
dci
->
dmrs_sequence_initialization
.
val
;
pusch_config_pdu
->
scid
=
dci
->
dmrs_sequence_initialization
.
val
;
/* TRANSFORM PRECODING ------------------------------------------------------------------------------------------*/
/* TRANSFORM PRECODING ------------------------------------------------------------------------------------------*/
...
@@ -620,9 +620,15 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
...
@@ -620,9 +620,15 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
/* MCS TABLE */
/* MCS TABLE */
if
(
pusch_config_pdu
->
transform_precoding
==
NR_PUSCH_Config__transformPrecoder_disabled
)
{
if
(
pusch_config_pdu
->
transform_precoding
==
NR_PUSCH_Config__transformPrecoder_disabled
)
{
pusch_config_pdu
->
mcs_table
=
get_pusch_mcs_table
(
pusch_Config
?
pusch_Config
->
mcs_Table
:
NULL
,
0
,
*
dci_format
,
rnti_type
,
target_ss
,
false
);
pusch_config_pdu
->
mcs_table
=
get_pusch_mcs_table
(
pusch_Config
?
pusch_Config
->
mcs_Table
:
NULL
,
0
,
dci_format
,
rnti_type
,
target_ss
,
false
);
}
else
{
}
else
{
pusch_config_pdu
->
mcs_table
=
get_pusch_mcs_table
(
pusch_Config
?
pusch_Config
->
mcs_TableTransformPrecoder
:
NULL
,
1
,
*
dci_format
,
rnti_type
,
target_ss
,
false
);
pusch_config_pdu
->
mcs_table
=
get_pusch_mcs_table
(
pusch_Config
?
pusch_Config
->
mcs_TableTransformPrecoder
:
NULL
,
1
,
dci_format
,
rnti_type
,
target_ss
,
false
);
}
}
/* NDI */
/* NDI */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment