Commit 1745e440 authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville

iwlwifi: fix the delta for remove max_txq_num patch

BIg portion of "iwlwifi: remove max_txq_num from hw_params" was
missing during merge, here is the fix for it.
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 9ba1947a
...@@ -122,8 +122,6 @@ static const struct iwl_sensitivity_ranges iwl1000_sensitivity = { ...@@ -122,8 +122,6 @@ static const struct iwl_sensitivity_ranges iwl1000_sensitivity = {
static void iwl1000_hw_set_hw_params(struct iwl_priv *priv) static void iwl1000_hw_set_hw_params(struct iwl_priv *priv)
{ {
hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ); hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ);
hw_params(priv).tx_chains_num = hw_params(priv).tx_chains_num =
......
...@@ -117,8 +117,6 @@ static const struct iwl_sensitivity_ranges iwl2000_sensitivity = { ...@@ -117,8 +117,6 @@ static const struct iwl_sensitivity_ranges iwl2000_sensitivity = {
static void iwl2000_hw_set_hw_params(struct iwl_priv *priv) static void iwl2000_hw_set_hw_params(struct iwl_priv *priv)
{ {
hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ); hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ);
hw_params(priv).tx_chains_num = hw_params(priv).tx_chains_num =
......
...@@ -156,8 +156,6 @@ static void iwl5000_set_ct_threshold(struct iwl_priv *priv) ...@@ -156,8 +156,6 @@ static void iwl5000_set_ct_threshold(struct iwl_priv *priv)
static void iwl5000_hw_set_hw_params(struct iwl_priv *priv) static void iwl5000_hw_set_hw_params(struct iwl_priv *priv)
{ {
hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ) | hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ) |
BIT(IEEE80211_BAND_5GHZ); BIT(IEEE80211_BAND_5GHZ);
...@@ -174,8 +172,6 @@ static void iwl5000_hw_set_hw_params(struct iwl_priv *priv) ...@@ -174,8 +172,6 @@ static void iwl5000_hw_set_hw_params(struct iwl_priv *priv)
static void iwl5150_hw_set_hw_params(struct iwl_priv *priv) static void iwl5150_hw_set_hw_params(struct iwl_priv *priv)
{ {
hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ) | hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ) |
BIT(IEEE80211_BAND_5GHZ); BIT(IEEE80211_BAND_5GHZ);
......
...@@ -139,8 +139,6 @@ static const struct iwl_sensitivity_ranges iwl6000_sensitivity = { ...@@ -139,8 +139,6 @@ static const struct iwl_sensitivity_ranges iwl6000_sensitivity = {
static void iwl6000_hw_set_hw_params(struct iwl_priv *priv) static void iwl6000_hw_set_hw_params(struct iwl_priv *priv)
{ {
hw_params(priv).max_txq_num = cfg(priv)->base_params->num_of_queues;
hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ) | hw_params(priv).ht40_channel = BIT(IEEE80211_BAND_2GHZ) |
BIT(IEEE80211_BAND_5GHZ); BIT(IEEE80211_BAND_5GHZ);
......
...@@ -1159,7 +1159,7 @@ int iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv, ...@@ -1159,7 +1159,7 @@ int iwlagn_rx_reply_compressed_ba(struct iwl_priv *priv,
* (in Tx queue's circular buffer) of first TFD/frame in window */ * (in Tx queue's circular buffer) of first TFD/frame in window */
u16 ba_resp_scd_ssn = le16_to_cpu(ba_resp->scd_ssn); u16 ba_resp_scd_ssn = le16_to_cpu(ba_resp->scd_ssn);
if (scd_flow >= hw_params(priv).max_txq_num) { if (scd_flow >= cfg(priv)->base_params->num_of_queues) {
IWL_ERR(priv, IWL_ERR(priv,
"BUG_ON scd_flow is bigger than number of queues\n"); "BUG_ON scd_flow is bigger than number of queues\n");
return 0; return 0;
......
...@@ -828,7 +828,7 @@ static ssize_t iwl_dbgfs_traffic_log_read(struct file *file, ...@@ -828,7 +828,7 @@ static ssize_t iwl_dbgfs_traffic_log_read(struct file *file,
char *buf; char *buf;
int bufsz = ((IWL_TRAFFIC_ENTRIES * IWL_TRAFFIC_ENTRY_SIZE * 64) * 2) + int bufsz = ((IWL_TRAFFIC_ENTRIES * IWL_TRAFFIC_ENTRY_SIZE * 64) * 2) +
(hw_params(priv).max_txq_num * 32 * 8) + 400; (cfg(priv)->base_params->num_of_queues * 32 * 8) + 400;
const u8 *ptr; const u8 *ptr;
ssize_t ret; ssize_t ret;
......
...@@ -160,7 +160,6 @@ struct iwl_mod_params { ...@@ -160,7 +160,6 @@ struct iwl_mod_params {
* *
* Holds the module parameters * Holds the module parameters
* *
* @max_txq_num: Max # Tx queues supported
* @num_ampdu_queues: num of ampdu queues * @num_ampdu_queues: num of ampdu queues
* @tx_chains_num: Number of TX chains * @tx_chains_num: Number of TX chains
* @rx_chains_num: Number of RX chains * @rx_chains_num: Number of RX chains
...@@ -177,7 +176,6 @@ struct iwl_mod_params { ...@@ -177,7 +176,6 @@ struct iwl_mod_params {
* @use_rts_for_aggregation: use rts/cts protection for HT traffic * @use_rts_for_aggregation: use rts/cts protection for HT traffic
*/ */
struct iwl_hw_params { struct iwl_hw_params {
u8 max_txq_num;
u8 num_ampdu_queues; u8 num_ampdu_queues;
u8 tx_chains_num; u8 tx_chains_num;
u8 rx_chains_num; u8 rx_chains_num;
......
...@@ -1050,7 +1050,7 @@ void iwl_irq_tasklet(struct iwl_trans *trans) ...@@ -1050,7 +1050,7 @@ void iwl_irq_tasklet(struct iwl_trans *trans)
if (inta & CSR_INT_BIT_WAKEUP) { if (inta & CSR_INT_BIT_WAKEUP) {
IWL_DEBUG_ISR(trans, "Wakeup interrupt\n"); IWL_DEBUG_ISR(trans, "Wakeup interrupt\n");
iwl_rx_queue_update_write_ptr(trans, &trans_pcie->rxq); iwl_rx_queue_update_write_ptr(trans, &trans_pcie->rxq);
for (i = 0; i < hw_params(trans).max_txq_num; i++) for (i = 0; i < cfg(trans)->base_params->num_of_queues; i++)
iwl_txq_update_write_ptr(trans, iwl_txq_update_write_ptr(trans,
&trans_pcie->txq[i]); &trans_pcie->txq[i]);
......
...@@ -595,7 +595,8 @@ static int iwlagn_txq_ctx_activate_free(struct iwl_trans *trans) ...@@ -595,7 +595,8 @@ static int iwlagn_txq_ctx_activate_free(struct iwl_trans *trans)
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
int txq_id; int txq_id;
for (txq_id = 0; txq_id < hw_params(trans).max_txq_num; txq_id++) for (txq_id = 0; txq_id < cfg(trans)->base_params->num_of_queues;
txq_id++)
if (!test_and_set_bit(txq_id, if (!test_and_set_bit(txq_id,
&trans_pcie->txq_ctx_active_msk)) &trans_pcie->txq_ctx_active_msk))
return txq_id; return txq_id;
......
...@@ -497,7 +497,7 @@ static void iwl_trans_pcie_tx_free(struct iwl_trans *trans) ...@@ -497,7 +497,7 @@ static void iwl_trans_pcie_tx_free(struct iwl_trans *trans)
/* Tx queues */ /* Tx queues */
if (trans_pcie->txq) { if (trans_pcie->txq) {
for (txq_id = 0; for (txq_id = 0;
txq_id < hw_params(trans).max_txq_num; txq_id++) txq_id < cfg(trans)->base_params->num_of_queues; txq_id++)
iwl_tx_queue_free(trans, txq_id); iwl_tx_queue_free(trans, txq_id);
} }
...@@ -522,7 +522,7 @@ static int iwl_trans_tx_alloc(struct iwl_trans *trans) ...@@ -522,7 +522,7 @@ static int iwl_trans_tx_alloc(struct iwl_trans *trans)
int txq_id, slots_num; int txq_id, slots_num;
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
u16 scd_bc_tbls_size = hw_params(trans).max_txq_num * u16 scd_bc_tbls_size = cfg(trans)->base_params->num_of_queues *
sizeof(struct iwlagn_scd_bc_tbl); sizeof(struct iwlagn_scd_bc_tbl);
/*It is not allowed to alloc twice, so warn when this happens. /*It is not allowed to alloc twice, so warn when this happens.
...@@ -546,7 +546,7 @@ static int iwl_trans_tx_alloc(struct iwl_trans *trans) ...@@ -546,7 +546,7 @@ static int iwl_trans_tx_alloc(struct iwl_trans *trans)
goto error; goto error;
} }
trans_pcie->txq = kcalloc(hw_params(trans).max_txq_num, trans_pcie->txq = kcalloc(cfg(trans)->base_params->num_of_queues,
sizeof(struct iwl_tx_queue), GFP_KERNEL); sizeof(struct iwl_tx_queue), GFP_KERNEL);
if (!trans_pcie->txq) { if (!trans_pcie->txq) {
IWL_ERR(trans, "Not enough memory for txq\n"); IWL_ERR(trans, "Not enough memory for txq\n");
...@@ -555,7 +555,8 @@ static int iwl_trans_tx_alloc(struct iwl_trans *trans) ...@@ -555,7 +555,8 @@ static int iwl_trans_tx_alloc(struct iwl_trans *trans)
} }
/* Alloc and init all Tx queues, including the command queue (#4/#9) */ /* Alloc and init all Tx queues, including the command queue (#4/#9) */
for (txq_id = 0; txq_id < hw_params(trans).max_txq_num; txq_id++) { for (txq_id = 0; txq_id < cfg(trans)->base_params->num_of_queues;
txq_id++) {
slots_num = (txq_id == trans_pcie->cmd_queue) ? slots_num = (txq_id == trans_pcie->cmd_queue) ?
TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS; TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
ret = iwl_trans_txq_alloc(trans, &trans_pcie->txq[txq_id], ret = iwl_trans_txq_alloc(trans, &trans_pcie->txq[txq_id],
...@@ -600,7 +601,8 @@ static int iwl_tx_init(struct iwl_trans *trans) ...@@ -600,7 +601,8 @@ static int iwl_tx_init(struct iwl_trans *trans)
spin_unlock_irqrestore(&trans_pcie->irq_lock, flags); spin_unlock_irqrestore(&trans_pcie->irq_lock, flags);
/* Alloc and init all Tx queues, including the command queue (#4/#9) */ /* Alloc and init all Tx queues, including the command queue (#4/#9) */
for (txq_id = 0; txq_id < hw_params(trans).max_txq_num; txq_id++) { for (txq_id = 0; txq_id < cfg(trans)->base_params->num_of_queues;
txq_id++) {
slots_num = (txq_id == trans_pcie->cmd_queue) ? slots_num = (txq_id == trans_pcie->cmd_queue) ?
TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS; TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
ret = iwl_trans_txq_init(trans, &trans_pcie->txq[txq_id], ret = iwl_trans_txq_init(trans, &trans_pcie->txq[txq_id],
...@@ -1116,7 +1118,8 @@ static void iwl_tx_start(struct iwl_trans *trans) ...@@ -1116,7 +1118,8 @@ static void iwl_tx_start(struct iwl_trans *trans)
a += 4) a += 4)
iwl_write_targ_mem(trans, a, 0); iwl_write_targ_mem(trans, a, 0);
for (; a < trans_pcie->scd_base_addr + for (; a < trans_pcie->scd_base_addr +
SCD_TRANS_TBL_OFFSET_QUEUE(hw_params(trans).max_txq_num); SCD_TRANS_TBL_OFFSET_QUEUE(
cfg(trans)->base_params->num_of_queues);
a += 4) a += 4)
iwl_write_targ_mem(trans, a, 0); iwl_write_targ_mem(trans, a, 0);
...@@ -1139,7 +1142,7 @@ static void iwl_tx_start(struct iwl_trans *trans) ...@@ -1139,7 +1142,7 @@ static void iwl_tx_start(struct iwl_trans *trans)
iwl_write_prph(trans, SCD_AGGR_SEL, 0); iwl_write_prph(trans, SCD_AGGR_SEL, 0);
/* initiate the queues */ /* initiate the queues */
for (i = 0; i < hw_params(trans).max_txq_num; i++) { for (i = 0; i < cfg(trans)->base_params->num_of_queues; i++) {
iwl_write_prph(trans, SCD_QUEUE_RDPTR(i), 0); iwl_write_prph(trans, SCD_QUEUE_RDPTR(i), 0);
iwl_write_direct32(trans, HBUS_TARG_WRPTR, 0 | (i << 8)); iwl_write_direct32(trans, HBUS_TARG_WRPTR, 0 | (i << 8));
iwl_write_targ_mem(trans, trans_pcie->scd_base_addr + iwl_write_targ_mem(trans, trans_pcie->scd_base_addr +
...@@ -1156,7 +1159,7 @@ static void iwl_tx_start(struct iwl_trans *trans) ...@@ -1156,7 +1159,7 @@ static void iwl_tx_start(struct iwl_trans *trans)
} }
iwl_write_prph(trans, SCD_INTERRUPT_MASK, iwl_write_prph(trans, SCD_INTERRUPT_MASK,
IWL_MASK(0, hw_params(trans).max_txq_num)); IWL_MASK(0, cfg(trans)->base_params->num_of_queues));
/* Activate all Tx DMA/FIFO channels */ /* Activate all Tx DMA/FIFO channels */
iwl_trans_txq_set_sched(trans, IWL_MASK(0, 7)); iwl_trans_txq_set_sched(trans, IWL_MASK(0, 7));
...@@ -1246,7 +1249,8 @@ static int iwl_trans_tx_stop(struct iwl_trans *trans) ...@@ -1246,7 +1249,8 @@ static int iwl_trans_tx_stop(struct iwl_trans *trans)
} }
/* Unmap DMA from host system and free skb's */ /* Unmap DMA from host system and free skb's */
for (txq_id = 0; txq_id < hw_params(trans).max_txq_num; txq_id++) for (txq_id = 0; txq_id < cfg(trans)->base_params->num_of_queues;
txq_id++)
iwl_tx_queue_unmap(trans, txq_id); iwl_tx_queue_unmap(trans, txq_id);
return 0; return 0;
...@@ -1685,7 +1689,7 @@ static int iwl_trans_pcie_wait_tx_queue_empty(struct iwl_trans *trans) ...@@ -1685,7 +1689,7 @@ static int iwl_trans_pcie_wait_tx_queue_empty(struct iwl_trans *trans)
int ret = 0; int ret = 0;
/* waiting for all the tx frames complete might take a while */ /* waiting for all the tx frames complete might take a while */
for (cnt = 0; cnt < hw_params(trans).max_txq_num; cnt++) { for (cnt = 0; cnt < cfg(trans)->base_params->num_of_queues; cnt++) {
if (cnt == trans_pcie->cmd_queue) if (cnt == trans_pcie->cmd_queue)
continue; continue;
txq = &trans_pcie->txq[cnt]; txq = &trans_pcie->txq[cnt];
...@@ -1931,7 +1935,9 @@ static ssize_t iwl_dbgfs_tx_queue_read(struct file *file, ...@@ -1931,7 +1935,9 @@ static ssize_t iwl_dbgfs_tx_queue_read(struct file *file,
int pos = 0; int pos = 0;
int cnt; int cnt;
int ret; int ret;
const size_t bufsz = sizeof(char) * 64 * hw_params(trans).max_txq_num; size_t bufsz;
bufsz = sizeof(char) * 64 * cfg(trans)->base_params->num_of_queues;
if (!trans_pcie->txq) { if (!trans_pcie->txq) {
IWL_ERR(trans, "txq not ready\n"); IWL_ERR(trans, "txq not ready\n");
...@@ -1941,7 +1947,7 @@ static ssize_t iwl_dbgfs_tx_queue_read(struct file *file, ...@@ -1941,7 +1947,7 @@ static ssize_t iwl_dbgfs_tx_queue_read(struct file *file,
if (!buf) if (!buf)
return -ENOMEM; return -ENOMEM;
for (cnt = 0; cnt < hw_params(trans).max_txq_num; cnt++) { for (cnt = 0; cnt < cfg(trans)->base_params->num_of_queues; cnt++) {
txq = &trans_pcie->txq[cnt]; txq = &trans_pcie->txq[cnt];
q = &txq->q; q = &txq->q;
pos += scnprintf(buf + pos, bufsz - pos, pos += scnprintf(buf + pos, bufsz - pos,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment