Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e715c3a9 authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by Johannes Berg
Browse files

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



1x1 products will need a special LUT.

Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 49464ae5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -222,6 +222,7 @@ struct iwl_cfg {
	const u32 max_inst_size;
	u8   valid_tx_ant;
	u8   valid_rx_ant;
	bool bt_shared_single_ant;
	u16  nvm_ver;
	u16  nvm_calib_ver;
	/* params not likely to change within a device family */
+20 −1
Original line number Diff line number Diff line
@@ -202,6 +202,22 @@ static const __le32 iwl_concurrent_lookup[BT_COEX_LUT_SIZE] = {
	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)
{
	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_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,
		       sizeof(iwl_tight_lookup));
	else