Code Review
/
o-du
/
phy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Update to odulow per maintenance bronze
[o-du/phy.git]
/
fapi_5g
/
source
/
api
/
fapi2phy
/
p7
/
nr5g_fapi_proc_dl_tti_req.c
diff --git
a/fapi_5g/source/api/fapi2phy/p7/nr5g_fapi_proc_dl_tti_req.c
b/fapi_5g/source/api/fapi2phy/p7/nr5g_fapi_proc_dl_tti_req.c
index
510405b
..
eb4d1cb
100644
(file)
--- a/
fapi_5g/source/api/fapi2phy/p7/nr5g_fapi_proc_dl_tti_req.c
+++ b/
fapi_5g/source/api/fapi2phy/p7/nr5g_fapi_proc_dl_tti_req.c
@@
-164,47
+164,47
@@
uint8_t nr5g_fapi_dl_tti_req_to_phy_translation(
p_stats->fapi_stats.fapi_dl_tti_pdus++;
p_fapi_dl_tti_req_pdu = &p_fapi_req->pdus[idx];
switch (p_fapi_dl_tti_req_pdu->pduType) {
p_stats->fapi_stats.fapi_dl_tti_pdus++;
p_fapi_dl_tti_req_pdu = &p_fapi_req->pdus[idx];
switch (p_fapi_dl_tti_req_pdu->pduType) {
- case
DL_PDU_TYPE_DCI
:
+ case
FAPI_PDCCH_PDU_TYPE
:
nDCI++;
p_dci_pdu = (PDCIPDUStruct) pPduStruct;
NR5G_FAPI_MEMSET(p_dci_pdu, RUP32B(sizeof(DCIPDUStruct)), 0,
pdcch_size);
p_pdcch_pdu = &p_fapi_dl_tti_req_pdu->pdu.pdcch_pdu;
nDCI++;
p_dci_pdu = (PDCIPDUStruct) pPduStruct;
NR5G_FAPI_MEMSET(p_dci_pdu, RUP32B(sizeof(DCIPDUStruct)), 0,
pdcch_size);
p_pdcch_pdu = &p_fapi_dl_tti_req_pdu->pdu.pdcch_pdu;
- p_dci_pdu->sPDUHdr.nPDUType =
p_fapi_dl_tti_req_pdu->pduType
;
+ p_dci_pdu->sPDUHdr.nPDUType =
DL_PDU_TYPE_DCI
;
p_dci_pdu->sPDUHdr.nPDUSize = pdcch_size;
total_size += pdcch_size;
nr5g_fapi_fill_dci_pdu(p_phy_instance, p_pdcch_pdu, p_dci_pdu);
break;
p_dci_pdu->sPDUHdr.nPDUSize = pdcch_size;
total_size += pdcch_size;
nr5g_fapi_fill_dci_pdu(p_phy_instance, p_pdcch_pdu, p_dci_pdu);
break;
- case
DL_PDU_TYPE_DLSCH
:
+ case
FAPI_PDSCH_PDU_TYPE
:
p_dlsch_pdu = (PDLSCHPDUStruct) pPduStruct;
p_pdsch_pdu = &p_fapi_dl_tti_req_pdu->pdu.pdsch_pdu;
NR5G_FAPI_MEMSET(p_dlsch_pdu, RUP32B(sizeof(DLSCHPDUStruct)), 0,
pdsch_size);
p_dlsch_pdu = (PDLSCHPDUStruct) pPduStruct;
p_pdsch_pdu = &p_fapi_dl_tti_req_pdu->pdu.pdsch_pdu;
NR5G_FAPI_MEMSET(p_dlsch_pdu, RUP32B(sizeof(DLSCHPDUStruct)), 0,
pdsch_size);
- p_dlsch_pdu->sPDUHdr.nPDUType =
p_fapi_dl_tti_req_pdu->pduType
;
+ p_dlsch_pdu->sPDUHdr.nPDUType =
DL_PDU_TYPE_DLSCH
;
p_dlsch_pdu->sPDUHdr.nPDUSize = pdsch_size;
total_size += pdsch_size;
nr5g_fapi_fill_pdsch_pdu(p_phy_instance, p_pdsch_pdu,
p_dlsch_pdu);
break;
p_dlsch_pdu->sPDUHdr.nPDUSize = pdsch_size;
total_size += pdsch_size;
nr5g_fapi_fill_pdsch_pdu(p_phy_instance, p_pdsch_pdu,
p_dlsch_pdu);
break;
- case
DL_PDU_TYPE_PBCH
:
+ case
FAPI_PBCH_PDU_TYPE
:
p_bch_pdu = (PBCHPDUStruct) pPduStruct;
p_ssb_pdu = &p_fapi_dl_tti_req_pdu->pdu.ssb_pdu;
NR5G_FAPI_MEMSET(p_bch_pdu, RUP32B(sizeof(BCHPDUStruct)), 0,
pbch_size);
p_bch_pdu = (PBCHPDUStruct) pPduStruct;
p_ssb_pdu = &p_fapi_dl_tti_req_pdu->pdu.ssb_pdu;
NR5G_FAPI_MEMSET(p_bch_pdu, RUP32B(sizeof(BCHPDUStruct)), 0,
pbch_size);
- p_bch_pdu->sPDUHdr.nPDUType =
p_fapi_dl_tti_req_pdu->pduType
;
+ p_bch_pdu->sPDUHdr.nPDUType =
DL_PDU_TYPE_PBCH
;
p_bch_pdu->sPDUHdr.nPDUSize = pbch_size;
total_size += pbch_size;
nr5g_fapi_fill_ssb_pdu(p_phy_instance, p_bch_pdu, p_ssb_pdu);
break;
p_bch_pdu->sPDUHdr.nPDUSize = pbch_size;
total_size += pbch_size;
nr5g_fapi_fill_ssb_pdu(p_phy_instance, p_bch_pdu, p_ssb_pdu);
break;
- case
DL_PDU_TYPE_CSIRS
:
+ case
FAPI_CSIRS_PDU_TYPE
:
pCSIRSPdu = (PCSIRSPDUStruct) pPduStruct;
p_csi_rs_pdu = &p_fapi_dl_tti_req_pdu->pdu.csi_rs_pdu;
NR5G_FAPI_MEMSET(pCSIRSPdu, RUP32B(sizeof(CSIRSPDUStruct)), 0,
csirs_size);
pCSIRSPdu = (PCSIRSPDUStruct) pPduStruct;
p_csi_rs_pdu = &p_fapi_dl_tti_req_pdu->pdu.csi_rs_pdu;
NR5G_FAPI_MEMSET(pCSIRSPdu, RUP32B(sizeof(CSIRSPDUStruct)), 0,
csirs_size);
- pCSIRSPdu->sPDUHdr.nPDUType =
p_fapi_dl_tti_req_pdu->pduType
;
+ pCSIRSPdu->sPDUHdr.nPDUType =
DL_PDU_TYPE_CSIRS
;
pCSIRSPdu->sPDUHdr.nPDUSize = csirs_size;
total_size += csirs_size;
nr5g_fapi_fill_csi_rs_pdu(p_phy_instance, pCSIRSPdu,
pCSIRSPdu->sPDUHdr.nPDUSize = csirs_size;
total_size += csirs_size;
nr5g_fapi_fill_csi_rs_pdu(p_phy_instance, pCSIRSPdu,
@@
-274,10
+274,10
@@
void nr5g_fapi_fill_dci_pdu(
p_dci_pdu->nTotalBits = p_pdcch_pdu->dlDci[0].payloadSizeBits;
p_dci_pdu->nEpreRatioOfPDCCHToSSB =
p_dci_pdu->nTotalBits = p_pdcch_pdu->dlDci[0].payloadSizeBits;
p_dci_pdu->nEpreRatioOfPDCCHToSSB =
- nr5g_fapi_calculate_nEpreRatioOfPDCCHToSSB(p_pdcch_pdu->
dlDci[0].
- beta_pdcch_1_0);
+ nr5g_fapi_calculate_nEpreRatioOfPDCCHToSSB(p_pdcch_pdu->
+
dlDci[0].
beta_pdcch_1_0);
p_dci_pdu->nEpreRatioOfDmrsToSSB =
p_dci_pdu->nEpreRatioOfDmrsToSSB =
- p_pdcch_pdu->dlDci[0].powerControlOf
s
setSS;
+ p_pdcch_pdu->dlDci[0].powerControlOf
f
setSS;
if (FAILURE == NR5G_FAPI_MEMCPY(p_dci_pdu->nDciBits,
sizeof(uint8_t) * MAX_DCI_BIT_BYTE_LEN,
p_pdcch_pdu->dlDci[0].payload,
if (FAILURE == NR5G_FAPI_MEMCPY(p_dci_pdu->nDciBits,
sizeof(uint8_t) * MAX_DCI_BIT_BYTE_LEN,
p_pdcch_pdu->dlDci[0].payload,
@@
-285,7
+285,6
@@
void nr5g_fapi_fill_dci_pdu(
NR5G_FAPI_LOG(ERROR_LOG, ("PDCCH: RNTI: %d -- DCI Bits copy error.",
p_pdcch_pdu->dlDci[0].rnti));
}
NR5G_FAPI_LOG(ERROR_LOG, ("PDCCH: RNTI: %d -- DCI Bits copy error.",
p_pdcch_pdu->dlDci[0].rnti));
}
-
p_stats->iapi_stats.iapi_dl_tti_pdcch_pdus++;
}
p_stats->iapi_stats.iapi_dl_tti_pdcch_pdus++;
}
@@
-329,9
+328,9
@@
void nr5g_fapi_fill_pdsch_pdu(
p_dlsch_pdu->nRV[1] = p_pdsch_pdu->cwInfo[1].rvIndex;
p_dlsch_pdu->nTBSize[1] = p_pdsch_pdu->cwInfo[1].tbSize;
}
p_dlsch_pdu->nRV[1] = p_pdsch_pdu->cwInfo[1].rvIndex;
p_dlsch_pdu->nTBSize[1] = p_pdsch_pdu->cwInfo[1].tbSize;
}
-
- p_dlsch_pdu->nNrOfAntennaPorts = p_phy_instance->phy_config.n_nr_of_rx_ant;
+ //p_dlsch_pdu->nNrOfAntennaPorts = p_phy_instance->phy_config.n_nr_of_rx_ant;
p_dlsch_pdu->nNrOfLayers = p_pdsch_pdu->nrOfLayers;
p_dlsch_pdu->nNrOfLayers = p_pdsch_pdu->nrOfLayers;
+ p_dlsch_pdu->nNrOfAntennaPorts = p_pdsch_pdu->nrOfLayers;
p_dlsch_pdu->nTransmissionScheme = p_pdsch_pdu->transmissionScheme;
p_dlsch_pdu->nDMRSConfigType = p_pdsch_pdu->dmrsConfigType;
p_dlsch_pdu->nNIDnSCID = p_pdsch_pdu->dlDmrsScramblingId;
p_dlsch_pdu->nTransmissionScheme = p_pdsch_pdu->transmissionScheme;
p_dlsch_pdu->nDMRSConfigType = p_pdsch_pdu->dmrsConfigType;
p_dlsch_pdu->nNIDnSCID = p_pdsch_pdu->dlDmrsScramblingId;
@@
-369,15
+368,26
@@
void nr5g_fapi_fill_pdsch_pdu(
p_dlsch_pdu->nPTRSFreqDensity = p_pdsch_pdu->ptrsFreqDensity;
p_dlsch_pdu->nPTRSReOffset = p_pdsch_pdu->ptrsReOffset;
p_dlsch_pdu->nEpreRatioOfPDSCHToPTRS = p_pdsch_pdu->nEpreRatioOfPdschToPtrs;
p_dlsch_pdu->nPTRSFreqDensity = p_pdsch_pdu->ptrsFreqDensity;
p_dlsch_pdu->nPTRSReOffset = p_pdsch_pdu->ptrsReOffset;
p_dlsch_pdu->nEpreRatioOfPDSCHToPTRS = p_pdsch_pdu->nEpreRatioOfPdschToPtrs;
+ // Currently no mapping info available.
+ //p_dlsch_pdu->nEpreRatioOfPDSCHToSSB = 0x1170;
// PTRS Information
p_dlsch_pdu->nPTRSPresent = p_pdsch_pdu->pduBitMap & 0x0001;
p_dlsch_pdu->nNrOfPTRSPorts =
__builtin_popcount(p_pdsch_pdu->ptrsPortIndex);
// PTRS Information
p_dlsch_pdu->nPTRSPresent = p_pdsch_pdu->pduBitMap & 0x0001;
p_dlsch_pdu->nNrOfPTRSPorts =
__builtin_popcount(p_pdsch_pdu->ptrsPortIndex);
- p_dlsch_pdu->nPTRSPortIndex[0] = p_pdsch_pdu->ptrsPortIndex;
+ for (idx = 0; idx < p_dlsch_pdu->nNrOfPTRSPorts &&
+ idx < MAX_DL_PER_UE_PTRS_PORT_NUM; idx++) {
+ p_dlsch_pdu->nPTRSPortIndex[idx] = idx;
+ }
+
// Don't Cares
p_dlsch_pdu->nNrOfDMRSAssPTRS[0] = 0x1;
p_dlsch_pdu->nNrOfDMRSAssPTRS[1] = 0x1;
p_dlsch_pdu->n1n2 = 0x201;
// Don't Cares
p_dlsch_pdu->nNrOfDMRSAssPTRS[0] = 0x1;
p_dlsch_pdu->nNrOfDMRSAssPTRS[1] = 0x1;
p_dlsch_pdu->n1n2 = 0x201;
+
+ for (idx = 0; (idx < MAX_TXRU_NUM && idx < port_index); idx++) {
+ p_dlsch_pdu->nTxRUIdx[idx] = p_dlsch_pdu->nPortIndex[idx];
+ }
+ p_dlsch_pdu->nNrofTxRU = port_index;
p_stats->iapi_stats.iapi_dl_tti_pdsch_pdus++;
}
p_stats->iapi_stats.iapi_dl_tti_pdsch_pdus++;
}
@@
-416,7
+426,7
@@
void nr5g_fapi_fill_pdsch_pdu(
* |-----------------------------------------|
*
**/
* |-----------------------------------------|
*
**/
-uint
8
_t nr5g_fapi_calculate_nEpreRatioOfPDCCHToSSB(
+uint
16
_t nr5g_fapi_calculate_nEpreRatioOfPDCCHToSSB(
uint8_t beta_pdcch_1_0)
{
if (beta_pdcch_1_0 > 0 && beta_pdcch_1_0 <= 2) {
uint8_t beta_pdcch_1_0)
{
if (beta_pdcch_1_0 > 0 && beta_pdcch_1_0 <= 2) {
@@
-446,19
+456,18
@@
void nr5g_fapi_fill_ssb_pdu(
PBCHPDUStruct p_bch_pdu,
fapi_dl_ssb_pdu_t * p_ssb_pdu)
{
PBCHPDUStruct p_bch_pdu,
fapi_dl_ssb_pdu_t * p_ssb_pdu)
{
+ uint8_t *p_mib = (uint8_t *) & p_bch_pdu->nMIB[0];
+ uint8_t *payload = (uint8_t *) & p_ssb_pdu->bchPayload.bchPayload;
nr5g_fapi_stats_t *p_stats;
nr5g_fapi_stats_t *p_stats;
+ p_mib[0] = payload[0];
+ p_mib[1] = payload[1];
+ p_mib[2] = payload[2];
p_stats = &p_phy_instance->stats;
p_stats->fapi_stats.fapi_dl_tti_ssb_pdus++;
p_bch_pdu->nSSBSubcOffset = p_ssb_pdu->ssbSubCarrierOffset;
p_stats = &p_phy_instance->stats;
p_stats->fapi_stats.fapi_dl_tti_ssb_pdus++;
p_bch_pdu->nSSBSubcOffset = p_ssb_pdu->ssbSubCarrierOffset;
+ p_bch_pdu->nSSBPrbOffset = p_phy_instance->phy_config.nSSBPrbOffset;
p_stats->iapi_stats.iapi_dl_tti_ssb_pdus++;
p_stats->iapi_stats.iapi_dl_tti_ssb_pdus++;
- // p_ssb_pdu->bchPayload = p_bch_pdu->nMIB
- // p_ssb_pdu->ssbBlockIndex
- // p_ssb_pdu->physCellId
- // p_ssb_pdu->betaPss
- // p_ssb_pdu->bchPayloadFlag
- // p_ssb_pdu->ssbOffsetPointA
- // p_ssb_pdu->preCodingAndBeamforming
}
/** @ingroup group_nr5g_test_config
}
/** @ingroup group_nr5g_test_config
@@
-501,4
+510,3
@@
void nr5g_fapi_fill_csi_rs_pdu(
// pCSIRSPdu->nEpreRatioToSSB = p_csi_rs_pdu->powerControlOffsetSs;
p_stats->iapi_stats.iapi_dl_tti_csi_rs_pdus++;
}
// pCSIRSPdu->nEpreRatioToSSB = p_csi_rs_pdu->powerControlOffsetSs;
p_stats->iapi_stats.iapi_dl_tti_csi_rs_pdus++;
}
-