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
909f0ad4
Commit
909f0ad4
authored
Dec 15, 2021
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changing the name of a function
parent
366c42e6
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
20 additions
and
20 deletions
+20
-20
common/utils/nr/nr_common.c
common/utils/nr/nr_common.c
+1
-1
common/utils/nr/nr_common.h
common/utils/nr/nr_common.h
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+5
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+11
-11
No files found.
common/utils/nr/nr_common.c
View file @
909f0ad4
...
...
@@ -473,7 +473,7 @@ int get_subband_size(int NPRB,int size) {
}
// from start symbol index and nb or symbols to symbol occupation bitmap in a slot
uint16_t
startandlength_to_bitmat
(
int
startSymbolIndex
,
int
nrOfSymbols
)
{
uint16_t
SL_to_bitmap
(
int
startSymbolIndex
,
int
nrOfSymbols
)
{
return
(((
1
<<
nrOfSymbols
)
-
1
)
<<
startSymbolIndex
);
}
...
...
common/utils/nr/nr_common.h
View file @
909f0ad4
...
...
@@ -71,7 +71,7 @@ uint32_t nr_get_code_rate(uint8_t Imcs, uint8_t table_idx);
int
get_subband_size
(
int
NPRB
,
int
size
);
void
SLIV2SL
(
int
SLIV
,
int
*
S
,
int
*
L
);
int
get_dmrs_port
(
int
nl
,
uint16_t
dmrs_ports
);
uint16_t
startandlength_to_bitmat
(
int
startSymbolIndex
,
int
nrOfSymbols
);
uint16_t
SL_to_bitmap
(
int
startSymbolIndex
,
int
nrOfSymbols
);
#define CEILIDIV(a,b) ((a+b-1)/b)
#define ROUNDIDIV(a,b) (((a<<1)+b)/(b<<1))
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
909f0ad4
...
...
@@ -739,7 +739,7 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
int
BWPSize
=
nr_mac
->
type0_PDCCH_CSS_config
[
ra
->
beam_id
].
num_rbs
;
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
]
&
startandlength_to_bitmat
(
StartSymbolIndex
,
NrOfSymbols
))
{
if
(
vrb_map_UL
[
rbStart
+
BWPStart
+
i
]
&
SL_to_bitmap
(
StartSymbolIndex
,
NrOfSymbols
))
{
rbStart
+=
i
;
i
=
0
;
}
...
...
@@ -844,7 +844,7 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
// Mark the corresponding RBs as used
for
(
int
rb
=
0
;
rb
<
ra
->
msg3_nb_rb
;
rb
++
)
{
vrb_map_UL
[
rbStart
+
BWPStart
+
rb
]
|=
startandlength_to_bitmat
(
StartSymbolIndex
,
NrOfSymbols
);
vrb_map_UL
[
rbStart
+
BWPStart
+
rb
]
|=
SL_to_bitmap
(
StartSymbolIndex
,
NrOfSymbols
);
}
// reset state to wait msg3
...
...
@@ -943,11 +943,11 @@ void nr_get_Msg3alloc(module_id_t module_id,
rbStart
+=
rbSize
;
/* last iteration rbSize was not enough, skip it */
rbSize
=
0
;
while
(
rbStart
<
bwpSize
&&
(
vrb_map_UL
[
rbStart
+
bwpStart
]
&
startandlength_to_bitmat
(
StartSymbolIndex
,
NrOfSymbols
)))
(
vrb_map_UL
[
rbStart
+
bwpStart
]
&
SL_to_bitmap
(
StartSymbolIndex
,
NrOfSymbols
)))
rbStart
++
;
AssertFatal
(
rbStart
<
bwpSize
-
msg3_nb_rb
,
"no space to allocate Msg 3 for RA!
\n
"
);
while
(
rbStart
+
rbSize
<
bwpSize
&&
!
(
vrb_map_UL
[
rbStart
+
bwpStart
+
rbSize
]
&
startandlength_to_bitmat
(
StartSymbolIndex
,
NrOfSymbols
))
&&
!
(
vrb_map_UL
[
rbStart
+
bwpStart
+
rbSize
]
&
SL_to_bitmap
(
StartSymbolIndex
,
NrOfSymbols
))
&&
rbSize
<
msg3_nb_rb
)
rbSize
++
;
}
...
...
@@ -1044,7 +1044,7 @@ void nr_add_msg3(module_id_t module_idP, int CC_id, frame_t frameP, sub_frame_t
i
+
ra
->
msg3_first_rb
,
ra
->
Msg3_frame
,
ra
->
Msg3_slot
);
vrb_map_UL
[
i
+
ra
->
msg3_first_rb
+
ra
->
msg3_bwp_start
]
|=
startandlength_to_bitmat
(
ra
->
msg3_startsymb
,
ra
->
msg3_nrsymb
);
vrb_map_UL
[
i
+
ra
->
msg3_first_rb
+
ra
->
msg3_bwp_start
]
|=
SL_to_bitmap
(
ra
->
msg3_startsymb
,
ra
->
msg3_nrsymb
);
}
LOG_D
(
NR_MAC
,
"[gNB %d][RAPROC] Frame %d, Slot %d : CC_id %d RA is active, Msg3 in (%d,%d)
\n
"
,
module_idP
,
frameP
,
slotP
,
CC_id
,
ra
->
Msg3_frame
,
ra
->
Msg3_slot
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
909f0ad4
...
...
@@ -474,7 +474,7 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
uint16_t
*
vrb_map_UL
=
&
RC
.
nrmac
[
module_id
]
->
common_channels
[
CC_id
].
vrb_map_UL
[
sched_slot
*
MAX_BWP_SIZE
];
for
(
int
i
=
rbStart
;
i
<
rbStart
+
rbSize
;
++
i
)
{
if
((
vrb_map_UL
[
i
+
BWPStart
]
&
startandlength_to_bitmat
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
))
!=
0
)
{
if
((
vrb_map_UL
[
i
+
BWPStart
]
&
SL_to_bitmap
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
))
!=
0
)
{
LOG_E
(
MAC
,
"%s(): %4d.%2d RB %d is already reserved, cannot schedule UE
\n
"
,
__func__
,
...
...
@@ -543,6 +543,6 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
/* mark the corresponding RBs as used */
for
(
int
rb
=
rbStart
;
rb
<
rbStart
+
rbSize
;
rb
++
)
vrb_map_UL
[
rb
+
BWPStart
]
|=
startandlength_to_bitmat
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
);
vrb_map_UL
[
rb
+
BWPStart
]
|=
SL_to_bitmap
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
);
return
true
;
}
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
909f0ad4
...
...
@@ -951,7 +951,7 @@ bool allocate_ul_retransmission(module_id_t module_id,
/* Check the resource is enough for retransmission */
while
(
rbStart
<
bwpSize
&&
!
(
rballoc_mask
[
rbStart
]
&
startandlength_to_bitmat
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
)))
!
(
rballoc_mask
[
rbStart
]
&
SL_to_bitmap
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
)))
rbStart
++
;
if
(
rbStart
+
retInfo
->
rbSize
>
bwpSize
)
{
LOG_W
(
NR_MAC
,
"cannot allocate retransmission of UE %d/RNTI %04x: no resources (rbStart %d, retInfo->rbSize %d, bwpSize %d
\n
"
,
UE_id
,
UE_info
->
rnti
[
UE_id
],
rbStart
,
retInfo
->
rbSize
,
bwpSize
);
...
...
@@ -966,11 +966,11 @@ bool allocate_ul_retransmission(module_id_t module_id,
/* the retransmission will use a different time domain allocation, check
* that we have enough resources */
while
(
rbStart
<
bwpSize
&&
!
(
rballoc_mask
[
rbStart
]
&
startandlength_to_bitmat
(
temp_ps
.
startSymbolIndex
,
temp_ps
.
nrOfSymbols
)))
!
(
rballoc_mask
[
rbStart
]
&
SL_to_bitmap
(
temp_ps
.
startSymbolIndex
,
temp_ps
.
nrOfSymbols
)))
rbStart
++
;
int
rbSize
=
0
;
while
(
rbStart
+
rbSize
<
bwpSize
&&
(
rballoc_mask
[
rbStart
+
rbSize
]
&
startandlength_to_bitmat
(
temp_ps
.
startSymbolIndex
,
temp_ps
.
nrOfSymbols
)))
(
rballoc_mask
[
rbStart
+
rbSize
]
&
SL_to_bitmap
(
temp_ps
.
startSymbolIndex
,
temp_ps
.
nrOfSymbols
)))
rbSize
++
;
uint32_t
new_tbs
;
uint16_t
new_rbSize
;
...
...
@@ -1027,7 +1027,7 @@ bool allocate_ul_retransmission(module_id_t module_id,
/* Mark the corresponding RBs as used */
n_rb_sched
-=
sched_pusch
->
rbSize
;
for
(
int
rb
=
0
;
rb
<
sched_ctrl
->
sched_pusch
.
rbSize
;
rb
++
)
rballoc_mask
[
rb
+
sched_ctrl
->
sched_pusch
.
rbStart
]
-=
startandlength_to_bitmat
(
sched_ctrl
->
pusch_semi_static
.
startSymbolIndex
,
sched_ctrl
->
pusch_semi_static
.
nrOfSymbols
);
rballoc_mask
[
rb
+
sched_ctrl
->
sched_pusch
.
rbStart
]
-=
SL_to_bitmap
(
sched_ctrl
->
pusch_semi_static
.
startSymbolIndex
,
sched_ctrl
->
pusch_semi_static
.
nrOfSymbols
);
return
true
;
}
...
...
@@ -1140,7 +1140,7 @@ void pf_ul(module_id_t module_id,
LOG_D
(
NR_MAC
,
"Looking for min_rb %d RBs, starting at %d
\n
"
,
min_rb
,
rbStart
);
while
(
rbStart
<
bwpSize
&&
!
(
rballoc_mask
[
rbStart
]
&
startandlength_to_bitmat
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
)))
!
(
rballoc_mask
[
rbStart
]
&
SL_to_bitmap
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
)))
rbStart
++
;
if
(
rbStart
+
min_rb
>=
bwpSize
)
{
LOG_W
(
NR_MAC
,
"cannot allocate continuous UL data for UE %d/RNTI %04x: no resources (rbStart %d, min_rb %d, bwpSize %d
\n
"
,
...
...
@@ -1166,7 +1166,7 @@ void pf_ul(module_id_t module_id,
/* Mark the corresponding RBs as used */
n_rb_sched
-=
sched_pusch
->
rbSize
;
for
(
int
rb
=
0
;
rb
<
sched_ctrl
->
sched_pusch
.
rbSize
;
rb
++
)
rballoc_mask
[
rb
+
sched_ctrl
->
sched_pusch
.
rbStart
]
-=
startandlength_to_bitmat
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
);
rballoc_mask
[
rb
+
sched_ctrl
->
sched_pusch
.
rbStart
]
-=
SL_to_bitmap
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
);
continue
;
}
...
...
@@ -1237,12 +1237,12 @@ void pf_ul(module_id_t module_id,
update_ul_ue_R_Qm
(
sched_pusch
,
ps
);
while
(
rbStart
<
bwpSize
&&
!
(
rballoc_mask
[
rbStart
]
&
startandlength_to_bitmat
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
)))
!
(
rballoc_mask
[
rbStart
]
&
SL_to_bitmap
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
)))
rbStart
++
;
sched_pusch
->
rbStart
=
rbStart
;
uint16_t
max_rbSize
=
1
;
while
(
rbStart
+
max_rbSize
<
bwpSize
&&
(
rballoc_mask
[
rbStart
+
max_rbSize
]
&&
startandlength_to_bitmat
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
)))
(
rballoc_mask
[
rbStart
+
max_rbSize
]
&&
SL_to_bitmap
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
)))
max_rbSize
++
;
if
(
rbStart
+
min_rb
>=
bwpSize
)
{
...
...
@@ -1273,7 +1273,7 @@ void pf_ul(module_id_t module_id,
/* Mark the corresponding RBs as used */
n_rb_sched
-=
sched_pusch
->
rbSize
;
for
(
int
rb
=
0
;
rb
<
sched_ctrl
->
sched_pusch
.
rbSize
;
rb
++
)
rballoc_mask
[
rb
+
sched_ctrl
->
sched_pusch
.
rbStart
]
-=
startandlength_to_bitmat
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
);
rballoc_mask
[
rb
+
sched_ctrl
->
sched_pusch
.
rbStart
]
-=
SL_to_bitmap
(
ps
->
startSymbolIndex
,
ps
->
nrOfSymbols
);
}
}
...
...
@@ -1342,7 +1342,7 @@ bool nr_fr1_ulsch_preprocessor(module_id_t module_id, frame_t frame, sub_frame_t
const
int
startSymbolAndLength
=
tdaList
->
list
.
array
[
tda
]
->
startSymbolAndLength
;
int
startSymbolIndex
,
nrOfSymbols
;
SLIV2SL
(
startSymbolAndLength
,
&
startSymbolIndex
,
&
nrOfSymbols
);
const
uint16_t
symb
=
startandlength_to_bitmat
(
startSymbolIndex
,
nrOfSymbols
);
const
uint16_t
symb
=
SL_to_bitmap
(
startSymbolIndex
,
nrOfSymbols
);
int
st
=
0
,
e
=
0
,
len
=
0
;
...
...
@@ -1365,7 +1365,7 @@ bool nr_fr1_ulsch_preprocessor(module_id_t module_id, frame_t frame, sub_frame_t
/* Calculate mask: if any RB in vrb_map_UL is blocked (1), the current RB will be 0 */
for
(
int
i
=
0
;
i
<
bwpSize
;
i
++
)
rballoc_mask
[
i
]
=
(
i
>=
st
&&
i
<=
e
)
*
startandlength_to_bitmat
(
startSymbolIndex
,
nrOfSymbols
);
rballoc_mask
[
i
]
=
(
i
>=
st
&&
i
<=
e
)
*
SL_to_bitmap
(
startSymbolIndex
,
nrOfSymbols
);
/* proportional fair scheduling algorithm */
pf_ul
(
module_id
,
...
...
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