Lines Matching refs:pDM_Odm

14 	struct dm_odm_t	*pDM_Odm = (struct dm_odm_t *)pDM_VOID;  in odm_NHMCounterStatisticsInit()  local
17 …rtw_write16(pDM_Odm->Adapter, ODM_REG_NHM_TIMER_11N+2, 0x2710); /* 0x894[31:16]= 0x2710 Time durat… in odm_NHMCounterStatisticsInit()
19 …rtw_write16(pDM_Odm->Adapter, ODM_REG_NHM_TH9_TH10_11N+2, 0xffff); /* 0x890[31:16]= 0xffff th_9, t… in odm_NHMCounterStatisticsInit()
21 …rtw_write32(pDM_Odm->Adapter, ODM_REG_NHM_TH3_TO_TH0_11N, 0xffffff52); /* 0x898 = 0xffffff52 th_3… in odm_NHMCounterStatisticsInit()
22 …rtw_write32(pDM_Odm->Adapter, ODM_REG_NHM_TH7_TO_TH4_11N, 0xffffffff); /* 0x89c = 0xffffffff th_7… in odm_NHMCounterStatisticsInit()
23 …PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_FPGA0_IQK_11N, bMaskByte0, 0xff); /* 0xe28[7:0]= 0xff th_… in odm_NHMCounterStatisticsInit()
24 …PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_NHM_TH9_TH10_11N, BIT10|BIT9|BIT8, 0x7); /* 0x890[9:8]=3 … in odm_NHMCounterStatisticsInit()
25 …PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_RSTC_11N, BIT7, 0x1); /* 0xc0c[7]= 1 max power a… in odm_NHMCounterStatisticsInit()
30 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_NHMCounterStatistics() local
33 odm_GetNHMCounterStatistics(pDM_Odm); in odm_NHMCounterStatistics()
36 odm_NHMCounterStatisticsReset(pDM_Odm); in odm_NHMCounterStatistics()
41 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_GetNHMCounterStatistics() local
44 value32 = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_NHM_CNT_11N, bMaskDWord); in odm_GetNHMCounterStatistics()
46 pDM_Odm->NHM_cnt_0 = (u8)(value32 & bMaskByte0); in odm_GetNHMCounterStatistics()
51 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_NHMCounterStatisticsReset() local
53 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_NHM_TH9_TH10_11N, BIT1, 0); in odm_NHMCounterStatisticsReset()
54 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_NHM_TH9_TH10_11N, BIT1, 1); in odm_NHMCounterStatisticsReset()
59 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_NHMBBInit() local
61 pDM_Odm->adaptivity_flag = 0; in odm_NHMBBInit()
62 pDM_Odm->tolerance_cnt = 3; in odm_NHMBBInit()
63 pDM_Odm->NHMLastTxOkcnt = 0; in odm_NHMBBInit()
64 pDM_Odm->NHMLastRxOkcnt = 0; in odm_NHMBBInit()
65 pDM_Odm->NHMCurTxOkcnt = 0; in odm_NHMBBInit()
66 pDM_Odm->NHMCurRxOkcnt = 0; in odm_NHMBBInit()
72 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_NHMBB() local
76 pDM_Odm->NHMCurTxOkcnt = in odm_NHMBB()
77 *(pDM_Odm->pNumTxBytesUnicast)-pDM_Odm->NHMLastTxOkcnt; in odm_NHMBB()
78 pDM_Odm->NHMCurRxOkcnt = in odm_NHMBB()
79 *(pDM_Odm->pNumRxBytesUnicast)-pDM_Odm->NHMLastRxOkcnt; in odm_NHMBB()
80 pDM_Odm->NHMLastTxOkcnt = in odm_NHMBB()
81 *(pDM_Odm->pNumTxBytesUnicast); in odm_NHMBB()
82 pDM_Odm->NHMLastRxOkcnt = in odm_NHMBB()
83 *(pDM_Odm->pNumRxBytesUnicast); in odm_NHMBB()
85 pDM_Odm, in odm_NHMBB()
90 pDM_Odm->NHM_cnt_0, in odm_NHMBB()
91 pDM_Odm->NHMCurTxOkcnt, in odm_NHMBB()
92 pDM_Odm->NHMCurRxOkcnt in odm_NHMBB()
97 …if ((pDM_Odm->NHMCurTxOkcnt) + 1 > (u64)(pDM_Odm->NHMCurRxOkcnt<<2) + 1) { /* Tx > 4*Rx possible f… in odm_NHMBB()
98 if (pDM_Odm->NHM_cnt_0 >= 190 || pDM_Odm->adaptivity_flag == true) { in odm_NHMBB()
101 pDM_Odm->adaptivity_flag = true; in odm_NHMBB()
102 pDM_Odm->tolerance_cnt = 0; in odm_NHMBB()
104 if (pDM_Odm->tolerance_cnt < 3) in odm_NHMBB()
105 pDM_Odm->tolerance_cnt = pDM_Odm->tolerance_cnt + 1; in odm_NHMBB()
107 pDM_Odm->tolerance_cnt = 4; in odm_NHMBB()
109 if (pDM_Odm->tolerance_cnt > 3) { in odm_NHMBB()
111 pDM_Odm->adaptivity_flag = false; in odm_NHMBB()
115 if (pDM_Odm->adaptivity_flag == true && pDM_Odm->NHM_cnt_0 <= 200) { in odm_NHMBB()
117 pDM_Odm->tolerance_cnt = 0; in odm_NHMBB()
119 if (pDM_Odm->tolerance_cnt < 3) in odm_NHMBB()
120 pDM_Odm->tolerance_cnt = pDM_Odm->tolerance_cnt + 1; in odm_NHMBB()
122 pDM_Odm->tolerance_cnt = 4; in odm_NHMBB()
124 if (pDM_Odm->tolerance_cnt > 3) { in odm_NHMBB()
126 pDM_Odm->adaptivity_flag = false; in odm_NHMBB()
131 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("adaptivity_flag = %d\n ", pDM_Odm->adaptivity_… in odm_NHMBB()
136 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_SearchPwdBLowerBound() local
144 ODM_Write_DIG(pDM_Odm, IGI); in odm_SearchPwdBLowerBound()
148 TH_L2H_dmc = pDM_Odm->TH_L2H_ini + Diff; in odm_SearchPwdBLowerBound()
151 TH_H2L_dmc = TH_L2H_dmc - pDM_Odm->TH_EDCCA_HL_diff; in odm_SearchPwdBLowerBound()
152 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0, (u8)TH_L2H_dmc); in odm_SearchPwdBLowerBound()
153 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2, (u8)TH_H2L_dmc); in odm_SearchPwdBLowerBound()
159 value32 = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_RPT_11N, bMaskDWord); in odm_SearchPwdBLowerBound()
162 pDM_Odm->txEdcca1 = pDM_Odm->txEdcca1 + 1; in odm_SearchPwdBLowerBound()
164 pDM_Odm->txEdcca1 = pDM_Odm->txEdcca1 + 1; in odm_SearchPwdBLowerBound()
166 pDM_Odm->txEdcca0 = pDM_Odm->txEdcca0 + 1; in odm_SearchPwdBLowerBound()
170 if (pDM_Odm->txEdcca1 > 5) { in odm_SearchPwdBLowerBound()
175 TH_H2L_dmc = TH_L2H_dmc - pDM_Odm->TH_EDCCA_HL_diff; in odm_SearchPwdBLowerBound()
176 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0, (u8)TH_L2H_dmc); in odm_SearchPwdBLowerBound()
177 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2, (u8)TH_H2L_dmc); in odm_SearchPwdBLowerBound()
179 pDM_Odm->TxHangFlg = true; in odm_SearchPwdBLowerBound()
180 pDM_Odm->txEdcca1 = 0; in odm_SearchPwdBLowerBound()
181 pDM_Odm->txEdcca0 = 0; in odm_SearchPwdBLowerBound()
185 pDM_Odm->TxHangFlg = false; in odm_SearchPwdBLowerBound()
186 pDM_Odm->txEdcca1 = 0; in odm_SearchPwdBLowerBound()
187 pDM_Odm->txEdcca0 = 0; in odm_SearchPwdBLowerBound()
188 pDM_Odm->H2L_lb = TH_H2L_dmc; in odm_SearchPwdBLowerBound()
189 pDM_Odm->L2H_lb = TH_L2H_dmc; in odm_SearchPwdBLowerBound()
190 pDM_Odm->Adaptivity_IGI_upper = IGI; in odm_SearchPwdBLowerBound()
194 pDM_Odm->TxHangFlg = false; in odm_SearchPwdBLowerBound()
195 pDM_Odm->txEdcca1 = 0; in odm_SearchPwdBLowerBound()
196 pDM_Odm->txEdcca0 = 0; in odm_SearchPwdBLowerBound()
197 pDM_Odm->H2L_lb = TH_H2L_dmc; in odm_SearchPwdBLowerBound()
198 pDM_Odm->L2H_lb = TH_L2H_dmc; in odm_SearchPwdBLowerBound()
199 pDM_Odm->Adaptivity_IGI_upper = IGI; in odm_SearchPwdBLowerBound()
203 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("IGI = 0x%x, H2L_lb = 0x%x, L2H_lb = 0x%x\n", I… in odm_SearchPwdBLowerBound()
208 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_AdaptivityInit() local
210 if (pDM_Odm->Carrier_Sense_enable == false) in odm_AdaptivityInit()
211 pDM_Odm->TH_L2H_ini = 0xf7; /* -7 */ in odm_AdaptivityInit()
213 pDM_Odm->TH_L2H_ini = 0xa; in odm_AdaptivityInit()
215 pDM_Odm->AdapEn_RSSI = 20; in odm_AdaptivityInit()
216 pDM_Odm->TH_EDCCA_HL_diff = 7; in odm_AdaptivityInit()
218 pDM_Odm->IGI_Base = 0x32; in odm_AdaptivityInit()
219 pDM_Odm->IGI_target = 0x1c; in odm_AdaptivityInit()
220 pDM_Odm->ForceEDCCA = 0; in odm_AdaptivityInit()
221 pDM_Odm->NHM_disable = false; in odm_AdaptivityInit()
222 pDM_Odm->TxHangFlg = true; in odm_AdaptivityInit()
223 pDM_Odm->txEdcca0 = 0; in odm_AdaptivityInit()
224 pDM_Odm->txEdcca1 = 0; in odm_AdaptivityInit()
225 pDM_Odm->H2L_lb = 0; in odm_AdaptivityInit()
226 pDM_Odm->L2H_lb = 0; in odm_AdaptivityInit()
227 pDM_Odm->Adaptivity_IGI_upper = 0; in odm_AdaptivityInit()
228 odm_NHMBBInit(pDM_Odm); in odm_AdaptivityInit()
230 PHY_SetBBReg(pDM_Odm->Adapter, REG_RD_CTRL, BIT11, 1); /* stop counting if EDCCA is asserted */ in odm_AdaptivityInit()
236 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_Adaptivity() local
241 if (!(pDM_Odm->SupportAbility & ODM_BB_ADAPTIVITY)) { in odm_Adaptivity()
242 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("Go to odm_DynamicEDCCA()\n")); in odm_Adaptivity()
245 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_Adaptivity() =====>\n")); in odm_Adaptivity()
246 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("ForceEDCCA =%d, IGI_Base = 0x%x, TH_L2H_ini = … in odm_Adaptivity()
247pDM_Odm->ForceEDCCA, pDM_Odm->IGI_Base, pDM_Odm->TH_L2H_ini, pDM_Odm->TH_EDCCA_HL_diff, pDM_Odm->A… in odm_Adaptivity()
249 if (*pDM_Odm->pBandWidth == ODM_BW20M) /* CHANNEL_WIDTH_20 */ in odm_Adaptivity()
250 IGI_target = pDM_Odm->IGI_Base; in odm_Adaptivity()
251 else if (*pDM_Odm->pBandWidth == ODM_BW40M) in odm_Adaptivity()
252 IGI_target = pDM_Odm->IGI_Base + 2; in odm_Adaptivity()
253 else if (*pDM_Odm->pBandWidth == ODM_BW80M) in odm_Adaptivity()
254 IGI_target = pDM_Odm->IGI_Base + 2; in odm_Adaptivity()
256 IGI_target = pDM_Odm->IGI_Base; in odm_Adaptivity()
257 pDM_Odm->IGI_target = (u8) IGI_target; in odm_Adaptivity()
260 if (pDM_Odm->TxHangFlg == true) { in odm_Adaptivity()
261 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_DBG_RPT_11N, bMaskDWord, 0x208); in odm_Adaptivity()
262 odm_SearchPwdBLowerBound(pDM_Odm, pDM_Odm->IGI_target); in odm_Adaptivity()
265 if ((!pDM_Odm->bLinked) || (*pDM_Odm->pChannel > 149)) { /* Band4 doesn't need adaptivity */ in odm_Adaptivity()
266 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0, 0x7f); in odm_Adaptivity()
267 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2, 0x7f); in odm_Adaptivity()
271 if (!pDM_Odm->ForceEDCCA) { in odm_Adaptivity()
272 if (pDM_Odm->RSSI_Min > pDM_Odm->AdapEn_RSSI) in odm_Adaptivity()
274 else if (pDM_Odm->RSSI_Min < (pDM_Odm->AdapEn_RSSI - 5)) in odm_Adaptivity()
280 pDM_Odm->bLinked && in odm_Adaptivity()
281 pDM_Odm->Carrier_Sense_enable == false && in odm_Adaptivity()
282 pDM_Odm->NHM_disable == false && in odm_Adaptivity()
283 pDM_Odm->TxHangFlg == false in odm_Adaptivity()
285 odm_NHMBB(pDM_Odm); in odm_Adaptivity()
288 pDM_Odm, in odm_Adaptivity()
293 (*pDM_Odm->pBandWidth == ODM_BW80M) ? "80M" : in odm_Adaptivity()
294 ((*pDM_Odm->pBandWidth == ODM_BW40M) ? "40M" : "20M"), in odm_Adaptivity()
302 TH_L2H_dmc = pDM_Odm->TH_L2H_ini + Diff; in odm_Adaptivity()
306 TH_H2L_dmc = TH_L2H_dmc - pDM_Odm->TH_EDCCA_HL_diff; in odm_Adaptivity()
309 if (TH_H2L_dmc < pDM_Odm->H2L_lb) in odm_Adaptivity()
310 TH_H2L_dmc = pDM_Odm->H2L_lb; in odm_Adaptivity()
311 if (TH_L2H_dmc < pDM_Odm->L2H_lb) in odm_Adaptivity()
312 TH_L2H_dmc = pDM_Odm->L2H_lb; in odm_Adaptivity()
317 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("IGI = 0x%x, TH_L2H_dmc = %d, TH_H2L_dmc = %d\n… in odm_Adaptivity()
319 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0, (u8)TH_L2H_dmc); in odm_Adaptivity()
320 PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2, (u8)TH_H2L_dmc); in odm_Adaptivity()
325 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in ODM_Write_DIG() local
326 struct dig_t *pDM_DigTable = &pDM_Odm->DM_DigTable; in ODM_Write_DIG()
329 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("Stop Writing IGI\n")); in ODM_Write_DIG()
333 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_TRACE, ("ODM_REG(IGI_A, pDM_Odm) = 0x%x, ODM_BIT(IGI, … in ODM_Write_DIG()
334 ODM_REG(IGI_A, pDM_Odm), ODM_BIT(IGI, pDM_Odm))); in ODM_Write_DIG()
340 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_TRACE, ("CurrentIGI(0x%02x) is larger than upper bound… in ODM_Write_DIG()
347 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG(IGI_A, pDM_Odm), ODM_BIT(IGI, pDM_Odm), CurrentIGI); in ODM_Write_DIG()
349 if (pDM_Odm->RFType > ODM_1T1R) in ODM_Write_DIG()
350 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG(IGI_B, pDM_Odm), ODM_BIT(IGI, pDM_Odm), CurrentIGI); in ODM_Write_DIG()
355 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_TRACE, ("CurrentIGI(0x%02x).\n", CurrentIGI)); in ODM_Write_DIG()
365 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_PauseDIG() local
366 struct dig_t *pDM_DigTable = &pDM_Odm->DM_DigTable; in odm_PauseDIG()
369 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_PauseDIG() =========>\n")); in odm_PauseDIG()
372 (pDM_Odm->SupportAbility & ODM_BB_ADAPTIVITY) && in odm_PauseDIG()
373 pDM_Odm->TxHangFlg == true in odm_PauseDIG()
376 pDM_Odm, in odm_PauseDIG()
385 !bPaused && (!(pDM_Odm->SupportAbility & ODM_BB_DIG) || in odm_PauseDIG()
386 !(pDM_Odm->SupportAbility & ODM_BB_FA_CNT)) in odm_PauseDIG()
389 pDM_Odm, in odm_PauseDIG()
401 ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_ABILITY, pDM_Odm->SupportAbility & (~ODM_BB_DIG)); in odm_PauseDIG()
402 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_PauseDIG(): Pause DIG !!\n")); in odm_PauseDIG()
409 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_PauseDIG(): Backup IGI = 0x%x\n", pDM_Dig… in odm_PauseDIG()
412 ODM_Write_DIG(pDM_Odm, IGIValue); in odm_PauseDIG()
413 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_PauseDIG(): Write new IGI = 0x%x\n", IGIVa… in odm_PauseDIG()
420 ODM_Write_DIG(pDM_Odm, pDM_DigTable->IGIBackup); in odm_PauseDIG()
422 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_PauseDIG(): Write original IGI = 0x%x\n", … in odm_PauseDIG()
425 ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_ABILITY, pDM_Odm->SupportAbility | ODM_BB_DIG); in odm_PauseDIG()
426 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_PauseDIG(): Resume DIG !!\n")); in odm_PauseDIG()
431 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_PauseDIG(): Wrong type !!\n")); in odm_PauseDIG()
438 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_DigAbort() local
441 if (!(pDM_Odm->SupportAbility & ODM_BB_FA_CNT)) { in odm_DigAbort()
442 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Return: SupportAbility ODM_BB_FA_CN… in odm_DigAbort()
447 if (!(pDM_Odm->SupportAbility & ODM_BB_DIG)) { in odm_DigAbort()
448 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Return: SupportAbility ODM_BB_DIG i… in odm_DigAbort()
453 if (*(pDM_Odm->pbScanInProcess)) { in odm_DigAbort()
454 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Return: In Scan Progress\n")); in odm_DigAbort()
459 if (pDM_Odm->bDMInitialGainEnable == false) { in odm_DigAbort()
460 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Return: PSD is Processing\n")); in odm_DigAbort()
469 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_DIGInit() local
470 struct dig_t *pDM_DigTable = &pDM_Odm->DM_DigTable; in odm_DIGInit()
474 …M_DigTable->CurIGValue = (u8) PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(IGI_A, pDM_Odm), ODM_BIT(IG… in odm_DIGInit()
491 pDM_Odm->bDMInitialGainEnable = true; in odm_DIGInit()
507 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_DIG() local
510 struct dig_t *pDM_DigTable = &pDM_Odm->DM_DigTable; in odm_DIG()
511 struct false_ALARM_STATISTICS *pFalseAlmCnt = &pDM_Odm->FalseAlmCnt; in odm_DIG()
523 if (odm_DigAbort(pDM_Odm)) in odm_DIG()
526 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG() ===========================>\n\n")); in odm_DIG()
528 if (pDM_Odm->adaptivity_flag == true) in odm_DIG()
529 Adap_IGI_Upper = pDM_Odm->Adaptivity_IGI_upper; in odm_DIG()
534 FirstConnect = (pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0 == false); in odm_DIG()
535 FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0 == true); in odm_DIG()
543 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Absolutely upper bound = 0x%x, lowe… in odm_DIG()
546 if (pDM_Odm->bLinked && bPerformance) { in odm_DIG()
549 if (pDM_Odm->bBtLimitedDig == 1) { in odm_DIG()
551 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Coex. case: Force upper bound to RS… in odm_DIG()
555 if ((pDM_Odm->RSSI_Min + offset) > dm_dig_max) in odm_DIG()
557 else if ((pDM_Odm->RSSI_Min + offset) < dm_dig_min) in odm_DIG()
560 pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + offset; in odm_DIG()
565 if (pDM_Odm->RSSI_Min < dm_dig_min) in odm_DIG()
567 else if (pDM_Odm->RSSI_Min > DIG_MaxOfMin) in odm_DIG()
570 DIG_Dynamic_MIN = pDM_Odm->RSSI_Min; in odm_DIG()
578 if (pDM_Odm->bLinked && !pDM_Odm->bOneEntryOnly) { in odm_DIG()
579 if (pDM_Odm->SupportAbility & ODM_BB_ANT_DIV) { in odm_DIG()
581 pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV || in odm_DIG()
582 pDM_Odm->AntDivType == CG_TRX_SMART_ANTDIV || in odm_DIG()
583 pDM_Odm->AntDivType == S0S1_SW_ANTDIV in odm_DIG()
590 pDM_Odm, in odm_DIG()
599 pDM_Odm, in odm_DIG()
611 pDM_Odm, in odm_DIG()
621 pDM_Odm, in odm_DIG()
626 pDM_Odm->bLinked, in odm_DIG()
627 pDM_Odm->RSSI_Min, in odm_DIG()
640 odm_ForbiddenIGICheck(pDM_Odm, DIG_Dynamic_MIN, CurrentIGI); in odm_DIG()
642 if (pDM_Odm->bLinked && !FirstConnect) { in odm_DIG()
644 (pDM_Odm->PhyDbgInfo.NumQryBeaconPkt < 5) && in odm_DIG()
645 pDM_Odm->bsta_state in odm_DIG()
649 pDM_Odm, in odm_DIG()
654 pDM_Odm->PhyDbgInfo.NumQryBeaconPkt, in odm_DIG()
665 pDM_Odm, in odm_DIG()
677 odm_FAThresholdCheck(pDM_Odm, bDFSBand, bPerformance, RxTp, TxTp, dm_FA_thres); in odm_DIG()
678 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): False alarm threshold = %d, %d, %d\… in odm_DIG()
681 if (pDM_Odm->bLinked && bPerformance) { in odm_DIG()
684 pDM_Odm, in odm_DIG()
693 if (pDM_Odm->RSSI_Min < DIG_MaxOfMin) { in odm_DIG()
694 if (CurrentIGI < pDM_Odm->RSSI_Min) in odm_DIG()
695 CurrentIGI = pDM_Odm->RSSI_Min; in odm_DIG()
702 pDM_Odm, in odm_DIG()
720 (pDM_Odm->PhyDbgInfo.NumQryBeaconPkt < 5) && in odm_DIG()
722 (pDM_Odm->bsta_state) in odm_DIG()
726 pDM_Odm, in odm_DIG()
731 pDM_Odm->PhyDbgInfo.NumQryBeaconPkt, in odm_DIG()
740 pDM_Odm, in odm_DIG()
749 pDM_Odm, in odm_DIG()
772 pDM_Odm, in odm_DIG()
784 pDM_Odm->SupportAbility & ODM_BB_ADAPTIVITY && in odm_DIG()
785 pDM_Odm->adaptivity_flag == true in odm_DIG()
790 if (pDM_Odm->IGI_LowerBound != 0) { in odm_DIG()
791 if (CurrentIGI < pDM_Odm->IGI_LowerBound) in odm_DIG()
792 CurrentIGI = pDM_Odm->IGI_LowerBound; in odm_DIG()
794 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Adaptivity case: Force upper bound … in odm_DIG()
795 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Adaptivity case: Force lower bound … in odm_DIG()
800 if (pDM_Odm->bBtHsOperation) { in odm_DIG()
801 if (pDM_Odm->bLinked) { in odm_DIG()
803 ODM_Write_DIG(pDM_Odm, CurrentIGI); in odm_DIG()
805 ODM_Write_DIG(pDM_Odm, pDM_DigTable->BT30_CurIGI); in odm_DIG()
807 pDM_DigTable->bMediaConnect_0 = pDM_Odm->bLinked; in odm_DIG()
810 if (pDM_Odm->bLinkInProcess) in odm_DIG()
811 ODM_Write_DIG(pDM_Odm, 0x1c); in odm_DIG()
812 else if (pDM_Odm->bBtConnectProcess) in odm_DIG()
813 ODM_Write_DIG(pDM_Odm, 0x28); in odm_DIG()
815 …ODM_Write_DIG(pDM_Odm, pDM_DigTable->BT30_CurIGI);/* ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGVal… in odm_DIG()
818 ODM_Write_DIG(pDM_Odm, CurrentIGI);/* ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); */ in odm_DIG()
819 pDM_DigTable->bMediaConnect_0 = pDM_Odm->bLinked; in odm_DIG()
826 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_DIGbyRSSI_LPS() local
827 struct false_ALARM_STATISTICS *pFalseAlmCnt = &pDM_Odm->FalseAlmCnt; in odm_DIGbyRSSI_LPS()
830 u8 CurrentIGI = pDM_Odm->RSSI_Min; in odm_DIGbyRSSI_LPS()
835 pDM_Odm, in odm_DIGbyRSSI_LPS()
854 if ((pDM_Odm->RSSI_Min-10) > DM_DIG_MIN_NIC) in odm_DIGbyRSSI_LPS()
855 RSSI_Lower = pDM_Odm->RSSI_Min-10; in odm_DIGbyRSSI_LPS()
867 pDM_Odm, in odm_DIGbyRSSI_LPS()
873 pDM_Odm, in odm_DIGbyRSSI_LPS()
876 ("odm_DIGbyRSSI_LPS(): pDM_Odm->RSSI_Min = %d\n", pDM_Odm->RSSI_Min) in odm_DIGbyRSSI_LPS()
879 pDM_Odm, in odm_DIGbyRSSI_LPS()
885 ODM_Write_DIG(pDM_Odm, CurrentIGI); in odm_DIGbyRSSI_LPS()
895 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_FalseAlarmCounterStatistics() local
896 struct false_ALARM_STATISTICS *FalseAlmCnt = &pDM_Odm->FalseAlmCnt; in odm_FalseAlarmCounterStatistics()
899 if (!(pDM_Odm->SupportAbility & ODM_BB_FA_CNT)) in odm_FalseAlarmCounterStatistics()
904 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_HOLDC_11N, BIT31, 1); in odm_FalseAlarmCounterStatistics()
906 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_RSTD_11N, BIT31, 1); in odm_FalseAlarmCounterStatistics()
909 pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE1_11N, bMaskDWord in odm_FalseAlarmCounterStatistics()
915 pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE2_11N, bMaskDWord in odm_FalseAlarmCounterStatistics()
921 pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE3_11N, bMaskDWord in odm_FalseAlarmCounterStatistics()
927 pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE4_11N, bMaskDWord in odm_FalseAlarmCounterStatistics()
941 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_CCK_FA_RST_11N, BIT12, 1); in odm_FalseAlarmCounterStatistics()
942 PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_CCK_FA_RST_11N, BIT14, 1); in odm_FalseAlarmCounterStatistics()
945 pDM_Odm->Adapter, ODM_REG_CCK_FA_LSB_11N, bMaskByte0 in odm_FalseAlarmCounterStatistics()
950 pDM_Odm->Adapter, ODM_REG_CCK_FA_MSB_11N, bMaskByte3 in odm_FalseAlarmCounterStatistics()
955 pDM_Odm->Adapter, ODM_REG_CCK_CCA_CNT_11N, bMaskDWord in odm_FalseAlarmCounterStatistics()
975 pDM_Odm, in odm_FalseAlarmCounterStatistics()
981 pDM_Odm, in odm_FalseAlarmCounterStatistics()
991 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1001 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1012 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1018 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1024 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1030 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1036 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1042 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1048 pDM_Odm, in odm_FalseAlarmCounterStatistics()
1065 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_FAThresholdCheck() local
1067 if (pDM_Odm->bLinked && (bPerformance || bDFSBand)) { in odm_FAThresholdCheck()
1081 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_ForbiddenIGICheck() local
1082 struct dig_t *pDM_DigTable = &pDM_Odm->DM_DigTable; in odm_ForbiddenIGICheck()
1083 struct false_ALARM_STATISTICS *pFalseAlmCnt = &pDM_Odm->FalseAlmCnt; in odm_ForbiddenIGICheck()
1087 ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Abnormally false alarm case.\n")); in odm_ForbiddenIGICheck()
1105 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Abnormally false alarm case: Recove… in odm_ForbiddenIGICheck()
1110 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Normal Case: Recover_cnt = %d\n", p… in odm_ForbiddenIGICheck()
1116 … ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Normal Case: At Lower Bound\n")); in odm_ForbiddenIGICheck()
1120 …ODM_RT_TRACE(pDM_Odm, ODM_COMP_DIG, ODM_DBG_LOUD, ("odm_DIG(): Normal Case: Approach Lower Bound\n… in odm_ForbiddenIGICheck()
1137 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in odm_CCKPacketDetectionThresh() local
1138 struct false_ALARM_STATISTICS *FalseAlmCnt = &pDM_Odm->FalseAlmCnt; in odm_CCKPacketDetectionThresh()
1143 !(pDM_Odm->SupportAbility & ODM_BB_CCK_PD) || in odm_CCKPacketDetectionThresh()
1144 !(pDM_Odm->SupportAbility & ODM_BB_FA_CNT) in odm_CCKPacketDetectionThresh()
1147 pDM_Odm, in odm_CCKPacketDetectionThresh()
1155 if (pDM_Odm->ExtLNA) in odm_CCKPacketDetectionThresh()
1159 pDM_Odm, in odm_CCKPacketDetectionThresh()
1165 if (pDM_Odm->bLinked) { in odm_CCKPacketDetectionThresh()
1166 if (pDM_Odm->RSSI_Min > 25) in odm_CCKPacketDetectionThresh()
1168 else if ((pDM_Odm->RSSI_Min <= 25) && (pDM_Odm->RSSI_Min > 10)) in odm_CCKPacketDetectionThresh()
1183 ODM_Write_CCK_CCA_Thres(pDM_Odm, CurCCK_CCAThres); in odm_CCKPacketDetectionThresh()
1186 pDM_Odm, in odm_CCKPacketDetectionThresh()
1198 struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID; in ODM_Write_CCK_CCA_Thres() local
1199 struct dig_t *pDM_DigTable = &pDM_Odm->DM_DigTable; in ODM_Write_CCK_CCA_Thres()
1203 rtw_write8(pDM_Odm->Adapter, ODM_REG(CCK_CCA, pDM_Odm), CurCCK_CCAThres); in ODM_Write_CCK_CCA_Thres()