mirror of
https://github.com/opnsense/src.git
synced 2026-04-29 01:59:38 -04:00
Make the ar2133ForceBias() call controllable at runtime.
At least one AR5416 user has reported measurable throughput drops with this option. For now, disable it and make it a run-time twiddle. It won't take affect until the next radio programming trip though (eg channel scan, channel change.)
This commit is contained in:
parent
a699e14f45
commit
ef58d1e0b8
3 changed files with 7 additions and 1 deletions
|
|
@ -85,6 +85,11 @@ SYSCTL_INT(_hw_ath_hal, OID_AUTO, debug, CTLFLAG_RW, &ath_hal_debug,
|
|||
TUNABLE_INT("hw.ath.hal.debug", &ath_hal_debug);
|
||||
#endif /* AH_DEBUG */
|
||||
|
||||
int ath_hal_ar5416_biasadj = 0;
|
||||
SYSCTL_INT(_hw_ath_hal, OID_AUTO, ar5416_biasadj, CTLFLAG_RW,
|
||||
&ath_hal_debug, 0, "Enable 2ghz AR5416 direction sensitivity"
|
||||
" bias adjust");
|
||||
|
||||
/* NB: these are deprecated; they exist for now for compatibility */
|
||||
int ath_hal_dma_beacon_response_time = 2; /* in TU's */
|
||||
SYSCTL_INT(_hw_ath_hal, OID_AUTO, dma_brt, CTLFLAG_RW,
|
||||
|
|
|
|||
|
|
@ -476,6 +476,7 @@ isBigEndian(void)
|
|||
extern int ath_hal_dma_beacon_response_time; /* in TU's */
|
||||
extern int ath_hal_sw_beacon_response_time; /* in TU's */
|
||||
extern int ath_hal_additional_swba_backoff; /* in TU's */
|
||||
extern int ath_hal_ar5416_biasadj; /* 1 or 0 */
|
||||
|
||||
/* wait for the register contents to have the specified value */
|
||||
extern HAL_BOOL ath_hal_wait(struct ath_hal *, u_int reg,
|
||||
|
|
|
|||
|
|
@ -185,7 +185,7 @@ ar2133SetChannel(struct ath_hal *ah, const struct ieee80211_channel *chan)
|
|||
}
|
||||
|
||||
/* Workaround for hw bug - AR5416 specific */
|
||||
if (AR_SREV_OWL(ah))
|
||||
if (AR_SREV_OWL(ah) && ath_hal_ar5416_biasadj)
|
||||
ar2133ForceBias(ah, freq);
|
||||
|
||||
reg32 = (channelSel << 8) | (aModeRefSel << 2) | (bModeSynth << 1) |
|
||||
|
|
|
|||
Loading…
Reference in a new issue