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
wangjie
OpenXG-RAN
Commits
39defb49
Commit
39defb49
authored
Jun 17, 2021
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
passing nroflayers to nr_find_nb_rb
parent
311b9768
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
10 additions
and
4 deletions
+10
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+2
-0
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+5
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+2
-0
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+1
-0
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
39defb49
...
@@ -491,6 +491,7 @@ bool allocate_dl_retransmission(module_id_t module_id,
...
@@ -491,6 +491,7 @@ bool allocate_dl_retransmission(module_id_t module_id,
uint16_t
new_rbSize
;
uint16_t
new_rbSize
;
bool
success
=
nr_find_nb_rb
(
retInfo
->
Qm
,
bool
success
=
nr_find_nb_rb
(
retInfo
->
Qm
,
retInfo
->
R
,
retInfo
->
R
,
retInfo
->
nrOfLayers
,
temp_ps
.
nrOfSymbols
,
temp_ps
.
nrOfSymbols
,
temp_ps
.
N_PRB_DMRS
*
temp_ps
.
N_DMRS_SLOT
,
temp_ps
.
N_PRB_DMRS
*
temp_ps
.
N_DMRS_SLOT
,
retInfo
->
tb_size
,
retInfo
->
tb_size
,
...
@@ -704,6 +705,7 @@ void pf_dl(module_id_t module_id,
...
@@ -704,6 +705,7 @@ void pf_dl(module_id_t module_id,
+
2
*
(
frame
==
(
sched_ctrl
->
ta_frame
+
10
)
%
1024
);
+
2
*
(
frame
==
(
sched_ctrl
->
ta_frame
+
10
)
%
1024
);
nr_find_nb_rb
(
sched_pdsch
->
Qm
,
nr_find_nb_rb
(
sched_pdsch
->
Qm
,
sched_pdsch
->
R
,
sched_pdsch
->
R
,
sched_pdsch
->
nrOfLayers
,
ps
->
nrOfSymbols
,
ps
->
nrOfSymbols
,
ps
->
N_PRB_DMRS
*
ps
->
N_DMRS_SLOT
,
ps
->
N_PRB_DMRS
*
ps
->
N_DMRS_SLOT
,
sched_ctrl
->
num_total_bytes
+
oh
,
sched_ctrl
->
num_total_bytes
+
oh
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
39defb49
...
@@ -284,6 +284,7 @@ int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
...
@@ -284,6 +284,7 @@ int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
bool
nr_find_nb_rb
(
uint16_t
Qm
,
bool
nr_find_nb_rb
(
uint16_t
Qm
,
uint16_t
R
,
uint16_t
R
,
uint8_t
nrOfLayers
,
uint16_t
nb_symb_sch
,
uint16_t
nb_symb_sch
,
uint16_t
nb_dmrs_prb
,
uint16_t
nb_dmrs_prb
,
uint32_t
bytes
,
uint32_t
bytes
,
...
@@ -293,7 +294,7 @@ bool nr_find_nb_rb(uint16_t Qm,
...
@@ -293,7 +294,7 @@ bool nr_find_nb_rb(uint16_t Qm,
{
{
/* is the maximum (not even) enough? */
/* is the maximum (not even) enough? */
*
nb_rb
=
nb_rb_max
;
*
nb_rb
=
nb_rb_max
;
*
tbs
=
nr_compute_tbs
(
Qm
,
R
,
*
nb_rb
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
1
)
>>
3
;
*
tbs
=
nr_compute_tbs
(
Qm
,
R
,
*
nb_rb
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
nrOfLayers
)
>>
3
;
/* check whether it does not fit, or whether it exactly fits. Some algorithms
/* check whether it does not fit, or whether it exactly fits. Some algorithms
* might depend on the return value! */
* might depend on the return value! */
if
(
bytes
>
*
tbs
)
if
(
bytes
>
*
tbs
)
...
@@ -303,7 +304,7 @@ bool nr_find_nb_rb(uint16_t Qm,
...
@@ -303,7 +304,7 @@ bool nr_find_nb_rb(uint16_t Qm,
/* is the minimum enough? */
/* is the minimum enough? */
*
nb_rb
=
1
;
*
nb_rb
=
1
;
*
tbs
=
nr_compute_tbs
(
Qm
,
R
,
*
nb_rb
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
1
)
>>
3
;
*
tbs
=
nr_compute_tbs
(
Qm
,
R
,
*
nb_rb
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
nrOfLayers
)
>>
3
;
if
(
bytes
<=
*
tbs
)
if
(
bytes
<=
*
tbs
)
return
true
;
return
true
;
...
@@ -312,7 +313,7 @@ bool nr_find_nb_rb(uint16_t Qm,
...
@@ -312,7 +313,7 @@ bool nr_find_nb_rb(uint16_t Qm,
int
hi
=
nb_rb_max
;
int
hi
=
nb_rb_max
;
int
lo
=
1
;
int
lo
=
1
;
for
(
int
p
=
(
hi
+
lo
)
/
2
;
lo
+
1
<
hi
;
p
=
(
hi
+
lo
)
/
2
)
{
for
(
int
p
=
(
hi
+
lo
)
/
2
;
lo
+
1
<
hi
;
p
=
(
hi
+
lo
)
/
2
)
{
const
uint32_t
TBS
=
nr_compute_tbs
(
Qm
,
R
,
p
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
1
)
>>
3
;
const
uint32_t
TBS
=
nr_compute_tbs
(
Qm
,
R
,
p
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
nrOfLayers
)
>>
3
;
if
(
bytes
==
TBS
)
{
if
(
bytes
==
TBS
)
{
hi
=
p
;
hi
=
p
;
break
;
break
;
...
@@ -323,7 +324,7 @@ bool nr_find_nb_rb(uint16_t Qm,
...
@@ -323,7 +324,7 @@ bool nr_find_nb_rb(uint16_t Qm,
}
}
}
}
*
nb_rb
=
hi
;
*
nb_rb
=
hi
;
*
tbs
=
nr_compute_tbs
(
Qm
,
R
,
*
nb_rb
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
1
)
>>
3
;
*
tbs
=
nr_compute_tbs
(
Qm
,
R
,
*
nb_rb
,
nb_symb_sch
,
nb_dmrs_prb
,
0
,
0
,
nrOfLayers
)
>>
3
;
/* return whether we could allocate all bytes and stay below nb_rb_max */
/* return whether we could allocate all bytes and stay below nb_rb_max */
return
*
tbs
>=
bytes
&&
*
nb_rb
<=
nb_rb_max
;
return
*
tbs
>=
bytes
&&
*
nb_rb
<=
nb_rb_max
;
}
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
39defb49
...
@@ -889,6 +889,7 @@ bool allocate_ul_retransmission(module_id_t module_id,
...
@@ -889,6 +889,7 @@ bool allocate_ul_retransmission(module_id_t module_id,
uint16_t
new_rbSize
;
uint16_t
new_rbSize
;
bool
success
=
nr_find_nb_rb
(
retInfo
->
Qm
,
bool
success
=
nr_find_nb_rb
(
retInfo
->
Qm
,
retInfo
->
R
,
retInfo
->
R
,
1
,
// layers
temp_ps
.
nrOfSymbols
,
temp_ps
.
nrOfSymbols
,
temp_ps
.
N_PRB_DMRS
*
temp_ps
.
num_dmrs_symb
,
temp_ps
.
N_PRB_DMRS
*
temp_ps
.
num_dmrs_symb
,
retInfo
->
tb_size
,
retInfo
->
tb_size
,
...
@@ -1146,6 +1147,7 @@ void pf_ul(module_id_t module_id,
...
@@ -1146,6 +1147,7 @@ void pf_ul(module_id_t module_id,
uint32_t
TBS
=
0
;
uint32_t
TBS
=
0
;
nr_find_nb_rb
(
sched_pusch
->
Qm
,
nr_find_nb_rb
(
sched_pusch
->
Qm
,
sched_pusch
->
R
,
sched_pusch
->
R
,
1
,
// layers
ps
->
nrOfSymbols
,
ps
->
nrOfSymbols
,
ps
->
N_PRB_DMRS
*
ps
->
num_dmrs_symb
,
ps
->
N_PRB_DMRS
*
ps
->
num_dmrs_symb
,
B
,
B
,
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
39defb49
...
@@ -426,6 +426,7 @@ bool find_free_CCE(module_id_t module_id, sub_frame_t slot, int UE_id);
...
@@ -426,6 +426,7 @@ bool find_free_CCE(module_id_t module_id, sub_frame_t slot, int UE_id);
bool
nr_find_nb_rb
(
uint16_t
Qm
,
bool
nr_find_nb_rb
(
uint16_t
Qm
,
uint16_t
R
,
uint16_t
R
,
uint8_t
nrOfLayers
,
uint16_t
nb_symb_sch
,
uint16_t
nb_symb_sch
,
uint16_t
nb_dmrs_prb
,
uint16_t
nb_dmrs_prb
,
uint32_t
bytes
,
uint32_t
bytes
,
...
...
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