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
zzha zzha
OpenXG-RAN
Commits
b0b8c90f
Commit
b0b8c90f
authored
Oct 12, 2023
by
Sriharsha Korada
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
clean up
parent
f248b2fd
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
211 additions
and
216 deletions
+211
-216
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+32
-8
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+3
-3
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+0
-7
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+176
-198
No files found.
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
b0b8c90f
...
...
@@ -539,10 +539,10 @@ void configure_ss_coreset(NR_UE_MAC_INST_t *mac,
mac
->
BWP_coresets
[
i
]
=
NULL
;
}
static
int
lcid_cmp
(
const
void
*
lc
id1
,
const
void
*
lcid
2
,
void
*
mac_inst
)
static
int
lcid_cmp
(
const
void
*
lc
1
,
const
void
*
lc
2
,
void
*
mac_inst
)
{
uint8_t
id1
=
*
(
uint8_t
*
)
lcid1
;
uint8_t
id2
=
*
(
uint8_t
*
)
lcid2
;
uint8_t
id1
=
((
nr_lcordered_info_t
*
)
lc1
)
->
lcids_ordered
;
uint8_t
id2
=
((
nr_lcordered_info_t
*
)
lc2
)
->
lcids_ordered
;
NR_UE_MAC_INST_t
*
mac
=
(
NR_UE_MAC_INST_t
*
)
mac_inst
;
NR_LogicalChannelConfig_t
**
lc_config
=
&
mac
->
logicalChannelConfig
[
0
];
...
...
@@ -564,6 +564,32 @@ void nr_release_mac_config_logicalChannelBearer(module_id_t module_id, long chan
}
}
static
uint16_t
nr_get_ms_bucketsizeduration
(
uint8_t
bucketsizeduration
)
{
switch
(
bucketsizeduration
)
{
case
NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50
:
return
50
;
case
NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms100
:
return
100
;
case
NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms150
:
return
150
;
case
NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms300
:
return
300
;
case
NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms500
:
return
500
;
case
NR_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms1000
:
return
1000
;
default:
return
0
;
}
}
void
nr_configure_mac_config_logicalChannelBearer
(
module_id_t
module_id
,
long
channel_identity
,
NR_LogicalChannelConfig_t
*
lc_config
)
...
...
@@ -610,7 +636,7 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id,
for
(
int
i
=
0
;
i
<
rlc_toadd_list
->
list
.
count
;
i
++
)
{
NR_RLC_BearerConfig_t
*
rlc_bearer
=
rlc_toadd_list
->
list
.
array
[
i
];
int
lc_identity
=
rlc_bearer
->
logicalChannelIdentity
;
mac
->
lc_ordered_info
.
lcids_ordered
[
i
]
=
lc_identity
;
mac
->
lc_ordered_info
[
i
].
lcids_ordered
=
lc_identity
;
NR_LogicalChannelConfig_t
*
mac_lc_config
;
if
(
mac
->
logicalChannelConfig
[
lc_identity
-
1
]
==
NULL
)
{
/* setup of new LCID*/
...
...
@@ -645,14 +671,12 @@ void nr_rrc_mac_config_req_ue_logicalChannelBearer(module_id_t module_id,
continue
;
}
}
mac
->
lc_ordered_info
[
i
].
logicalChannelConfig_ordered
=
mac_lc_config
;
nr_configure_mac_config_logicalChannelBearer
(
module_id
,
lc_identity
,
mac_lc_config
);
}
// reorder the logical channels as per its priority
qsort_r
(
mac
->
lc_ordered_info
.
lcids_ordered
,
rlc_toadd_list
->
list
.
count
,
sizeof
(
uint32_t
),
lcid_cmp
,
mac
);
for
(
uint8_t
i
=
0
;
i
<
rlc_toadd_list
->
list
.
count
;
i
++
)
{
mac
->
lc_ordered_info
.
logicalChannelConfig_ordered
[
i
]
=
mac
->
logicalChannelConfig
[
mac
->
lc_ordered_info
.
lcids_ordered
[
i
]
-
1
];
}
qsort_r
(
mac
->
lc_ordered_info
,
rlc_toadd_list
->
list
.
count
,
sizeof
(
nr_lcordered_info_t
),
lcid_cmp
,
mac
);
}
}
...
...
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
b0b8c90f
...
...
@@ -435,10 +435,10 @@ typedef struct ssb_list_info {
typedef
struct
nr_lcordered_info_s
{
// logical channels ids ordered as per priority
int
lcids_ordered
[
NR_MAX_NUM_LCID
]
;
int
lcids_ordered
;
// logical channel configurations reordered as per priority
NR_LogicalChannelConfig_t
*
logicalChannelConfig_ordered
[
NR_MAX_NUM_LCID
]
;
NR_LogicalChannelConfig_t
*
logicalChannelConfig_ordered
;
}
nr_lcordered_info_t
;
/*!\brief Top level UE MAC structure */
...
...
@@ -529,7 +529,7 @@ typedef struct {
NR_LogicalChannelConfig_t
*
logicalChannelConfig
[
NR_MAX_NUM_LCID
];
// order lc info
nr_lcordered_info_t
lc_ordered_info
;
nr_lcordered_info_t
lc_ordered_info
[
NR_MAX_NUM_LCID
]
;
NR_UE_SCHEDULING_INFO
scheduling_info
;
/// PHR
...
...
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
b0b8c90f
...
...
@@ -155,13 +155,6 @@ uint8_t nr_locate_BsrIndexByBufferSize(const uint32_t *table, int size,
*/
uint32_t
nr_get_pbr
(
uint8_t
prioritizedbitrate
);
/*! \fn int nr_get_ms_bucketsizeduration(uint8_t bucketSizeduration)
\brief get the time in ms from the bucket size duration configured by the higher layer
\param[in] bucketSize the bucket size duration
\return the time in ms
*/
uint16_t
nr_get_ms_bucketsizeduration
(
uint8_t
bucketsizeduration
);
/*! \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
\param[in] periodicBSR_Timer timer for periodic BSR
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
b0b8c90f
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