VOID Phydm_CheckEnvironment( IN PVOID pDM_VOID ) { PDM_ODM_T pDM_Odm = (PDM_ODM_T)pDM_VOID; PADAPTIVITY_STATISTICS Adaptivity = (PADAPTIVITY_STATISTICS)PhyDM_Get_Structure(pDM_Odm, PHYDM_ADAPTIVITY); BOOLEAN isCleanEnvironment = FALSE; if (Adaptivity->bFirstLink == TRUE) { if (pDM_Odm->SupportICType & (ODM_RTL8814A|ODM_RTL8195A)) pDM_Odm->adaptivity_flag = FALSE; else pDM_Odm->adaptivity_flag = TRUE; Adaptivity->bFirstLink = FALSE; return; } else { if (Adaptivity->NHMWait < 3) { /*Start enter NHM after 4 NHMWait*/ Adaptivity->NHMWait++; Phydm_NHMCounterStatistics(pDM_Odm); return; } else { Phydm_NHMCounterStatistics(pDM_Odm); isCleanEnvironment = Phydm_CalNHMcnt(pDM_Odm); if (isCleanEnvironment == TRUE) { #if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) pDM_Odm->TH_L2H_ini = pDM_Odm->TH_L2H_ini_backup; /*mode 1*/ pDM_Odm->TH_EDCCA_HL_diff = Adaptivity->TH_EDCCA_HL_diff_backup; #endif pDM_Odm->Adaptivity_enable = TRUE; if (pDM_Odm->SupportICType & (ODM_RTL8814A|ODM_RTL8195A)) pDM_Odm->adaptivity_flag = FALSE; else pDM_Odm->adaptivity_flag = TRUE; } else { #if(DM_ODM_SUPPORT_TYPE & (ODM_WIN|ODM_CE)) Phydm_SetEDCCAThreshold(pDM_Odm, 0x7f, 0x7f); #else pDM_Odm->TH_L2H_ini = Adaptivity->TH_L2H_ini_mode2; /*for AP mode 2*/ pDM_Odm->TH_EDCCA_HL_diff = Adaptivity->TH_EDCCA_HL_diff_mode2; #endif pDM_Odm->adaptivity_flag = FALSE; pDM_Odm->Adaptivity_enable = FALSE; } Adaptivity->NHMWait = 0; Adaptivity->bFirstLink = TRUE; Adaptivity->bCheck = TRUE; } } }
VOID Phydm_CheckEnvironment( IN PVOID pDM_VOID ) { PDM_ODM_T pDM_Odm = (PDM_ODM_T)pDM_VOID; BOOLEAN isCleanEnvironment = FALSE; u1Byte clean = 0; if(pDM_Odm->bFirstLink == TRUE) { if(pDM_Odm->SupportICType & ODM_RTL8814A) pDM_Odm->adaptivity_flag = FALSE; else pDM_Odm->adaptivity_flag = TRUE; pDM_Odm->bFirstLink = FALSE; return; } else { if(pDM_Odm->NHMWait < 3) // Start enter NHM after 4 NHMWait { pDM_Odm->NHMWait ++; Phydm_NHMCounterStatistics(pDM_Odm); return; } else { Phydm_NHMCounterStatistics(pDM_Odm); isCleanEnvironment = Phydm_CalNHMcnt(pDM_Odm); if(isCleanEnvironment == TRUE) { #if(DM_ODM_SUPPORT_TYPE & (ODM_AP|ODM_ADSL)) pDM_Odm->TH_L2H_ini = pDM_Odm->TH_L2H_ini_backup; //mode 1 pDM_Odm->TH_EDCCA_HL_diff= pDM_Odm->TH_EDCCA_HL_diff_backup; #endif pDM_Odm->Adaptivity_enable = TRUE; if(pDM_Odm->SupportICType & ODM_RTL8814A) pDM_Odm->adaptivity_flag = FALSE; else pDM_Odm->adaptivity_flag = TRUE; } else { #if(DM_ODM_SUPPORT_TYPE & (ODM_WIN|ODM_CE)) Phydm_SetEDCCAThreshold(pDM_Odm, 0x7f, 0x7f); #else pDM_Odm->TH_L2H_ini = pDM_Odm->TH_L2H_ini_mode2; // for AP mode 2 pDM_Odm->TH_EDCCA_HL_diff= pDM_Odm->TH_EDCCA_HL_diff_mode2; #endif pDM_Odm->adaptivity_flag = FALSE; pDM_Odm->Adaptivity_enable = FALSE; } pDM_Odm->bFirstLink = TRUE; pDM_Odm->bCheck = TRUE; } } }