Lines Matching +full:native +full:- +full:endian

1 /*-
2 * SPDX-License-Identifier: ISC
30 #define IS_VERS(op, v) ((pBase->version & AR5416_EEP_VER_MINOR_MASK) op (v)) in v14EepromGet()
31 HAL_EEPROM_v14 *ee = AH_PRIVATE(ah)->ah_eeprom; in v14EepromGet()
32 const MODAL_EEP_HEADER *pModal = ee->ee_base.modalHeader; in v14EepromGet()
33 const BASE_EEP_HEADER *pBase = &ee->ee_base.baseEepHeader; in v14EepromGet()
49 macaddr[i] = pBase->macAddr[i]; in v14EepromGet()
50 sum += pBase->macAddr[i]; in v14EepromGet()
59 return pBase->regDmn[0]; in v14EepromGet()
61 return pBase->regDmn[1]; in v14EepromGet()
63 return pBase->deviceCap; in v14EepromGet()
65 return pBase->opCapFlags; in v14EepromGet()
67 return pBase->rfSilent; in v14EepromGet()
77 return pBase->txMask; in v14EepromGet()
79 return pBase->rxMask; in v14EepromGet()
82 pBase->rxGainType : AR5416_EEP_RXGAIN_ORIG; in v14EepromGet()
85 pBase->txGainType : AR5416_EEP_TXGAIN_ORIG; in v14EepromGet()
90 return pBase->fastClk5g ? HAL_OK : HAL_EIO; in v14EepromGet()
93 return pBase->openLoopPwrCntl ? HAL_OK : HAL_EIO; in v14EepromGet()
96 *(uint8_t *) val = pBase->dacHiPwrMode_5G; in v14EepromGet()
102 *(uint8_t *) val = pBase->frac_n_5g; in v14EepromGet()
108 return pBase->opCapFlags & AR5416_OPFLAGS_11A ? in v14EepromGet()
113 return pBase->opCapFlags & AR5416_OPFLAGS_11G ? in v14EepromGet()
132 *(int8_t *) val = ee->ee_antennaGainMax[1]; in v14EepromGet()
135 *(int8_t *) val = ee->ee_antennaGainMax[0]; in v14EepromGet()
139 *(int8_t *) val = pBase->pwr_table_offset; in v14EepromGet()
145 *(uint8_t *) val = pBase->pwdclkind; in v14EepromGet()
162 HAL_EEPROM_v14 *ee = AH_PRIVATE(ah)->ah_eeprom; in v14EepromSet()
166 ee->ee_antennaGainMax[1] = (int8_t) v; in v14EepromSet()
169 ee->ee_antennaGainMax[0] = (int8_t) v; in v14EepromSet()
179 HAL_EEPROM_v14 *ee = AH_PRIVATE(ah)->ah_eeprom; in v14EepromDiag()
190 /* Do structure specific swaps if Eeprom format is non native to host */
199 word = __bswap16(ee->baseEepHeader.length); in eepromSwap()
200 ee->baseEepHeader.length = word; in eepromSwap()
202 word = __bswap16(ee->baseEepHeader.checksum); in eepromSwap()
203 ee->baseEepHeader.checksum = word; in eepromSwap()
205 word = __bswap16(ee->baseEepHeader.version); in eepromSwap()
206 ee->baseEepHeader.version = word; in eepromSwap()
208 word = __bswap16(ee->baseEepHeader.regDmn[0]); in eepromSwap()
209 ee->baseEepHeader.regDmn[0] = word; in eepromSwap()
211 word = __bswap16(ee->baseEepHeader.regDmn[1]); in eepromSwap()
212 ee->baseEepHeader.regDmn[1] = word; in eepromSwap()
214 word = __bswap16(ee->baseEepHeader.rfSilent); in eepromSwap()
215 ee->baseEepHeader.rfSilent = word; in eepromSwap()
217 word = __bswap16(ee->baseEepHeader.blueToothOptions); in eepromSwap()
218 ee->baseEepHeader.blueToothOptions = word; in eepromSwap()
220 word = __bswap16(ee->baseEepHeader.deviceCap); in eepromSwap()
221 ee->baseEepHeader.deviceCap = word; in eepromSwap()
225 pModal = &ee->modalHeader[j]; in eepromSwap()
228 integer = __bswap32(pModal->antCtrlCommon); in eepromSwap()
229 pModal->antCtrlCommon = integer; in eepromSwap()
232 integer = __bswap32(pModal->antCtrlChain[i]); in eepromSwap()
233 pModal->antCtrlChain[i] = integer; in eepromSwap()
236 word = __bswap16(pModal->xpaBiasLvlFreq[i]); in eepromSwap()
237 pModal->xpaBiasLvlFreq[i] = word; in eepromSwap()
240 word = __bswap16(pModal->spurChans[i].spurChan); in eepromSwap()
241 pModal->spurChans[i].spurChan = word; in eepromSwap()
249 HAL_EEPROM_v14 *ee = AH_PRIVATE(ah)->ah_eeprom; in v14EepromGetSpurChan()
252 return ee->ee_base.modalHeader[is2GHz].spurChans[ix].spurChan; in v14EepromGetSpurChan()
266 * an fbin and as a frequency - do not convert in fbin2freq()
283 RD_EDGES_POWER *rep = ee->ee_rdEdgesPower; in v14EepromReadCTLInfo()
286 HALASSERT(AR5416_NUM_CTLS <= sizeof(ee->ee_rdEdgesPower)/NUM_EDGES); in v14EepromReadCTLInfo()
288 for (i = 0; ee->ee_base.ctlIndex[i] != 0 && i < AR5416_NUM_CTLS; i++) { in v14EepromReadCTLInfo()
291 if (ee->ee_base.ctlData[i].ctlEdges[CTL_CHAIN][j].bChannel == AR5416_BCHAN_UNUSED) { in v14EepromReadCTLInfo()
297 ee->ee_base.ctlData[i].ctlEdges[CTL_CHAIN][j].bChannel, in v14EepromReadCTLInfo()
298 (ee->ee_base.ctlIndex[i] & CTL_MODE_M) != CTL_11A); in v14EepromReadCTLInfo()
299 …rep[j].twice_rdEdgePower = MS(ee->ee_base.ctlData[i].ctlEdges[CTL_CHAIN][j].tPowerFlag, CAL_CTL_ED… in v14EepromReadCTLInfo()
300 …rep[j].flag = MS(ee->ee_base.ctlData[i].ctlEdges[CTL_CHAIN][j].tPowerFlag, CAL_CTL_EDGES_FLAG) != … in v14EepromReadCTLInfo()
305 ee->ee_numCtls = i; in v14EepromReadCTLInfo()
311 * Reclaim any EEPROM-related storage.
316 HAL_EEPROM_v14 *ee = AH_PRIVATE(ah)->ah_eeprom; in v14EepromDetach()
319 AH_PRIVATE(ah)->ah_eeprom = AH_NULL; in v14EepromDetach()
323 (((_ee)->ee_base.baseEepHeader.version >> 12) & 0xF)
325 (((_ee)->ee_base.baseEepHeader.version) & 0xFFF)
328 * Howl is (hopefully) a special case where the endian-ness of the EEPROM
329 * matches the native endian-ness; and that supplied EEPROMs don't have
336 HAL_EEPROM_v14 *ee = AH_PRIVATE(ah)->ah_eeprom; in ath_hal_v14EepromAttach()
349 if (ah->ah_eepromdata == NULL) { in ath_hal_v14EepromAttach()
369 eep_data = (uint16_t *)&ee->ee_base; in ath_hal_v14EepromAttach()
379 /* Convert to eeprom native eeprom endian format */ in ath_hal_v14EepromAttach()
381 if (ah->ah_eepromdata == NULL && isBigEndian()) { in ath_hal_v14EepromAttach()
387 * At this point, we're in the native eeprom endian format in ath_hal_v14EepromAttach()
388 * Now, determine the eeprom endian by looking at byte 26?? in ath_hal_v14EepromAttach()
390 need_swap = ((ee->ee_base.baseEepHeader.eepMisc & AR5416_EEPMISC_BIG_ENDIAN) != 0) ^ isBigEndian(); in ath_hal_v14EepromAttach()
394 len = __bswap16(ee->ee_base.baseEepHeader.length); in ath_hal_v14EepromAttach()
396 len = ee->ee_base.baseEepHeader.length; in ath_hal_v14EepromAttach()
400 /* Apply the checksum, done in native eeprom format */ in ath_hal_v14EepromAttach()
401 /* XXX - Need to check to make sure checksum calculation is done in ath_hal_v14EepromAttach()
402 * in the correct endian format. Right now, it seems it would in ath_hal_v14EepromAttach()
404 * not be correct as the calculation may need to be done in the native in ath_hal_v14EepromAttach()
410 /* Check CRC - Attach should fail on a bad checksum */ in ath_hal_v14EepromAttach()
418 eepromSwap(&ee->ee_base); /* byte swap multi-byte data */ in ath_hal_v14EepromAttach()
438 AH_PRIVATE(ah)->ah_eeprom = ee; in ath_hal_v14EepromAttach()
439 AH_PRIVATE(ah)->ah_eeversion = ee->ee_base.baseEepHeader.version; in ath_hal_v14EepromAttach()
440 AH_PRIVATE(ah)->ah_eepromDetach = v14EepromDetach; in ath_hal_v14EepromAttach()
441 AH_PRIVATE(ah)->ah_eepromGet = v14EepromGet; in ath_hal_v14EepromAttach()
442 AH_PRIVATE(ah)->ah_eepromSet = v14EepromSet; in ath_hal_v14EepromAttach()
443 AH_PRIVATE(ah)->ah_getSpurChan = v14EepromGetSpurChan; in ath_hal_v14EepromAttach()
444 AH_PRIVATE(ah)->ah_eepromDiag = v14EepromDiag; in ath_hal_v14EepromAttach()