Lines Matching +full:native +full:- +full:endian
1 /*-
2 * SPDX-License-Identifier: ISC
32 #define IS_VERS(op, v) ((pBase->version & AR5416_EEP_VER_MINOR_MASK) op (v)) in v4kEepromGet()
33 HAL_EEPROM_v4k *ee = AH_PRIVATE(ah)->ah_eeprom; in v4kEepromGet()
34 const MODAL_EEP4K_HEADER *pModal = &ee->ee_base.modalHeader; in v4kEepromGet()
35 const BASE_EEP4K_HEADER *pBase = &ee->ee_base.baseEepHeader; in v4kEepromGet()
42 *(int16_t *)val = pModal->noiseFloorThreshCh[0]; in v4kEepromGet()
48 macaddr[i] = pBase->macAddr[i]; in v4kEepromGet()
49 sum += pBase->macAddr[i]; in v4kEepromGet()
58 return pBase->regDmn[0]; in v4kEepromGet()
60 return pBase->regDmn[1]; in v4kEepromGet()
62 return pBase->deviceCap; in v4kEepromGet()
64 return pBase->opCapFlags; in v4kEepromGet()
66 return pBase->rfSilent; in v4kEepromGet()
68 return pModal->ob_0; in v4kEepromGet()
70 return pModal->db1_1; in v4kEepromGet()
72 return pBase->txMask; in v4kEepromGet()
74 return pBase->rxMask; in v4kEepromGet()
78 return pBase->txGainType; in v4kEepromGet()
84 return pBase->opCapFlags & AR5416_OPFLAGS_11A ? in v4kEepromGet()
89 return pBase->opCapFlags & AR5416_OPFLAGS_11G ? in v4kEepromGet()
107 *(int8_t *) val = ee->ee_antennaGainMax; in v4kEepromGet()
121 HAL_EEPROM_v4k *ee = AH_PRIVATE(ah)->ah_eeprom; in v4kEepromSet()
125 ee->ee_antennaGainMax = (int8_t) v; in v4kEepromSet()
135 HAL_EEPROM_v4k *ee = AH_PRIVATE(ah)->ah_eeprom; in v4kEepromDiag()
146 /* Do structure specific swaps if Eeprom format is non native to host */
155 word = __bswap16(ee->baseEepHeader.length); in eepromSwap()
156 ee->baseEepHeader.length = word; in eepromSwap()
158 word = __bswap16(ee->baseEepHeader.checksum); in eepromSwap()
159 ee->baseEepHeader.checksum = word; in eepromSwap()
161 word = __bswap16(ee->baseEepHeader.version); in eepromSwap()
162 ee->baseEepHeader.version = word; in eepromSwap()
164 word = __bswap16(ee->baseEepHeader.regDmn[0]); in eepromSwap()
165 ee->baseEepHeader.regDmn[0] = word; in eepromSwap()
167 word = __bswap16(ee->baseEepHeader.regDmn[1]); in eepromSwap()
168 ee->baseEepHeader.regDmn[1] = word; in eepromSwap()
170 word = __bswap16(ee->baseEepHeader.rfSilent); in eepromSwap()
171 ee->baseEepHeader.rfSilent = word; in eepromSwap()
173 word = __bswap16(ee->baseEepHeader.blueToothOptions); in eepromSwap()
174 ee->baseEepHeader.blueToothOptions = word; in eepromSwap()
176 word = __bswap16(ee->baseEepHeader.deviceCap); in eepromSwap()
177 ee->baseEepHeader.deviceCap = word; in eepromSwap()
180 pModal = &ee->modalHeader; in eepromSwap()
183 integer = __bswap32(pModal->antCtrlCommon); in eepromSwap()
184 pModal->antCtrlCommon = integer; in eepromSwap()
187 integer = __bswap32(pModal->antCtrlChain[i]); in eepromSwap()
188 pModal->antCtrlChain[i] = integer; in eepromSwap()
192 word = __bswap16(pModal->spurChans[i].spurChan); in eepromSwap()
193 pModal->spurChans[i].spurChan = word; in eepromSwap()
200 HAL_EEPROM_v4k *ee = AH_PRIVATE(ah)->ah_eeprom; in v4kEepromGetSpurChan()
204 return ee->ee_base.modalHeader.spurChans[ix].spurChan; in v4kEepromGetSpurChan()
218 * an fbin and as a frequency - do not convert in fbin2freq()
235 RD_EDGES_POWER *rep = ee->ee_rdEdgesPower; in v4kEepromReadCTLInfo()
238 HALASSERT(AR5416_4K_NUM_CTLS <= sizeof(ee->ee_rdEdgesPower)/NUM_EDGES); in v4kEepromReadCTLInfo()
240 for (i = 0; ee->ee_base.ctlIndex[i] != 0 && i < AR5416_4K_NUM_CTLS; i++) { in v4kEepromReadCTLInfo()
243 if (ee->ee_base.ctlData[i].ctlEdges[CTL_CHAIN][j].bChannel == AR5416_BCHAN_UNUSED) { in v4kEepromReadCTLInfo()
249 ee->ee_base.ctlData[i].ctlEdges[CTL_CHAIN][j].bChannel, in v4kEepromReadCTLInfo()
250 (ee->ee_base.ctlIndex[i] & CTL_MODE_M) != CTL_11A); in v4kEepromReadCTLInfo()
251 …rep[j].twice_rdEdgePower = MS(ee->ee_base.ctlData[i].ctlEdges[CTL_CHAIN][j].tPowerFlag, CAL_CTL_ED… in v4kEepromReadCTLInfo()
252 …rep[j].flag = MS(ee->ee_base.ctlData[i].ctlEdges[CTL_CHAIN][j].tPowerFlag, CAL_CTL_EDGES_FLAG) != … in v4kEepromReadCTLInfo()
257 ee->ee_numCtls = i; in v4kEepromReadCTLInfo()
263 * Reclaim any EEPROM-related storage.
268 HAL_EEPROM_v4k *ee = AH_PRIVATE(ah)->ah_eeprom; in v4kEepromDetach()
271 AH_PRIVATE(ah)->ah_eeprom = AH_NULL; in v4kEepromDetach()
275 (((_ee)->ee_base.baseEepHeader.version >> 12) & 0xF)
277 (((_ee)->ee_base.baseEepHeader.version) & 0xFFF)
283 HAL_EEPROM_v4k *ee = AH_PRIVATE(ah)->ah_eeprom; in ath_hal_v4kEepromAttach()
295 if (ah->ah_eepromdata == NULL) { in ath_hal_v4kEepromAttach()
315 eep_data = (uint16_t *)&ee->ee_base; in ath_hal_v4kEepromAttach()
325 /* Convert to eeprom native eeprom endian format */ in ath_hal_v4kEepromAttach()
330 if (ah->ah_eepromdata == NULL && isBigEndian()) { in ath_hal_v4kEepromAttach()
336 * At this point, we're in the native eeprom endian format in ath_hal_v4kEepromAttach()
337 * Now, determine the eeprom endian by looking at byte 26?? in ath_hal_v4kEepromAttach()
339 need_swap = ((ee->ee_base.baseEepHeader.eepMisc & AR5416_EEPMISC_BIG_ENDIAN) != 0) ^ isBigEndian(); in ath_hal_v4kEepromAttach()
343 len = __bswap16(ee->ee_base.baseEepHeader.length); in ath_hal_v4kEepromAttach()
345 len = ee->ee_base.baseEepHeader.length; in ath_hal_v4kEepromAttach()
349 /* Apply the checksum, done in native eeprom format */ in ath_hal_v4kEepromAttach()
350 /* XXX - Need to check to make sure checksum calculation is done in ath_hal_v4kEepromAttach()
351 * in the correct endian format. Right now, it seems it would in ath_hal_v4kEepromAttach()
353 * not be correct as the calculation may need to be done in the native in ath_hal_v4kEepromAttach()
360 /* Check CRC - Attach should fail on a bad checksum */ in ath_hal_v4kEepromAttach()
368 eepromSwap(&ee->ee_base); /* byte swap multi-byte data */ in ath_hal_v4kEepromAttach()
388 AH_PRIVATE(ah)->ah_eeprom = ee; in ath_hal_v4kEepromAttach()
389 AH_PRIVATE(ah)->ah_eeversion = ee->ee_base.baseEepHeader.version; in ath_hal_v4kEepromAttach()
390 AH_PRIVATE(ah)->ah_eepromDetach = v4kEepromDetach; in ath_hal_v4kEepromAttach()
391 AH_PRIVATE(ah)->ah_eepromGet = v4kEepromGet; in ath_hal_v4kEepromAttach()
392 AH_PRIVATE(ah)->ah_eepromSet = v4kEepromSet; in ath_hal_v4kEepromAttach()
393 AH_PRIVATE(ah)->ah_getSpurChan = v4kEepromGetSpurChan; in ath_hal_v4kEepromAttach()
394 AH_PRIVATE(ah)->ah_eepromDiag = v4kEepromDiag; in ath_hal_v4kEepromAttach()