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

Commit 31c5770b authored by John W. Linville's avatar John W. Linville
Browse files
parents c78b3841 e635c797
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -1266,7 +1266,3 @@ module_param_named(auto_agg, iwlwifi_mod_params.auto_agg,
		bool, S_IRUGO);
MODULE_PARM_DESC(auto_agg,
		 "enable agg w/o check traffic load (default: enable)");

module_param_named(5ghz_disable, iwlwifi_mod_params.disable_5ghz,
		bool, S_IRUGO);
MODULE_PARM_DESC(5ghz_disable, "disable 5GHz band (default: 0 [enabled])");
+25 −0
Original line number Diff line number Diff line
@@ -154,6 +154,19 @@ struct iwl_tlv_calib_ctrl {
	__le32 event_trigger;
} __packed;

enum iwl_fw_phy_cfg {
	FW_PHY_CFG_RADIO_TYPE_POS = 0,
	FW_PHY_CFG_RADIO_TYPE = 0x3 << FW_PHY_CFG_RADIO_TYPE_POS,
	FW_PHY_CFG_RADIO_STEP_POS = 2,
	FW_PHY_CFG_RADIO_STEP = 0x3 << FW_PHY_CFG_RADIO_STEP_POS,
	FW_PHY_CFG_RADIO_DASH_POS = 4,
	FW_PHY_CFG_RADIO_DASH = 0x3 << FW_PHY_CFG_RADIO_DASH_POS,
	FW_PHY_CFG_TX_CHAIN_POS = 16,
	FW_PHY_CFG_TX_CHAIN = 0xf << FW_PHY_CFG_TX_CHAIN_POS,
	FW_PHY_CFG_RX_CHAIN_POS = 20,
	FW_PHY_CFG_RX_CHAIN = 0xf << FW_PHY_CFG_RX_CHAIN_POS,
};

/**
 * struct iwl_fw - variables associated with the firmware
 *
@@ -190,4 +203,16 @@ struct iwl_fw {
	bool mvm_fw;
};

static inline u8 iwl_fw_valid_tx_ant(const struct iwl_fw *fw)
{
	return (fw->phy_config & FW_PHY_CFG_TX_CHAIN) >>
		FW_PHY_CFG_TX_CHAIN_POS;
}

static inline u8 iwl_fw_valid_rx_ant(const struct iwl_fw *fw)
{
	return (fw->phy_config & FW_PHY_CFG_RX_CHAIN) >>
		FW_PHY_CFG_RX_CHAIN_POS;
}

#endif  /* __iwl_fw_h__ */
+0 −2
Original line number Diff line number Diff line
@@ -103,7 +103,6 @@ enum iwl_power_level {
 * @ant_coupling: antenna coupling in dB, default = 0
 * @bt_ch_announce: BT channel inhibition, default = enable
 * @auto_agg: enable agg. without check, default = true
 * @disable_5ghz: disable 5GHz capability, default = false
 */
struct iwl_mod_params {
	int sw_crypto;
@@ -120,7 +119,6 @@ struct iwl_mod_params {
	int ant_coupling;
	bool bt_ch_announce;
	bool auto_agg;
	bool disable_5ghz;
};

#endif /* #__iwl_modparams_h__ */
+1 −2
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ static int iwl_test_fw_cmd(struct iwl_test *tst, struct nlattr **tb)

	reply_len = le32_to_cpu(pkt->len_n_flags) & FH_RSCSR_FRAME_SIZE_MSK;
	skb = iwl_test_alloc_reply(tst, reply_len + 20);
	reply_buf = kmalloc(reply_len, GFP_KERNEL);
	reply_buf = kmemdup(&pkt->hdr, reply_len, GFP_KERNEL);
	if (!skb || !reply_buf) {
		kfree_skb(skb);
		kfree(reply_buf);
@@ -280,7 +280,6 @@ static int iwl_test_fw_cmd(struct iwl_test *tst, struct nlattr **tb)
	}

	/* The reply is in a page, that we cannot send to user space. */
	memcpy(reply_buf, &(pkt->hdr), reply_len);
	iwl_free_resp(&cmd);

	if (nla_put_u32(skb, IWL_TM_ATTR_COMMAND,
+11 −10
Original line number Diff line number Diff line
@@ -125,15 +125,15 @@ enum iwl_bt_kill_msk {
};

static const u32 iwl_bt_ack_kill_msk[BT_KILL_MSK_MAX] = {
	0xffffffff,
	0xfffffc00,
	0,
	[BT_KILL_MSK_DEFAULT] = 0xffff0000,
	[BT_KILL_MSK_SCO_HID_A2DP] = 0xffffffff,
	[BT_KILL_MSK_REDUCED_TXPOW] = 0,
};

static const u32 iwl_bt_cts_kill_msk[BT_KILL_MSK_MAX] = {
	0xffffffff,
	0xfffffc00,
	0,
	[BT_KILL_MSK_DEFAULT] = 0xffff0000,
	[BT_KILL_MSK_SCO_HID_A2DP] = 0xffffffff,
	[BT_KILL_MSK_REDUCED_TXPOW] = 0,
};

#define IWL_BT_DEFAULT_BOOST (0xf0f0f0f0)
@@ -188,6 +188,8 @@ static const __le32 iwl_concurrent_lookup[BT_COEX_LUT_SIZE] = {

/* BT Antenna Coupling Threshold (dB) */
#define IWL_BT_ANTENNA_COUPLING_THRESHOLD	(35)
#define IWL_BT_LOAD_FORCE_SISO_THRESHOLD	(3)


int iwl_send_bt_init_conf(struct iwl_mvm *mvm)
{
@@ -201,8 +203,7 @@ int iwl_send_bt_init_conf(struct iwl_mvm *mvm)

	cmd.flags = iwlwifi_mod_params.bt_coex_active ?
			BT_COEX_NW : BT_COEX_DISABLE;
	cmd.flags |= iwlwifi_mod_params.bt_ch_announce ?
			BT_CH_PRIMARY_EN | BT_CH_SECONDARY_EN : 0;
	cmd.flags |= iwlwifi_mod_params.bt_ch_announce ? BT_CH_PRIMARY_EN : 0;
	cmd.flags |= BT_SYNC_2_BT_DISABLE;

	cmd.valid_bit_msk = cpu_to_le16(BT_VALID_ENABLE |
@@ -275,7 +276,7 @@ static void iwl_mvm_bt_notif_iterator(void *_data, u8 *mac,
	if (data->notif->bt_status)
		smps_mode = IEEE80211_SMPS_DYNAMIC;

	if (data->notif->bt_traffic_load)
	if (data->notif->bt_traffic_load >= IWL_BT_LOAD_FORCE_SISO_THRESHOLD)
		smps_mode = IEEE80211_SMPS_STATIC;

	IWL_DEBUG_COEX(data->mvm,
@@ -327,7 +328,7 @@ int iwl_mvm_rx_bt_coex_notif(struct iwl_mvm *mvm,
		return 0;

	IWL_DEBUG_COEX(mvm,
		       "Udpate kill_msk: %d\n\t SCO %sactive A2DP %sactive SNIFF %sactive\n",
		       "Update kill_msk: %d - SCO %sactive A2DP %sactive SNIFF %sactive\n",
		       bt_kill_msk,
		       BT_MBOX_MSG(notif, 3, SCO_STATE) ? "" : "in",
		       BT_MBOX_MSG(notif, 3, A2DP_STATE) ? "" : "in",
Loading