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
c8f960c9
Commit
c8f960c9
authored
Aug 23, 2017
by
khalidhamdy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
edit scheduler for emtc UE
parent
18d57dbb
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
12 deletions
+25
-12
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+13
-8
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+7
-4
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+5
-0
No files found.
openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
View file @
c8f960c9
...
...
@@ -536,6 +536,18 @@ schedule_ue_spec_br(
if
(
mbsfn_flag
[
CC_id
]
>
0
)
continue
;
unsigned
int
rmax
;
unsigned
int
narrowBandindex_index
;
unsigned
int
first_rb
,
rep
,
reps
;
// rmax from RRC connection setup
getRepetition
(
&
UE_list
->
UE_template
[
CC_id
][
UE_id
],
&
rmax
,
&
narrowBandindex_index
);
first_rb
=
narrowband_to_first_rb
(
cc
,
narrowBandindex_index
);
if
(
vrb_map
[
first_rb
]
==
1
)
// skip scheduling emtc UEs if first RB is taken
continue
;
for
(
UE_id
=
UE_list
->
head
;
UE_id
>=
0
;
UE_id
=
UE_list
->
next
[
UE_id
])
{
...
...
@@ -549,14 +561,7 @@ schedule_ue_spec_br(
// at the end of the scheduler make sure the right subbands coresponding to these RBs are allocated the UE in UE_template directely
// also check on the fill_DCI function
unsigned
int
rmax
;
unsigned
int
narrowBandindex_index
;
unsigned
int
first_rb
,
rep
,
reps
;
// rmax from RRC connection setup
getRepetition
(
&
UE_list
->
UE_template
[
CC_id
][
UE_id
],
&
rmax
,
&
narrowBandindex_index
);
first_rb
=
narrowband_to_first_rb
(
cc
,
narrowBandindex_index
);
vrb_map
[
first_rb
]
=
1
;
vrb_map
[
first_rb
+
1
]
=
1
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
View file @
c8f960c9
...
...
@@ -999,6 +999,9 @@ abort();
rb_table_index
--
;
}
//********************************* [khalid] here will make the modification for emtc
TBS
=
get_TBS_UL
(
mcs
,
rb_table
[
rb_table_index
]);
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_rbs_used_rx
+=
rb_table
[
rb_table_index
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
ulsch_TBS
=
TBS
;
...
...
@@ -1016,10 +1019,10 @@ abort();
// bad indices : 20 (40 PRB), 21 (45 PRB), 22 (48 PRB)
// increment for next UE allocation
first_rb
[
CC_id
]
+=
rb_table
[
rb_table_index
];
first_rb
[
CC_id
]
+=
rb_table
[
rb_table_index
];
// khalid just shifting the first rb for next ue to schedule
//store for possible retransmission
UE_template
->
nb_rb_ul
[
harq_pid
]
=
rb_table
[
rb_table_index
];
UE_template
->
first_rb_ul
[
harq_pid
]
=
first_rb
[
CC_id
];
UE_template
->
first_rb_ul
[
harq_pid
]
=
first_rb
[
CC_id
];
// khalid? should store the firsy
UE_sched_ctrl
->
ul_scheduled
|=
(
1
<<
harq_pid
);
if
(
UE_id
==
UE_list
->
head
)
...
...
@@ -1039,7 +1042,7 @@ abort();
hi_dci0_pdu
=
&
hi_dci0_req
->
hi_dci0_pdu_list
[
eNB
->
HI_DCI0_req
[
CC_id
].
hi_dci0_request_body
.
number_of_dci
+
eNB
->
HI_DCI0_req
[
CC_id
].
hi_dci0_request_body
.
number_of_hi
];
memset
((
void
*
)
hi_dci0_pdu
,
0
,
sizeof
(
nfapi_hi_dci0_request_pdu_t
));
hi_dci0_pdu
->
pdu_type
=
NFAPI_HI_DCI0_DCI_PDU_TYPE
;
hi_dci0_pdu
->
pdu_size
=
2
+
sizeof
(
nfapi_hi_dci0_dci_pdu
);
hi_dci0_pdu
->
pdu_size
=
2
+
sizeof
(
nfapi_hi_dci0_dci_pdu
);
// khalid these items in nFapi in
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
dci_format
=
NFAPI_UL_DCI_FORMAT_0
;
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
aggregation_level
=
aggregation
;
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
rnti
=
rnti
;
...
...
@@ -1052,7 +1055,7 @@ abort();
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
new_data_indication_1
=
ndi
;
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
tpc
=
tpc
;
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
cqi_csi_request
=
cqi_req
;
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
dl_assignment_index
=
UE_template
->
DAI_ul
[
sched_subframe
];
hi_dci0_pdu
->
dci_pdu
.
dci_pdu_rel8
.
dl_assignment_index
=
UE_template
->
DAI_ul
[
sched_subframe
];
// khalid valid for TDD only
if
(
!
CCE_allocation_infeasible
(
module_idP
,
CC_id
,
2
,
subframeP
,
aggregation
,
...
...
targets/RT/USER/lte-enb.c
View file @
c8f960c9
...
...
@@ -162,9 +162,14 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
wakeup_prach_eNB_br
(
eNB
,
NULL
,
proc
->
frame_rx
,
proc
->
subframe_rx
);
#endif
}
// khalid begin chain of every thread
// UE-specific RX processing for subframe n
phy_procedures_eNB_uespec_RX
(
eNB
,
proc
,
no_relay
);
/* khalid : detection of MSG3 is simple but seems there is another entity that fill the buffers to this phy_rx chain */
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
eNB
->
UL_INFO
.
frame
=
proc
->
frame_rx
;
eNB
->
UL_INFO
.
subframe
=
proc
->
subframe_rx
;
...
...
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