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
wangwenhui
OpenXG-RAN
Commits
77e2a5aa
Commit
77e2a5aa
authored
Sep 21, 2020
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplify allocate_rn_CCEs()
parent
5efe4751
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
12 additions
and
25 deletions
+12
-25
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+1
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+1
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+2
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+7
-15
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+1
-2
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
77e2a5aa
...
@@ -689,8 +689,7 @@ void nr_generate_Msg2(module_id_t module_idP,
...
@@ -689,8 +689,7 @@ void nr_generate_Msg2(module_id_t module_idP,
bwp
,
bwp
,
coreset
,
coreset
,
aggregation_level
,
aggregation_level
,
ss
->
searchSpaceType
->
present
-
1
,
// 0 common, 1 ue-specific
0
,
/* n_RNTI 0: common search space */
UE_id
,
0
);
// m
0
);
// m
if
(
CCEIndex
<
0
)
{
if
(
CCEIndex
<
0
)
{
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
77e2a5aa
...
@@ -494,8 +494,7 @@ void nr_simple_dlsch_preprocessor(module_id_t module_id,
...
@@ -494,8 +494,7 @@ void nr_simple_dlsch_preprocessor(module_id_t module_id,
sched_ctrl
->
active_bwp
,
sched_ctrl
->
active_bwp
,
sched_ctrl
->
coreset
,
sched_ctrl
->
coreset
,
sched_ctrl
->
aggregation_level
,
sched_ctrl
->
aggregation_level
,
sched_ctrl
->
search_space
->
searchSpaceType
->
present
-
1
,
UE_info
->
rnti
[
UE_id
],
UE_id
,
0
);
// m
0
);
// m
if
(
sched_ctrl
->
cce_index
<
0
)
{
if
(
sched_ctrl
->
cce_index
<
0
)
{
LOG_E
(
MAC
,
"%s(): could not find CCE for UE %d
\n
"
,
__func__
,
UE_id
);
LOG_E
(
MAC
,
"%s(): could not find CCE for UE %d
\n
"
,
__func__
,
UE_id
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
77e2a5aa
...
@@ -422,8 +422,7 @@ int configure_fapi_dl_pdu_phytest(int Mod_idP,
...
@@ -422,8 +422,7 @@ int configure_fapi_dl_pdu_phytest(int Mod_idP,
bwp
,
bwp
,
coreset
,
coreset
,
aggregation_level
,
aggregation_level
,
ss
->
searchSpaceType
->
present
-
1
,
// 0 common, 1 ue-specific
UE_info
->
rnti
[
UE_id
],
UE_id
,
0
);
// m
0
);
// m
if
(
CCEIndex
<
0
)
{
if
(
CCEIndex
<
0
)
{
LOG_E
(
MAC
,
"%s(): CCE list not empty, couldn't schedule PDSCH
\n
"
,
__func__
);
LOG_E
(
MAC
,
"%s(): CCE list not empty, couldn't schedule PDSCH
\n
"
,
__func__
);
...
@@ -1114,8 +1113,7 @@ void schedule_fapi_ul_pdu(int Mod_idP,
...
@@ -1114,8 +1113,7 @@ void schedule_fapi_ul_pdu(int Mod_idP,
bwp
,
bwp
,
coreset
,
coreset
,
aggregation_level
,
aggregation_level
,
ss
->
searchSpaceType
->
present
-
1
,
// 0 common, 1 ue-specific
UE_info
->
rnti
[
UE_id
],
UE_id
,
0
);
// m
0
);
// m
if
(
CCEIndex
<
0
)
{
if
(
CCEIndex
<
0
)
{
LOG_E
(
MAC
,
"%s(): CCE list not empty, couldn't schedule PUSCH
\n
"
,
__func__
);
LOG_E
(
MAC
,
"%s(): CCE list not empty, couldn't schedule PUSCH
\n
"
,
__func__
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
77e2a5aa
...
@@ -173,17 +173,12 @@ int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
...
@@ -173,17 +173,12 @@ int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
NR_BWP_Downlink_t
*
bwp
,
NR_BWP_Downlink_t
*
bwp
,
NR_ControlResourceSet_t
*
coreset
,
NR_ControlResourceSet_t
*
coreset
,
int
aggregation
,
int
aggregation
,
int
search_space
,
// 0 common, 1 ue-specific
uint16_t
n_RNTI
,
int
UE_id
,
int
m
)
{
int
m
)
{
// uncomment these when we allocate for common search space
// uncomment these when we allocate for common search space
// NR_COMMON_channels_t *cc = nr_mac->common_channels;
// NR_COMMON_channels_t *cc = nr_mac->common_channels;
// NR_ServingCellConfigCommon_t *scc = cc->ServingCellConfigCommon;
// NR_ServingCellConfigCommon_t *scc = cc->ServingCellConfigCommon;
NR_UE_info_t
*
UE_info
=
&
nr_mac
->
UE_info
;
AssertFatal
(
UE_info
->
active
[
UE_id
],
"UE_id %d is not active
\n
"
,
UE_id
);
int
coreset_id
=
coreset
->
controlResourceSetId
;
int
coreset_id
=
coreset
->
controlResourceSetId
;
int
*
cce_list
=
nr_mac
->
cce_list
[
bwp
->
bwp_Id
][
coreset_id
];
int
*
cce_list
=
nr_mac
->
cce_list
[
bwp
->
bwp_Id
][
coreset_id
];
...
@@ -195,17 +190,14 @@ int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
...
@@ -195,17 +190,14 @@ int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
n_rb
*=
6
;
n_rb
*=
6
;
uint16_t
N_reg
=
n_rb
*
coreset
->
duration
;
uint16_t
N_reg
=
n_rb
*
coreset
->
duration
;
uint16_t
Y
=
0
,
N_cce
,
M_s_max
,
n_CI
=
0
;
uint16_t
n_CI
=
0
;
uint16_t
n_RNTI
=
search_space
==
1
?
UE_info
->
rnti
[
UE_id
]
:
0
;
const
uint32_t
A
[
3
]
=
{
39827
,
39829
,
39839
};
uint32_t
A
[
3
]
=
{
39827
,
39829
,
39839
};
/* if n_RNTI is zero, this results in zero, too! */
uint16_t
Y
=
(
A
[
0
]
*
n_RNTI
)
%
65537
;
// Candidate 0, antenna port 0
N_cce
=
N_reg
/
NR_NB_REG_PER_CCE
;
uint16_t
N_cce
=
N_reg
/
NR_NB_REG_PER_CCE
;
M_s_max
=
(
aggregation
==
4
)
?
4
:
(
aggregation
==
8
)
?
2
:
1
;
uint16_t
M_s_max
=
(
aggregation
==
4
)
?
4
:
(
aggregation
==
8
)
?
2
:
1
;
if
(
search_space
==
1
)
{
Y
=
(
A
[
0
]
*
n_RNTI
)
%
65537
;
// Candidate 0, antenna port 0
}
int
first_cce
=
aggregation
*
((
Y
+
(
m
*
N_cce
)
/
(
aggregation
*
M_s_max
)
+
n_CI
)
%
CEILIDIV
(
N_cce
,
aggregation
));
int
first_cce
=
aggregation
*
((
Y
+
(
m
*
N_cce
)
/
(
aggregation
*
M_s_max
)
+
n_CI
)
%
CEILIDIV
(
N_cce
,
aggregation
));
for
(
int
i
=
0
;
i
<
aggregation
;
i
++
)
for
(
int
i
=
0
;
i
<
aggregation
;
i
++
)
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
77e2a5aa
...
@@ -311,8 +311,7 @@ int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
...
@@ -311,8 +311,7 @@ int allocate_nr_CCEs(gNB_MAC_INST *nr_mac,
NR_BWP_Downlink_t
*
bwp
,
NR_BWP_Downlink_t
*
bwp
,
NR_ControlResourceSet_t
*
coreset
,
NR_ControlResourceSet_t
*
coreset
,
int
aggregation
,
int
aggregation
,
int
search_space
,
// 0 common, 1 ue-specific
uint16_t
n_RNTI
,
int
UE_id
,
int
m
);
int
m
);
int
get_dlscs
(
nfapi_nr_config_request_t
*
cfg
);
int
get_dlscs
(
nfapi_nr_config_request_t
*
cfg
);
...
...
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