diff options
author | Arik Nemtsov <arik@wizery.com> | 2015-02-25 04:06:37 -0500 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2015-03-18 02:40:24 -0400 |
commit | 4d165d12e36584c44abb8e912944a84c78f91b7c (patch) | |
tree | f1e17d777f3a7dc42439f1ede0fd53240a3ba5fb /drivers/net | |
parent | 81d62d5a9c4df3f4f7b0c5f5e1158f3fc4802fda (diff) |
iwlwifi: mvm: assign new TLV bit for multi-source LAR
According to FW methodology, the capability bits should be the only ones
that change per-HW. The API bits should remain constant across different
HWs.
Currently this is not the case with multi-source LAR (API bit 9). Assign
a new capability bit to eventually replace the API bit. Until the API bit
can be deprecated, the driver will check either to enable multi-source
LAR.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-fw-file.h | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/mvm.h | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-fw-file.h b/drivers/net/wireless/iwlwifi/iwl-fw-file.h index 291a3382aa3f..60f3f86904fb 100644 --- a/drivers/net/wireless/iwlwifi/iwl-fw-file.h +++ b/drivers/net/wireless/iwlwifi/iwl-fw-file.h | |||
@@ -290,6 +290,10 @@ enum iwl_ucode_tlv_api { | |||
290 | * @IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT: supports Hot Spot Command | 290 | * @IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT: supports Hot Spot Command |
291 | * @IWL_UCODE_TLV_CAPA_RADIO_BEACON_STATS: support radio and beacon statistics | 291 | * @IWL_UCODE_TLV_CAPA_RADIO_BEACON_STATS: support radio and beacon statistics |
292 | * @IWL_UCODE_TLV_CAPA_BT_COEX_PLCR: enabled BT Coex packet level co-running | 292 | * @IWL_UCODE_TLV_CAPA_BT_COEX_PLCR: enabled BT Coex packet level co-running |
293 | * @IWL_UCODE_TLV_CAPA_LAR_MULTI_MCC: ucode supports LAR updates with different | ||
294 | * sources for the MCC. This TLV bit is a future replacement to | ||
295 | * IWL_UCODE_TLV_API_WIFI_MCC_UPDATE. When either is set, multi-source LAR | ||
296 | * is supported. | ||
293 | * @IWL_UCODE_TLV_CAPA_BT_COEX_RRC: supports BT Coex RRC | 297 | * @IWL_UCODE_TLV_CAPA_BT_COEX_RRC: supports BT Coex RRC |
294 | */ | 298 | */ |
295 | enum iwl_ucode_tlv_capa { | 299 | enum iwl_ucode_tlv_capa { |
@@ -307,6 +311,7 @@ enum iwl_ucode_tlv_capa { | |||
307 | IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT = BIT(18), | 311 | IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT = BIT(18), |
308 | IWL_UCODE_TLV_CAPA_RADIO_BEACON_STATS = BIT(22), | 312 | IWL_UCODE_TLV_CAPA_RADIO_BEACON_STATS = BIT(22), |
309 | IWL_UCODE_TLV_CAPA_BT_COEX_PLCR = BIT(28), | 313 | IWL_UCODE_TLV_CAPA_BT_COEX_PLCR = BIT(28), |
314 | IWL_UCODE_TLV_CAPA_LAR_MULTI_MCC = BIT(29), | ||
310 | IWL_UCODE_TLV_CAPA_BT_COEX_RRC = BIT(30), | 315 | IWL_UCODE_TLV_CAPA_BT_COEX_RRC = BIT(30), |
311 | }; | 316 | }; |
312 | 317 | ||
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h index 4903dec7048a..23c6c8af4a9f 100644 --- a/drivers/net/wireless/iwlwifi/mvm/mvm.h +++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h | |||
@@ -936,7 +936,8 @@ static inline bool iwl_mvm_is_lar_supported(struct iwl_mvm *mvm) | |||
936 | 936 | ||
937 | static inline bool iwl_mvm_is_wifi_mcc_supported(struct iwl_mvm *mvm) | 937 | static inline bool iwl_mvm_is_wifi_mcc_supported(struct iwl_mvm *mvm) |
938 | { | 938 | { |
939 | return mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_WIFI_MCC_UPDATE; | 939 | return mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_WIFI_MCC_UPDATE || |
940 | mvm->fw->ucode_capa.capa[0] & IWL_UCODE_TLV_CAPA_LAR_MULTI_MCC; | ||
940 | } | 941 | } |
941 | 942 | ||
942 | static inline bool iwl_mvm_is_scd_cfg_supported(struct iwl_mvm *mvm) | 943 | static inline bool iwl_mvm_is_scd_cfg_supported(struct iwl_mvm *mvm) |