46#define AR5416_DFS_FIRPWR -33
47#define AR5416_DFS_RRSSI 20
48#define AR5416_DFS_HEIGHT 10
49#define AR5416_DFS_PRSSI 15
50#define AR5416_DFS_INBAND 15
51#define AR5416_DFS_RELPWR 8
52#define AR5416_DFS_RELSTEP 12
53#define AR5416_DFS_MAXLEN 255
132 val &= ~AR_PHY_RADAR_0_FIRPWR;
136 val &= ~AR_PHY_RADAR_0_RRSSI;
140 val &= ~AR_PHY_RADAR_0_HEIGHT;
144 val &= ~AR_PHY_RADAR_0_PRSSI;
148 val &= ~AR_PHY_RADAR_0_INBAND;
179 val &= ~AR_PHY_RADAR_1_RELSTEP_THRESH;
185 val &= ~AR_PHY_RADAR_1_RELPWR_THRESH;
206 val &= ~AR_PHY_RADAR_1_MAXLEN;
230#define PRI_CH_RADAR_FOUND 0x01
231#define EXT_CH_RADAR_FOUND 0x02
232#define EXT_CH_RADAR_EARLY_FOUND 0x04
242 uint8_t rssi = 0, ext_rssi = 0;
243 uint8_t pulse_bw_info = 0, pulse_length_ext = 0, pulse_length_pri = 0;
245 int pri_found = 1, ext_found = 0;
257 doDfsExtCh =
AH_PRIVATE(ah)->ah_caps.halExtChanDfsSupport;
258 doDfsEnhanced =
AH_PRIVATE(ah)->ah_caps.halEnhancedDfsSupport;
259 doDfsCombinedRssi =
AH_PRIVATE(ah)->ah_caps.halUseCombinedRadarRssi;
264 if (doDfsCombinedRssi)
287 pulse_length_pri = *(buf + datalen - 3);
288 pulse_length_ext = *(buf + datalen - 2);
289 pulse_bw_info = *(buf + datalen - 1);
291 " pulse_length_ext=%d, pulse_bw_info=%x\n",
292 __func__, rssi, ext_rssi, pulse_length_pri, pulse_length_ext,
297 dur = ((uint8_t) buf[0]) & 0xff;
301 if (dur == 0 && rssi == 0) {
317 if (doDfsExtCh && pulse_bw_info == 0x0)
329 if (pulse_length_ext > pulse_length_pri) {
330 dur = pulse_length_ext;
334 dur = pulse_length_pri;
339 dur = pulse_length_ext;
344 dur = pulse_length_pri;
348 dur = pulse_length_ext;
360 switch (pulse_bw_info & 0x03) {
368 if (ext_rssi >= (rssi + 3)) {
375 if (rssi >= (ext_rssi + 12)) {
393 if (doDfsExtCh && !doDfsEnhanced) {
394 if ((ext_rssi > rssi) && (ext_rssi < 128))
406 event->re_full_ts = fulltsf;
408 event->re_rssi = rssi;
#define HAL_PHYERR_PARAM_NOVAL
#define HAL_DFS_EVENT_ISDC
#define HAL_DFS_EVENT_PRICH
#define HAL_DFS_EVENT_EXTEARLY
#define HAL_DFS_EVENT_EXTCH
@ HAL_PHYERR_FALSE_RADAR_EXT
#define OS_REG_SET_BIT(_a, _r, _f)
#define OS_REG_CLR_BIT(_a, _r, _f)
#define IS_5GHZ_FAST_CLOCK_EN(_ah, _c)
#define HALDEBUG(_ah, __m,...)
#define OS_REG_WRITE(_ah, _reg, _val)
#define OS_REG_READ(_ah, _reg)
#define AR_PHY_RADAR_0_ENA
#define AR_PHY_RADAR_0_INBAND
#define AR_PHY_RADAR_0_PRSSI
#define AR_PHY_RADAR_0_HEIGHT
#define AR_PHY_RADAR_0_RRSSI
#define AR_PHY_RADAR_0_FIRPWR
#define AR5416_DFS_HEIGHT
#define PRI_CH_RADAR_FOUND
#define EXT_CH_RADAR_FOUND
#define AR5416_DFS_RELSTEP
#define EXT_CH_RADAR_EARLY_FOUND
#define AR5416_DFS_INBAND
#define AR5416_DFS_RELPWR
void ar5416EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
HAL_BOOL ar5416GetDfsDefaultThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
void ar5416GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe)
HAL_BOOL ar5416IsFastClockEnabled(struct ath_hal *ah)
#define AR5416_DFS_FIRPWR
#define AR5416_DFS_MAXLEN
HAL_BOOL ar5416ProcessRadarEvent(struct ath_hal *ah, struct ath_rx_status *rxs, uint64_t fulltsf, const char *buf, HAL_DFS_EVENT *event)
#define AR_PHY_RADAR_1_RELSTEP_CHECK
#define AR_PHY_RADAR_0_FFT_ENA
#define AR_PHY_RADAR_1_RELPWR_THRESH
#define AR_PHY_RADAR_1_RELPWR_ENA
#define AR_PHY_RADAR_1_USE_FIR128
#define AR_PHY_RADAR_1_BLOCK_CHECK
#define AR_PHY_RADAR_1_MAX_RRSSI
#define AR_PHY_RADAR_EXT_ENA
#define AR_PHY_RADAR_1_RELSTEP_THRESH
#define AR_PHY_RADAR_1_MAXLEN
int32_t pe_en_relstep_check
const struct ieee80211_channel * ah_curchan