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
canghaiwuhen
OpenXG-RAN
Commits
d3de1feb
Commit
d3de1feb
authored
Nov 12, 2020
by
kn.raju
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Resolved errors on multi user
parent
bd370e74
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
50 additions
and
48 deletions
+50
-48
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
+2
-2
openair1/PHY/INIT/nr_parms.c
openair1/PHY/INIT/nr_parms.c
+0
-1
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
+0
-1
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+12
-13
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+2
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+1
-0
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+29
-27
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+3
-2
No files found.
nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface_scf.h
View file @
d3de1feb
...
...
@@ -619,9 +619,9 @@ typedef struct {
uint16_t
prgSize
;
/// Number of STD ant ports (parallel streams) feeding into the digBF Value: 0->255
uint8_t
digBFInterfaces
;
// Depends on numPRGs
// Depends on numPRGs
uint16_t
PMIdx
[
275
];
// Depends on digBFInterfaces
// Depends on digBFInterfaces
uint16_t
beamIdx
[
256
];
}
nfapi_nr_tx_precoding_and_beamforming_t
;
...
...
openair1/PHY/INIT/nr_parms.c
View file @
d3de1feb
...
...
@@ -232,7 +232,6 @@ uint32_t get_samples_per_slot(int slot, NR_DL_FRAME_PARMS* fp)
return
samp_count
;
}
uint32_t
get_slot_from_timestamp
(
openair0_timestamp
timestamp_rx
,
NR_DL_FRAME_PARMS
*
fp
)
{
uint32_t
slot_idx
=
0
;
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
View file @
d3de1feb
...
...
@@ -2249,7 +2249,6 @@ int dlsch_modulation(PHY_VARS_eNB* phy_vars_eNB,
uint8_t
Nl1
;
#endif
if
((
dlsch0
!=
NULL
)
&&
(
dlsch1
!=
NULL
)){
harq_pid
=
dlsch0
->
harq_ids
[
frame
%
2
][
subframe_offset
];
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
d3de1feb
...
...
@@ -372,7 +372,6 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
LOG_I
(
PHY
,
"Added new UE_id %d/%x with initial secondaryCellGroup
\n
"
,
UE_id
,
rnti
);
}
else
if
(
add_ue
==
1
&&
!
get_softmodem_params
()
->
phy_test
)
{
const
int
CC_id
=
0
;
#if 1
NR_COMMON_channels_t
*
cc
=
&
RC
.
nrmac
[
Mod_idP
]
->
common_channels
[
CC_id
];
uint8_t
ra_index
=
0
;
/* checking for free RA process */
...
...
@@ -399,6 +398,7 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
}
}
}
}
LOG_I
(
PHY
,
"Added new RA process for UE RNTI %04x with initial secondaryCellGroup
\n
"
,
rnti
);
}
else
{
// secondaryCellGroup has been updated
const
int
UE_id
=
find_nr_UE_id
(
Mod_idP
,
rnti
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
d3de1feb
...
...
@@ -727,7 +727,7 @@ void nr_generate_Msg2(module_id_t module_idP,
dl_tti_pdcch_pdu
->
PDUType
=
NFAPI_NR_DL_TTI_PDCCH_PDU_TYPE
;
dl_tti_pdcch_pdu
->
PDUSize
=
(
uint8_t
)(
2
+
sizeof
(
nfapi_nr_dl_tti_pdcch_pdu
));
uint8_t
dci_pdu_index
=
0
;
int
dci10_bw
;
int
dci10_bw
=
0
;
nfapi_nr_dl_tti_pdcch_pdu_rel15_t
*
pdcch_pdu_rel15
=
&
dl_tti_pdcch_pdu
->
pdcch_pdu
.
pdcch_pdu_rel15
;
NR_ServingCellConfigCommon_t
*
scc
=
cc
->
ServingCellConfigCommon
;
#if 0
...
...
@@ -739,7 +739,7 @@ void nr_generate_Msg2(module_id_t module_idP,
"downlinkBWP_ToAddModList has %d BWP!\n", secondaryCellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list.count);
NR_BWP_Downlink_t *bwp = secondaryCellGroup->spCellConfig->spCellConfigDedicated->downlinkBWP_ToAddModList->list.array[ra->bwp_id - 1];
NR_BWP_Uplink_t *ubwp=secondaryCellGroup->spCellConfig->spCellConfigDedicated->uplinkConfig->uplinkBWP_ToAddModList->list.array[ra->bwp_id-1];
#e
lse
#e
ndif
AssertFatal
(
ra
->
secondaryCellGroup
,
"no secondaryCellGroup for RNTI %04x
\n
"
,
ra
->
crnti
);
...
...
@@ -874,11 +874,11 @@ void nr_generate_Msg2(module_id_t module_idP,
nr_configure_dci
(
nr_mac
,
pdcch_pdu_rel15
,
RA_rnti
,
ss
,
coreset
,
scc
,
bwp
,
ra
->
beam_id
,
ss
,
coreset
,
scc
,
bwp
,
ra
->
beam_id
,
aggregation_level
,
CCEIndex
);
...
...
@@ -913,8 +913,6 @@ void nr_generate_Msg2(module_id_t module_idP,
pdcch_pdu_rel15
->
StartSymbolIndex
,
pdcch_pdu_rel15
->
DurationSymbols
);
// fill_dci_pdu_rel15(scc,ra->secondaryCellGroup,pdcch_pdu_rel15, dci_pdu_rel15, dci_formats, rnti_types,dci10_bw,ra->bwp_id);
// Program UL processing for Msg3
nr_get_Msg3alloc
(
scc
,
ubwp
,
slotP
,
frameP
,
ra
);
LOG_I
(
MAC
,
"Frame %d, Subframe %d: Setting Msg3 reception for Frame %d Subframe %d
\n
"
,
frameP
,
slotP
,
ra
->
Msg3_frame
,
ra
->
Msg3_slot
);
...
...
@@ -934,17 +932,18 @@ void nr_generate_Msg2(module_id_t module_idP,
nr_mac
->
TX_req
[
CC_id
].
Number_of_PDUs
++
;
nr_mac
->
TX_req
[
CC_id
].
Slot
=
slotP
;
memcpy
((
void
*
)
&
tx_req
->
TLVs
[
0
].
value
.
direct
[
0
],
(
void
*
)
&
cc
[
CC_id
].
RAR_pdu
[
dci_pdu_index
].
payload
,
tx_req
->
TLVs
[
0
].
length
);
dci_pdu_index
+=
1
;
dl_req
->
nPDUs
+=
1
;
//Adding PDSCH pdu count
pdcch_pdu_rel15
->
numDlDci
++
;
T
(
T_GNB_MAC_DL_RAR_PDU_WITH_DATA
,
T_INT
(
module_idP
),
T_INT
(
CC_id
),
T_INT
(
RA_rnti
),
T_INT
(
frameP
),
T_INT
(
slotP
),
T_INT
(
0
)
/* harq pid, meaningful? */
,
T_BUFFER
(
&
cc
[
CC_id
].
RAR_pdu
.
payload
[
0
],
tx_req
->
TLVs
[
0
].
length
));
T_BUFFER
(
&
cc
[
CC_id
].
RAR_pdu
[
dci_pdu_index
]
.
payload
[
0
],
tx_req
->
TLVs
[
0
].
length
));
/* mark the corresponding RBs as used */
uint16_t
*
vrb_map
=
cc
[
CC_id
].
vrb_map
;
for
(
int
rb
=
0
;
rb
<
pdsch_pdu_rel15
->
rbSize
;
rb
++
)
vrb_map
[
rb
+
pdsch_pdu_rel15
->
rbStart
]
=
1
;
dci_pdu_index
+=
1
;
dl_req
->
nPDUs
+=
1
;
//Adding PDSCH pdu count
pdcch_pdu_rel15
->
numDlDci
++
;
}
}
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
d3de1feb
...
...
@@ -612,7 +612,8 @@ void nr_schedule_ue_spec(module_id_t module_id,
nrOfSymbols
,
current_harq_pid
,
harq
->
ndi
,
harq
->
round
);
harq
->
round
,
UE_info
->
UE_beam_index
[
UE_id
]);
NR_UE_ret_info_t
*
retInfo
=
&
sched_ctrl
->
retInfo
[
current_harq_pid
];
if
(
harq
->
round
!=
0
)
{
/* retransmission */
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
d3de1feb
...
...
@@ -803,6 +803,7 @@ void schedule_fapi_ul_pdu(int Mod_idP,
UE_info
->
UE_beam_index
[
UE_id
],
aggregation_level
,
CCEIndex
);
pdcch_pdu_rel15
->
numDlDci
++
;
dci_pdu_rel15_t
*
dci_pdu_rel15
=
calloc
(
MAX_DCI_CORESET
,
sizeof
(
dci_pdu_rel15_t
));
config_uldci
(
ubwp
,
pusch_pdu
,
pdcch_pdu_rel15
,
&
dci_pdu_rel15
[
0
],
dci_formats
,
rnti_types
,
time_domain_assignment
,
UE_info
->
UE_sched_ctrl
[
UE_id
].
tpc0
,
n_ubwp
,
bwp_id
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
d3de1feb
...
...
@@ -128,25 +128,26 @@ static inline uint8_t get_max_cces(uint8_t scs) {
NR_ControlResourceSet_t
*
get_coreset
(
NR_BWP_Downlink_t
*
bwp
,
NR_SearchSpace_t
*
ss
,
int
ss_type
)
{
NR_ControlResourceSetId_t
coreset_id
=
*
ss
->
controlResourceSetId
;
if
(
ss_type
==
0
)
{
// common search space
AssertFatal
(
coreset_id
!=
0
,
"coreset0 currently not supported
\n
"
);
NR_ControlResourceSet_t
*
coreset
=
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
;
AssertFatal
(
coreset_id
==
coreset
->
controlResourceSetId
,
"ID of common ss coreset does not correspond to id set in the "
"search space
\n
"
);
return
coreset
;
}
else
{
const
int
n
=
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
->
list
.
count
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
NR_ControlResourceSet_t
*
coreset
=
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
->
list
.
array
[
i
];
if
(
coreset_id
==
coreset
->
controlResourceSetId
)
{
return
coreset
;
}
}
AssertFatal
(
0
,
"Couldn't find coreset with id %ld
\n
"
,
coreset_id
);
int
ss_type
)
{
NR_ControlResourceSetId_t
coreset_id
=
*
ss
->
controlResourceSetId
;
if
(
ss_type
==
0
)
{
// common search space
AssertFatal
(
coreset_id
!=
0
,
"coreset0 currently not supported
\n
"
);
NR_ControlResourceSet_t
*
coreset
=
bwp
->
bwp_Common
->
pdcch_ConfigCommon
->
choice
.
setup
->
commonControlResourceSet
;
AssertFatal
(
coreset_id
==
coreset
->
controlResourceSetId
,
"ID of common ss coreset does not correspond to id set in the "
"search space
\n
"
);
return
coreset
;
}
else
{
const
int
n
=
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
->
list
.
count
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
{
NR_ControlResourceSet_t
*
coreset
=
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
->
list
.
array
[
i
];
if
(
coreset_id
==
coreset
->
controlResourceSetId
)
{
return
coreset
;
}
}
AssertFatal
(
0
,
"Couldn't find coreset with id %ld
\n
"
,
coreset_id
);
}
}
NR_SearchSpace_t
*
get_searchspace
(
...
...
@@ -476,11 +477,12 @@ void nr_fill_nfapi_dl_pdu(int Mod_idP,
int
NrOfSymbols
,
int
harq_pid
,
int
ndi
,
int
round
)
{
int
round
,
int
UE_beam_index
)
{
gNB_MAC_INST
*
nr_mac
=
RC
.
nrmac
[
Mod_idP
];
NR_COMMON_channels_t
*
cc
=
nr_mac
->
common_channels
;
NR_ServingCellConfigCommon_t
*
scc
=
cc
->
ServingCellConfigCommon
;
const
int
bwp_id
=
sched_ctrl
->
active_bwp
->
bwp_Id
;
const
int
nrOfLayers
=
1
;
const
int
mcs
=
sched_ctrl
->
mcs
;
...
...
@@ -629,15 +631,15 @@ void nr_fill_nfapi_dl_pdu(int Mod_idP,
bwp
);
nr_configure_dci
(
nr_mac
,
pdcch_pdu_rel15
,
RA_
rnti
,
ss
,
coreset
,
scc
,
bwp
,
ra
->
beam_id
,
rnti
,
sched_ctrl
->
search_space
,
sched_ctrl
->
coreset
,
scc
,
bwp
,
UE_beam_index
,
sched_ctrl
->
aggregation_level
,
sched_ctrl
->
cce_index
);
pdcch_pdu_rel15
->
numDlDci
++
;
int
dci_formats
[
2
];
int
rnti_types
[
2
];
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
d3de1feb
...
...
@@ -155,7 +155,8 @@ void nr_fill_nfapi_dl_pdu(int Mod_id,
int
NrOfSymbols
,
int
harq_pid
,
int
ndi
,
int
round
);
int
round
,
int
UE_beam_index
);
void
nr_rx_acknack
(
nfapi_nr_uci_pusch_pdu_t
*
uci_pusch
,
nfapi_nr_uci_pucch_pdu_format_0_1_t
*
uci_01
,
...
...
@@ -248,7 +249,7 @@ void nr_configure_dci(gNB_MAC_INST *nr_mac,
NR_ControlResourceSet_t
*
coreset
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_BWP_Downlink_t
*
bwp
,
uint8_t
beam_index
,
uint8_t
beam_index
,
uint8_t
aggregation_level
,
int
CCEIndex
);
...
...
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