VOID ODM_ScheduleWorkItem( IN PRT_WORK_ITEM pRtWorkItem ) { #if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) #elif(DM_ODM_SUPPORT_TYPE & ODM_CE) #elif(DM_ODM_SUPPORT_TYPE & ODM_MP) PlatformScheduleWorkItem(pRtWorkItem); #endif }
VOID phydm_beamformSetSoundingStatus( IN PVOID pDM_VOID ) { PDM_ODM_T pDM_Odm = (PDM_ODM_T)pDM_VOID; #if (DM_ODM_SUPPORT_TYPE == ODM_WIN) PHAL_TXBF_INFO pTxbfInfo = &pDM_Odm->BeamformingInfo.TxbfInfo; if (PlatformIsWorkItemScheduled(&(pTxbfInfo->Txbf_StatusWorkItem)) == FALSE) PlatformScheduleWorkItem(&(pTxbfInfo->Txbf_StatusWorkItem)); #else halComTxbf_StatusWorkItemCallback(pDM_Odm); #endif }
VOID phydm_beamformSetSoundingFwNdpa( IN PVOID pDM_VOID ) { PDM_ODM_T pDM_Odm = (PDM_ODM_T)pDM_VOID; #if (DM_ODM_SUPPORT_TYPE == ODM_WIN) PHAL_TXBF_INFO pTxbfInfo = &pDM_Odm->BeamformingInfo.TxbfInfo; if (*pDM_Odm->pbFwDwRsvdPageInProgress) ODM_SetTimer(pDM_Odm, &(pTxbfInfo->Txbf_FwNdpaTimer), 5); else PlatformScheduleWorkItem(&(pTxbfInfo->Txbf_FwNdpaWorkItem)); #else halComTxbf_FwNdpaWorkItemCallback(pDM_Odm); #endif }
VOID halComTxbf_FwNdpaTimerCallback( IN PRT_TIMER pTimer ) { PADAPTER Adapter = (PADAPTER)pTimer->Adapter; PHAL_DATA_TYPE pHalData = GET_HAL_DATA(Adapter); PDM_ODM_T pDM_Odm = &pHalData->DM_OutSrc; PHAL_TXBF_INFO pTxbfInfo = &pDM_Odm->BeamformingInfo.TxbfInfo; ODM_RT_TRACE(pDM_Odm, PHYDM_COMP_TXBF, ODM_DBG_LOUD, ("[%s] Start!\n", __func__)); if (*pDM_Odm->pbFwDwRsvdPageInProgress) ODM_SetTimer(pDM_Odm, &(pTxbfInfo->Txbf_FwNdpaTimer), 5); else PlatformScheduleWorkItem(&(pTxbfInfo->Txbf_FwNdpaWorkItem)); }