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

Commit 6ab882a8 authored by Kalle Valo's avatar Kalle Valo
Browse files

Merge tag 'iwlwifi-next-for-kalle-2016-03-09_2' of...

Merge tag 'iwlwifi-next-for-kalle-2016-03-09_2' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next

* update GSCAN capabilities (Ayala)
* fix AES-CMAC in AP mode (Johannes)
* adapt prints to new firmware API
* rx path improvements (Sara and Gregory)
* fixes for the thermal / cooling device code (Chaya Rachel)
* fixes for GO uAPSD handling
* more code for the 9000 device family (Sara)
* infrastructure work for firmware notification (Chaya Rachel)
* improve association reliablity (Sara)
* runtime PM fixes
* fixes for ROC (HS2.0)
parents 836856e3 5ed47226
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -1652,10 +1652,10 @@ static void iwl_dump_nic_error_log(struct iwl_priv *priv)


	trace_iwlwifi_dev_ucode_error(trans->dev, table.error_id, table.tsf_low,
	trace_iwlwifi_dev_ucode_error(trans->dev, table.error_id, table.tsf_low,
				      table.data1, table.data2, table.line,
				      table.data1, table.data2, table.line,
				      table.blink1, table.blink2, table.ilink1,
				      table.blink2, table.ilink1, table.ilink2,
				      table.ilink2, table.bcon_time, table.gp1,
				      table.bcon_time, table.gp1, table.gp2,
				      table.gp2, table.gp3, table.ucode_ver,
				      table.gp3, table.ucode_ver, table.hw_ver,
				      table.hw_ver, 0, table.brd_ver);
				      0, table.brd_ver);
	IWL_ERR(priv, "0x%08X | %-28s\n", table.error_id,
	IWL_ERR(priv, "0x%08X | %-28s\n", table.error_id,
		desc_lookup(table.error_id));
		desc_lookup(table.error_id));
	IWL_ERR(priv, "0x%08X | uPc\n", table.pc);
	IWL_ERR(priv, "0x%08X | uPc\n", table.pc);
+2 −1
Original line number Original line Diff line number Diff line
@@ -140,7 +140,8 @@ static const struct iwl_tt_params iwl9000_tt_params = {
	.thermal_params = &iwl9000_tt_params,				\
	.thermal_params = &iwl9000_tt_params,				\
	.apmg_not_supported = true,					\
	.apmg_not_supported = true,					\
	.mq_rx_supported = true,					\
	.mq_rx_supported = true,					\
	.vht_mu_mimo_supported = true
	.vht_mu_mimo_supported = true,					\
	.mac_addr_from_csr = true


const struct iwl_cfg iwl9260_2ac_cfg = {
const struct iwl_cfg iwl9260_2ac_cfg = {
		.name = "Intel(R) Dual Band Wireless AC 9260",
		.name = "Intel(R) Dual Band Wireless AC 9260",
+2 −0
Original line number Original line Diff line number Diff line
@@ -297,6 +297,7 @@ struct iwl_pwr_tx_backoff {
 * @host_interrupt_operation_mode: device needs host interrupt operation
 * @host_interrupt_operation_mode: device needs host interrupt operation
 *	mode set
 *	mode set
 * @nvm_hw_section_num: the ID of the HW NVM section
 * @nvm_hw_section_num: the ID of the HW NVM section
 * @mac_addr_from_csr: read HW address from CSR registers
 * @features: hw features, any combination of feature_whitelist
 * @features: hw features, any combination of feature_whitelist
 * @pwr_tx_backoffs: translation table between power limits and backoffs
 * @pwr_tx_backoffs: translation table between power limits and backoffs
 * @max_rx_agg_size: max RX aggregation size of the ADDBA request/response
 * @max_rx_agg_size: max RX aggregation size of the ADDBA request/response
@@ -345,6 +346,7 @@ struct iwl_cfg {
	const bool host_interrupt_operation_mode;
	const bool host_interrupt_operation_mode;
	bool high_temp;
	bool high_temp;
	u8   nvm_hw_section_num;
	u8   nvm_hw_section_num;
	bool mac_addr_from_csr;
	bool lp_xtal_workaround;
	bool lp_xtal_workaround;
	const struct iwl_pwr_tx_backoff *pwr_tx_backoffs;
	const struct iwl_pwr_tx_backoff *pwr_tx_backoffs;
	bool no_power_up_nic_in_init;
	bool no_power_up_nic_in_init;
+10 −0
Original line number Original line Diff line number Diff line
@@ -598,4 +598,14 @@ enum msix_hw_int_causes {
#define MSIX_AUTO_CLEAR_CAUSE			0
#define MSIX_AUTO_CLEAR_CAUSE			0
#define MSIX_NON_AUTO_CLEAR_CAUSE		BIT(7)
#define MSIX_NON_AUTO_CLEAR_CAUSE		BIT(7)


/*****************************************************************************
 *                     HW address related registers                          *
 *****************************************************************************/

#define CSR_ADDR_BASE			(0x380)
#define CSR_MAC_ADDR0_OTP		(CSR_ADDR_BASE)
#define CSR_MAC_ADDR1_OTP		(CSR_ADDR_BASE + 4)
#define CSR_MAC_ADDR0_STRAP		(CSR_ADDR_BASE + 8)
#define CSR_MAC_ADDR1_STRAP		(CSR_ADDR_BASE + 0xC)

#endif /* !__iwl_csr_h__ */
#endif /* !__iwl_csr_h__ */
+12 −15
Original line number Original line Diff line number Diff line
@@ -2,6 +2,7 @@
 *
 *
 * Copyright(c) 2009 - 2014 Intel Corporation. All rights reserved.
 * Copyright(c) 2009 - 2014 Intel Corporation. All rights reserved.
 * Copyright(c) 2015 Intel Mobile Communications GmbH
 * Copyright(c) 2015 Intel Mobile Communications GmbH
 * Copyright(c) 2016        Intel Deutschland GmbH
 *
 *
 * This program is free software; you can redistribute it and/or modify it
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * under the terms of version 2 of the GNU General Public License as
@@ -121,13 +122,12 @@ TRACE_EVENT(iwlwifi_dev_tx,


TRACE_EVENT(iwlwifi_dev_ucode_error,
TRACE_EVENT(iwlwifi_dev_ucode_error,
	TP_PROTO(const struct device *dev, u32 desc, u32 tsf_low,
	TP_PROTO(const struct device *dev, u32 desc, u32 tsf_low,
		 u32 data1, u32 data2, u32 line, u32 blink1,
		 u32 data1, u32 data2, u32 line, u32 blink2, u32 ilink1,
		 u32 blink2, u32 ilink1, u32 ilink2, u32 bcon_time,
		 u32 ilink2, u32 bcon_time, u32 gp1, u32 gp2, u32 rev_type,
		 u32 gp1, u32 gp2, u32 gp3, u32 major, u32 minor, u32 hw_ver,
		 u32 major, u32 minor, u32 hw_ver, u32 brd_ver),
		 u32 brd_ver),
	TP_ARGS(dev, desc, tsf_low, data1, data2, line,
	TP_ARGS(dev, desc, tsf_low, data1, data2, line,
		blink1, blink2, ilink1, ilink2, bcon_time, gp1, gp2,
		 blink2, ilink1, ilink2, bcon_time, gp1, gp2,
		gp3, major, minor, hw_ver, brd_ver),
		 rev_type, major, minor, hw_ver, brd_ver),
	TP_STRUCT__entry(
	TP_STRUCT__entry(
		DEV_ENTRY
		DEV_ENTRY
		__field(u32, desc)
		__field(u32, desc)
@@ -135,14 +135,13 @@ TRACE_EVENT(iwlwifi_dev_ucode_error,
		__field(u32, data1)
		__field(u32, data1)
		__field(u32, data2)
		__field(u32, data2)
		__field(u32, line)
		__field(u32, line)
		__field(u32, blink1)
		__field(u32, blink2)
		__field(u32, blink2)
		__field(u32, ilink1)
		__field(u32, ilink1)
		__field(u32, ilink2)
		__field(u32, ilink2)
		__field(u32, bcon_time)
		__field(u32, bcon_time)
		__field(u32, gp1)
		__field(u32, gp1)
		__field(u32, gp2)
		__field(u32, gp2)
		__field(u32, gp3)
		__field(u32, rev_type)
		__field(u32, major)
		__field(u32, major)
		__field(u32, minor)
		__field(u32, minor)
		__field(u32, hw_ver)
		__field(u32, hw_ver)
@@ -155,29 +154,27 @@ TRACE_EVENT(iwlwifi_dev_ucode_error,
		__entry->data1 = data1;
		__entry->data1 = data1;
		__entry->data2 = data2;
		__entry->data2 = data2;
		__entry->line = line;
		__entry->line = line;
		__entry->blink1 = blink1;
		__entry->blink2 = blink2;
		__entry->blink2 = blink2;
		__entry->ilink1 = ilink1;
		__entry->ilink1 = ilink1;
		__entry->ilink2 = ilink2;
		__entry->ilink2 = ilink2;
		__entry->bcon_time = bcon_time;
		__entry->bcon_time = bcon_time;
		__entry->gp1 = gp1;
		__entry->gp1 = gp1;
		__entry->gp2 = gp2;
		__entry->gp2 = gp2;
		__entry->gp3 = gp3;
		__entry->rev_type = rev_type;
		__entry->major = major;
		__entry->major = major;
		__entry->minor = minor;
		__entry->minor = minor;
		__entry->hw_ver = hw_ver;
		__entry->hw_ver = hw_ver;
		__entry->brd_ver = brd_ver;
		__entry->brd_ver = brd_ver;
	),
	),
	TP_printk("[%s] #%02d %010u data 0x%08X 0x%08X line %u, "
	TP_printk("[%s] #%02d %010u data 0x%08X 0x%08X line %u, "
		  "blink 0x%05X 0x%05X ilink 0x%05X 0x%05X "
		  "blink2 0x%05X ilink 0x%05X 0x%05X "
		  "bcon_tm %010u gp 0x%08X 0x%08X 0x%08X major 0x%08X "
		  "bcon_tm %010u gp 0x%08X 0x%08X rev_type 0x%08X major 0x%08X "
		  "minor 0x%08X hw 0x%08X brd 0x%08X",
		  "minor 0x%08X hw 0x%08X brd 0x%08X",
		  __get_str(dev), __entry->desc, __entry->tsf_low,
		  __get_str(dev), __entry->desc, __entry->tsf_low,
		  __entry->data1,
		  __entry->data1, __entry->data2, __entry->line,
		  __entry->data2, __entry->line, __entry->blink1,
		  __entry->blink2, __entry->ilink1, __entry->ilink2,
		  __entry->blink2, __entry->ilink1, __entry->ilink2,
		  __entry->bcon_time, __entry->gp1, __entry->gp2,
		  __entry->bcon_time, __entry->gp1, __entry->gp2,
		  __entry->gp3, __entry->major, __entry->minor,
		  __entry->rev_type, __entry->major, __entry->minor,
		  __entry->hw_ver, __entry->brd_ver)
		  __entry->hw_ver, __entry->brd_ver)
);
);


Loading