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
zzha zzha
OpenXG-RAN
Commits
999f5d67
Commit
999f5d67
authored
May 04, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bugfixes and improvements in handling dci candidates
parent
f902e27c
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
47 additions
and
53 deletions
+47
-53
openair1/PHY/NR_TRANSPORT/nr_dci.c
openair1/PHY/NR_TRANSPORT/nr_dci.c
+0
-1
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+0
-2
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+13
-0
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
+2
-0
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+2
-1
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+0
-1
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+2
-5
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+21
-7
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+0
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+0
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+0
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+3
-24
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+0
-2
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+1
-1
openair2/RRC/NR/rrc_gNB_reconfig.c
openair2/RRC/NR/rrc_gNB_reconfig.c
+1
-1
No files found.
openair1/PHY/NR_TRANSPORT/nr_dci.c
View file @
999f5d67
...
...
@@ -82,7 +82,6 @@ void nr_generate_dci(PHY_VARS_gNB *gNB,
int
rb_offset
;
int
n_rb
;
// compute rb_offset and n_prb based on frequency allocation
nr_cce_t
cce_list
[
MAX_DCI_CORESET
][
NR_MAX_PDCCH_AGG_LEVEL
];
nr_fill_cce_list
(
cce_list
,
0
,
pdcch_pdu_rel15
);
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
999f5d67
...
...
@@ -1100,8 +1100,6 @@ int main(int argc, char **argv)
UE_info
->
UE_sched_ctrl
[
0
].
harq_processes
[
harq_pid
].
round
=
round
;
for
(
int
i
=
0
;
i
<
MAX_NUM_CORESET
;
i
++
)
gNB_mac
->
pdcch_cand
[
i
]
=
0
;
if
(
css_flag
==
0
)
{
nr_schedule_ue_spec
(
0
,
frame
,
slot
);
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
999f5d67
...
...
@@ -3467,6 +3467,19 @@ void csi_period_offset(NR_CSI_ReportConfig_t *csirep,
}
}
uint16_t
get_Y
(
int
cid
,
int
slot
,
rnti_t
rnti
)
{
const
int
A
[
3
]
=
{
39827
,
39829
,
39839
};
const
int
D
=
65537
;
int
Y
;
Y
=
(
A
[
cid
]
*
rnti
)
%
D
;
for
(
int
s
=
0
;
s
<
slot
;
s
++
)
Y
=
(
A
[
cid
]
*
Y
)
%
D
;
return
Y
;
}
void
get_type0_PDCCH_CSS_config_parameters
(
NR_Type0_PDCCH_CSS_config_t
*
type0_PDCCH_CSS_config
,
frame_t
frameP
,
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
View file @
999f5d67
...
...
@@ -37,6 +37,8 @@
#include "nr_mac.h"
#include "openair1/PHY/impl_defs_nr.h"
uint16_t
get_Y
(
int
cid
,
int
slot
,
rnti_t
rnti
);
uint64_t
from_nrarfcn
(
int
nr_bandP
,
uint8_t
scs_index
,
uint32_t
dl_nrarfcn
);
uint32_t
to_nrarfcn
(
int
nr_bandP
,
uint64_t
dl_CarrierFreq
,
uint8_t
scs_index
,
uint32_t
bw
);
...
...
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
999f5d67
...
...
@@ -474,7 +474,7 @@ void config_bwp_ue(NR_UE_MAC_INST_t *mac, uint16_t *bwp_ind, uint8_t *dci_format
*/
void
config_control_ue
(
NR_UE_MAC_INST_t
*
mac
){
uint8_t
coreset_id
=
1
,
ss_id
;
uint8_t
ss_id
;
NR_BWP_Id_t
dl_bwp_id
=
mac
->
DL_BWP_Id
;
NR_BWP_Id_t
ul_bwp_id
=
mac
->
UL_BWP_Id
;
NR_ServingCellConfig_t
*
scd
=
mac
->
cg
->
spCellConfig
->
spCellConfigDedicated
;
...
...
@@ -520,6 +520,7 @@ void config_control_ue(NR_UE_MAC_INST_t *mac){
}
// check pdcch_Config, pdcch_ConfigCommon and DL BWP
mac
->
DLbwp
[
0
]
=
dl_bwp_id
>
0
?
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
dl_bwp_id
-
1
]
:
NULL
;
int
coreset_id
=
controlResourceSetToAddModList
->
list
.
array
[
0
]
->
controlResourceSetId
;
mac
->
coreset
[
dl_bwp_id
][
coreset_id
-
1
]
=
controlResourceSetToAddModList
->
list
.
array
[
0
];
// Check dedicated UL BWP and pass to MAC
...
...
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
999f5d67
...
...
@@ -558,7 +558,6 @@ typedef struct ssb_list_info {
}
ssb_list_info_t
;
void
config_dci_pdu
(
NR_UE_MAC_INST_t
*
mac
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
,
fapi_nr_dl_config_request_t
*
dl_config
,
int
rnti_type
,
int
ss_id
);
void
fill_dci_search_candidates
(
NR_SearchSpace_t
*
ss
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
);
/*@}*/
#endif
/*__LAYER2_MAC_DEFS_H__ */
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
999f5d67
...
...
@@ -243,10 +243,7 @@ int nr_write_ce_ulsch_pdu(uint8_t *mac_ce,
uint16_t
*
crnti
,
NR_BSR_SHORT
*
truncated_bsr
,
NR_BSR_SHORT
*
short_bsr
,
NR_BSR_LONG
*
long_bsr
);
void
fill_dci_search_candidates
(
NR_SearchSpace_t
*
ss
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
);
NR_BSR_LONG
*
long_bsr
);
void
config_dci_pdu
(
NR_UE_MAC_INST_t
*
mac
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
,
fapi_nr_dl_config_request_t
*
dl_config
,
int
rnti_type
,
int
ss_id
);
...
...
@@ -446,7 +443,7 @@ int8_t nr_ue_process_dci_freq_dom_resource_assignment(nfapi_nr_ue_pusch_pdu_t *p
uint16_t
riv
);
void
config_dci_pdu
(
NR_UE_MAC_INST_t
*
mac
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
,
fapi_nr_dl_config_request_t
*
dl_config
,
int
rnti_type
,
int
ss_id
);
void
fill_dci_search_candidates
(
NR_SearchSpace_t
*
ss
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
);
void
fill_dci_search_candidates
(
NR_SearchSpace_t
*
ss
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
,
int
slot
,
int
rnti
);
void
build_ssb_to_ro_map
(
NR_UE_MAC_INST_t
*
mac
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
View file @
999f5d67
...
...
@@ -49,7 +49,9 @@
//#define DEBUG_DCI
void
fill_dci_search_candidates
(
NR_SearchSpace_t
*
ss
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
)
{
void
fill_dci_search_candidates
(
NR_SearchSpace_t
*
ss
,
fapi_nr_dl_config_dci_dl_pdu_rel15_t
*
rel15
,
int
slot
,
int
rnti
)
{
LOG_D
(
NR_MAC
,
"Filling search candidates for DCI
\n
"
);
...
...
@@ -57,6 +59,9 @@ void fill_dci_search_candidates(NR_SearchSpace_t *ss,fapi_nr_dl_config_dci_dl_pd
uint8_t
number_of_candidates
=
0
;
rel15
->
number_of_candidates
=
0
;
int
i
=
0
;
int
Y
=
0
;
if
(
slot
>=
0
)
Y
=
get_Y
(
*
ss
->
controlResourceSetId
,
slot
,
rnti
);
for
(
int
maxL
=
16
;
maxL
>
0
;
maxL
>>=
1
)
{
find_aggregation_candidates
(
&
aggregation
,
&
number_of_candidates
,
...
...
@@ -65,8 +70,17 @@ void fill_dci_search_candidates(NR_SearchSpace_t *ss,fapi_nr_dl_config_dci_dl_pd
if
(
number_of_candidates
>
0
)
{
LOG_D
(
NR_MAC
,
"L %d, number of candidates %d, aggregation %d
\n
"
,
maxL
,
number_of_candidates
,
aggregation
);
rel15
->
number_of_candidates
+=
number_of_candidates
;
int
N_cce_sym
=
0
;
// nb of rbs of coreset per symbol
for
(
int
i
=
0
;
i
<
6
;
i
++
)
{
for
(
int
t
=
0
;
t
<
8
;
t
++
)
{
N_cce_sym
+=
((
rel15
->
coreset
.
frequency_domain_resource
[
i
]
>>
t
)
&
1
);
}
}
int
N_cces
=
N_cce_sym
*
rel15
->
coreset
.
duration
;
for
(
int
j
=
0
;
j
<
number_of_candidates
;
i
++
,
j
++
)
{
rel15
->
CCE
[
i
]
=
j
*
aggregation
;
int
first_cce
=
aggregation
*
((
Y
+
CEILIDIV
((
j
*
N_cces
),(
aggregation
*
number_of_candidates
))
+
0
)
%
CEILIDIV
(
N_cces
,
aggregation
));
LOG_D
(
NR_MAC
,
"Candidate %d of %d first_cce %d (L %d N_cces %d Y %d)
\n
"
,
j
,
number_of_candidates
,
first_cce
,
aggregation
,
N_cces
,
Y
);
rel15
->
CCE
[
i
]
=
first_cce
;
rel15
->
L
[
i
]
=
aggregation
;
}
}
...
...
@@ -308,14 +322,14 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
}
else
{
config_dci_pdu
(
mac
,
rel15
,
dl_config
,
NR_RNTI_RA
,
ss_id
);
}
fill_dci_search_candidates
(
ss
,
rel15
);
fill_dci_search_candidates
(
ss
,
rel15
,
-
1
,
-
1
);
break
;
case
WAIT_CONTENTION_RESOLUTION
:
LOG_D
(
NR_MAC
,
"[DCI_CONFIG] Configure monitoring of PDCCH candidates in Type1-PDCCH common random access search space (RA-Msg4)
\n
"
);
rel15
->
num_dci_options
=
1
;
rel15
->
dci_format_options
[
0
]
=
NR_DL_DCI_FORMAT_1_0
;
config_dci_pdu
(
mac
,
rel15
,
dl_config
,
NR_RNTI_TC
,
-
1
);
fill_dci_search_candidates
(
ss
,
rel15
);
fill_dci_search_candidates
(
ss
,
rel15
,
-
1
,
-
1
);
break
;
default:
break
;
...
...
@@ -387,7 +401,7 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
rel15
->
dci_format_options
[
0
]
=
NR_DL_DCI_FORMAT_1_1
;
rel15
->
dci_format_options
[
1
]
=
NR_UL_DCI_FORMAT_0_1
;
config_dci_pdu
(
mac
,
rel15
,
dl_config
,
NR_RNTI_C
,
ss_id
);
fill_dci_search_candidates
(
ss
,
rel15
);
fill_dci_search_candidates
(
ss
,
rel15
,
slot
,
mac
->
crnti
);
//#ifdef DEBUG_DCI
LOG_D
(
NR_MAC
,
"[DCI_CONFIG] ss %d ue_Specific %p searchSpaceType->present %d dci_Formats %d
\n
"
,
...
...
@@ -439,7 +453,7 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
rel15
->
num_dci_options
=
1
;
rel15
->
dci_format_options
[
0
]
=
NR_DL_DCI_FORMAT_1_0
;
config_dci_pdu
(
mac
,
rel15
,
dl_config
,
NR_RNTI_SI
,
-
1
);
fill_dci_search_candidates
(
ss0
,
rel15
);
fill_dci_search_candidates
(
ss0
,
rel15
,
-
1
,
-
1
);
}
}
}
...
...
@@ -450,7 +464,7 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
rel15
->
num_dci_options
=
1
;
rel15
->
dci_format_options
[
0
]
=
NR_DL_DCI_FORMAT_1_0
;
config_dci_pdu
(
mac
,
rel15
,
dl_config
,
NR_RNTI_C
,
-
1
);
fill_dci_search_candidates
(
ss0
,
rel15
);
fill_dci_search_candidates
(
ss0
,
rel15
,
-
1
,
-
1
);
dl_config
->
number_pdus
=
1
;
}
}
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
999f5d67
...
...
@@ -1087,7 +1087,7 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
if
(
mac
->
ra
.
ra_state
==
WAIT_CONTENTION_RESOLUTION
)
rel15
->
dci_format_options
[
1
]
=
NR_UL_DCI_FORMAT_0_0
;
// msg3 retransmission
config_dci_pdu
(
mac
,
rel15
,
dl_config
,
mac
->
ra
.
ra_state
==
WAIT_RAR
?
NR_RNTI_RA
:
NR_RNTI_TC
,
mac
->
ra
.
ss
->
searchSpaceId
);
fill_dci_search_candidates
(
mac
->
ra
.
ss
,
rel15
);
fill_dci_search_candidates
(
mac
->
ra
.
ss
,
rel15
,
-
1
,
-
1
);
dl_config
->
number_pdus
=
1
;
LOG_D
(
MAC
,
"mac->cg %p: Calling fill_scheduled_response rnti %x, type0_pdcch, num_pdus %d
\n
"
,
mac
->
cg
,
rel15
->
rnti
,
dl_config
->
number_pdus
);
fill_scheduled_response
(
&
scheduled_response
,
dl_config
,
NULL
,
NULL
,
mod_id
,
cc_id
,
rx_frame
,
rx_slot
,
dl_info
->
thread_id
,
dl_info
->
phy_data
);
...
...
@@ -2750,7 +2750,7 @@ void nr_ue_sib1_scheduler(module_id_t module_idP,
rel15
->
num_dci_options
=
1
;
rel15
->
dci_format_options
[
0
]
=
NR_DL_DCI_FORMAT_1_0
;
config_dci_pdu
(
mac
,
rel15
,
dl_config
,
NR_RNTI_SI
,
-
1
);
fill_dci_search_candidates
(
mac
->
search_space_zero
,
rel15
);
fill_dci_search_candidates
(
mac
->
search_space_zero
,
rel15
,
-
1
,
-
1
);
if
(
mac
->
type0_PDCCH_CSS_config
.
type0_pdcch_ss_mux_pattern
==
1
){
// same frame as ssb
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
999f5d67
...
...
@@ -307,8 +307,6 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
nr_rrc_trigger
(
&
ctxt
,
0
/*CC_id*/
,
frame
,
slot
>>
*
scc
->
ssbSubcarrierSpacing
);
}
for
(
int
i
=
0
;
i
<
MAX_NUM_CORESET
;
i
++
)
RC
.
nrmac
[
module_idP
]
->
pdcch_cand
[
i
]
=
0
;
for
(
int
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
//mbsfn_status[CC_id] = 0;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
999f5d67
...
...
@@ -680,7 +680,6 @@ bool allocate_dl_retransmission(module_id_t module_id,
UE_info
->
rnti
[
UE_id
],
frame
,
slot
);
RC
.
nrmac
[
module_id
]
->
pdcch_cand
[
cid
]
--
;
return
false
;
}
...
...
@@ -871,7 +870,6 @@ void pf_dl(module_id_t module_id,
rnti
,
frame
,
slot
);
mac
->
pdcch_cand
[
cid
]
--
;
continue
;
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
999f5d67
...
...
@@ -367,7 +367,6 @@ void nr_preprocessor_phytest(module_id_t module_id,
rnti
,
frame
,
slot
);
RC
.
nrmac
[
module_id
]
->
pdcch_cand
[
cid
]
--
;
return
;
}
...
...
@@ -522,7 +521,6 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
if
(
CCEIndex
<
0
)
{
LOG_E
(
MAC
,
"%s(): CCE list not empty, couldn't schedule PUSCH
\n
"
,
__func__
);
nr_mac
->
pdcch_cand
[
cid
]
--
;
return
false
;
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
999f5d67
...
...
@@ -443,14 +443,8 @@ int find_pdcch_candidate(gNB_MAC_INST *mac,
uint16_t
Y
){
uint16_t
*
vrb_map
=
mac
->
common_channels
[
cc_id
].
vrb_map
;
const
int
next_cand
=
mac
->
pdcch_cand
[
coreset
->
controlResourceSetId
];
const
int
N_ci
=
0
;
if
(
next_cand
>=
nr_of_candidates
)
{
LOG_D
(
NR_MAC
,
"No more available candidates for this coreset
\n
"
);
return
-
1
;
}
const
int
N_rb
=
pdcch
->
n_rb
;
// nb of rbs of coreset per symbol
const
int
N_symb
=
coreset
->
duration
;
// nb of coreset symbols
const
int
N_regs
=
N_rb
*
N_symb
;
// nb of REGs per coreset
...
...
@@ -462,9 +456,10 @@ int find_pdcch_candidate(gNB_MAC_INST *mac,
// loop over all the available candidates
// this implements TS 38.211 Sec. 7.3.2.2
for
(
int
m
=
next_cand
;
m
<
nr_of_candidates
;
m
++
)
{
// loop over candidates
for
(
int
m
=
0
;
m
<
nr_of_candidates
;
m
++
)
{
// loop over candidates
bool
taken
=
false
;
// flag if the resource for a given candidate are taken
int
first_cce
=
aggregation
*
((
Y
+
CEILIDIV
((
m
*
N_cces
),(
aggregation
*
nr_of_candidates
))
+
N_ci
)
%
CEILIDIV
(
N_cces
,
aggregation
));
LOG_D
(
NR_MAC
,
"Candidate %d of %d first_cce %d (L %d N_cces %d Y %d)
\n
"
,
m
,
nr_of_candidates
,
first_cce
,
aggregation
,
N_cces
,
Y
);
for
(
int
j
=
first_cce
;
(
j
<
first_cce
+
aggregation
)
&&
!
taken
;
j
++
)
{
// loop over CCEs
for
(
int
k
=
6
*
j
/
L
;
(
k
<
(
6
*
j
/
L
+
6
/
L
))
&&
!
taken
;
k
++
)
{
// loop over REG bundles
int
f
=
cce_to_reg_interleaving
(
R
,
k
,
pdcch
->
ShiftIndex
,
C
,
L
,
N_regs
);
...
...
@@ -476,10 +471,8 @@ int find_pdcch_candidate(gNB_MAC_INST *mac,
}
}
}
if
(
!
taken
){
mac
->
pdcch_cand
[
coreset
->
controlResourceSetId
]
=
m
++
;
// using candidate m, next available is m+1
if
(
!
taken
)
return
first_cce
;
}
}
return
-
1
;
}
...
...
@@ -2204,20 +2197,6 @@ int find_nr_UE_id(module_id_t mod_idP, rnti_t rntiP)
return
-
1
;
}
uint16_t
get_Y
(
int
cid
,
int
slot
,
rnti_t
rnti
)
{
const
int
A
[
3
]
=
{
39827
,
39829
,
39839
};
const
int
D
=
65537
;
int
Y
;
Y
=
(
A
[
cid
]
*
rnti
)
%
D
;
for
(
int
s
=
0
;
s
<
slot
;
s
++
)
Y
=
(
A
[
cid
]
*
Y
)
%
D
;
return
Y
;
}
int
find_nr_RA_id
(
module_id_t
mod_idP
,
int
CC_idP
,
rnti_t
rntiP
)
{
//------------------------------------------------------------------------------
int
RA_id
;
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
999f5d67
...
...
@@ -359,8 +359,6 @@ void nr_set_pusch_semi_static(const NR_SIB1_t *sib1,
uint8_t
num_dmrs_cdm_grps_no_data
,
NR_pusch_semi_static_t
*
ps
);
uint16_t
get_Y
(
int
cid
,
int
slot
,
rnti_t
rnti
);
uint8_t
nr_get_tpc
(
int
target
,
uint8_t
cqi
,
int
incr
);
int
get_spf
(
nfapi_nr_config_request_scf_t
*
cfg
);
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
999f5d67
...
...
@@ -755,7 +755,7 @@ typedef struct gNB_MAC_INST_s {
nfapi_nr_ul_dci_request_t
UL_dci_req
[
NFAPI_CC_MAX
];
/// NFAPI DL PDU structure
nfapi_nr_tx_data_request_t
TX_req
[
NFAPI_CC_MAX
];
int
pdcch_cand
[
MAX_NUM_CORESET
];
NR_UE_info_t
UE_info
;
/// UL handle
...
...
openair2/RRC/NR/rrc_gNB_reconfig.c
View file @
999f5d67
...
...
@@ -466,7 +466,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
ss2
->
searchSpaceId
=
2
;
ss2
->
controlResourceSetId
=
calloc
(
1
,
sizeof
(
*
ss2
->
controlResourceSetId
));
*
ss2
->
controlResourceSetId
=
1
;
*
ss2
->
controlResourceSetId
=
coreset
->
controlResourceSetId
;
ss2
->
monitoringSlotPeriodicityAndOffset
=
calloc
(
1
,
sizeof
(
*
ss2
->
monitoringSlotPeriodicityAndOffset
));
ss2
->
monitoringSlotPeriodicityAndOffset
->
present
=
NR_SearchSpace__monitoringSlotPeriodicityAndOffset_PR_sl1
;
ss2
->
monitoringSlotPeriodicityAndOffset
->
choice
.
sl1
=
(
NULL_t
)
0
;
...
...
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