Commit b3de3ef4 authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by Luca Coelho

iwlwifi: mvm: change when the BT_COEX is sent

The BT_COEX command should not be sent to the INIT
firmware image starting from 8000 family.
The firmware team also requested to send the BT_COEX
command after the PHY_DB_CMD and the PHY_CFG_CMD.

While at it:
s/iwl_send_bt_init_conf/iwl_mvm_send_bt_init_conf/
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent 3bfdee76
...@@ -406,7 +406,7 @@ iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif) ...@@ -406,7 +406,7 @@ iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif)
return ret; return ret;
} }
int iwl_send_bt_init_conf(struct iwl_mvm *mvm) int iwl_mvm_send_bt_init_conf(struct iwl_mvm *mvm)
{ {
struct iwl_bt_coex_cmd bt_cmd = {}; struct iwl_bt_coex_cmd bt_cmd = {};
u32 mode; u32 mode;
......
...@@ -644,7 +644,7 @@ iwl_dbgfs_bt_force_ant_write(struct iwl_mvm *mvm, char *buf, ...@@ -644,7 +644,7 @@ iwl_dbgfs_bt_force_ant_write(struct iwl_mvm *mvm, char *buf,
modes_str[mvm->bt_force_ant_mode]); modes_str[mvm->bt_force_ant_mode]);
if (iwl_mvm_firmware_running(mvm)) if (iwl_mvm_firmware_running(mvm))
ret = iwl_send_bt_init_conf(mvm); ret = iwl_mvm_send_bt_init_conf(mvm);
else else
ret = 0; ret = 0;
......
...@@ -836,9 +836,11 @@ int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm) ...@@ -836,9 +836,11 @@ int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
goto error; goto error;
} }
ret = iwl_send_bt_init_conf(mvm); if (mvm->cfg->device_family < IWL_DEVICE_FAMILY_8000) {
if (ret) ret = iwl_mvm_send_bt_init_conf(mvm);
goto error; if (ret)
goto error;
}
/* Read the NVM only at driver load time, no need to do this twice */ /* Read the NVM only at driver load time, no need to do this twice */
if (read_nvm) { if (read_nvm) {
...@@ -1545,10 +1547,6 @@ int iwl_mvm_up(struct iwl_mvm *mvm) ...@@ -1545,10 +1547,6 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
if (ret) if (ret)
goto error; goto error;
ret = iwl_send_bt_init_conf(mvm);
if (ret)
goto error;
/* Send phy db control command and then phy db calibration*/ /* Send phy db control command and then phy db calibration*/
if (!iwl_mvm_has_new_tx_api(mvm)) { if (!iwl_mvm_has_new_tx_api(mvm)) {
ret = iwl_send_phy_db_data(mvm->phy_db); ret = iwl_send_phy_db_data(mvm->phy_db);
...@@ -1560,6 +1558,10 @@ int iwl_mvm_up(struct iwl_mvm *mvm) ...@@ -1560,6 +1558,10 @@ int iwl_mvm_up(struct iwl_mvm *mvm)
goto error; goto error;
} }
ret = iwl_mvm_send_bt_init_conf(mvm);
if (ret)
goto error;
/* Init RSS configuration */ /* Init RSS configuration */
/* TODO - remove a000 disablement when we have RXQ config API */ /* TODO - remove a000 disablement when we have RXQ config API */
if (iwl_mvm_has_new_rx_api(mvm) && !iwl_mvm_has_new_tx_api(mvm)) { if (iwl_mvm_has_new_rx_api(mvm) && !iwl_mvm_has_new_tx_api(mvm)) {
......
...@@ -1680,7 +1680,7 @@ int iwl_mvm_exit_d0i3(struct iwl_op_mode *op_mode); ...@@ -1680,7 +1680,7 @@ int iwl_mvm_exit_d0i3(struct iwl_op_mode *op_mode);
int _iwl_mvm_exit_d0i3(struct iwl_mvm *mvm); int _iwl_mvm_exit_d0i3(struct iwl_mvm *mvm);
/* BT Coex */ /* BT Coex */
int iwl_send_bt_init_conf(struct iwl_mvm *mvm); int iwl_mvm_send_bt_init_conf(struct iwl_mvm *mvm);
void iwl_mvm_rx_bt_coex_notif(struct iwl_mvm *mvm, void iwl_mvm_rx_bt_coex_notif(struct iwl_mvm *mvm,
struct iwl_rx_cmd_buffer *rxb); struct iwl_rx_cmd_buffer *rxb);
void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif, void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
......
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