iwlwifi: move iwl_rxq_stop into iwl-rx.c
This patch moves iwl_rxq_stop into iwl-rx.c. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
da1bc4539f
commit
b3bbacb78b
4 changed files with 28 additions and 27 deletions
|
@ -384,31 +384,6 @@ void iwl4965_hwrate_to_tx_control(struct iwl_priv *priv, u32 rate_n_flags,
|
||||||
control->tx_rate_idx = rate_index;
|
control->tx_rate_idx = rate_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
int iwl4965_hw_rxq_stop(struct iwl_priv *priv)
|
|
||||||
{
|
|
||||||
int rc;
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->lock, flags);
|
|
||||||
rc = iwl_grab_nic_access(priv);
|
|
||||||
if (rc) {
|
|
||||||
spin_unlock_irqrestore(&priv->lock, flags);
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* stop Rx DMA */
|
|
||||||
iwl_write_direct32(priv, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
|
|
||||||
rc = iwl_poll_direct_bit(priv, FH_MEM_RSSR_RX_STATUS_REG,
|
|
||||||
(1 << 24), 1000);
|
|
||||||
if (rc < 0)
|
|
||||||
IWL_ERROR("Can't stop Rx DMA.\n");
|
|
||||||
|
|
||||||
iwl_release_nic_access(priv);
|
|
||||||
spin_unlock_irqrestore(&priv->lock, flags);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* EEPROM handlers
|
* EEPROM handlers
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -684,8 +684,8 @@ extern u8 iwl4965_sync_station(struct iwl_priv *priv, int sta_id,
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
extern void iwl4965_hw_setup_deferred_work(struct iwl_priv *priv);
|
extern void iwl4965_hw_setup_deferred_work(struct iwl_priv *priv);
|
||||||
extern void iwl4965_hw_cancel_deferred_work(struct iwl_priv *priv);
|
extern void iwl4965_hw_cancel_deferred_work(struct iwl_priv *priv);
|
||||||
extern int iwl4965_hw_rxq_stop(struct iwl_priv *priv);
|
|
||||||
extern int iwl4965_hw_set_hw_params(struct iwl_priv *priv);
|
extern int iwl4965_hw_set_hw_params(struct iwl_priv *priv);
|
||||||
|
extern int iwl_rxq_stop(struct iwl_priv *priv);
|
||||||
extern void iwl_txq_ctx_stop(struct iwl_priv *priv);
|
extern void iwl_txq_ctx_stop(struct iwl_priv *priv);
|
||||||
extern int iwl4965_hw_get_temperature(struct iwl_priv *priv);
|
extern int iwl4965_hw_get_temperature(struct iwl_priv *priv);
|
||||||
extern unsigned int iwl4965_hw_get_beacon_cmd(struct iwl_priv *priv,
|
extern unsigned int iwl4965_hw_get_beacon_cmd(struct iwl_priv *priv,
|
||||||
|
|
|
@ -420,3 +420,29 @@ int iwl_rx_init(struct iwl_priv *priv, struct iwl_rx_queue *rxq)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int iwl_rxq_stop(struct iwl_priv *priv)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
unsigned long flags;
|
||||||
|
|
||||||
|
spin_lock_irqsave(&priv->lock, flags);
|
||||||
|
ret = iwl_grab_nic_access(priv);
|
||||||
|
if (unlikely(ret)) {
|
||||||
|
spin_unlock_irqrestore(&priv->lock, flags);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* stop Rx DMA */
|
||||||
|
iwl_write_direct32(priv, FH_MEM_RCSR_CHNL0_CONFIG_REG, 0);
|
||||||
|
ret = iwl_poll_direct_bit(priv, FH_MEM_RSSR_RX_STATUS_REG,
|
||||||
|
(1 << 24), 1000);
|
||||||
|
if (ret < 0)
|
||||||
|
IWL_ERROR("Can't stop Rx DMA.\n");
|
||||||
|
|
||||||
|
iwl_release_nic_access(priv);
|
||||||
|
spin_unlock_irqrestore(&priv->lock, flags);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(iwl_rxq_stop);
|
||||||
|
|
||||||
|
|
|
@ -3405,7 +3405,7 @@ static void __iwl4965_down(struct iwl_priv *priv)
|
||||||
spin_unlock_irqrestore(&priv->lock, flags);
|
spin_unlock_irqrestore(&priv->lock, flags);
|
||||||
|
|
||||||
iwl_txq_ctx_stop(priv);
|
iwl_txq_ctx_stop(priv);
|
||||||
iwl4965_hw_rxq_stop(priv);
|
iwl_rxq_stop(priv);
|
||||||
|
|
||||||
spin_lock_irqsave(&priv->lock, flags);
|
spin_lock_irqsave(&priv->lock, flags);
|
||||||
if (!iwl_grab_nic_access(priv)) {
|
if (!iwl_grab_nic_access(priv)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue