diff options
author | Winkler, Tomas <tomas.winkler@intel.com> | 2008-11-19 18:32:26 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-11-26 09:47:39 -0500 |
commit | 31a73fe4f3284d94d52774c285e9e98a5f441d21 (patch) | |
tree | 0b0b706bd575a83ea835ade19b730a0acd7118f0 /drivers/net/wireless/iwlwifi/iwl-5000.c | |
parent | 25e35a56d5f4795cf52cdd0830a91e3103396cfe (diff) |
iwlwifi: TX setup fix confusion between TX queue and TX DMA channel
This patch configures correctly TX DMA channel. It is not
the same as TX queue.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Acked-by: Zhu Yi <yi.zhu@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 | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index 478c5c3674e4..d73760c3f769 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -700,9 +700,9 @@ static int iwl5000_send_wimax_coex(struct iwl_priv *priv) | |||
700 | static int iwl5000_alive_notify(struct iwl_priv *priv) | 700 | static int iwl5000_alive_notify(struct iwl_priv *priv) |
701 | { | 701 | { |
702 | u32 a; | 702 | u32 a; |
703 | int i = 0; | ||
704 | unsigned long flags; | 703 | unsigned long flags; |
705 | int ret; | 704 | int ret; |
705 | int i, chan; | ||
706 | 706 | ||
707 | spin_lock_irqsave(&priv->lock, flags); | 707 | spin_lock_irqsave(&priv->lock, flags); |
708 | 708 | ||
@@ -725,6 +725,13 @@ static int iwl5000_alive_notify(struct iwl_priv *priv) | |||
725 | 725 | ||
726 | iwl_write_prph(priv, IWL50_SCD_DRAM_BASE_ADDR, | 726 | iwl_write_prph(priv, IWL50_SCD_DRAM_BASE_ADDR, |
727 | priv->scd_bc_tbls.dma >> 10); | 727 | priv->scd_bc_tbls.dma >> 10); |
728 | |||
729 | /* Enable DMA channel */ | ||
730 | for (chan = 0; chan < FH50_TCSR_CHNL_NUM ; chan++) | ||
731 | iwl_write_direct32(priv, FH_TCSR_CHNL_TX_CONFIG_REG(chan), | ||
732 | FH_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_ENABLE | | ||
733 | FH_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_ENABLE); | ||
734 | |||
728 | iwl_write_prph(priv, IWL50_SCD_QUEUECHAIN_SEL, | 735 | iwl_write_prph(priv, IWL50_SCD_QUEUECHAIN_SEL, |
729 | IWL50_SCD_QUEUECHAIN_SEL_ALL(priv->hw_params.max_txq_num)); | 736 | IWL50_SCD_QUEUECHAIN_SEL_ALL(priv->hw_params.max_txq_num)); |
730 | iwl_write_prph(priv, IWL50_SCD_AGGR_SEL, 0); | 737 | iwl_write_prph(priv, IWL50_SCD_AGGR_SEL, 0); |