iwlwifi: Update 3160 and 7260 support to work with production firmware
svn path=/dists/sid/linux/; revision=20366
This commit is contained in:
parent
b70783d289
commit
b8aaca8ceb
|
@ -7,6 +7,7 @@ linux (3.10.1-2) UNRELEASED; urgency=low
|
|||
* udeb: Add snd-cmi8328 and snd-scs1x to sound-modules, thanks to
|
||||
Samuel Thibault (Closes: #717183)
|
||||
* be2net: Fix to avoid hardware workaround when not needed
|
||||
* iwlwifi: Update 3160 and 7260 support to work with production firmware
|
||||
|
||||
-- Arnaud Patard <arnaud.patard@rtp-net.org> Tue, 16 Jul 2013 08:19:29 +0200
|
||||
|
||||
|
|
43
debian/patches/features/all/iwlwifi-bump-required-firmware-API-version-for-3160-.patch
vendored
Normal file
43
debian/patches/features/all/iwlwifi-bump-required-firmware-API-version-for-3160-.patch
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
From: Johannes Berg <johannes.berg@intel.com>
|
||||
Date: Thu, 13 Jun 2013 16:06:08 +0200
|
||||
Subject: iwlwifi: bump required firmware API version for 3160/7260
|
||||
Origin: https://git.kernel.org/linus/a2d0909a687b4d250cc2b7481072e361678745ba
|
||||
|
||||
As the firmware API has changed significantly and we don't
|
||||
have support code for the old APIs, bump the version to be
|
||||
able to release the version 7 API firmware. Unfortunately
|
||||
this means that the driver in 3.9 and 3.10 can't work, but
|
||||
that's still better than crashing the device/driver there.
|
||||
|
||||
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
---
|
||||
drivers/net/wireless/iwlwifi/iwl-7000.c | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/iwlwifi/iwl-7000.c b/drivers/net/wireless/iwlwifi/iwl-7000.c
|
||||
index d4f3b48..22b7fa5 100644
|
||||
--- a/drivers/net/wireless/iwlwifi/iwl-7000.c
|
||||
+++ b/drivers/net/wireless/iwlwifi/iwl-7000.c
|
||||
@@ -67,16 +67,16 @@
|
||||
#include "iwl-agn-hw.h"
|
||||
|
||||
/* Highest firmware API version supported */
|
||||
-#define IWL7260_UCODE_API_MAX 6
|
||||
-#define IWL3160_UCODE_API_MAX 6
|
||||
+#define IWL7260_UCODE_API_MAX 7
|
||||
+#define IWL3160_UCODE_API_MAX 7
|
||||
|
||||
/* Oldest version we won't warn about */
|
||||
-#define IWL7260_UCODE_API_OK 6
|
||||
-#define IWL3160_UCODE_API_OK 6
|
||||
+#define IWL7260_UCODE_API_OK 7
|
||||
+#define IWL3160_UCODE_API_OK 7
|
||||
|
||||
/* Lowest firmware API version supported */
|
||||
-#define IWL7260_UCODE_API_MIN 6
|
||||
-#define IWL3160_UCODE_API_MIN 6
|
||||
+#define IWL7260_UCODE_API_MIN 7
|
||||
+#define IWL3160_UCODE_API_MIN 7
|
||||
|
||||
/* NVM versions */
|
||||
#define IWL7260_NVM_VERSION 0x0a1d
|
34
debian/patches/features/all/iwlwifi-mvm-adjust-firmware-D3-configuration-API.patch
vendored
Normal file
34
debian/patches/features/all/iwlwifi-mvm-adjust-firmware-D3-configuration-API.patch
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
From: Johannes Berg <johannes.berg@intel.com>
|
||||
Date: Wed, 15 May 2013 11:44:49 +0200
|
||||
Subject: iwlwifi: mvm: adjust firmware D3 configuration API
|
||||
Origin: https://git.kernel.org/linus/dfcb4c3aacedee6838e436fb575b31e138505203
|
||||
|
||||
The D3 firmware API changed to include a new field, adjust
|
||||
the driver to it to avoid getting an NMI when configuring.
|
||||
|
||||
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
||||
---
|
||||
drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h
|
||||
index 51e015d..6f8b2c1 100644
|
||||
--- a/drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h
|
||||
+++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-d3.h
|
||||
@@ -75,13 +75,15 @@ enum iwl_d3_wakeup_flags {
|
||||
* struct iwl_d3_manager_config - D3 manager configuration command
|
||||
* @min_sleep_time: minimum sleep time (in usec)
|
||||
* @wakeup_flags: wakeup flags, see &enum iwl_d3_wakeup_flags
|
||||
+ * @wakeup_host_timer: force wakeup after this many seconds
|
||||
*
|
||||
* The structure is used for the D3_CONFIG_CMD command.
|
||||
*/
|
||||
struct iwl_d3_manager_config {
|
||||
__le32 min_sleep_time;
|
||||
__le32 wakeup_flags;
|
||||
-} __packed; /* D3_MANAGER_CONFIG_CMD_S_VER_3 */
|
||||
+ __le32 wakeup_host_timer;
|
||||
+} __packed; /* D3_MANAGER_CONFIG_CMD_S_VER_4 */
|
||||
|
||||
|
||||
/* TODO: OFFLOADS_QUERY_API_S_VER_1 */
|
|
@ -0,0 +1,83 @@
|
|||
From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
|
||||
Date: Mon, 15 Jul 2013 14:44:58 +0300
|
||||
Subject: iwlwifi: mvm: support BSS only
|
||||
Origin: http://mid.gmane.org/1373888700-3040-2-git-send-email-emmanuel.grumbach@intel.com
|
||||
Forwarded: not-needed
|
||||
|
||||
Only BSS is supported in 3.10. In later kernels, other modes
|
||||
have been fixed and tested to work.
|
||||
This will at least allow user to use the regular wifi
|
||||
functionality.
|
||||
|
||||
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
|
||||
---
|
||||
drivers/net/wireless/iwlwifi/mvm/mac80211.c | 36 +--------------------------
|
||||
1 file changed, 1 insertion(+), 35 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
|
||||
index a5eb8c8..5b1b86f 100644
|
||||
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
|
||||
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
|
||||
@@ -78,32 +78,6 @@
|
||||
#include "fw-api-scan.h"
|
||||
#include "iwl-phy-db.h"
|
||||
|
||||
-static const struct ieee80211_iface_limit iwl_mvm_limits[] = {
|
||||
- {
|
||||
- .max = 1,
|
||||
- .types = BIT(NL80211_IFTYPE_STATION) |
|
||||
- BIT(NL80211_IFTYPE_AP),
|
||||
- },
|
||||
- {
|
||||
- .max = 1,
|
||||
- .types = BIT(NL80211_IFTYPE_P2P_CLIENT) |
|
||||
- BIT(NL80211_IFTYPE_P2P_GO),
|
||||
- },
|
||||
- {
|
||||
- .max = 1,
|
||||
- .types = BIT(NL80211_IFTYPE_P2P_DEVICE),
|
||||
- },
|
||||
-};
|
||||
-
|
||||
-static const struct ieee80211_iface_combination iwl_mvm_iface_combinations[] = {
|
||||
- {
|
||||
- .num_different_channels = 1,
|
||||
- .max_interfaces = 3,
|
||||
- .limits = iwl_mvm_limits,
|
||||
- .n_limits = ARRAY_SIZE(iwl_mvm_limits),
|
||||
- },
|
||||
-};
|
||||
-
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static const struct nl80211_wowlan_tcp_data_token_feature
|
||||
iwl_mvm_wowlan_tcp_token_feature = {
|
||||
@@ -160,20 +134,12 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
|
||||
hw->vif_data_size = sizeof(struct iwl_mvm_vif);
|
||||
hw->chanctx_data_size = sizeof(struct iwl_mvm_phy_ctxt);
|
||||
|
||||
- hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
|
||||
- BIT(NL80211_IFTYPE_P2P_CLIENT) |
|
||||
- BIT(NL80211_IFTYPE_AP) |
|
||||
- BIT(NL80211_IFTYPE_P2P_GO) |
|
||||
- BIT(NL80211_IFTYPE_P2P_DEVICE);
|
||||
+ hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
|
||||
|
||||
hw->wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY |
|
||||
WIPHY_FLAG_DISABLE_BEACON_HINTS |
|
||||
WIPHY_FLAG_IBSS_RSN;
|
||||
|
||||
- hw->wiphy->iface_combinations = iwl_mvm_iface_combinations;
|
||||
- hw->wiphy->n_iface_combinations =
|
||||
- ARRAY_SIZE(iwl_mvm_iface_combinations);
|
||||
-
|
||||
hw->wiphy->max_remain_on_channel_duration = 10000;
|
||||
hw->max_listen_interval = IWL_CONN_MAX_LISTEN_INTERVAL;
|
||||
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe stable" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
|
|
@ -106,3 +106,6 @@ bugfix/all/alx-remove-WoL-support.patch
|
|||
bugfix/all/alx-fix-lockdep-annotation.patch
|
||||
bugfix/all/xen-blkback-Check-device-permissions-before-allowing.patch
|
||||
bugfix/all/be2net-Fix-to-avoid-hardware-workaround-when-not-nee.patch
|
||||
features/all/iwlwifi-mvm-support-BSS-only.patch
|
||||
features/all/iwlwifi-mvm-adjust-firmware-D3-configuration-API.patch
|
||||
features/all/iwlwifi-bump-required-firmware-API-version-for-3160-.patch
|
||||
|
|
Loading…
Reference in New Issue