Lines Matching +full:- +full:i

2  * Copyright (c) 2008-2011 Atheros Communications Inc.
31 if (ah->config.analog_shiftreg) in ath9k_hw_analog_shift_regwrite()
45 if (ah->config.analog_shiftreg) in ath9k_hw_analog_shift_rmw()
57 rv = (int16_t) (((target - srcLeft) * targetRight + in ath9k_hw_interpolate()
58 (srcRight - target) * targetLeft) / in ath9k_hw_interpolate()
59 (srcRight - srcLeft)); in ath9k_hw_interpolate()
67 u16 i; in ath9k_hw_get_lower_upper_index() local
73 if (target >= pList[listSize - 1]) { in ath9k_hw_get_lower_upper_index()
74 *indexL = *indexR = (u16) (listSize - 1); in ath9k_hw_get_lower_upper_index()
78 for (i = 0; i < listSize - 1; i++) { in ath9k_hw_get_lower_upper_index()
79 if (pList[i] == target) { in ath9k_hw_get_lower_upper_index()
80 *indexL = *indexR = i; in ath9k_hw_get_lower_upper_index()
83 if (target < pList[i + 1]) { in ath9k_hw_get_lower_upper_index()
84 *indexL = i; in ath9k_hw_get_lower_upper_index()
85 *indexR = (u16) (i + 1); in ath9k_hw_get_lower_upper_index()
95 int i = 0, j, addr; in ath9k_hw_usb_gen_fill_eeprom() local
100 addrdata[i] = AR5416_EEPROM_OFFSET + in ath9k_hw_usb_gen_fill_eeprom()
102 i++; in ath9k_hw_usb_gen_fill_eeprom()
103 if (i == 8) { in ath9k_hw_usb_gen_fill_eeprom()
104 REG_READ_MULTI(ah, addrdata, data, i); in ath9k_hw_usb_gen_fill_eeprom()
106 for (j = 0; j < i; j++) { in ath9k_hw_usb_gen_fill_eeprom()
110 i = 0; in ath9k_hw_usb_gen_fill_eeprom()
114 if (i != 0) { in ath9k_hw_usb_gen_fill_eeprom()
115 REG_READ_MULTI(ah, addrdata, data, i); in ath9k_hw_usb_gen_fill_eeprom()
117 for (j = 0; j < i; j++) { in ath9k_hw_usb_gen_fill_eeprom()
126 return common->bus_ops->eeprom_read(common, off, data); in ath9k_hw_nvram_read()
133 u16 i, k; in ath9k_hw_fill_vpd_table() local
137 for (i = 0; i <= (pwrMax - pwrMin) / 2; i++) { in ath9k_hw_fill_vpd_table()
143 if (idxL == numIntercepts - 1) in ath9k_hw_fill_vpd_table()
144 idxL = (u16) (numIntercepts - 2); in ath9k_hw_fill_vpd_table()
148 k = (u16)(((currPwr - pPwrList[idxL]) * pVpdList[idxR] + in ath9k_hw_fill_vpd_table()
149 (pPwrList[idxR] - currPwr) * pVpdList[idxL]) / in ath9k_hw_fill_vpd_table()
150 (pPwrList[idxR] - pPwrList[idxL])); in ath9k_hw_fill_vpd_table()
151 pRetVpdList[i] = (u8) k; in ath9k_hw_fill_vpd_table()
165 int i; in ath9k_hw_get_legacy_target_powers() local
166 int matchIndex = -1, lowIndex = -1; in ath9k_hw_get_legacy_target_powers()
176 for (i = 0; (i < numChannels) && in ath9k_hw_get_legacy_target_powers()
177 (powInfo[i].bChannel != AR5416_BCHAN_UNUSED); i++) { in ath9k_hw_get_legacy_target_powers()
178 if (freq == ath9k_hw_fbin2freq(powInfo[i].bChannel, in ath9k_hw_get_legacy_target_powers()
180 matchIndex = i; in ath9k_hw_get_legacy_target_powers()
182 } else if (freq < ath9k_hw_fbin2freq(powInfo[i].bChannel, in ath9k_hw_get_legacy_target_powers()
183 IS_CHAN_2GHZ(chan)) && i > 0 && in ath9k_hw_get_legacy_target_powers()
184 freq > ath9k_hw_fbin2freq(powInfo[i - 1].bChannel, in ath9k_hw_get_legacy_target_powers()
186 lowIndex = i - 1; in ath9k_hw_get_legacy_target_powers()
190 if ((matchIndex == -1) && (lowIndex == -1)) in ath9k_hw_get_legacy_target_powers()
191 matchIndex = i - 1; in ath9k_hw_get_legacy_target_powers()
194 if (matchIndex != -1) { in ath9k_hw_get_legacy_target_powers()
202 for (i = 0; i < numRates; i++) { in ath9k_hw_get_legacy_target_powers()
203 pNewPower->tPow2x[i] = in ath9k_hw_get_legacy_target_powers()
205 powInfo[lowIndex].tPow2x[i], in ath9k_hw_get_legacy_target_powers()
206 powInfo[lowIndex + 1].tPow2x[i]); in ath9k_hw_get_legacy_target_powers()
220 int i; in ath9k_hw_get_target_powers() local
221 int matchIndex = -1, lowIndex = -1; in ath9k_hw_get_target_powers()
230 for (i = 0; (i < numChannels) && in ath9k_hw_get_target_powers()
231 (powInfo[i].bChannel != AR5416_BCHAN_UNUSED); i++) { in ath9k_hw_get_target_powers()
232 if (freq == ath9k_hw_fbin2freq(powInfo[i].bChannel, in ath9k_hw_get_target_powers()
234 matchIndex = i; in ath9k_hw_get_target_powers()
237 if (freq < ath9k_hw_fbin2freq(powInfo[i].bChannel, in ath9k_hw_get_target_powers()
238 IS_CHAN_2GHZ(chan)) && i > 0 && in ath9k_hw_get_target_powers()
239 freq > ath9k_hw_fbin2freq(powInfo[i - 1].bChannel, in ath9k_hw_get_target_powers()
241 lowIndex = i - 1; in ath9k_hw_get_target_powers()
245 if ((matchIndex == -1) && (lowIndex == -1)) in ath9k_hw_get_target_powers()
246 matchIndex = i - 1; in ath9k_hw_get_target_powers()
249 if (matchIndex != -1) { in ath9k_hw_get_target_powers()
257 for (i = 0; i < numRates; i++) { in ath9k_hw_get_target_powers()
258 pNewPower->tPow2x[i] = (u8)ath9k_hw_interpolate(freq, in ath9k_hw_get_target_powers()
260 powInfo[lowIndex].tPow2x[i], in ath9k_hw_get_target_powers()
261 powInfo[lowIndex + 1].tPow2x[i]); in ath9k_hw_get_target_powers()
270 int i; in ath9k_hw_get_max_edge_power() local
272 for (i = 0; (i < num_band_edges) && in ath9k_hw_get_max_edge_power()
273 (pRdEdgesPower[i].bChannel != AR5416_BCHAN_UNUSED); i++) { in ath9k_hw_get_max_edge_power()
274 if (freq == ath9k_hw_fbin2freq(pRdEdgesPower[i].bChannel, is2GHz)) { in ath9k_hw_get_max_edge_power()
275 twiceMaxEdgePower = CTL_EDGE_TPOWER(pRdEdgesPower[i].ctl); in ath9k_hw_get_max_edge_power()
277 } else if ((i > 0) && in ath9k_hw_get_max_edge_power()
278 (freq < ath9k_hw_fbin2freq(pRdEdgesPower[i].bChannel, in ath9k_hw_get_max_edge_power()
280 if (ath9k_hw_fbin2freq(pRdEdgesPower[i - 1].bChannel, in ath9k_hw_get_max_edge_power()
282 CTL_EDGE_FLAGS(pRdEdgesPower[i - 1].ctl)) { in ath9k_hw_get_max_edge_power()
284 CTL_EDGE_TPOWER(pRdEdgesPower[i - 1].ctl); in ath9k_hw_get_max_edge_power()
298 switch (ar5416_get_ntxchains(ah->txchainmask)) { in ath9k_hw_update_regulatory_maxpower()
302 regulatory->max_power_level += INCREASE_MAXPOW_BY_TWO_CHAIN; in ath9k_hw_update_regulatory_maxpower()
305 regulatory->max_power_level += INCREASE_MAXPOW_BY_THREE_CHAIN; in ath9k_hw_update_regulatory_maxpower()
321 int i, j, k; in ath9k_hw_get_gain_boundaries_pdadcs() local
367 for (i = 0; i < numXpdGains; i++) { in ath9k_hw_get_gain_boundaries_pdadcs()
368 minPwrT4[i] = data_9287[idxL].pwrPdg[i][0]; in ath9k_hw_get_gain_boundaries_pdadcs()
369 maxPwrT4[i] = data_9287[idxL].pwrPdg[i][4]; in ath9k_hw_get_gain_boundaries_pdadcs()
370 ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i], in ath9k_hw_get_gain_boundaries_pdadcs()
371 data_9287[idxL].pwrPdg[i], in ath9k_hw_get_gain_boundaries_pdadcs()
372 data_9287[idxL].vpdPdg[i], in ath9k_hw_get_gain_boundaries_pdadcs()
374 vpdTableI[i]); in ath9k_hw_get_gain_boundaries_pdadcs()
377 for (i = 0; i < numXpdGains; i++) { in ath9k_hw_get_gain_boundaries_pdadcs()
378 minPwrT4[i] = data_4k[idxL].pwrPdg[i][0]; in ath9k_hw_get_gain_boundaries_pdadcs()
379 maxPwrT4[i] = data_4k[idxL].pwrPdg[i][4]; in ath9k_hw_get_gain_boundaries_pdadcs()
380 ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i], in ath9k_hw_get_gain_boundaries_pdadcs()
381 data_4k[idxL].pwrPdg[i], in ath9k_hw_get_gain_boundaries_pdadcs()
382 data_4k[idxL].vpdPdg[i], in ath9k_hw_get_gain_boundaries_pdadcs()
384 vpdTableI[i]); in ath9k_hw_get_gain_boundaries_pdadcs()
387 for (i = 0; i < numXpdGains; i++) { in ath9k_hw_get_gain_boundaries_pdadcs()
388 minPwrT4[i] = data_def[idxL].pwrPdg[i][0]; in ath9k_hw_get_gain_boundaries_pdadcs()
389 maxPwrT4[i] = data_def[idxL].pwrPdg[i][4]; in ath9k_hw_get_gain_boundaries_pdadcs()
390 ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i], in ath9k_hw_get_gain_boundaries_pdadcs()
391 data_def[idxL].pwrPdg[i], in ath9k_hw_get_gain_boundaries_pdadcs()
392 data_def[idxL].vpdPdg[i], in ath9k_hw_get_gain_boundaries_pdadcs()
394 vpdTableI[i]); in ath9k_hw_get_gain_boundaries_pdadcs()
398 for (i = 0; i < numXpdGains; i++) { in ath9k_hw_get_gain_boundaries_pdadcs()
400 pVpdL = data_9287[idxL].vpdPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
401 pPwrL = data_9287[idxL].pwrPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
402 pVpdR = data_9287[idxR].vpdPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
403 pPwrR = data_9287[idxR].pwrPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
405 pVpdL = data_4k[idxL].vpdPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
406 pPwrL = data_4k[idxL].pwrPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
407 pVpdR = data_4k[idxR].vpdPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
408 pPwrR = data_4k[idxR].pwrPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
410 pVpdL = data_def[idxL].vpdPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
411 pPwrL = data_def[idxL].pwrPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
412 pVpdR = data_def[idxR].vpdPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
413 pPwrR = data_def[idxR].pwrPdg[i]; in ath9k_hw_get_gain_boundaries_pdadcs()
416 minPwrT4[i] = max(pPwrL[0], pPwrR[0]); in ath9k_hw_get_gain_boundaries_pdadcs()
418 maxPwrT4[i] = in ath9k_hw_get_gain_boundaries_pdadcs()
419 min(pPwrL[intercepts - 1], in ath9k_hw_get_gain_boundaries_pdadcs()
420 pPwrR[intercepts - 1]); in ath9k_hw_get_gain_boundaries_pdadcs()
423 ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i], in ath9k_hw_get_gain_boundaries_pdadcs()
426 vpdTableL[i]); in ath9k_hw_get_gain_boundaries_pdadcs()
427 ath9k_hw_fill_vpd_table(minPwrT4[i], maxPwrT4[i], in ath9k_hw_get_gain_boundaries_pdadcs()
430 vpdTableR[i]); in ath9k_hw_get_gain_boundaries_pdadcs()
432 for (j = 0; j <= (maxPwrT4[i] - minPwrT4[i]) / 2; j++) { in ath9k_hw_get_gain_boundaries_pdadcs()
433 vpdTableI[i][j] = in ath9k_hw_get_gain_boundaries_pdadcs()
440 vpdTableL[i][j], vpdTableR[i][j])); in ath9k_hw_get_gain_boundaries_pdadcs()
447 for (i = 0; i < numXpdGains; i++) { in ath9k_hw_get_gain_boundaries_pdadcs()
448 if (i == (numXpdGains - 1)) in ath9k_hw_get_gain_boundaries_pdadcs()
449 pPdGainBoundaries[i] = in ath9k_hw_get_gain_boundaries_pdadcs()
450 (u16)(maxPwrT4[i] / 2); in ath9k_hw_get_gain_boundaries_pdadcs()
452 pPdGainBoundaries[i] = in ath9k_hw_get_gain_boundaries_pdadcs()
453 (u16)((maxPwrT4[i] + minPwrT4[i + 1]) / 4); in ath9k_hw_get_gain_boundaries_pdadcs()
455 pPdGainBoundaries[i] = in ath9k_hw_get_gain_boundaries_pdadcs()
456 min((u16)MAX_RATE_POWER, pPdGainBoundaries[i]); in ath9k_hw_get_gain_boundaries_pdadcs()
460 if (i == 0) { in ath9k_hw_get_gain_boundaries_pdadcs()
462 ss = (int16_t)(0 - (minPwrT4[i] / 2)); in ath9k_hw_get_gain_boundaries_pdadcs()
466 ss = (int16_t)((pPdGainBoundaries[i - 1] - in ath9k_hw_get_gain_boundaries_pdadcs()
467 (minPwrT4[i] / 2)) - in ath9k_hw_get_gain_boundaries_pdadcs()
470 vpdStep = (int16_t)(vpdTableI[i][1] - vpdTableI[i][0]); in ath9k_hw_get_gain_boundaries_pdadcs()
473 while ((ss < 0) && (k < (AR5416_NUM_PDADC_VALUES - 1))) { in ath9k_hw_get_gain_boundaries_pdadcs()
474 tmpVal = (int16_t)(vpdTableI[i][0] + ss * vpdStep); in ath9k_hw_get_gain_boundaries_pdadcs()
479 sizeCurrVpdTable = (u8) ((maxPwrT4[i] - minPwrT4[i]) / 2 + 1); in ath9k_hw_get_gain_boundaries_pdadcs()
480 tgtIndex = (u8)(pPdGainBoundaries[i] + tPdGainOverlap - in ath9k_hw_get_gain_boundaries_pdadcs()
481 (minPwrT4[i] / 2)); in ath9k_hw_get_gain_boundaries_pdadcs()
485 while ((ss < maxIndex) && (k < (AR5416_NUM_PDADC_VALUES - 1))) { in ath9k_hw_get_gain_boundaries_pdadcs()
486 pPDADCValues[k++] = vpdTableI[i][ss++]; in ath9k_hw_get_gain_boundaries_pdadcs()
489 vpdStep = (int16_t)(vpdTableI[i][sizeCurrVpdTable - 1] - in ath9k_hw_get_gain_boundaries_pdadcs()
490 vpdTableI[i][sizeCurrVpdTable - 2]); in ath9k_hw_get_gain_boundaries_pdadcs()
495 (k < (AR5416_NUM_PDADC_VALUES - 1))) { in ath9k_hw_get_gain_boundaries_pdadcs()
496 tmpVal = (int16_t)((vpdTableI[i][sizeCurrVpdTable - 1] + in ath9k_hw_get_gain_boundaries_pdadcs()
497 (ss - maxIndex + 1) * vpdStep)); in ath9k_hw_get_gain_boundaries_pdadcs()
508 pdgain_boundary_default = pPdGainBoundaries[i - 1]; in ath9k_hw_get_gain_boundaries_pdadcs()
510 while (i < AR5416_PD_GAINS_IN_MASK) { in ath9k_hw_get_gain_boundaries_pdadcs()
511 pPdGainBoundaries[i] = pdgain_boundary_default; in ath9k_hw_get_gain_boundaries_pdadcs()
512 i++; in ath9k_hw_get_gain_boundaries_pdadcs()
516 pPDADCValues[k] = pPDADCValues[k - 1]; in ath9k_hw_get_gain_boundaries_pdadcs()
526 ah->eep_ops = &eep_ar9300_ops; in ath9k_hw_eeprom_init()
528 ah->eep_ops = &eep_ar9287_ops; in ath9k_hw_eeprom_init()
530 ah->eep_ops = &eep_4k_ops; in ath9k_hw_eeprom_init()
532 ah->eep_ops = &eep_def_ops; in ath9k_hw_eeprom_init()
535 if (!ah->eep_ops->fill_eeprom(ah)) in ath9k_hw_eeprom_init()
536 return -EIO; in ath9k_hw_eeprom_init()
538 status = ah->eep_ops->check_eeprom(ah); in ath9k_hw_eeprom_init()