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
常顺宇
OpenXG-RAN
Commits
06e700a0
Commit
06e700a0
authored
5 years ago
by
Francesco Mani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bitmap for scheduling dlsch and ulsch in UE list
parent
84bed899
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
19 deletions
+25
-19
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+22
-15
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+3
-4
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
06e700a0
...
@@ -326,6 +326,11 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
...
@@ -326,6 +326,11 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
protocol_ctxt_t
ctxt
;
protocol_ctxt_t
ctxt
;
int
CC_id
;
int
CC_id
;
int
UE_id
;
uint64_t
*
dlsch_in_slot_bitmap
=
NULL
;
uint64_t
*
ulsch_in_slot_bitmap
=
NULL
;
if
(
phy_test
)
UE_id
=
0
;
NR_COMMON_channels_t
*
cc
=
RC
.
nrmac
[
module_idP
]
->
common_channels
;
NR_COMMON_channels_t
*
cc
=
RC
.
nrmac
[
module_idP
]
->
common_channels
;
...
@@ -340,11 +345,12 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
...
@@ -340,11 +345,12 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
RC
.
nrmac
[
module_idP
]
->
frame
=
frame_rxP
;
RC
.
nrmac
[
module_idP
]
->
frame
=
frame_rxP
;
RC
.
nrmac
[
module_idP
]
->
slot
=
slot_rxP
;
RC
.
nrmac
[
module_idP
]
->
slot
=
slot_rxP
;
uint64_t
*
dlsch_in_slot_bitmap
=
&
RC
.
nrmac
[
module_idP
]
->
dlsch_in_slot_bitmap
;
// static bitmap signaling which slot in a tdd period contains dlsch
if
(
phy_test
)
{
uint64_t
*
ulsch_in_slot_bitmap
=
&
RC
.
nrmac
[
module_idP
]
->
ulsch_in_slot_bitmap
;
// static bitmap signaling which slot in a tdd period contains ulsch
dlsch_in_slot_bitmap
=
&
RC
.
nrmac
[
module_idP
]
->
UE_list
.
dlsch_in_slot_bitmap
[
UE_id
];
// static bitmap signaling which slot in a tdd period contains dlsch
ulsch_in_slot_bitmap
=
&
RC
.
nrmac
[
module_idP
]
->
UE_list
.
ulsch_in_slot_bitmap
[
UE_id
];
// static bitmap signaling which slot in a tdd period contains ulsch
// hardcoding dlsch to be in slot 1
// hardcoding dlsch to be in slot 1
if
(
phy_test
&&
!
(
slot_txP
%
cc
->
num_slots_per_tdd
))
{
if
(
!
(
slot_txP
%
cc
->
num_slots_per_tdd
))
{
if
(
slot_txP
==
0
)
if
(
slot_txP
==
0
)
*
dlsch_in_slot_bitmap
=
0x02
;
*
dlsch_in_slot_bitmap
=
0x02
;
else
else
...
@@ -352,12 +358,13 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
...
@@ -352,12 +358,13 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
}
}
// hardcoding ulsch to be in slot 8
// hardcoding ulsch to be in slot 8
if
(
phy_test
&&
!
(
slot_rxP
%
cc
->
num_slots_per_tdd
))
{
if
(
!
(
slot_rxP
%
cc
->
num_slots_per_tdd
))
{
if
(
slot_rxP
==
0
)
if
(
slot_rxP
==
0
)
*
ulsch_in_slot_bitmap
=
0x100
;
*
ulsch_in_slot_bitmap
=
0x100
;
else
else
*
ulsch_in_slot_bitmap
=
0x00
;
*
ulsch_in_slot_bitmap
=
0x00
;
}
}
}
// Check if there are downlink symbols in the slot,
// Check if there are downlink symbols in the slot,
if
(
is_nr_DL_slot
(
cc
->
ServingCellConfigCommon
,
slot_txP
))
{
if
(
is_nr_DL_slot
(
cc
->
ServingCellConfigCommon
,
slot_txP
))
{
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
06e700a0
...
@@ -122,9 +122,11 @@ typedef struct {
...
@@ -122,9 +122,11 @@ typedef struct {
boolean_t
active
[
MAX_MOBILES_PER_GNB
];
boolean_t
active
[
MAX_MOBILES_PER_GNB
];
rnti_t
rnti
[
MAX_MOBILES_PER_GNB
];
rnti_t
rnti
[
MAX_MOBILES_PER_GNB
];
NR_CellGroupConfig_t
*
secondaryCellGroup
[
MAX_MOBILES_PER_GNB
];
NR_CellGroupConfig_t
*
secondaryCellGroup
[
MAX_MOBILES_PER_GNB
];
uint64_t
dlsch_in_slot_bitmap
[
MAX_MOBILES_PER_GNB
];
// static bitmap signaling which slot in a tdd period contains dlsch
uint64_t
ulsch_in_slot_bitmap
[
MAX_MOBILES_PER_GNB
];
// static bitmap signaling which slot in a tdd period contains ulsch
}
NR_UE_list_t
;
}
NR_UE_list_t
;
/*! \brief top level
e
NB MAC structure */
/*! \brief top level
g
NB MAC structure */
typedef
struct
gNB_MAC_INST_s
{
typedef
struct
gNB_MAC_INST_s
{
/// Ethernet parameters for northbound midhaul interface
/// Ethernet parameters for northbound midhaul interface
eth_params_t
eth_params_n
;
eth_params_t
eth_params_n
;
...
@@ -155,9 +157,6 @@ typedef struct gNB_MAC_INST_s {
...
@@ -155,9 +157,6 @@ typedef struct gNB_MAC_INST_s {
nfapi_nr_tx_data_request_t
TX_req
[
NFAPI_CC_MAX
];
nfapi_nr_tx_data_request_t
TX_req
[
NFAPI_CC_MAX
];
NR_UE_list_t
UE_list
;
NR_UE_list_t
UE_list
;
uint64_t
dlsch_in_slot_bitmap
;
// static bitmap signaling which slot in a tdd period contains dlsch
uint64_t
ulsch_in_slot_bitmap
;
// static bitmap signaling which slot in a tdd period contains ulsch
/// UL handle
/// UL handle
uint32_t
ul_handle
;
uint32_t
ul_handle
;
...
...
This diff is collapsed.
Click to expand it.
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