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
28ad0eaa
Commit
28ad0eaa
authored
Jun 09, 2022
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/NR_fix_msg3_rtx' into integration_2022_wk23
parents
9127577b
f5e9c4ec
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
156 additions
and
158 deletions
+156
-158
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+2
-2
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+2
-2
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+3
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+146
-148
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+2
-1
No files found.
openair1/PHY/INIT/nr_init.c
View file @
28ad0eaa
...
...
@@ -544,8 +544,8 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
gNB
->
nr_gold_pdsch_dmrs
=
(
uint32_t
****
)
malloc16
(
fp
->
slots_per_frame
*
sizeof
(
uint32_t
***
));
uint32_t
****
pdsch_dmrs
=
gNB
->
nr_gold_pdsch_dmrs
;
// ceil(((NB_RB*
6
(k)*2(QPSK)/32) // 3 RE *2(QPSK)
int
pdsch_dmrs_init_length
=
((
fp
->
N_RB_DL
*
12
)
>>
5
)
+
1
;
// ceil(((NB_RB*
12
(k)*2(QPSK)/32) // 3 RE *2(QPSK)
const
int
pdsch_dmrs_init_length
=
((
fp
->
N_RB_DL
*
24
)
>>
5
)
+
1
;
for
(
int
slot
=
0
;
slot
<
fp
->
slots_per_frame
;
slot
++
)
{
pdsch_dmrs
[
slot
]
=
(
uint32_t
***
)
malloc16
(
fp
->
symbols_per_slot
*
sizeof
(
uint32_t
**
));
AssertFatal
(
pdsch_dmrs
[
slot
]
!=
NULL
,
"NR init: pdsch_dmrs for slot %d - malloc failed
\n
"
,
slot
);
...
...
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
28ad0eaa
...
...
@@ -269,7 +269,7 @@ uint8_t nr_extract_dci_info(NR_UE_MAC_INST_t *mac,
uint64_t
*
dci_pdu
,
dci_pdu_rel15_t
*
nr_pdci_info_extracted
);
NR_PUSCH_TimeDomainResourceAllocationList_t
*
choose_ul_tda_list
(
NR_PUSCH_Config_t
*
pusch_Config
,
NR_PUSCH_ConfigCommon_t
*
pusch_ConfigCommon
);
NR_PUSCH_TimeDomainResourceAllocationList_t
*
choose_ul_tda_list
(
const
NR_PUSCH_Config_t
*
pusch_Config
,
NR_PUSCH_ConfigCommon_t
*
pusch_ConfigCommon
);
NR_PDSCH_TimeDomainResourceAllocationList_t
*
choose_dl_tda_list
(
NR_PDSCH_Config_t
*
pdsch_Config
,
NR_PDSCH_ConfigCommon_t
*
pdsch_ConfigCommon
);
int8_t
nr_ue_process_dci_time_dom_resource_assignment
(
NR_UE_MAC_INST_t
*
mac
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
28ad0eaa
...
...
@@ -253,7 +253,7 @@ NR_PDSCH_TimeDomainResourceAllocationList_t *choose_dl_tda_list(NR_PDSCH_Config_
return
(
pdsch_TimeDomainAllocationList
);
}
NR_PUSCH_TimeDomainResourceAllocationList_t
*
choose_ul_tda_list
(
NR_PUSCH_Config_t
*
pusch_Config
,
NR_PUSCH_ConfigCommon_t
*
pusch_ConfigCommon
)
{
NR_PUSCH_TimeDomainResourceAllocationList_t
*
choose_ul_tda_list
(
const
NR_PUSCH_Config_t
*
pusch_Config
,
NR_PUSCH_ConfigCommon_t
*
pusch_ConfigCommon
)
{
NR_PUSCH_TimeDomainResourceAllocationList_t
*
pusch_TimeDomainAllocationList
=
NULL
;
...
...
@@ -579,7 +579,7 @@ int8_t nr_ue_process_dci_time_dom_resource_assignment(NR_UE_MAC_INST_t *mac,
if
(
pusch_config_pdu
!=
NULL
){
if
(
pusch_TimeDomainAllocationList
&&
use_default
==
false
)
{
if
(
time_domain_ind
>=
pusch_TimeDomainAllocationList
->
list
.
count
)
{
LOG_E
(
MAC
,
"time_domain_ind %d >= pusch->TimeDomainAllocationList->list.count %d
\n
"
,
LOG_E
(
NR_
MAC
,
"time_domain_ind %d >= pusch->TimeDomainAllocationList->list.count %d
\n
"
,
time_domain_ind
,
pusch_TimeDomainAllocationList
->
list
.
count
);
pusch_config_pdu
->
start_symbol_index
=
0
;
pusch_config_pdu
->
nr_of_symbols
=
0
;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
28ad0eaa
...
...
@@ -697,8 +697,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
pusch_config_pdu
->
bwp_start
=
NRRIV2PRBOFFSET
(
ubwpc
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
pusch_config_pdu
->
bwp_size
=
n_RB_ULBWP
;
AssertFatal
(
ubwpd
->
pusch_Config
!=
NULL
,
"pusch_Config shouldn't be null
\n
"
);
NR_PUSCH_Config_t
*
pusch_Config
=
ubwpd
->
pusch_Config
->
choice
.
setup
;
const
NR_PUSCH_Config_t
*
pusch_Config
=
ubwpd
?
ubwpd
->
pusch_Config
->
choice
.
setup
:
NULL
;
// Basic sanity check for MCS value to check for a false or erroneous DCI
if
(
dci
->
mcs
>
28
)
{
...
...
@@ -776,10 +775,10 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
pusch_config_pdu
->
dfts_ofdm
.
low_papr_group_number
);
}
else
{
if
(
pusch_config_pdu
->
scid
==
0
&&
if
(
pusch_config_pdu
->
scid
==
0
&&
NR_DMRS_ulconfig
&&
NR_DMRS_ulconfig
->
transformPrecodingDisabled
->
scramblingID0
)
pusch_config_pdu
->
ul_dmrs_scrambling_id
=
*
NR_DMRS_ulconfig
->
transformPrecodingDisabled
->
scramblingID0
;
if
(
pusch_config_pdu
->
scid
==
1
&&
if
(
pusch_config_pdu
->
scid
==
1
&&
NR_DMRS_ulconfig
&&
NR_DMRS_ulconfig
->
transformPrecodingDisabled
->
scramblingID1
)
pusch_config_pdu
->
ul_dmrs_scrambling_id
=
*
NR_DMRS_ulconfig
->
transformPrecodingDisabled
->
scramblingID1
;
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
28ad0eaa
...
...
@@ -537,15 +537,13 @@ void nr_initiate_ra_proc(module_id_t module_idP,
}
for
(
int
i
=
0
;
i
<
NR_NB_RA_PROC_MAX
;
i
++
)
{
NR_RA_t
*
ra
=
&
cc
->
ra
[
i
];
pr_found
=
0
;
const
NR_UE_info_t
*
UE
=
find_nr_UE
(
&
nr_mac
->
UE_info
,
ra
->
rnti
);
if
(
UE
)
{
// the UE is already registered
LOG_W
(
NR_MAC
,
"Received RA for existing RNTI %04x
\n
"
,
ra
->
rnti
);
if
(
ra
->
state
!=
RA_IDLE
)
continue
;
}
if
(
ra
->
state
==
RA_IDLE
)
{
pr_found
=
0
;
for
(
int
j
=
0
;
j
<
ra
->
preambles
.
num_preambles
;
j
++
)
{
//check if the preamble received correspond to one of the listed or configured preambles
if
(
preamble_index
==
ra
->
preambles
.
preamble_list
[
j
])
{
...
...
@@ -698,7 +696,6 @@ void nr_initiate_ra_proc(module_id_t module_idP,
return
;
}
}
LOG_E
(
NR_MAC
,
"[gNB %d][RAPROC] FAILURE: CC_id %d Frame %d initiating RA procedure for preamble index %d
\n
"
,
module_idP
,
CC_id
,
frameP
,
preamble_index
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC
,
0
);
...
...
@@ -787,8 +784,9 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
uint16_t
*
vrb_map_UL
=
&
RC
.
nrmac
[
module_idP
]
->
common_channels
[
CC_id
].
vrb_map_UL
[
sched_slot
*
MAX_BWP_SIZE
];
int
BWPStart
=
nr_mac
->
type0_PDCCH_CSS_config
[
ra
->
beam_id
].
cset_start_rb
;
int
BWPSize
=
nr_mac
->
type0_PDCCH_CSS_config
[
ra
->
beam_id
].
num_rbs
;
const
int
BWPSize
=
NRRIV2BW
(
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
int
BWPStart
=
NRRIV2PRBOFFSET
(
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
rbStart
=
0
;
for
(
int
i
=
0
;
(
i
<
ra
->
msg3_nb_rb
)
&&
(
rbStart
<=
(
BWPSize
-
ra
->
msg3_nb_rb
));
i
++
)
{
if
(
vrb_map_UL
[
rbStart
+
BWPStart
+
i
]
&
SL_to_bitmap
(
StartSymbolIndex
,
NrOfSymbols
))
{
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
28ad0eaa
...
...
@@ -2266,13 +2266,14 @@ void remove_front_nr_list(NR_list_t *listP)
NR_UE_info_t
*
find_nr_UE
(
NR_UEs_t
*
UEs
,
rnti_t
rntiP
)
{
UE_iterator
(
UEs
->
list
,
UE
)
{
if
(
UE
->
rnti
==
rntiP
)
{
LOG_D
(
NR_MAC
,
"Search and found rnti: %04x
\n
"
,
rntiP
);
return
UE
;
}
}
LOG_W
(
NR_MAC
,
"Search for not existing rnti: %04x
\n
"
,
rntiP
);
LOG_W
(
NR_MAC
,
"Search for not existing rnti
(ignore for RA)
: %04x
\n
"
,
rntiP
);
return
NULL
;
}
...
...
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