Lines Matching refs:mvm
141 static void iwl_mvm_phy_ctxt_cmd_data(struct iwl_mvm *mvm, in iwl_mvm_phy_ctxt_cmd_data() argument
148 iwl_mvm_chan_info_cmd_tail(mvm, &cmd->ci); in iwl_mvm_phy_ctxt_cmd_data()
151 iwl_mvm_set_chan_info_chandef(mvm, &cmd->ci, chandef); in iwl_mvm_phy_ctxt_cmd_data()
164 if (active_cnt == 1 && iwl_mvm_rx_diversity_allowed(mvm)) { in iwl_mvm_phy_ctxt_cmd_data()
169 tail->rxchain_info = cpu_to_le32(iwl_mvm_get_valid_rx_ant(mvm) << in iwl_mvm_phy_ctxt_cmd_data()
175 if (unlikely(mvm->dbgfs_rx_phyinfo)) in iwl_mvm_phy_ctxt_cmd_data()
176 tail->rxchain_info = cpu_to_le32(mvm->dbgfs_rx_phyinfo); in iwl_mvm_phy_ctxt_cmd_data()
179 tail->txchain_info = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm)); in iwl_mvm_phy_ctxt_cmd_data()
188 static int iwl_mvm_phy_ctxt_apply(struct iwl_mvm *mvm, in iwl_mvm_phy_ctxt_apply() argument
196 u16 len = sizeof(cmd) - iwl_mvm_chan_info_padding(mvm); in iwl_mvm_phy_ctxt_apply()
202 iwl_mvm_phy_ctxt_cmd_data(mvm, &cmd, chandef, in iwl_mvm_phy_ctxt_apply()
205 ret = iwl_mvm_send_cmd_pdu(mvm, PHY_CONTEXT_CMD, 0, len, &cmd); in iwl_mvm_phy_ctxt_apply()
207 IWL_ERR(mvm, "PHY ctxt cmd error. ret=%d\n", ret); in iwl_mvm_phy_ctxt_apply()
214 int iwl_mvm_phy_ctxt_add(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt, in iwl_mvm_phy_ctxt_add() argument
218 WARN_ON(!test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) && in iwl_mvm_phy_ctxt_add()
220 lockdep_assert_held(&mvm->mutex); in iwl_mvm_phy_ctxt_add()
224 return iwl_mvm_phy_ctxt_apply(mvm, ctxt, chandef, in iwl_mvm_phy_ctxt_add()
233 void iwl_mvm_phy_ctxt_ref(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt) in iwl_mvm_phy_ctxt_ref() argument
235 lockdep_assert_held(&mvm->mutex); in iwl_mvm_phy_ctxt_ref()
244 int iwl_mvm_phy_ctxt_changed(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt, in iwl_mvm_phy_ctxt_changed() argument
250 lockdep_assert_held(&mvm->mutex); in iwl_mvm_phy_ctxt_changed()
252 if (fw_has_capa(&mvm->fw->ucode_capa, in iwl_mvm_phy_ctxt_changed()
258 ret = iwl_mvm_phy_ctxt_apply(mvm, ctxt, chandef, in iwl_mvm_phy_ctxt_changed()
270 return iwl_mvm_phy_ctxt_apply(mvm, ctxt, chandef, in iwl_mvm_phy_ctxt_changed()
275 void iwl_mvm_phy_ctxt_unref(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt) in iwl_mvm_phy_ctxt_unref() argument
277 lockdep_assert_held(&mvm->mutex); in iwl_mvm_phy_ctxt_unref()
296 sband = mvm->hw->wiphy->bands[band++]; in iwl_mvm_phy_ctxt_unref()
304 iwl_mvm_phy_ctxt_changed(mvm, ctxt, &chandef, 1, 1); in iwl_mvm_phy_ctxt_unref()
322 int iwl_mvm_phy_ctx_count(struct iwl_mvm *mvm) in iwl_mvm_phy_ctx_count() argument
326 ieee80211_iterate_active_interfaces_atomic(mvm->hw, in iwl_mvm_phy_ctx_count()