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
987363b8
Commit
987363b8
authored
Feb 14, 2022
by
Melissa Elkadi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clean up for MR
parent
df06a1e8
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
56 additions
and
137 deletions
+56
-137
executables/nr-ue.c
executables/nr-ue.c
+4
-4
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
+12
-34
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
+7
-7
openair2/LAYER2/NR_MAC_UE/mac_defs.h
openair2/LAYER2/NR_MAC_UE/mac_defs.h
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+20
-61
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+12
-30
No files found.
executables/nr-ue.c
View file @
987363b8
...
...
@@ -201,11 +201,11 @@ static void process_queued_nr_nfapi_msgs(NR_UE_MAC_INST_t *mac, int sfn_slot)
nfapi_nr_dl_tti_request_t
*
dl_tti_request
=
get_queue
(
&
nr_dl_tti_req_queue
);
nfapi_nr_ul_dci_request_t
*
ul_dci_request
=
get_queue
(
&
nr_ul_dci_req_queue
);
for
(
int
i
=
0
;
i
<
16
;
i
++
)
{
for
(
int
i
=
0
;
i
<
NR_MAX_HARQ_PROCESSES
;
i
++
)
{
LOG_D
(
NR_MAC
,
"Try to get a ul_tti_req by matching CRC active SFN %d/SLOT %d from queue with %lu items
\n
"
,
NFAPI_SFNSLOT2SFN
(
mac
->
nr_ue_emul_l1
.
harq
[
i
].
crc_rx_ind
_sfn_slot
),
NFAPI_SFNSLOT2SLOT
(
mac
->
nr_ue_emul_l1
.
harq
[
i
].
crc_rx_ind
_sfn_slot
),
nr_ul_tti_req_queue
.
num_items
);
nfapi_nr_ul_tti_request_t
*
ul_tti_request_crc
=
unqueue_matching
(
&
nr_ul_tti_req_queue
,
MAX_QUEUE_SIZE
,
sfn_slot_matcher
,
&
mac
->
nr_ue_emul_l1
.
harq
[
i
].
crc_rx_ind
_sfn_slot
);
NFAPI_SFNSLOT2SFN
(
mac
->
nr_ue_emul_l1
.
harq
[
i
].
active_ul_harq
_sfn_slot
),
NFAPI_SFNSLOT2SLOT
(
mac
->
nr_ue_emul_l1
.
harq
[
i
].
active_ul_harq
_sfn_slot
),
nr_ul_tti_req_queue
.
num_items
);
nfapi_nr_ul_tti_request_t
*
ul_tti_request_crc
=
unqueue_matching
(
&
nr_ul_tti_req_queue
,
MAX_QUEUE_SIZE
,
sfn_slot_matcher
,
&
mac
->
nr_ue_emul_l1
.
harq
[
i
].
active_ul_harq
_sfn_slot
);
if
(
ul_tti_request_crc
&&
ul_tti_request_crc
->
n_pdus
>
0
)
{
check_and_process_dci
(
NULL
,
NULL
,
NULL
,
ul_tti_request_crc
);
...
...
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
987363b8
...
...
@@ -104,8 +104,6 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
rx_ind
->
header
.
message_id
=
NFAPI_NR_PHY_MSG_TYPE_RX_DATA_INDICATION
;
rx_ind
->
sfn
=
scheduled_response
->
ul_config
->
sfn
;
rx_ind
->
slot
=
scheduled_response
->
ul_config
->
slot
;
LOG_I
(
NR_MAC
,
"This is sched sfn/sl [%d %d] and rx sfn/sl [%d %d]
\n
"
,
scheduled_response
->
frame
,
scheduled_response
->
slot
,
rx_ind
->
sfn
,
rx_ind
->
slot
);
rx_ind
->
number_of_pdus
=
scheduled_response
->
tx_request
->
number_of_pdus
;
rx_ind
->
pdu_list
=
CALLOC
(
rx_ind
->
number_of_pdus
,
sizeof
(
*
rx_ind
->
pdu_list
));
for
(
int
j
=
0
;
j
<
rx_ind
->
number_of_pdus
;
j
++
)
...
...
@@ -117,7 +115,7 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
rx_ind
->
pdu_list
[
j
].
pdu
=
CALLOC
(
tx_req_body
->
pdu_length
,
sizeof
(
*
rx_ind
->
pdu_list
[
j
].
pdu
));
memcpy
(
rx_ind
->
pdu_list
[
j
].
pdu
,
tx_req_body
->
pdu
,
tx_req_body
->
pdu_length
*
sizeof
(
*
rx_ind
->
pdu_list
[
j
].
pdu
));
rx_ind
->
pdu_list
[
j
].
rnti
=
pusch_config_pdu
->
rnti
;
rx_ind
->
pdu_list
[
j
].
timing_advance
=
scheduled_response
->
tx_request
->
tx_config
.
timing_advance
;
rx_ind
->
pdu_list
[
j
].
timing_advance
=
31
;
rx_ind
->
pdu_list
[
j
].
ul_cqi
=
scheduled_response
->
tx_request
->
tx_config
.
ul_cqi
;
}
...
...
@@ -130,15 +128,15 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
{
crc_ind
->
crc_list
[
j
].
handle
=
pusch_config_pdu
->
handle
;
crc_ind
->
crc_list
[
j
].
harq_id
=
pusch_config_pdu
->
pusch_data
.
harq_process_id
;
LOG_
I
(
NR_MAC
,
"This is the harq pid %d for crc_list[%d]
\n
"
,
crc_ind
->
crc_list
[
j
].
harq_id
,
j
);
LOG_
I
(
NR_MAC
,
"This is sched sfn/sl [%d %d] and crc sfn/sl [%d %d]
\n
"
,
LOG_
D
(
NR_MAC
,
"This is the harq pid %d for crc_list[%d]
\n
"
,
crc_ind
->
crc_list
[
j
].
harq_id
,
j
);
LOG_
D
(
NR_MAC
,
"This is sched sfn/sl [%d %d] and crc sfn/sl [%d %d]
\n
"
,
scheduled_response
->
frame
,
scheduled_response
->
slot
,
crc_ind
->
sfn
,
crc_ind
->
slot
);
crc_ind
->
crc_list
[
j
].
num_cb
=
pusch_config_pdu
->
pusch_data
.
num_cb
;
crc_ind
->
crc_list
[
j
].
rnti
=
pusch_config_pdu
->
rnti
;
crc_ind
->
crc_list
[
j
].
tb_crc_status
=
0
;
crc_ind
->
crc_list
[
j
].
timing_advance
=
scheduled_response
->
tx_request
->
tx_config
.
timing_advance
;
crc_ind
->
crc_list
[
j
].
timing_advance
=
31
;
crc_ind
->
crc_list
[
j
].
ul_cqi
=
255
;
mac
->
nr_ue_emul_l1
.
harq
[
crc_ind
->
crc_list
[
j
].
harq_id
].
crc_rx_ind
_sfn_slot
=
NFAPI_SFNSLOT2HEX
(
crc_ind
->
sfn
,
crc_ind
->
slot
);
mac
->
nr_ue_emul_l1
.
harq
[
crc_ind
->
crc_list
[
j
].
harq_id
].
active_ul_harq
_sfn_slot
=
NFAPI_SFNSLOT2HEX
(
crc_ind
->
sfn
,
crc_ind
->
slot
);
LOG_D
(
NR_MAC
,
"This is sched sfn/sl [%d %d] and crc sfn/sl [%d %d] with mcs_index in ul_cqi -> %d
\n
"
,
scheduled_response
->
frame
,
scheduled_response
->
slot
,
crc_ind
->
sfn
,
crc_ind
->
slot
,
pusch_config_pdu
->
mcs_index
);
}
...
...
@@ -166,8 +164,7 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
crc_ind
=
NULL
;
}
LOG_I
(
PHY
,
"In %s: [%d, %d] Filled queue rx/crc_ind which was filled by ulconfig.
\n
"
,
__FUNCTION__
,
scheduled_response
->
frame
,
scheduled_response
->
slot
);
LOG_D
(
PHY
,
"In %s: Filled queue rx/crc_ind which was filled by ulconfig.
\n
"
,
__FUNCTION__
);
scheduled_response
->
tx_request
->
number_of_pdus
=
0
;
}
...
...
@@ -204,8 +201,7 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
pdu_0_1
->
ul_cqi
=
255
;
pdu_0_1
->
timing_advance
=
0
;
pdu_0_1
->
rssi
=
0
;
LOG_I
(
NR_PHY
,
"In %s: UCI SFN/SLOT: [%d, %d] and mac->nr_ue_emul_l1.num_harq %d
\n
"
,
__FUNCTION__
,
uci_ind
->
sfn
,
uci_ind
->
slot
,
mac
->
nr_ue_emul_l1
.
num_harqs
);
if
(
mac
->
nr_ue_emul_l1
.
num_harqs
>
0
)
{
int
harq_index
=
0
;
pdu_0_1
->
pduBitmap
=
2
;
// (value->pduBitmap >> 1) & 0x01) == HARQ and (value->pduBitmap) & 0x01) == SR
...
...
@@ -214,29 +210,16 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
pdu_0_1
->
harq
->
harq_confidence_level
=
0
;
pdu_0_1
->
harq
->
harq_list
=
CALLOC
(
pdu_0_1
->
harq
->
num_harq
,
sizeof
(
*
pdu_0_1
->
harq
->
harq_list
));
int
harq_pid
=
-
1
;
for
(
int
k
=
0
;
k
<
16
;
k
++
)
for
(
int
k
=
0
;
k
<
NR_MAX_HARQ_PROCESSES
;
k
++
)
{
LOG_I
(
NR_MAC
,
"HARQ PID %d active = %d saved sfn_slot = %d.%d vs current sfn.slot %d.%d
\n
"
,
k
,
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active
,
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active_harq_sfn
,
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active_harq_slot
,
uci_ind
->
sfn
,
uci_ind
->
slot
);
if
(
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active
&&
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active_harq_sfn
==
uci_ind
->
sfn
&&
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active_harq_slot
==
uci_ind
->
slot
)
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active_
dl_
harq_sfn
==
uci_ind
->
sfn
&&
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active_
dl_
harq_slot
==
uci_ind
->
slot
)
{
mac
->
nr_ue_emul_l1
.
harq
[
k
].
active
=
false
;
harq_pid
=
k
;
LOG_I
(
NR_MAC
,
"Setting harq_pid = %d and num_harqs %d for %d.%d
\n
"
,
k
,
pdu_0_1
->
harq
->
num_harq
,
uci_ind
->
sfn
,
uci_ind
->
slot
);
pdu_0_1
->
harq
->
harq_list
[
harq_index
].
harq_value
=
!
mac
->
dl_harq_info
[
k
].
ack
;
harq_index
++
;
LOG_I
(
NR_PHY
,
"In %s: Building uci_ind_%d with num_harqs %d and pdu_bitmap %d
\n
"
"uci_num %d, SFN/SLOT: [%d, %d]
\n
"
,
__FUNCTION__
,
uci_ind
->
uci_list
[
0
].
pdu_type
,
pdu_0_1
->
harq
->
num_harq
,
pdu_0_1
->
pduBitmap
,
uci_ind
->
num_ucis
,
uci_ind
->
sfn
,
uci_ind
->
slot
);
}
}
AssertFatal
(
harq_pid
!=
-
1
,
"No active harq_pid, sfn_slot = %u.%u"
,
uci_ind
->
sfn
,
uci_ind
->
slot
);
...
...
@@ -244,13 +227,8 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
}
}
LOG_I
(
NR_PHY
,
"In %s: Sending uci_ind_%d which was filled by ulconfig.
\n
"
"uci_num %d, SFN/SLOT: [%d, %d] and pdu_bitmap %d
\n
"
,
__FUNCTION__
,
uci_ind
->
uci_list
[
0
].
pdu_type
,
uci_ind
->
num_ucis
,
uci_ind
->
sfn
,
uci_ind
->
slot
,
uci_ind
->
uci_list
[
0
].
pucch_pdu_format_0_1
.
pduBitmap
);
LOG_I
(
NR_MAC
,
"Sending UCI with %d PDUs in sfn.slot %d/%d
\n
"
,
uci_ind
->
num_ucis
,
uci_ind
->
sfn
,
uci_ind
->
slot
);
LOG_I
(
NR_PHY
,
"Sending UCI with %d PDUs in sfn.slot %d/%d
\n
"
,
uci_ind
->
num_ucis
,
uci_ind
->
sfn
,
uci_ind
->
slot
);
NR_UL_IND_t
UL_INFO
=
{
.
uci_ind
=
*
uci_ind
,
};
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac.h
View file @
987363b8
...
...
@@ -269,20 +269,20 @@ typedef struct {
scheduled SFN/Slot transmission for the ACK/NAK. If we
do not save it, then we have to calculate it again as the
NRUE MAC layer already does in get_downlink_ack(). */
int
active_harq_sfn
;
int
active_harq_slot
;
int
crc_rx_ind
_sfn_slot
;
int
active_
dl_
harq_sfn
;
int
active_
dl_
harq_slot
;
int
active_ul_harq
_sfn_slot
;
bool
active
;
}
emul_l1_harq_t
;
typedef
struct
{
bool
expected_sib
;
bool
index_has_sib
[
16
];
bool
index_has_sib
[
NR_MAX_HARQ_PROCESSES
];
bool
expected_rar
;
bool
index_has_rar
[
16
];
bool
index_has_rar
[
NR_MAX_HARQ_PROCESSES
];
bool
expected_dci
;
bool
index_has_dci
[
16
];
emul_l1_harq_t
harq
[
16
];
bool
index_has_dci
[
NR_MAX_HARQ_PROCESSES
];
emul_l1_harq_t
harq
[
NR_MAX_HARQ_PROCESSES
];
int
active_uci_sfn_slot
;
int
num_srs
;
int
num_harqs
;
...
...
openair2/LAYER2/NR_MAC_UE/mac_defs.h
View file @
987363b8
...
...
@@ -432,7 +432,7 @@ typedef struct {
// Defined for abstracted mode
nr_downlink_indication_t
dl_info
;
NR_UE_HARQ_STATUS_t
dl_harq_info
[
16
];
NR_UE_HARQ_STATUS_t
dl_harq_info
[
NR_MAX_HARQ_PROCESSES
];
nr_emulated_l1_t
nr_ue_emul_l1
;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
987363b8
This diff is collapsed.
Click to expand it.
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
View file @
987363b8
...
...
@@ -465,7 +465,7 @@ static void fill_rx_ind(nfapi_nr_pdu_t *pdu_list, fapi_nr_rx_indication_t *rx_in
{
length
+=
pdu_list
->
TLVs
[
j
].
length
;
}
LOG_I
(
NR_PHY
,
"
Elkadi
%s: num_tlv %d and length %d, pdu index %d
\n
"
,
LOG_I
(
NR_PHY
,
"%s: num_tlv %d and length %d, pdu index %d
\n
"
,
__FUNCTION__
,
pdu_list
->
num_TLV
,
length
,
pdu_idx
);
uint8_t
*
pdu
=
malloc
(
length
);
AssertFatal
(
pdu
!=
NULL
,
"%s: Out of memory in malloc"
,
__FUNCTION__
);
...
...
@@ -618,7 +618,6 @@ static void copy_ul_dci_data_req_to_dl_info(nr_downlink_indication_t *dl_info, n
static
bool
send_crc_ind_and_rx_ind
(
int
sfn_slot
)
{
bool
sent_crc_rx
=
true
;
LOG_I
(
NR_MAC
,
"Melissa, This is the num items in crc %d and rx %d
\n
"
,
nr_crc_ind_queue
.
num_items
,
nr_rx_ind_queue
.
num_items
);
nfapi_nr_rx_data_indication_t
*
rx_ind
=
unqueue_matching
(
&
nr_rx_ind_queue
,
MAX_QUEUE_SIZE
,
sfn_slot_matcher
,
&
sfn_slot
);
nfapi_nr_crc_indication_t
*
crc_ind
=
unqueue_matching
(
&
nr_crc_ind_queue
,
MAX_QUEUE_SIZE
,
sfn_slot_matcher
,
&
sfn_slot
);
...
...
@@ -709,10 +708,8 @@ static void fill_dci_from_dl_config(nr_downlink_indication_t*dl_ind, fapi_nr_dl_
dl_ind
->
dci_ind
->
dci_list
[
k
].
dci_format
=
rel15_dci
->
dci_format_options
[
j
];
LOG_I
(
NR_PHY
,
"format assigned dl_ind->dci_ind->dci_list[k].dci_format %d
\n
"
,
dl_ind
->
dci_ind
->
dci_list
[
k
].
dci_format
);
int
CCEind
=
rel15_dci
->
CCE
[
j
];
int
L
=
rel15_dci
->
L
[
j
];
dl_ind
->
dci_ind
->
dci_list
[
k
].
n_CCE
=
CCEind
;
dl_ind
->
dci_ind
->
dci_list
[
k
].
N_CCE
=
L
;
dl_ind
->
dci_ind
->
dci_list
[
k
].
n_CCE
=
rel15_dci
->
CCE
[
j
];
dl_ind
->
dci_ind
->
dci_list
[
k
].
N_CCE
=
rel15_dci
->
L
[
j
];
}
}
}
...
...
@@ -796,10 +793,8 @@ void check_and_process_dci(nfapi_nr_dl_tti_request_t *dl_tti_request,
mac
->
scc
->
tdd_UL_DL_ConfigurationCommon
:
mac
->
scc_SIB
->
tdd_UL_DL_ConfigurationCommon
,
ul_info
.
slot_tx
,
mac
->
frame_type
))
{
LOG_I
(
NR_MAC
,
"Slot %d. calling nr_ue_ul_ind() from %s
\n
"
,
ul_info
.
slot_tx
,
__FUNCTION__
);
mac
->
frame_type
))
nr_ue_ul_indication
(
&
ul_info
);
}
}
}
...
...
@@ -918,16 +913,10 @@ static void enqueue_nr_nfapi_msg(void *buffer, ssize_t len, nfapi_p7_message_hea
LOG_E
(
NR_PHY
,
"Message ul_tti_request failed to unpack
\n
"
);
break
;
}
LOG_I
(
NR_PHY
,
"Received an NFAPI_NR_PHY_MSG_TYPE_UL_TTI_REQUEST message in SFN/slot %d %d.
\n
"
,
ul_tti_request
->
SFN
,
ul_tti_request
->
Slot
);
for
(
int
i
=
0
;
i
<
ul_tti_request
->
n_pdus
;
i
++
)
{
LOG_I
(
NR_PHY
,
"Received an NFAPI_NR_PHY_MSG_TYPE_UL_TTI_REQUEST pdu_type %d, ra_state %d.
\n
"
,
ul_tti_request
->
pdus_list
[
i
].
pdu_type
,
mac
->
ra
.
ra_state
);
if
(
ul_tti_request
->
pdus_list
[
i
].
pdu_type
==
1
&&
if
(
ul_tti_request
->
pdus_list
[
i
].
pdu_type
==
NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE
&&
mac
->
ra
.
ra_state
>=
RA_SUCCEEDED
)
{
LOG_I
(
NR_PHY
,
"Received an NFAPI_NR_PHY_MSG_TYPE_UL_TTI_REQUEST that were queueing with rnti %x!
\n
"
,
ul_tti_request
->
pdus_list
[
i
].
pucch_pdu
.
rnti
);
if
(
!
put_queue
(
&
nr_ul_tti_req_queue
,
ul_tti_request
))
{
LOG_I
(
NR_PHY
,
"put_queue failed for ul_tti_request, calling put_queue_replace.
\n
"
);
...
...
@@ -937,8 +926,6 @@ static void enqueue_nr_nfapi_msg(void *buffer, ssize_t len, nfapi_p7_message_hea
break
;
}
else
if
(
mac
->
ra
.
ra_state
<
RA_SUCCEEDED
)
{
LOG_I
(
NR_PHY
,
"Received an NFAPI_NR_PHY_MSG_TYPE_UL_TTI_REQUEST before RA_SUCEEDED that were queueing with rnti %x!
\n
"
,
ul_tti_request
->
pdus_list
[
i
].
pucch_pdu
.
rnti
);
if
(
!
put_queue
(
&
nr_ul_tti_req_queue
,
ul_tti_request
))
{
LOG_I
(
NR_PHY
,
"put_queue failed for ul_tti_request, calling put_queue_replace.
\n
"
);
...
...
@@ -1098,8 +1085,8 @@ int handle_dci(module_id_t module_id, int cc_id, unsigned int gNB_index, frame_t
// L2 Abstraction Layer
// Note: sdu should always be processed because data and timing advance updates are transmitted by the UE
int8_t
handle_dlsch
(
nr_downlink_indication_t
*
dl_info
,
NR_UL_TIME_ALIGNMENT_t
*
ul_time_alignment
,
int
pdu_id
){
dl_info
->
rx_ind
->
rx_indication_body
[
pdu_id
].
pdsch_pdu
.
harq_pid
=
g_harq_pid
;
if
(
get_softmodem_params
()
->
emulate_l1
)
dl_info
->
rx_ind
->
rx_indication_body
[
pdu_id
].
pdsch_pdu
.
harq_pid
=
g_harq_pid
;
update_harq_status
(
dl_info
->
module_id
,
dl_info
->
rx_ind
->
rx_indication_body
[
pdu_id
].
pdsch_pdu
.
harq_pid
,
...
...
@@ -1147,8 +1134,6 @@ int nr_ue_ul_indication(nr_uplink_indication_t *ul_info){
if
(
is_nr_UL_slot
(
tdd_UL_DL_ConfigurationCommon
,
ul_info
->
slot_tx
,
mac
->
frame_type
)
&&
!
get_softmodem_params
()
->
phy_test
)
nr_ue_prach_scheduler
(
module_id
,
ul_info
->
frame_tx
,
ul_info
->
slot_tx
,
ul_info
->
thread_id
);
LOG_I
(
NR_MAC
,
"In %s():%d calling nr_ue_pucch_scheduler in %d.%d
\n
"
,
__FUNCTION__
,
__LINE__
,
ul_info
->
frame_tx
,
ul_info
->
slot_tx
);
if
(
is_nr_UL_slot
(
tdd_UL_DL_ConfigurationCommon
,
ul_info
->
slot_tx
,
mac
->
frame_type
)
&&
!
get_softmodem_params
()
->
emulate_l1
)
nr_ue_pucch_scheduler
(
module_id
,
ul_info
->
frame_tx
,
ul_info
->
slot_tx
,
ul_info
->
thread_id
);
...
...
@@ -1184,12 +1169,8 @@ int nr_ue_dl_indication(nr_downlink_indication_t *dl_info, NR_UL_TIME_ALIGNMENT_
if
(
dl_info
&&
dl_info
->
dci_ind
&&
dl_info
->
dci_ind
->
number_of_dcis
)
{
LOG_D
(
MAC
,
"[L2][IF MODULE][DL INDICATION][DCI_IND]
\n
"
);
for
(
int
i
=
0
;
i
<
dl_info
->
dci_ind
->
number_of_dcis
;
i
++
)
{
LOG_D
(
MAC
,
">>>NR_IF_Module i=%d, dl_info->dci_ind->number_of_dcis=%d
\n
"
,
i
,
dl_info
->
dci_ind
->
number_of_dcis
);
fapi_nr_dci_indication_pdu_t
*
dci_index
=
dl_info
->
dci_ind
->
dci_list
+
i
;
LOG_I
(
MAC
,
">>>NR_IF_Module i=%d, dl_info->dci_ind->number_of_dcis=%d, format %d, harq_pid %d
\n
"
,
i
,
dl_info
->
dci_ind
->
number_of_dcis
,
dci_index
->
dci_format
,
mac
->
def_dci_pdu_rel15
[
dci_index
->
dci_format
].
harq_pid
);
nr_scheduled_response_t
scheduled_response
;
int8_t
ret
=
handle_dci
(
dl_info
->
module_id
,
dl_info
->
cc_id
,
...
...
@@ -1200,7 +1181,7 @@ int nr_ue_dl_indication(nr_downlink_indication_t *dl_info, NR_UL_TIME_ALIGNMENT_
/* The check below filters out UL_DCIs (format 7) which are being processed as DL_DCIs. */
if
(
dci_index
->
dci_format
==
7
&&
mac
->
ra
.
ra_state
==
RA_SUCCEEDED
)
{
LOG_
I
(
NR_MAC
,
"We are filtering a UL_DCI to prevent it from being treated like a DL_DCI
\n
"
);
LOG_
D
(
NR_MAC
,
"We are filtering a UL_DCI to prevent it from being treated like a DL_DCI
\n
"
);
break
;
}
dci_pdu_rel15_t
*
def_dci_pdu_rel15
=
&
mac
->
def_dci_pdu_rel15
[
dci_index
->
dci_format
];
...
...
@@ -1214,7 +1195,8 @@ int nr_ue_dl_indication(nr_downlink_indication_t *dl_info, NR_UL_TIME_ALIGNMENT_
fill_scheduled_response
(
&
scheduled_response
,
dl_config
,
NULL
,
NULL
,
dl_info
->
module_id
,
dl_info
->
cc_id
,
dl_info
->
frame
,
dl_info
->
slot
,
dl_info
->
thread_id
);
nr_ue_if_module_inst
[
module_id
]
->
scheduled_response
(
&
scheduled_response
);
}
//memset(def_dci_pdu_rel15, 0, sizeof(*def_dci_pdu_rel15));
if
(
!
get_softmodem_params
()
->
emulate_l1
)
memset
(
def_dci_pdu_rel15
,
0
,
sizeof
(
*
def_dci_pdu_rel15
));
}
free
(
dl_info
->
dci_ind
);
dl_info
->
dci_ind
=
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