iwlwifi: mvm: add BT-Coex LUT for 1x1 products

1x1 products will need a special LUT.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Emmanuel Grumbach 2013-06-18 05:34:58 +03:00 committed by Johannes Berg
parent 49464ae502
commit e715c3a939
2 changed files with 21 additions and 1 deletions

View file

@ -222,6 +222,7 @@ struct iwl_cfg {
const u32 max_inst_size; const u32 max_inst_size;
u8 valid_tx_ant; u8 valid_tx_ant;
u8 valid_rx_ant; u8 valid_rx_ant;
bool bt_shared_single_ant;
u16 nvm_ver; u16 nvm_ver;
u16 nvm_calib_ver; u16 nvm_calib_ver;
/* params not likely to change within a device family */ /* params not likely to change within a device family */

View file

@ -202,6 +202,22 @@ static const __le32 iwl_concurrent_lookup[BT_COEX_LUT_SIZE] = {
cpu_to_le32(0x00000000), cpu_to_le32(0x00000000),
}; };
/* single shared antenna */
static const __le32 iwl_single_shared_ant_lookup[BT_COEX_LUT_SIZE] = {
cpu_to_le32(0x40000000),
cpu_to_le32(0x00000000),
cpu_to_le32(0x44000000),
cpu_to_le32(0x00000000),
cpu_to_le32(0x40000000),
cpu_to_le32(0x00000000),
cpu_to_le32(0x44000000),
cpu_to_le32(0x00000000),
cpu_to_le32(0xC0004000),
cpu_to_le32(0xF0005000),
cpu_to_le32(0xC0004000),
cpu_to_le32(0xF0005000),
};
int iwl_send_bt_init_conf(struct iwl_mvm *mvm) int iwl_send_bt_init_conf(struct iwl_mvm *mvm)
{ {
struct iwl_bt_coex_cmd cmd = { struct iwl_bt_coex_cmd cmd = {
@ -225,7 +241,10 @@ int iwl_send_bt_init_conf(struct iwl_mvm *mvm)
BT_VALID_REDUCED_TX_POWER | BT_VALID_REDUCED_TX_POWER |
BT_VALID_LUT); BT_VALID_LUT);
if (is_loose_coex()) if (mvm->cfg->bt_shared_single_ant)
memcpy(&cmd.decision_lut, iwl_single_shared_ant_lookup,
sizeof(iwl_single_shared_ant_lookup));
else if (is_loose_coex())
memcpy(&cmd.decision_lut, iwl_loose_lookup, memcpy(&cmd.decision_lut, iwl_loose_lookup,
sizeof(iwl_tight_lookup)); sizeof(iwl_tight_lookup));
else else