Add a function which enables or disables RX RIFS searching, and migrate
the code which does this into it.
This commit is contained in:
parent
b40501fb67
commit
e7cb5d548d
@ -199,6 +199,7 @@ extern HAL_STATUS ar5416GetCapability(struct ath_hal *ah,
|
||||
extern HAL_BOOL ar5416GetDiagState(struct ath_hal *ah, int request,
|
||||
const void *args, uint32_t argsize,
|
||||
void **result, uint32_t *resultsize);
|
||||
extern HAL_BOOL ar5416SetRifsDelay(struct ath_hal *ah, HAL_BOOL enable);
|
||||
|
||||
extern HAL_BOOL ar5416SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode,
|
||||
int setChip);
|
||||
|
@ -368,6 +368,25 @@ typedef struct {
|
||||
uint8_t qcu_complete_state;
|
||||
} hal_mac_hang_check_t;
|
||||
|
||||
HAL_BOOL
|
||||
ar5416SetRifsDelay(struct ath_hal *ah, HAL_BOOL enable)
|
||||
{
|
||||
uint32_t val;
|
||||
|
||||
/* Only support disabling RIFS delay for now */
|
||||
HALASSERT(enable == AH_FALSE);
|
||||
|
||||
if (enable == AH_TRUE)
|
||||
return AH_FALSE;
|
||||
|
||||
/* Change RIFS init delay to 0 */
|
||||
val = OS_REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS);
|
||||
val &= ~AR_PHY_RIFS_INIT_DELAY;
|
||||
OS_REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val);
|
||||
|
||||
return AH_TRUE;
|
||||
}
|
||||
|
||||
static HAL_BOOL
|
||||
ar5416CompareDbgHang(struct ath_hal *ah, const mac_dbg_regs_t *regs,
|
||||
const hal_mac_hang_check_t *check)
|
||||
|
@ -2520,11 +2520,8 @@ ar5416OverrideIni(struct ath_hal *ah, const struct ieee80211_channel *chan)
|
||||
* Disable RIFS search on some chips to avoid baseband
|
||||
* hang issues.
|
||||
*/
|
||||
if (AR_SREV_HOWL(ah) || AR_SREV_SOWL(ah)) {
|
||||
val = OS_REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS);
|
||||
val &= ~AR_PHY_RIFS_INIT_DELAY;
|
||||
OS_REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val);
|
||||
}
|
||||
if (AR_SREV_HOWL(ah) || AR_SREV_SOWL(ah))
|
||||
(void) ar5416SetRifsDelay(ah, AH_FALSE);
|
||||
}
|
||||
|
||||
struct ini {
|
||||
|
Loading…
x
Reference in New Issue
Block a user