iwlwifi: add a pointer to the trans_cfg directly in trans
Add a pointer to the iwl_trans structure and point it to the trans part of the cfg. This is the first step in disassociating the trans configuration from the rest of the configuration. Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
此提交包含在:
@@ -1050,7 +1050,7 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
|
||||
* recording before entering D3. In later devices the FW stops the
|
||||
* recording automatically.
|
||||
*/
|
||||
if (mvm->trans->cfg->trans.device_family < IWL_DEVICE_FAMILY_9000)
|
||||
if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_9000)
|
||||
iwl_fw_dbg_stop_restart_recording(&mvm->fwrt, NULL, true);
|
||||
|
||||
/* must be last -- this switches firmware state */
|
||||
@@ -1658,7 +1658,7 @@ static bool iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm,
|
||||
mvm_ap_sta->tid_data[i].seq_number = seq;
|
||||
}
|
||||
|
||||
if (mvm->trans->cfg->trans.device_family >= IWL_DEVICE_FAMILY_22000) {
|
||||
if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000) {
|
||||
i = mvm->offload_tid;
|
||||
iwl_trans_set_q_ptrs(mvm->trans,
|
||||
mvm_ap_sta->tid_data[i].txq_id,
|
||||
|
@@ -1173,7 +1173,7 @@ static ssize_t iwl_dbgfs_inject_packet_write(struct iwl_mvm *mvm,
|
||||
struct iwl_rx_mpdu_desc *desc;
|
||||
int bin_len = count / 2;
|
||||
int ret = -EINVAL;
|
||||
size_t mpdu_cmd_hdr_size = (mvm->trans->cfg->trans.device_family >=
|
||||
size_t mpdu_cmd_hdr_size = (mvm->trans->trans_cfg->device_family >=
|
||||
IWL_DEVICE_FAMILY_22560) ?
|
||||
sizeof(struct iwl_rx_mpdu_desc) :
|
||||
IWL_RX_DESC_SIZE_V1;
|
||||
@@ -1182,7 +1182,7 @@ static ssize_t iwl_dbgfs_inject_packet_write(struct iwl_mvm *mvm,
|
||||
return -EIO;
|
||||
|
||||
/* supporting only 9000 descriptor */
|
||||
if (!mvm->trans->cfg->trans.mq_rx_supported)
|
||||
if (!mvm->trans->trans_cfg->mq_rx_supported)
|
||||
return -ENOTSUPP;
|
||||
|
||||
rxb._page = alloc_pages(GFP_ATOMIC, 0);
|
||||
|
@@ -357,13 +357,13 @@ static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm,
|
||||
iwl_fw_dbg_error_collect(&mvm->fwrt,
|
||||
FW_DBG_TRIGGER_ALIVE_TIMEOUT);
|
||||
|
||||
if (trans->cfg->trans.device_family >= IWL_DEVICE_FAMILY_22000)
|
||||
if (trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000)
|
||||
IWL_ERR(mvm,
|
||||
"SecBoot CPU1 Status: 0x%x, CPU2 Status: 0x%x\n",
|
||||
iwl_read_umac_prph(trans, UMAG_SB_CPU_1_STATUS),
|
||||
iwl_read_umac_prph(trans,
|
||||
UMAG_SB_CPU_2_STATUS));
|
||||
else if (trans->cfg->trans.device_family >=
|
||||
else if (trans->trans_cfg->device_family >=
|
||||
IWL_DEVICE_FAMILY_8000)
|
||||
IWL_ERR(mvm,
|
||||
"SecBoot CPU1 Status: 0x%x, CPU2 Status: 0x%x\n",
|
||||
@@ -1334,7 +1334,7 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
|
||||
goto error;
|
||||
|
||||
/* Init RSS configuration */
|
||||
if (mvm->trans->cfg->trans.device_family >= IWL_DEVICE_FAMILY_22000) {
|
||||
if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000) {
|
||||
ret = iwl_configure_rxq(mvm);
|
||||
if (ret) {
|
||||
IWL_ERR(mvm, "Failed to configure RX queues: %d\n",
|
||||
|
@@ -3330,7 +3330,7 @@ static int __iwl_mvm_mac_set_key(struct ieee80211_hw *hw,
|
||||
|
||||
switch (key->cipher) {
|
||||
case WLAN_CIPHER_SUITE_TKIP:
|
||||
if (!mvm->trans->cfg->trans.gen2) {
|
||||
if (!mvm->trans->trans_cfg->gen2) {
|
||||
key->flags |= IEEE80211_KEY_FLAG_GENERATE_MMIC;
|
||||
key->flags |= IEEE80211_KEY_FLAG_PUT_IV_SPACE;
|
||||
} else if (vif->type == NL80211_IFTYPE_STATION) {
|
||||
|
@@ -1356,13 +1356,13 @@ static inline bool iwl_mvm_has_new_rx_api(struct iwl_mvm *mvm)
|
||||
static inline bool iwl_mvm_has_new_tx_api(struct iwl_mvm *mvm)
|
||||
{
|
||||
/* TODO - replace with TLV once defined */
|
||||
return mvm->trans->cfg->trans.use_tfh;
|
||||
return mvm->trans->trans_cfg->use_tfh;
|
||||
}
|
||||
|
||||
static inline bool iwl_mvm_has_unified_ucode(struct iwl_mvm *mvm)
|
||||
{
|
||||
/* TODO - better define this */
|
||||
return mvm->trans->cfg->trans.device_family >= IWL_DEVICE_FAMILY_22000;
|
||||
return mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000;
|
||||
}
|
||||
|
||||
static inline bool iwl_mvm_is_cdb_supported(struct iwl_mvm *mvm)
|
||||
@@ -1387,7 +1387,7 @@ static inline bool iwl_mvm_cdb_scan_api(struct iwl_mvm *mvm)
|
||||
* but then there's a little bit of code in scan that won't make
|
||||
* any sense...
|
||||
*/
|
||||
return mvm->trans->cfg->trans.device_family >= IWL_DEVICE_FAMILY_22000;
|
||||
return mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000;
|
||||
}
|
||||
|
||||
static inline bool iwl_mvm_is_scan_ext_chan_supported(struct iwl_mvm *mvm)
|
||||
|
@@ -173,7 +173,7 @@ static void iwl_mvm_nic_config(struct iwl_op_mode *op_mode)
|
||||
* unrelated errors. Need to further investigate this, but for now
|
||||
* we'll separate cases.
|
||||
*/
|
||||
if (mvm->trans->cfg->trans.device_family < IWL_DEVICE_FAMILY_8000)
|
||||
if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_8000)
|
||||
reg_val |= CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI;
|
||||
|
||||
if (iwl_fw_dbg_is_d3_debug_enabled(&mvm->fwrt))
|
||||
@@ -664,7 +664,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
|
||||
if (iwl_mvm_has_new_rx_api(mvm)) {
|
||||
op_mode->ops = &iwl_mvm_ops_mq;
|
||||
trans->rx_mpdu_cmd_hdr_size =
|
||||
(trans->cfg->trans.device_family >=
|
||||
(trans->trans_cfg->device_family >=
|
||||
IWL_DEVICE_FAMILY_22560) ?
|
||||
sizeof(struct iwl_rx_mpdu_desc) :
|
||||
IWL_RX_DESC_SIZE_V1;
|
||||
@@ -728,7 +728,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
|
||||
trans_cfg.no_reclaim_cmds = no_reclaim_cmds;
|
||||
trans_cfg.n_no_reclaim_cmds = ARRAY_SIZE(no_reclaim_cmds);
|
||||
|
||||
if (mvm->trans->cfg->trans.device_family >= IWL_DEVICE_FAMILY_22560)
|
||||
if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22560)
|
||||
rb_size_default = IWL_AMSDU_2K;
|
||||
else
|
||||
rb_size_default = IWL_AMSDU_4K;
|
||||
@@ -757,7 +757,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
|
||||
|
||||
trans->wide_cmd_header = true;
|
||||
trans_cfg.bc_table_dword =
|
||||
mvm->trans->cfg->trans.device_family < IWL_DEVICE_FAMILY_22560;
|
||||
mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_22560;
|
||||
|
||||
trans_cfg.command_groups = iwl_mvm_groups;
|
||||
trans_cfg.command_groups_size = ARRAY_SIZE(iwl_mvm_groups);
|
||||
|
@@ -3338,7 +3338,7 @@ static void rs_build_rates_table_from_fixed(struct iwl_mvm *mvm,
|
||||
if (num_of_ant(ant) == 1)
|
||||
lq_cmd->single_stream_ant_msk = ant;
|
||||
|
||||
if (!mvm->trans->cfg->trans.gen2)
|
||||
if (!mvm->trans->trans_cfg->gen2)
|
||||
lq_cmd->agg_frame_cnt_limit = LINK_QUAL_AGG_FRAME_LIMIT_DEF;
|
||||
else
|
||||
lq_cmd->agg_frame_cnt_limit =
|
||||
|
@@ -349,7 +349,7 @@ static int iwl_mvm_rx_crypto(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr,
|
||||
!(status & IWL_RX_MPDU_RES_STATUS_TTAK_OK))
|
||||
return 0;
|
||||
|
||||
if (mvm->trans->cfg->trans.gen2 &&
|
||||
if (mvm->trans->trans_cfg->gen2 &&
|
||||
!(status & RX_MPDU_RES_STATUS_MIC_OK))
|
||||
stats->flag |= RX_FLAG_MMIC_ERROR;
|
||||
|
||||
@@ -366,7 +366,7 @@ static int iwl_mvm_rx_crypto(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr,
|
||||
|
||||
if (pkt_flags & FH_RSCSR_RADA_EN) {
|
||||
stats->flag |= RX_FLAG_ICV_STRIPPED;
|
||||
if (mvm->trans->cfg->trans.gen2)
|
||||
if (mvm->trans->trans_cfg->gen2)
|
||||
stats->flag |= RX_FLAG_MMIC_STRIPPED;
|
||||
}
|
||||
|
||||
@@ -1504,7 +1504,7 @@ void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi,
|
||||
if (unlikely(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)))
|
||||
return;
|
||||
|
||||
if (mvm->trans->cfg->trans.device_family >= IWL_DEVICE_FAMILY_22560) {
|
||||
if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22560) {
|
||||
rate_n_flags = le32_to_cpu(desc->v3.rate_n_flags);
|
||||
channel = desc->v3.channel;
|
||||
gp2_on_air_rise = le32_to_cpu(desc->v3.gp2_on_air_rise);
|
||||
@@ -1605,7 +1605,7 @@ void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi,
|
||||
if (likely(!(phy_info & IWL_RX_MPDU_PHY_TSF_OVERLOAD))) {
|
||||
u64 tsf_on_air_rise;
|
||||
|
||||
if (mvm->trans->cfg->trans.device_family >=
|
||||
if (mvm->trans->trans_cfg->device_family >=
|
||||
IWL_DEVICE_FAMILY_22560)
|
||||
tsf_on_air_rise = le64_to_cpu(desc->v3.tsf_on_air_rise);
|
||||
else
|
||||
@@ -1732,7 +1732,7 @@ void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi,
|
||||
|
||||
*qc &= ~IEEE80211_QOS_CTL_A_MSDU_PRESENT;
|
||||
|
||||
if (mvm->trans->cfg->trans.device_family ==
|
||||
if (mvm->trans->trans_cfg->device_family ==
|
||||
IWL_DEVICE_FAMILY_9000) {
|
||||
iwl_mvm_flip_address(hdr->addr3);
|
||||
|
||||
|
@@ -1604,7 +1604,7 @@ int iwl_mvm_add_sta(struct iwl_mvm *mvm,
|
||||
mvm_sta->mac_id_n_color = FW_CMD_ID_AND_COLOR(mvmvif->id,
|
||||
mvmvif->color);
|
||||
mvm_sta->vif = vif;
|
||||
if (!mvm->trans->cfg->trans.gen2)
|
||||
if (!mvm->trans->trans_cfg->gen2)
|
||||
mvm_sta->max_agg_bufsize = LINK_QUAL_AGG_FRAME_LIMIT_DEF;
|
||||
else
|
||||
mvm_sta->max_agg_bufsize = LINK_QUAL_AGG_FRAME_LIMIT_GEN2_DEF;
|
||||
@@ -2813,7 +2813,7 @@ int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
||||
* to align the wrap around of ssn so we compare relevant values.
|
||||
*/
|
||||
normalized_ssn = tid_data->ssn;
|
||||
if (mvm->trans->cfg->trans.gen2)
|
||||
if (mvm->trans->trans_cfg->gen2)
|
||||
normalized_ssn &= 0xff;
|
||||
|
||||
if (normalized_ssn == tid_data->next_reclaimed) {
|
||||
@@ -3853,7 +3853,7 @@ u16 iwl_mvm_tid_queued(struct iwl_mvm *mvm, struct iwl_mvm_tid_data *tid_data)
|
||||
* In 22000 HW, the next_reclaimed index is only 8 bit, so we'll need
|
||||
* to align the wrap around of ssn so we compare relevant values.
|
||||
*/
|
||||
if (mvm->trans->cfg->trans.gen2)
|
||||
if (mvm->trans->trans_cfg->gen2)
|
||||
sn &= 0xff;
|
||||
|
||||
return ieee80211_sn_sub(sn, tid_data->next_reclaimed);
|
||||
|
@@ -546,7 +546,7 @@ iwl_mvm_set_tx_params(struct iwl_mvm *mvm, struct sk_buff *skb,
|
||||
hdr->frame_control);
|
||||
}
|
||||
|
||||
if (mvm->trans->cfg->trans.device_family >=
|
||||
if (mvm->trans->trans_cfg->device_family >=
|
||||
IWL_DEVICE_FAMILY_22560) {
|
||||
struct iwl_tx_cmd_gen3 *cmd = (void *)dev_cmd->payload;
|
||||
|
||||
@@ -1272,7 +1272,7 @@ static void iwl_mvm_check_ratid_empty(struct iwl_mvm *mvm,
|
||||
* to align the wrap around of ssn so we compare relevant values.
|
||||
*/
|
||||
normalized_ssn = tid_data->ssn;
|
||||
if (mvm->trans->cfg->trans.gen2)
|
||||
if (mvm->trans->trans_cfg->gen2)
|
||||
normalized_ssn &= 0xff;
|
||||
|
||||
if (normalized_ssn != tid_data->next_reclaimed)
|
||||
|
@@ -1431,7 +1431,7 @@ u32 iwl_mvm_get_systime(struct iwl_mvm *mvm)
|
||||
{
|
||||
u32 reg_addr = DEVICE_SYSTEM_TIME_REG;
|
||||
|
||||
if (mvm->trans->cfg->trans.device_family >= IWL_DEVICE_FAMILY_22000 &&
|
||||
if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000 &&
|
||||
mvm->trans->cfg->gp2_reg_addr)
|
||||
reg_addr = mvm->trans->cfg->gp2_reg_addr;
|
||||
|
||||
|
新增問題並參考
封鎖使用者