|
@@ -819,7 +819,7 @@ static u32 rs_get_lower_rate(struct iwl_lq_sta *lq_sta,
|
|
|
|
|
|
if (num_of_ant(tbl->ant_type) > 1)
|
|
|
tbl->ant_type =
|
|
|
- first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
|
|
|
tbl->is_ht40 = 0;
|
|
|
tbl->is_SGI = 0;
|
|
@@ -1293,7 +1293,7 @@ static int rs_switch_to_mimo2(struct iwl_priv *priv,
|
|
|
return -1;
|
|
|
|
|
|
/* Need both Tx chains/antennas to support MIMO */
|
|
|
- if (priv->hw_params.tx_chains_num < 2)
|
|
|
+ if (hw_params(priv).tx_chains_num < 2)
|
|
|
return -1;
|
|
|
|
|
|
IWL_DEBUG_RATE(priv, "LQ: try to switch to MIMO2\n");
|
|
@@ -1349,7 +1349,7 @@ static int rs_switch_to_mimo3(struct iwl_priv *priv,
|
|
|
return -1;
|
|
|
|
|
|
/* Need both Tx chains/antennas to support MIMO */
|
|
|
- if (priv->hw_params.tx_chains_num < 3)
|
|
|
+ if (hw_params(priv).tx_chains_num < 3)
|
|
|
return -1;
|
|
|
|
|
|
IWL_DEBUG_RATE(priv, "LQ: try to switch to MIMO3\n");
|
|
@@ -1448,8 +1448,8 @@ static int rs_move_legacy_other(struct iwl_priv *priv,
|
|
|
u32 sz = (sizeof(struct iwl_scale_tbl_info) -
|
|
|
(sizeof(struct iwl_rate_scale_data) * IWL_RATE_COUNT));
|
|
|
u8 start_action;
|
|
|
- u8 valid_tx_ant = priv->hw_params.valid_tx_ant;
|
|
|
- u8 tx_chains_num = priv->hw_params.tx_chains_num;
|
|
|
+ u8 valid_tx_ant = hw_params(priv).valid_tx_ant;
|
|
|
+ u8 tx_chains_num = hw_params(priv).tx_chains_num;
|
|
|
int ret = 0;
|
|
|
u8 update_search_tbl_counter = 0;
|
|
|
|
|
@@ -1459,14 +1459,16 @@ static int rs_move_legacy_other(struct iwl_priv *priv,
|
|
|
break;
|
|
|
case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
|
|
|
/* avoid antenna B unless MIMO */
|
|
|
- valid_tx_ant = first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ valid_tx_ant =
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
if (tbl->action == IWL_LEGACY_SWITCH_ANTENNA2)
|
|
|
tbl->action = IWL_LEGACY_SWITCH_ANTENNA1;
|
|
|
break;
|
|
|
case IWL_BT_COEX_TRAFFIC_LOAD_HIGH:
|
|
|
case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS:
|
|
|
/* avoid antenna B and MIMO */
|
|
|
- valid_tx_ant = first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ valid_tx_ant =
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
if (tbl->action >= IWL_LEGACY_SWITCH_ANTENNA2 &&
|
|
|
tbl->action != IWL_LEGACY_SWITCH_SISO)
|
|
|
tbl->action = IWL_LEGACY_SWITCH_SISO;
|
|
@@ -1489,7 +1491,8 @@ static int rs_move_legacy_other(struct iwl_priv *priv,
|
|
|
tbl->action = IWL_LEGACY_SWITCH_ANTENNA1;
|
|
|
else if (tbl->action >= IWL_LEGACY_SWITCH_ANTENNA2)
|
|
|
tbl->action = IWL_LEGACY_SWITCH_SISO;
|
|
|
- valid_tx_ant = first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ valid_tx_ant =
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
}
|
|
|
|
|
|
start_action = tbl->action;
|
|
@@ -1623,8 +1626,8 @@ static int rs_move_siso_to_other(struct iwl_priv *priv,
|
|
|
u32 sz = (sizeof(struct iwl_scale_tbl_info) -
|
|
|
(sizeof(struct iwl_rate_scale_data) * IWL_RATE_COUNT));
|
|
|
u8 start_action;
|
|
|
- u8 valid_tx_ant = priv->hw_params.valid_tx_ant;
|
|
|
- u8 tx_chains_num = priv->hw_params.tx_chains_num;
|
|
|
+ u8 valid_tx_ant = hw_params(priv).valid_tx_ant;
|
|
|
+ u8 tx_chains_num = hw_params(priv).tx_chains_num;
|
|
|
u8 update_search_tbl_counter = 0;
|
|
|
int ret;
|
|
|
|
|
@@ -1634,14 +1637,16 @@ static int rs_move_siso_to_other(struct iwl_priv *priv,
|
|
|
break;
|
|
|
case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
|
|
|
/* avoid antenna B unless MIMO */
|
|
|
- valid_tx_ant = first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ valid_tx_ant =
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
if (tbl->action == IWL_SISO_SWITCH_ANTENNA2)
|
|
|
tbl->action = IWL_SISO_SWITCH_ANTENNA1;
|
|
|
break;
|
|
|
case IWL_BT_COEX_TRAFFIC_LOAD_HIGH:
|
|
|
case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS:
|
|
|
/* avoid antenna B and MIMO */
|
|
|
- valid_tx_ant = first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ valid_tx_ant =
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
if (tbl->action != IWL_SISO_SWITCH_ANTENNA1)
|
|
|
tbl->action = IWL_SISO_SWITCH_ANTENNA1;
|
|
|
break;
|
|
@@ -1658,7 +1663,8 @@ static int rs_move_siso_to_other(struct iwl_priv *priv,
|
|
|
|
|
|
/* configure as 1x1 if bt full concurrency */
|
|
|
if (priv->bt_full_concurrent) {
|
|
|
- valid_tx_ant = first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ valid_tx_ant =
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
if (tbl->action >= IWL_LEGACY_SWITCH_ANTENNA2)
|
|
|
tbl->action = IWL_SISO_SWITCH_ANTENNA1;
|
|
|
}
|
|
@@ -1794,8 +1800,8 @@ static int rs_move_mimo2_to_other(struct iwl_priv *priv,
|
|
|
u32 sz = (sizeof(struct iwl_scale_tbl_info) -
|
|
|
(sizeof(struct iwl_rate_scale_data) * IWL_RATE_COUNT));
|
|
|
u8 start_action;
|
|
|
- u8 valid_tx_ant = priv->hw_params.valid_tx_ant;
|
|
|
- u8 tx_chains_num = priv->hw_params.tx_chains_num;
|
|
|
+ u8 valid_tx_ant = hw_params(priv).valid_tx_ant;
|
|
|
+ u8 tx_chains_num = hw_params(priv).tx_chains_num;
|
|
|
u8 update_search_tbl_counter = 0;
|
|
|
int ret;
|
|
|
|
|
@@ -1964,8 +1970,8 @@ static int rs_move_mimo3_to_other(struct iwl_priv *priv,
|
|
|
u32 sz = (sizeof(struct iwl_scale_tbl_info) -
|
|
|
(sizeof(struct iwl_rate_scale_data) * IWL_RATE_COUNT));
|
|
|
u8 start_action;
|
|
|
- u8 valid_tx_ant = priv->hw_params.valid_tx_ant;
|
|
|
- u8 tx_chains_num = priv->hw_params.tx_chains_num;
|
|
|
+ u8 valid_tx_ant = hw_params(priv).valid_tx_ant;
|
|
|
+ u8 tx_chains_num = hw_params(priv).tx_chains_num;
|
|
|
int ret;
|
|
|
u8 update_search_tbl_counter = 0;
|
|
|
|
|
@@ -2703,7 +2709,7 @@ static void rs_initialize_lq(struct iwl_priv *priv,
|
|
|
|
|
|
i = lq_sta->last_txrate_idx;
|
|
|
|
|
|
- valid_tx_ant = priv->hw_params.valid_tx_ant;
|
|
|
+ valid_tx_ant = hw_params(priv).valid_tx_ant;
|
|
|
|
|
|
if (!lq_sta->search_better_tbl)
|
|
|
active_tbl = lq_sta->active_tbl;
|
|
@@ -2886,15 +2892,15 @@ void iwl_rs_rate_init(struct iwl_priv *priv, struct ieee80211_sta *sta, u8 sta_i
|
|
|
|
|
|
/* These values will be overridden later */
|
|
|
lq_sta->lq.general_params.single_stream_ant_msk =
|
|
|
- first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
lq_sta->lq.general_params.dual_stream_ant_msk =
|
|
|
- priv->hw_params.valid_tx_ant &
|
|
|
- ~first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ hw_params(priv).valid_tx_ant &
|
|
|
+ ~first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
if (!lq_sta->lq.general_params.dual_stream_ant_msk) {
|
|
|
lq_sta->lq.general_params.dual_stream_ant_msk = ANT_AB;
|
|
|
- } else if (num_of_ant(priv->hw_params.valid_tx_ant) == 2) {
|
|
|
+ } else if (num_of_ant(hw_params(priv).valid_tx_ant) == 2) {
|
|
|
lq_sta->lq.general_params.dual_stream_ant_msk =
|
|
|
- priv->hw_params.valid_tx_ant;
|
|
|
+ hw_params(priv).valid_tx_ant;
|
|
|
}
|
|
|
|
|
|
/* as default allow aggregation for all tids */
|
|
@@ -2940,7 +2946,7 @@ static void rs_fill_link_cmd(struct iwl_priv *priv,
|
|
|
if (priv && priv->bt_full_concurrent) {
|
|
|
/* 1x1 only */
|
|
|
tbl_type.ant_type =
|
|
|
- first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
}
|
|
|
|
|
|
/* How many times should we repeat the initial rate? */
|
|
@@ -2972,7 +2978,7 @@ static void rs_fill_link_cmd(struct iwl_priv *priv,
|
|
|
if (priv->bt_full_concurrent)
|
|
|
valid_tx_ant = ANT_A;
|
|
|
else
|
|
|
- valid_tx_ant = priv->hw_params.valid_tx_ant;
|
|
|
+ valid_tx_ant = hw_params(priv).valid_tx_ant;
|
|
|
}
|
|
|
|
|
|
/* Fill rest of rate table */
|
|
@@ -3006,7 +3012,7 @@ static void rs_fill_link_cmd(struct iwl_priv *priv,
|
|
|
if (priv && priv->bt_full_concurrent) {
|
|
|
/* 1x1 only */
|
|
|
tbl_type.ant_type =
|
|
|
- first_antenna(priv->hw_params.valid_tx_ant);
|
|
|
+ first_antenna(hw_params(priv).valid_tx_ant);
|
|
|
}
|
|
|
|
|
|
/* Indicate to uCode which entries might be MIMO.
|
|
@@ -3097,7 +3103,7 @@ static void rs_dbgfs_set_mcs(struct iwl_lq_sta *lq_sta,
|
|
|
u8 ant_sel_tx;
|
|
|
|
|
|
priv = lq_sta->drv;
|
|
|
- valid_tx_ant = priv->hw_params.valid_tx_ant;
|
|
|
+ valid_tx_ant = hw_params(priv).valid_tx_ant;
|
|
|
if (lq_sta->dbg_fixed_rate) {
|
|
|
ant_sel_tx =
|
|
|
((lq_sta->dbg_fixed_rate & RATE_MCS_ANT_ABC_MSK)
|
|
@@ -3168,9 +3174,9 @@ static ssize_t rs_sta_dbgfs_scale_table_read(struct file *file,
|
|
|
desc += sprintf(buff+desc, "fixed rate 0x%X\n",
|
|
|
lq_sta->dbg_fixed_rate);
|
|
|
desc += sprintf(buff+desc, "valid_tx_ant %s%s%s\n",
|
|
|
- (priv->hw_params.valid_tx_ant & ANT_A) ? "ANT_A," : "",
|
|
|
- (priv->hw_params.valid_tx_ant & ANT_B) ? "ANT_B," : "",
|
|
|
- (priv->hw_params.valid_tx_ant & ANT_C) ? "ANT_C" : "");
|
|
|
+ (hw_params(priv).valid_tx_ant & ANT_A) ? "ANT_A," : "",
|
|
|
+ (hw_params(priv).valid_tx_ant & ANT_B) ? "ANT_B," : "",
|
|
|
+ (hw_params(priv).valid_tx_ant & ANT_C) ? "ANT_C" : "");
|
|
|
desc += sprintf(buff+desc, "lq type %s\n",
|
|
|
(is_legacy(tbl->lq_type)) ? "legacy" : "HT");
|
|
|
if (is_Ht(tbl->lq_type)) {
|