#include "lwr_mac_phy.h"
#ifdef INTEL_FAPI
#include "fapi.h"
+#include "fapi_vendor_extension.h"
#endif
#include "lphy_stub.h"
#include "lwr_mac_upr_inf.h"
void l1HdlConfigReq(uint32_t msgLen, void *msg)
{
#ifdef INTEL_FAPI
- fapi_config_req_t *configReq = (fapi_config_req_t *)msg;
+ p_fapi_api_queue_elem_t configReqElem = (p_fapi_api_queue_elem_t)msg;
+ fapi_config_req_t *configReq = (fapi_config_req_t *)(configReqElem +1);
DU_LOG("\nPHY_STUB: Received Config Request in PHY");
/* Handling CONFIG RESPONSE */
- if(l1BldAndSndConfigRsp(msg)!= ROK)
+ if(l1BldAndSndConfigRsp(configReq)!= ROK)
{
printf("\nPHY_STUB: Failed Sending config Response");
}
- MAC_FREE(configReq, msgLen);
+ MAC_FREE(msg, msgLen);
#endif
}
*/
pdu[byteIdx++] = 0;
/* Hardcoding MAC PDU */
- pdu[byteIdx++] = 181;
- pdu[byteIdx++] = 99;
- pdu[byteIdx++] = 20;
- pdu[byteIdx++] = 170;
- pdu[byteIdx++] = 132;
- pdu[byteIdx++] = 96;
+ pdu[byteIdx++] = 16;
+ pdu[byteIdx++] = 00;
+ pdu[byteIdx++] = 00;
+ pdu[byteIdx++] = 00;
+ pdu[byteIdx++] = 00;
+ pdu[byteIdx++] = 103;
break;
}
S16 l1HdlStartReq(uint32_t msgLen, void *msg)
{
#ifdef INTEL_FAPI
- fapi_start_req_t *startReq = (fapi_start_req_t *)msg;
-
if(lwrMacCb.phyState == PHY_STATE_CONFIGURED)
{
l1HdlSlotIndicaion(FALSE);
- MAC_FREE(startReq, sizeof(fapi_start_req_t));
+ MAC_FREE(msg, msgLen);
}
else
{
DU_LOG("\nPHY_STUB: Received Start Req in PHY State %d", lwrMacCb.phyState);
+ MAC_FREE(msg, msgLen);
return RFAILED;
}
#endif
S16 l1HdlDlTtiReq(uint16_t msgLen, void *msg)
{
#ifdef INTEL_FAPI
- fapi_dl_tti_req_t *dlTtiReq;
- dlTtiReq = (fapi_dl_tti_req_t *)msg;
+ p_fapi_api_queue_elem_t dlTtiElem = (p_fapi_api_queue_elem_t)msg;
+ fapi_dl_tti_req_t *dlTtiReq = (fapi_dl_tti_req_t *)(dlTtiElem +1);
uint8_t pduCount = 0;
}
/* Free FAPI message */
- MAC_FREE(dlTtiReq, msgLen);
-
+ MAC_FREE(msg, msgLen);
#endif
return ROK;
}
S16 l1HdlTxDataReq(uint16_t msgLen, void *msg)
{
#ifdef INTEL_FAPI
- fapi_tx_data_req_t *txDataReq;
- txDataReq = (fapi_tx_data_req_t *)msg;
+ p_fapi_api_queue_elem_t txDataElem = (p_fapi_api_queue_elem_t)msg;
+ fapi_tx_data_req_t *txDataReq = (fapi_tx_data_req_t *)(txDataElem +1);
+
DU_LOG("\nPHY STUB: TX DATA Request at sfn=%d slot=%d",txDataReq->sfn,txDataReq->slot);
if(dlDedMsg)
{
DU_LOG("\nPHY_STUB: TxDataPdu for DED MSG sent");
dlDedMsg = false;
}
- MAC_FREE(txDataReq, msgLen);
+ MAC_FREE(msg, msgLen);
#endif
return ROK;
}
pduInfo->rnti = pucchPdu.rnti;
pduInfo->timingAdvance = 0;
pduInfo->rssi = 0;
- pduInfo->uciBits[idx] = 0; //TODO: FAPI spec ver. 222.10.01 has no info about UCI Bits
if(pduInfo->pduBitmap & SR_PDU_BITMASK)
{
pduInfo->srInfo.srIndication = SR_DETECTED;
S16 l1HdlUlTtiReq(uint16_t msgLen, void *msg)
{
#ifdef INTEL_FAPI
- fapi_ul_tti_req_t *ulTtiReq = NULLP;
- ulTtiReq = (fapi_ul_tti_req_t *)msg;
+ p_fapi_api_queue_elem_t ulTtiElem = (p_fapi_api_queue_elem_t)msg;
+ fapi_ul_tti_req_t *ulTtiReq = (fapi_ul_tti_req_t *)(ulTtiElem +1);
uint8_t numPdus = ulTtiReq->nPdus;
#ifdef ODU_SLOT_IND_DEBUG_LOG
l1BuildAndSendRachInd(ulTtiReq->slot, ulTtiReq->sfn);
}
- MAC_FREE(ulTtiReq, msgLen);
+ MAC_FREE(msg, msgLen);
#endif
return ROK;
}
S16 l1HdlStopReq(uint32_t msgLen, void *msg)
{
#ifdef INTEL_FAPI
- fapi_stop_req_t *stopReq = (fapi_stop_req_t *)msg;
-
if(lwrMacCb.phyState == PHY_STATE_RUNNING)
{
l1HdlSlotIndicaion(TRUE);
DU_LOG("\nPHY_STUB: Slot Indication is stopped successfully");
l1BuildAndSendStopInd();
- MAC_FREE(stopReq, msgLen);
+ MAC_FREE(msg, msgLen);
}
else
{
DU_LOG("\nPHY_STUB: Received Stop Req in PHY State %d", lwrMacCb.phyState);
+ MAC_FREE(msg, msgLen);
return RFAILED;
}
#endif
S16 l1HdlUlDciReq(uint16_t msgLen, void *msg)
{
#ifdef INTEL_FAPI
- fapi_ul_dci_req_t *ulDciReq = NULLP;
-
- ulDciReq = (fapi_ul_dci_req_t *)msg;
+ p_fapi_api_queue_elem_t ulDciElem = (p_fapi_api_queue_elem_t)msg;
+ fapi_ul_dci_req_t *ulDciReq = (fapi_ul_dci_req_t *)(ulDciElem +1);
uint8_t numPdus = ulDciReq->numPdus;
while(numPdus)
numPdus--;
}
- MAC_FREE(ulDciReq, msgLen);
+ MAC_FREE(msg, msgLen);
#endif
return ROK;
}