static char * dump_pmc_enter_wowl( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { tSirSmeWowlEnterParams wowlEnterParams; tSirRetStatus status; tANI_U32 length; tANI_U8 sessionId = 0; (void) arg4; palZeroMemory(pMac->hHdd, &wowlEnterParams, sizeof(tSirSmeWowlEnterParams)); if (arg1 == 0 && arg2 == 0) { pmcLog(pMac, LOGE, "Requesting WoWL but neither magic pkt and ptrn byte matching is being enabled\n"); return p; } if(arg1 == 1) { wowlEnterParams.ucMagicPktEnable = 1; length = SIR_MAC_ADDR_LENGTH; status = wlan_cfgGetStr(pMac, WNI_CFG_STA_ID, (tANI_U8 *)wowlEnterParams.magicPtrn, &length); if (eSIR_SUCCESS != status) { pmcLog(pMac, LOGE, "Reading of WNI_CFG_STA_ID from CFG failed. Using hardcoded STA MAC Addr\n"); wowlEnterParams.magicPtrn[0] = 0x00; wowlEnterParams.magicPtrn[1] = 0x0a; wowlEnterParams.magicPtrn[2] = 0xf5; wowlEnterParams.magicPtrn[3] = 0x04; wowlEnterParams.magicPtrn[4] = 0x05; wowlEnterParams.magicPtrn[5] = 0x06; } } if(arg2 == 1) { wowlEnterParams.ucPatternFilteringEnable = 1; } if(arg3 == CSR_ROAM_SESSION_MAX ) { pmcLog(pMac, LOGE, "Enter valid sessionId\n"); return p; } pMac->pmc.bmpsEnabled = TRUE; pMac->pmc.wowlEnabled = TRUE; sessionId = (tANI_U8 ) arg3; #ifdef WLAN_WAKEUP_EVENTS (void)sme_EnterWowl(pMac, dump_pmc_callbackRoutine, pMac, dump_pmc_callbackRoutine2, pMac, &wowlEnterParams, sessionId); #else (void)sme_EnterWowl(pMac, dump_pmc_callbackRoutine, pMac, &wowlEnterParams, sessionId); #endif return p; }
static char * dump_pmc_test_Wowl( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { tSirSmeRsp smeRsp; tSirWowlAddBcastPtrn addPattern; tSirWowlDelBcastPtrn delPattern; tSirSmeWowlEnterParams wowlEnterParams; tANI_U8 sessionId = 0; smeRsp.statusCode = eSIR_SME_SUCCESS; palZeroMemory(pMac->hHdd, &addPattern, sizeof(tSirWowlAddBcastPtrn)); palZeroMemory(pMac->hHdd, &delPattern, sizeof(tSirWowlDelBcastPtrn)); palZeroMemory(pMac->hHdd, &wowlEnterParams, sizeof(tSirSmeWowlEnterParams)); (void) arg2; (void) arg3; (void) arg4; if(arg1 == CSR_ROAM_SESSION_MAX) { pmcLog(pMac, LOGE, "dump_pmc_test_Wowl: Invalid sessionId\n"); return p; } sessionId = (tANI_U8 ) arg1; sme_WowlAddBcastPattern(pMac, &addPattern, sessionId); sme_WowlDelBcastPattern(pMac, &delPattern, sessionId); pMac->pmc.pmcState = BMPS; #ifdef WLAN_WAKEUP_EVENTS sme_EnterWowl(pMac, dump_pmc_callbackRoutine, pMac, dump_pmc_callbackRoutine2, pMac, &wowlEnterParams, sessionId); #else sme_EnterWowl(pMac, dump_pmc_callbackRoutine, pMac, &wowlEnterParams, sessionId); #endif smeRsp.messageType = eWNI_PMC_ENTER_WOWL_RSP; pmcMessageProcessor(pMac, &smeRsp); sme_ExitWowl(pMac); smeRsp.messageType = eWNI_PMC_EXIT_WOWL_RSP; pmcMessageProcessor(pMac, &smeRsp); return p; }
static char * dump_pmc_test_Wowl( tpAniSirGlobal pMac, tANI_U32 arg1, tANI_U32 arg2, tANI_U32 arg3, tANI_U32 arg4, char *p) { tSirSmeRsp smeRsp; tSirWowlAddBcastPtrn addPattern; tSirWowlDelBcastPtrn delPattern; tSirSmeWowlEnterParams wowlEnterParams; tANI_U8 sessionId = 0; smeRsp.statusCode = eSIR_SME_SUCCESS; vos_mem_set(&addPattern, sizeof(tSirWowlAddBcastPtrn), 0); vos_mem_set(&delPattern, sizeof(tSirWowlDelBcastPtrn), 0); vos_mem_set(&wowlEnterParams, sizeof(tSirSmeWowlEnterParams), 0); (void) arg2; (void) arg3; (void) arg4; if(arg1 == CSR_ROAM_SESSION_MAX) { pmcLog(pMac, LOGE, "dump_pmc_test_Wowl: Invalid sessionId\n"); return p; } sessionId = (tANI_U8 ) arg1; //Add pattern sme_WowlAddBcastPattern(pMac, &addPattern, sessionId); //Delete pattern sme_WowlDelBcastPattern(pMac, &delPattern, sessionId); //Force the device into BMPS pMac->pmc.pmcState = BMPS; //Enter Wowl #ifdef WLAN_WAKEUP_EVENTS sme_EnterWowl(pMac, dump_pmc_callbackRoutine, pMac, dump_pmc_callbackRoutine2, pMac, &wowlEnterParams, sessionId); #else // WLAN_WAKEUP_EVENTS sme_EnterWowl(pMac, dump_pmc_callbackRoutine, pMac, &wowlEnterParams, sessionId); #endif // WLAN_WAKEUP_EVENTS smeRsp.messageType = eWNI_PMC_ENTER_WOWL_RSP; pmcMessageProcessor(pMac, &smeRsp); //Exit Wowl sme_ExitWowl(pMac, eWOWL_EXIT_USER); smeRsp.messageType = eWNI_PMC_EXIT_WOWL_RSP; pmcMessageProcessor(pMac, &smeRsp); return p; }