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

Commit bbab7582 authored by Emmanuel Grumbach's avatar Emmanuel Grumbach
Browse files

iwlwifi: define the non shared antenna per hardware



The sharing model will differ in new hardware. Define the
non shared antenna based on the device so that different
devices can have different names for the non shared antenna.

Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 5d4185ae
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -131,7 +131,8 @@ static const struct iwl_ht_params iwl7000_ht_params = {
	.max_data_size = IWL60_RTC_DATA_SIZE,			\
	.base_params = &iwl7000_base_params,			\
	.led_mode = IWL_LED_RF_STATE,				\
	.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_7000
	.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_7000,	\
	.non_shared_ant = ANT_A


const struct iwl_cfg iwl7260_2ac_cfg = {
+2 −1
Original line number Diff line number Diff line
@@ -116,7 +116,8 @@ static const struct iwl_ht_params iwl8000_ht_params = {
	.max_data_size = IWL60_RTC_DATA_SIZE,			\
	.base_params = &iwl8000_base_params,			\
	.led_mode = IWL_LED_RF_STATE,				\
	.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_8000
	.nvm_hw_section_num = NVM_HW_SECTION_NUM_FAMILY_8000,	\
	.non_shared_ant = ANT_A

const struct iwl_cfg iwl8260_2n_cfg = {
	.name = "Intel(R) Dual Band Wireless N 8260",
+2 −0
Original line number Diff line number Diff line
@@ -230,6 +230,7 @@ struct iwl_pwr_tx_backoff {
 * @max_data_size: The maximal length of the fw data section
 * @valid_tx_ant: valid transmit antenna
 * @valid_rx_ant: valid receive antenna
 * @non_shared_ant: the antenna that is for WiFi only
 * @nvm_ver: NVM version
 * @nvm_calib_ver: NVM calibration version
 * @lib: pointer to the lib ops
@@ -262,6 +263,7 @@ struct iwl_cfg {
	const u32 max_inst_size;
	u8   valid_tx_ant;
	u8   valid_rx_ant;
	u8   non_shared_ant;
	bool bt_shared_single_ant;
	u16  nvm_ver;
	u16  nvm_calib_ver;
+4 −0
Original line number Diff line number Diff line
@@ -1146,6 +1146,10 @@ bool iwl_mvm_bt_coex_is_mimo_allowed(struct iwl_mvm *mvm,

bool iwl_mvm_bt_coex_is_shared_ant_avail(struct iwl_mvm *mvm)
{
	/* there is no other antenna, shared antenna is always available */
	if (mvm->cfg->bt_shared_single_ant)
		return true;

	if (!(mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_BT_COEX_SPLIT))
		return iwl_mvm_bt_coex_is_shared_ant_avail_old(mvm);

+1 −1
Original line number Diff line number Diff line
@@ -213,7 +213,7 @@ static void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm,

	if (info->band == IEEE80211_BAND_2GHZ &&
	    !iwl_mvm_bt_coex_is_shared_ant_avail(mvm))
		rate_flags = BIT(ANT_A) << RATE_MCS_ANT_POS;
		rate_flags = BIT(mvm->cfg->non_shared_ant) << RATE_MCS_ANT_POS;
	else
		rate_flags =
			BIT(mvm->mgmt_last_antenna_idx) << RATE_MCS_ANT_POS;