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

Commit 47cb759f authored by John W. Linville's avatar John W. Linville
Browse files

Merge tag 'iwlwifi-next-for-john-2014-10-29' of...

Merge tag 'iwlwifi-next-for-john-2014-10-29' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next



Emmanuel Grumbach <egrumbach@gmail.com> says:

"The big new thing here is netdetect which allows the
firmware to wake up the platform when a specific network
is detected. Along with that I have fixes for d3 operation.
The usual amount of rate scaling stuff - we now support STBC.
The other commit that stands out is Johannes's work on
devcoredump. He basically starts to use the standard
infrastructure he built."

Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parents 5ca06ebe 4ff78181
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ config IWLDVM

config IWLMVM
	tristate "Intel Wireless WiFi MVM Firmware support"
	select BACKPORT_WANT_DEV_COREDUMP
	help
	  This is the driver that supports the MVM firmware which is
	  currently only available for 7260 and 3160 devices.
+2 −2
Original line number Diff line number Diff line
@@ -418,7 +418,7 @@ void iwlagn_bt_adjust_rssi_monitor(struct iwl_priv *priv, bool rssi_ena)

static bool iwlagn_bt_traffic_is_sco(struct iwl_bt_uart_msg *uart_msg)
{
	return BT_UART_MSG_FRAME3SCOESCO_MSK & uart_msg->frame3 >>
	return (BT_UART_MSG_FRAME3SCOESCO_MSK & uart_msg->frame3) >>
		BT_UART_MSG_FRAME3SCOESCO_POS;
}

+13 −11
Original line number Diff line number Diff line
@@ -1095,6 +1095,7 @@ static void iwlagn_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
			     u32 queues, bool drop)
{
	struct iwl_priv *priv = IWL_MAC80211_GET_DVM(hw);
	u32 scd_queues;

	mutex_lock(&priv->mutex);
	IWL_DEBUG_MAC80211(priv, "enter\n");
@@ -1108,18 +1109,19 @@ static void iwlagn_mac_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
		goto done;
	}

	/*
	 * mac80211 will not push any more frames for transmit
	 * until the flush is completed
	 */
	if (drop) {
		IWL_DEBUG_MAC80211(priv, "send flush command\n");
		if (iwlagn_txfifo_flush(priv, 0)) {
	scd_queues = BIT(priv->cfg->base_params->num_of_queues) - 1;
	scd_queues &= ~(BIT(IWL_IPAN_CMD_QUEUE_NUM) |
			BIT(IWL_DEFAULT_CMD_QUEUE_NUM));

	if (vif)
		scd_queues &= ~BIT(vif->hw_queue[IEEE80211_AC_VO]);

	IWL_DEBUG_TX_QUEUES(priv, "Flushing SCD queues: 0x%x\n", scd_queues);
	if (iwlagn_txfifo_flush(priv, scd_queues)) {
		IWL_ERR(priv, "flush request fail\n");
		goto done;
	}
	}
	IWL_DEBUG_MAC80211(priv, "wait transmit/flush all frames\n");
	IWL_DEBUG_TX_QUEUES(priv, "wait transmit/flush all frames\n");
	iwl_trans_wait_tx_queue_empty(priv->trans, 0xffffffff);
done:
	mutex_unlock(&priv->mutex);
+3 −1
Original line number Diff line number Diff line
@@ -82,7 +82,8 @@
#define IWL8000_TX_POWER_VERSION	0xffff /* meaningless */

#define IWL8000_FW_PRE "iwlwifi-8000"
#define IWL8000_MODULE_FIRMWARE(api) IWL8000_FW_PRE __stringify(api) ".ucode"
#define IWL8000_MODULE_FIRMWARE(api) \
	IWL8000_FW_PRE "-" __stringify(api) ".ucode"

#define NVM_HW_SECTION_NUM_FAMILY_8000		10
#define DEFAULT_NVM_FILE_FAMILY_8000		"iwl_nvm_8000.bin"
@@ -103,6 +104,7 @@ static const struct iwl_base_params iwl8000_base_params = {
};

static const struct iwl_ht_params iwl8000_ht_params = {
	.stbc = true,
	.ldpc = true,
	.ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ),
};
+12 −0
Original line number Diff line number Diff line
@@ -87,6 +87,16 @@ enum iwl_device_family {
	IWL_DEVICE_FAMILY_8000,
};

static inline bool iwl_has_secure_boot(u32 hw_rev,
				       enum iwl_device_family family)
{
	/* return 1 only for family 8000 B0 */
	if ((family == IWL_DEVICE_FAMILY_8000) && (hw_rev & 0xC))
		return 1;

	return 0;
}

/*
 * LED mode
 *    IWL_LED_DEFAULT:  use device default
@@ -246,6 +256,7 @@ struct iwl_pwr_tx_backoff {
 * @nvm_hw_section_num: the ID of the HW NVM section
 * @pwr_tx_backoffs: translation table between power limits and backoffs
 * @max_rx_agg_size: max RX aggregation size of the ADDBA request/response
 * @max_tx_agg_size: max TX aggregation size of the ADDBA request/response
 *
 * We enable the driver to be backward compatible wrt. hardware features.
 * API differences in uCode shouldn't be handled here but through TLVs
@@ -285,6 +296,7 @@ struct iwl_cfg {
	const char *default_nvm_file;
	unsigned int max_rx_agg_size;
	bool disable_dummy_notification;
	unsigned int max_tx_agg_size;
};

/*
Loading