diff options
author | Winkler, Tomas <tomas.winkler@intel.com> | 2008-11-19 18:32:27 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-11-26 09:47:39 -0500 |
commit | 40fc95d57caf258e20282f6526b695426d65a73a (patch) | |
tree | a851f2787c69806daae6b0e21f057bc14021637e /drivers/net/wireless/iwlwifi/iwl-5000.c | |
parent | 31a73fe4f3284d94d52774c285e9e98a5f441d21 (diff) |
iwlwifi: TX update chicken bits
This instructs FH to increment the retry count of a packet when
it is brought from the memory to TX-FIFO to save transactions
during aggregation flow.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-5000.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index d73760c3f769..a738886b434f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -703,6 +703,7 @@ static int iwl5000_alive_notify(struct iwl_priv *priv) | |||
703 | unsigned long flags; | 703 | unsigned long flags; |
704 | int ret; | 704 | int ret; |
705 | int i, chan; | 705 | int i, chan; |
706 | u32 reg_val; | ||
706 | 707 | ||
707 | spin_lock_irqsave(&priv->lock, flags); | 708 | spin_lock_irqsave(&priv->lock, flags); |
708 | 709 | ||
@@ -732,6 +733,11 @@ static int iwl5000_alive_notify(struct iwl_priv *priv) | |||
732 | FH_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_ENABLE | | 733 | FH_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_ENABLE | |
733 | FH_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_ENABLE); | 734 | FH_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_ENABLE); |
734 | 735 | ||
736 | /* Update FH chicken bits */ | ||
737 | reg_val = iwl_read_direct32(priv, FH_TX_CHICKEN_BITS_REG); | ||
738 | iwl_write_direct32(priv, FH_TX_CHICKEN_BITS_REG, | ||
739 | reg_val | FH_TX_CHICKEN_BITS_SCD_AUTO_RETRY_EN); | ||
740 | |||
735 | iwl_write_prph(priv, IWL50_SCD_QUEUECHAIN_SEL, | 741 | iwl_write_prph(priv, IWL50_SCD_QUEUECHAIN_SEL, |
736 | IWL50_SCD_QUEUECHAIN_SEL_ALL(priv->hw_params.max_txq_num)); | 742 | IWL50_SCD_QUEUECHAIN_SEL_ALL(priv->hw_params.max_txq_num)); |
737 | iwl_write_prph(priv, IWL50_SCD_AGGR_SEL, 0); | 743 | iwl_write_prph(priv, IWL50_SCD_AGGR_SEL, 0); |