#include "lwr_mac_fsm.h"
#include "lwr_mac_phy.h"
#include "lwr_mac_upr_inf.h"
+#include "rg.h"
#ifdef FAPI
/* Function pointer for slot indication from lower mac to mac */
packRxDataInd
};
-
+/* Function pointer for stop indication from lower mac to mac */
+packStopIndMsg sendStopIndOpts[] =
+{
+ packStopInd,
+ fapiMacStopInd,
+ packStopInd
+};
/*******************************************************************
*
* @brief Fills post structure
return ret;
}
+/*******************************************************************
+ *
+ * @brief Handles stop indication recived from PHY
+ *
+ * @details
+ *
+ * Function : handleStopInd
+ *
+ * Functionality:
+ * Handles Stop Indication received from PHY
+ *
+ * @return ROK - success
+ * RFAILED - failure
+ *
+ * ****************************************************************/
+uint8_t handleStopInd()
+{
+ uint8_t ret;
+ Pst pst;
+
+ clGlobalCp.phyState = PHY_STATE_CONFIGURED;
+ DU_LOG("\nLWR_MAC: PHY has moved to configured state");
+
+ fillLwrMacToMacPst(&pst);
+ pst.event = EVENT_STOP_IND_TO_MAC;
+ ret = (*sendStopIndOpts[pst.selector])(&pst);
+ return ret;
+}
/*******************************************************************
*
* @brief Processes Rach Indication from PHY and sends to MAC
pdu->ul_cqi = fapiRxDataInd->pdus[pduIdx].ul_cqi;
pdu->timingAdvance = fapiRxDataInd->pdus[pduIdx].timingAdvance;
pdu->rssi = fapiRxDataInd->pdus[pduIdx].rssi;
- /* TODO : Copy pdu from FAPI msg to MAC structure*/
- //pdu->pduData;
+
+ MAC_ALLOC(pdu->pduData, pdu->pduLength);
+ memcpy(pdu->pduData, fapiRxDataInd->pdus[pduIdx].pduData, pdu->pduLength);
}
fillLwrMacToMacPst(&pst);
rachInd = (fapi_rach_indication_t *)msg;
handleRachInd(rachInd);
break;
+ }
+ case FAPI_STOP_INDICATION:
+ {
+ DU_LOG("\nLWR_MAC: Handling Stop Indication");
+ handleStopInd();
+ break;
}
}
#ifdef INTEL_WLS