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

Commit fde0db31 authored by Guy Cohen's avatar Guy Cohen Committed by John W. Linville
Browse files

iwlwifi: HT antenna/chains overhaul



1. This patch restructures rate scale algorithm to support
   SISO, MIMO2, MIMO3
2. It adds support for detailed valid TX and RX antennas settings
3. It removes few unesfull antenna definitions

Signed-off-by: default avatarGuy Cohen <guy.cohen@intel.com>
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent d1141dfb
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -272,7 +272,8 @@ struct iwl_cmd_header {
#define RATE_MCS_ANT_POS      14
#define RATE_MCS_ANT_A_MSK    0x04000
#define RATE_MCS_ANT_B_MSK    0x08000
#define RATE_MCS_ANT_AB_MSK    0x0C000
#define RATE_MCS_ANT_C_MSK    0x10000
#define RATE_MCS_ANT_ABC_MSK  0x1C000


/**
+163 −174

File changed.

Preview size limit exceeded, changes collapsed.

+56 −29

File changed.

Preview size limit exceeded, changes collapsed.

+32 −25

File changed.

Preview size limit exceeded, changes collapsed.

+4 −11
Original line number Diff line number Diff line
@@ -71,12 +71,6 @@ extern struct iwl_cfg iwl4965_agn_cfg;
 *   averages within an s8's (used in some apps) range of negative values. */
#define IWL_NOISE_MEAS_NOT_AVAILABLE (-127)

enum iwl4965_antenna {
	IWL_ANTENNA_DIVERSITY,
	IWL_ANTENNA_MAIN,
	IWL_ANTENNA_AUX
};

/*
 * RTS threshold here is total size [2347] minus 4 FCS bytes
 * Per spec:
@@ -763,7 +757,7 @@ extern void iwl4965_hwrate_to_tx_control(struct iwl_priv *priv,
					 struct ieee80211_tx_control *control);

#ifdef CONFIG_IWL4965_HT
void iwl4965_init_ht_hw_capab(struct iwl_priv *priv,
extern void iwl4965_init_ht_hw_capab(const struct iwl_priv *priv,
				struct ieee80211_ht_info *ht_info,
				enum ieee80211_band band);
void iwl4965_set_rxon_ht(struct iwl_priv *priv,
@@ -776,7 +770,7 @@ int iwl4965_mac_ampdu_action(struct ieee80211_hw *hw,
int iwl4965_check_empty_hw_queue(struct iwl_priv *priv, int sta_id,
					u8 tid, int txq_id);
#else
static inline void iwl4965_init_ht_hw_capab(struct iwl_priv *priv,
static inline void iwl4965_init_ht_hw_capab(const struct iwl_priv *priv,
					    struct ieee80211_ht_info *ht_info,
					    enum ieee80211_band band) {}

@@ -1052,7 +1046,6 @@ struct iwl_priv {

	u8 assoc_station_added;
	u8 use_ant_b_for_management_frame;	/* Tx antenna selection */
	u8 valid_antenna;	/* Bit mask of antennas actually connected */
	u8 start_calib;
#ifdef CONFIG_IWLWIFI_RUN_TIME_CALIB
	struct iwl_sensitivity_data sensitivity_data;
Loading