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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG-RAN
Commits
83d46bb5
Commit
83d46bb5
authored
Feb 09, 2024
by
Jaroslava Fiedlerova
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/NR_UE_rework_LC_config' into integration_2024_w06
parents
2b796874
f3c61b12
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
182 additions
and
205 deletions
+182
-205
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+81
-99
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+10
-13
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+2
-2
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
+7
-7
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+82
-84
No files found.
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
83d46bb5
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
83d46bb5
...
@@ -181,12 +181,10 @@ typedef struct {
...
@@ -181,12 +181,10 @@ typedef struct {
int32_t
LCID_buffer_remain
;
int32_t
LCID_buffer_remain
;
// buffer status for each lcid
// buffer status for each lcid
uint8_t
LCID_status
;
uint8_t
LCID_status
;
// Bj bucket usage per lcid
// logical channel group id of this LCID
long
LCGID
;
// Bj bucket usage per lcid
int32_t
Bj
;
int32_t
Bj
;
// Bucket size per lcid
int32_t
bucket_size
;
// logical channel group id for each LCID
uint8_t
LCGID
;
}
NR_LC_SCHEDULING_INFO
;
}
NR_LC_SCHEDULING_INFO
;
typedef
struct
{
typedef
struct
{
...
@@ -434,10 +432,11 @@ typedef struct ssb_list_info {
...
@@ -434,10 +432,11 @@ typedef struct ssb_list_info {
typedef
struct
nr_lcordered_info_s
{
typedef
struct
nr_lcordered_info_s
{
// logical channels ids ordered as per priority
// logical channels ids ordered as per priority
int
lcids_ordered
;
NR_LogicalChannelIdentity_t
lcid
;
long
priority
;
// logical channel configurations reordered as per priority
long
prioritisedBitRate
;
NR_LogicalChannelConfig_t
*
logicalChannelConfig_ordered
;
// Bucket size per lcid
uint32_t
bucket_size
;
}
nr_lcordered_info_t
;
}
nr_lcordered_info_t
;
typedef
struct
{
typedef
struct
{
...
@@ -513,11 +512,9 @@ typedef struct NR_UE_MAC_INST_s {
...
@@ -513,11 +512,9 @@ typedef struct NR_UE_MAC_INST_s {
/// BSR report flag management
/// BSR report flag management
uint8_t
BSR_reporting_active
;
uint8_t
BSR_reporting_active
;
// Pointers to LogicalChannelConfig indexed by LogicalChannelIdentity. Note NULL means LCHAN is inactive.
NR_LogicalChannelConfig_t
*
logicalChannelConfig
[
NR_MAX_NUM_LCID
];
// order lc info
// order lc info
nr_lcordered_info_t
lc_ordered_info
[
NR_MAX_NUM_LCID
];
A_SEQUENCE_OF
(
nr_lcordered_info_t
)
lc_ordered_list
;
NR_UE_SCHEDULING_INFO
scheduling_info
;
NR_UE_SCHEDULING_INFO
scheduling_info
;
/// PHR
/// PHR
...
...
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
83d46bb5
...
@@ -239,12 +239,12 @@ bool nr_update_bsr(module_id_t module_idP, frame_t frameP, slot_t slotP, uint8_t
...
@@ -239,12 +239,12 @@ bool nr_update_bsr(module_id_t module_idP, frame_t frameP, slot_t slotP, uint8_t
uint8_t
nr_locate_BsrIndexByBufferSize
(
const
uint32_t
*
table
,
int
size
,
uint8_t
nr_locate_BsrIndexByBufferSize
(
const
uint32_t
*
table
,
int
size
,
int
value
);
int
value
);
/*! \fn int nr_get_pbr(
uint8_t
prioritizedbitrate)
/*! \fn int nr_get_pbr(
long
prioritizedbitrate)
\brief get the rate in kbps from the rate configured by the higher layer
\brief get the rate in kbps from the rate configured by the higher layer
\param[in] prioritizedbitrate
\param[in] prioritizedbitrate
\return the rate in kbps
\return the rate in kbps
*/
*/
uint32_t
nr_get_pbr
(
uint8_t
prioritizedbitrate
);
uint32_t
nr_get_pbr
(
long
prioritizedbitrate
);
/*! \fn int nr_get_sf_periodicBSRTimer(uint8_t periodicBSR_Timer)
/*! \fn int nr_get_sf_periodicBSRTimer(uint8_t periodicBSR_Timer)
\brief get the number of subframe from the periodic BSR timer configured by the higher layers
\brief get the number of subframe from the periodic BSR timer configured by the higher layers
...
...
openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
View file @
83d46bb5
...
@@ -99,11 +99,9 @@ void nr_ue_mac_default_configs(NR_UE_MAC_INST_t *mac)
...
@@ -99,11 +99,9 @@ void nr_ue_mac_default_configs(NR_UE_MAC_INST_t *mac)
for
(
int
i
=
0
;
i
<
NR_MAX_NUM_LCID
;
i
++
)
{
for
(
int
i
=
0
;
i
<
NR_MAX_NUM_LCID
;
i
++
)
{
LOG_D
(
NR_MAC
,
"Applying default logical channel config for LCGID %d
\n
"
,
i
);
LOG_D
(
NR_MAC
,
"Applying default logical channel config for LCGID %d
\n
"
,
i
);
mac
->
scheduling_info
.
lc_sched_info
[
i
].
Bj
=
-
1
;
mac
->
scheduling_info
.
lc_sched_info
[
i
].
bucket_size
=
-
1
;
mac
->
scheduling_info
.
lc_sched_info
[
i
].
LCGID
=
0
;
// defaults to 0 irrespective of SRB or DRB
mac
->
scheduling_info
.
lc_sched_info
[
i
].
LCID_status
=
LCID_EMPTY
;
mac
->
scheduling_info
.
lc_sched_info
[
i
].
LCID_status
=
LCID_EMPTY
;
mac
->
scheduling_info
.
lc_sched_info
[
i
].
LCID_buffer_remain
=
0
;
mac
->
scheduling_info
.
lc_sched_info
[
i
].
LCID_buffer_remain
=
0
;
mac
->
scheduling_info
.
lc_sched_info
[
i
].
Bj
=
0
;
}
}
}
}
...
@@ -146,7 +144,8 @@ void reset_mac_inst(NR_UE_MAC_INST_t *nr_mac)
...
@@ -146,7 +144,8 @@ void reset_mac_inst(NR_UE_MAC_INST_t *nr_mac)
nr_ue_mac_default_configs
(
nr_mac
);
nr_ue_mac_default_configs
(
nr_mac
);
// initialize Bj for each logical channel to zero
// initialize Bj for each logical channel to zero
// Done in default config but to -1 (is that correct?)
for
(
int
i
=
0
;
i
<
NR_MAX_NUM_LCID
;
i
++
)
nr_mac
->
scheduling_info
.
lc_sched_info
[
i
].
Bj
=
0
;
// stop all running timers
// stop all running timers
// TODO
// TODO
...
@@ -221,9 +220,10 @@ void release_mac_configuration(NR_UE_MAC_INST_t *mac)
...
@@ -221,9 +220,10 @@ void release_mac_configuration(NR_UE_MAC_INST_t *mac)
for
(
int
i
=
0
;
i
<
mac
->
ul_BWPs
.
count
;
i
++
)
for
(
int
i
=
0
;
i
<
mac
->
ul_BWPs
.
count
;
i
++
)
release_ul_BWP
(
mac
,
i
);
release_ul_BWP
(
mac
,
i
);
for
(
int
i
=
0
;
i
<
NR_MAX_NUM_LCID
;
i
++
)
{
for
(
int
i
=
0
;
i
<
mac
->
lc_ordered_list
.
count
;
i
++
)
{
nr_release_mac_config_logicalChannelBearer
(
mac
,
i
+
1
);
nr_lcordered_info_t
*
lc_info
=
mac
->
lc_ordered_list
.
array
[
i
];
memset
(
&
mac
->
lc_ordered_info
[
i
],
0
,
sizeof
(
nr_lcordered_info_t
));
asn_sequence_del
(
&
mac
->
lc_ordered_list
,
i
,
0
);
free
(
lc_info
);
}
}
memset
(
&
mac
->
ssb_measurements
,
0
,
sizeof
(
mac
->
ssb_measurements
));
memset
(
&
mac
->
ssb_measurements
,
0
,
sizeof
(
mac
->
ssb_measurements
));
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
83d46bb5
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