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
b3581ce1
Commit
b3581ce1
authored
Feb 03, 2025
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
NR UE: simplify calculation of next_tx_slot_and_frame by moving up assignment of duration_rx_to_tx
parent
f1ae1025
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
11 deletions
+4
-11
executables/nr-ue.c
executables/nr-ue.c
+4
-11
No files found.
executables/nr-ue.c
View file @
b3581ce1
...
...
@@ -1110,6 +1110,9 @@ void *UE_thread(void *arg)
shiftForNextFrame
=
ret
;
pushNotifiedFIFO
(
&
UE
->
dl_actors
[
curMsg
.
proc
.
nr_slot_rx
%
NUM_DL_ACTORS
].
fifo
,
newRx
);
// apply new duration next run to avoid thread dead lock
apply_ntn_config
(
UE
,
fp
,
slot_nr
,
&
update_ntn_system_information
,
&
duration_rx_to_tx
,
&
timing_advance
,
&
ntn_koffset
);
// Start TX slot processing here. It runs in parallel with RX slot processing
// in current code, DURATION_RX_TO_TX constant is the limit to get UL data to encode from a RX slot
notifiedFIFO_elt_t
*
newTx
=
newNotifiedFIFO_elt
(
sizeof
(
nr_rxtx_thread_data_t
),
0
,
0
,
processSlotTX
);
...
...
@@ -1123,16 +1126,9 @@ void *UE_thread(void *arg)
int
slot
=
curMsgTx
->
proc
.
nr_slot_tx
;
int
slot_and_frame
=
slot
+
curMsgTx
->
proc
.
frame_tx
*
UE
->
frame_parms
.
slots_per_frame
;
int
next_tx_slot_and_frame
=
absolute_slot
+
duration_rx_to_tx
+
1
;
int
wait_for_prev_slot
=
stream_status
==
STREAM_STATUS_SYNCED
?
1
:
0
;
int
next_duration_rx_to_tx
=
update_ntn_system_information
?
NR_UE_CAPABILITY_SLOT_RX_TO_TX
+
UE
->
ntn_config_message
->
ntn_config_params
.
cell_specific_k_offset
:
duration_rx_to_tx
;
int
next_nr_slot_tx
=
(
absolute_slot
+
next_duration_rx_to_tx
)
%
nb_slot_frame
;
int
next_frame_tx
=
((
absolute_slot
+
next_duration_rx_to_tx
)
/
nb_slot_frame
)
%
MAX_FRAME_NUMBER
;
int
next_tx_slot_and_frame
=
next_nr_slot_tx
+
next_frame_tx
*
UE
->
frame_parms
.
slots_per_frame
+
1
;
dynamic_barrier_t
*
next_barrier
=
&
UE
->
process_slot_tx_barriers
[
next_tx_slot_and_frame
%
NUM_PROCESS_SLOT_TX_BARRIERS
];
curMsgTx
->
next_barrier
=
next_barrier
;
dynamic_barrier_update
(
&
UE
->
process_slot_tx_barriers
[
slot_and_frame
%
NUM_PROCESS_SLOT_TX_BARRIERS
],
...
...
@@ -1141,9 +1137,6 @@ void *UE_thread(void *arg)
newTx
);
stream_status
=
STREAM_STATUS_SYNCED
;
tx_wait_for_dlsch
[
slot
]
=
0
;
// apply new duration next run to avoid thread dead lock
apply_ntn_config
(
UE
,
fp
,
slot_nr
,
&
update_ntn_system_information
,
&
duration_rx_to_tx
,
&
timing_advance
,
&
ntn_koffset
);
}
return
NULL
;
...
...
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