diff options
Diffstat (limited to 'sys/dev/ath/ath_hal/ah.c')
-rw-r--r-- | sys/dev/ath/ath_hal/ah.c | 52 |
1 files changed, 6 insertions, 46 deletions
diff --git a/sys/dev/ath/ath_hal/ah.c b/sys/dev/ath/ath_hal/ah.c index 4eb7fb6..7187d57 100644 --- a/sys/dev/ath/ath_hal/ah.c +++ b/sys/dev/ath/ath_hal/ah.c @@ -55,9 +55,7 @@ ath_hal_probe(uint16_t vendorid, uint16_t devid) */ struct ath_hal* ath_hal_attach(uint16_t devid, HAL_SOFTC sc, - HAL_BUS_TAG st, HAL_BUS_HANDLE sh, uint16_t *eepromdata, - HAL_OPS_CONFIG *ah_config, - HAL_STATUS *error) + HAL_BUS_TAG st, HAL_BUS_HANDLE sh, uint16_t *eepromdata, HAL_STATUS *error) { struct ath_hal_chip * const *pchip; @@ -68,8 +66,7 @@ ath_hal_attach(uint16_t devid, HAL_SOFTC sc, /* XXX don't have vendorid, assume atheros one works */ if (chip->probe(ATHEROS_VENDOR_ID, devid) == AH_NULL) continue; - ah = chip->attach(devid, sc, st, sh, eepromdata, ah_config, - error); + ah = chip->attach(devid, sc, st, sh, eepromdata, error); if (ah != AH_NULL) { /* copy back private state to public area */ ah->ah_devid = AH_PRIVATE(ah)->ah_devid; @@ -789,8 +786,6 @@ ath_hal_getcapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type, return HAL_OK; case HAL_CAP_RX_LNA_MIXING: /* Hardware uses an RX LNA mixer to map 2 antennas to a 1 stream receiver */ return pCap->halRxUsingLnaMixing ? HAL_OK : HAL_ENOTSUPP; - case HAL_CAP_DO_MYBEACON: /* Hardware supports filtering my-beacons */ - return pCap->halRxDoMyBeacon ? HAL_OK : HAL_ENOTSUPP; default: return HAL_EINVAL; } @@ -853,11 +848,10 @@ ath_hal_getregdump(struct ath_hal *ah, const HAL_REGRANGE *regs, int i; for (i = 0; space >= 2*sizeof(uint32_t); i++) { - uint32_t r = regs[i].start; - uint32_t e = regs[i].end; - *dp++ = r; - *dp++ = e; - space -= 2*sizeof(uint32_t); + u_int r = regs[i].start; + u_int e = regs[i].end; + *dp++ = (r<<16) | e; + space -= sizeof(uint32_t); do { *dp++ = OS_REG_READ(ah, r); r += sizeof(uint32_t); @@ -881,7 +875,6 @@ ath_hal_getdiagstate(struct ath_hal *ah, int request, const void *args, uint32_t argsize, void **result, uint32_t *resultsize) { - switch (request) { case HAL_DIAG_REVS: *result = &AH_PRIVATE(ah)->ah_devid; @@ -939,10 +932,6 @@ ath_hal_getdiagstate(struct ath_hal *ah, int request, } else return AH_FALSE; return AH_TRUE; - case HAL_DIAG_CHANSURVEY: - *result = &AH_PRIVATE(ah)->ah_chansurvey; - *resultsize = sizeof(HAL_CHANNEL_SURVEY); - return AH_TRUE; } return AH_FALSE; } @@ -1438,32 +1427,3 @@ ath_hal_mhz2ieee_2ghz(struct ath_hal *ah, HAL_CHANNEL_INTERNAL *ichan) else return 15 + ((ichan->channel - 2512) / 20); } - -/* - * Clear the current survey data. - * - * This should be done during a channel change. - */ -void -ath_hal_survey_clear(struct ath_hal *ah) -{ - - OS_MEMZERO(&AH_PRIVATE(ah)->ah_chansurvey, - sizeof(AH_PRIVATE(ah)->ah_chansurvey)); -} - -/* - * Add a sample to the channel survey. - */ -void -ath_hal_survey_add_sample(struct ath_hal *ah, HAL_SURVEY_SAMPLE *hs) -{ - HAL_CHANNEL_SURVEY *cs; - - cs = &AH_PRIVATE(ah)->ah_chansurvey; - - OS_MEMCPY(&cs->samples[cs->cur_sample], hs, sizeof(*hs)); - cs->samples[cs->cur_sample].seq_num = cs->cur_seq; - cs->cur_sample = (cs->cur_sample + 1) % CHANNEL_SURVEY_SAMPLE_COUNT; - cs->cur_seq++; -} |