Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements
This commit is contained in:
@@ -1101,41 +1101,10 @@ void pnf_phy_deallocate_p7_vendor_ext(nfapi_p7_message_header_t *header) {
|
||||
|
||||
notifiedFIFO_elt_t *l1tx_message_extract(PHY_VARS_gNB *gNB, int frame, int slot) {
|
||||
notifiedFIFO_elt_t *res;
|
||||
notifiedFIFO_elt_t *freeRes = NULL;
|
||||
|
||||
// check first message
|
||||
res = pullTpool(gNB->resp_L1_tx, gNB->threadPool);
|
||||
processingData_L1tx_t *msgTx = (processingData_L1tx_t *)NotifiedFifoData(res);
|
||||
if (msgTx->slot == slot) {
|
||||
return res;
|
||||
}
|
||||
if (msgTx->slot == -1) {
|
||||
freeRes = res;
|
||||
}
|
||||
|
||||
// check second message
|
||||
pushNotifiedFIFO(gNB->resp_L1_tx,res);
|
||||
res = pullTpool(gNB->resp_L1_tx, gNB->threadPool);
|
||||
msgTx = (processingData_L1tx_t *)NotifiedFifoData(res);
|
||||
if (msgTx->slot == slot) {
|
||||
return res;
|
||||
}
|
||||
if (msgTx->slot == -1) {
|
||||
freeRes = res;
|
||||
}
|
||||
|
||||
if (freeRes) {
|
||||
msgTx = (processingData_L1tx_t *)NotifiedFifoData(res);
|
||||
msgTx->num_pdsch_slot=0;
|
||||
msgTx->num_dl_pdcch = 0;
|
||||
msgTx->num_ul_pdcch = 0;
|
||||
msgTx->slot = slot;
|
||||
msgTx->frame = frame;
|
||||
return freeRes;
|
||||
}
|
||||
pushNotifiedFIFO(gNB->resp_L1_tx,res);
|
||||
AssertFatal(1==0, "It means both L1 Tx messages are still waiting to be processed. This happens when L1 Tx processing is too slow. Message slot %d, scheduled slot %d\n",
|
||||
msgTx->slot, slot);
|
||||
//TODO: This needs to be reworked for nfapi to work
|
||||
res = pullTpool(gNB->L1_tx_free, gNB->threadPool);
|
||||
return res;
|
||||
}
|
||||
|
||||
int pnf_phy_ul_dci_req(gNB_L1_rxtx_proc_t *proc, nfapi_pnf_p7_config_t *pnf_p7, nfapi_nr_ul_dci_request_t *req) {
|
||||
@@ -1161,7 +1130,7 @@ int pnf_phy_ul_dci_req(gNB_L1_rxtx_proc_t *proc, nfapi_pnf_p7_config_t *pnf_p7,
|
||||
}
|
||||
}
|
||||
|
||||
pushNotifiedFIFO(gNB->resp_L1_tx,res);
|
||||
pushNotifiedFIFO(gNB->L1_tx_filled,res);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1268,7 +1237,7 @@ int pnf_phy_dl_tti_req(gNB_L1_rxtx_proc_t *proc, nfapi_pnf_p7_config_t *pnf_p7,
|
||||
else {
|
||||
NFAPI_TRACE(NFAPI_TRACE_ERROR, "%s() UNKNOWN:%d\n", __FUNCTION__, dl_tti_pdu_list[i].PDUType);
|
||||
}
|
||||
pushNotifiedFIFO(gNB->resp_L1_tx,res);
|
||||
pushNotifiedFIFO(gNB->L1_tx_filled,res);
|
||||
}
|
||||
|
||||
if(req->vendor_extension)
|
||||
|
||||
@@ -353,6 +353,8 @@ typedef struct {
|
||||
} fapi_nr_ul_config_request_pdu_t;
|
||||
|
||||
typedef struct {
|
||||
//uint16_t sfn;
|
||||
//uint16_t slot;
|
||||
uint16_t sfn;
|
||||
uint16_t slot;
|
||||
uint8_t number_pdus;
|
||||
|
||||
Reference in New Issue
Block a user