diff options
author | Eran Harary | 2015-02-08 10:41:43 +0100 |
---|---|---|
committer | Emmanuel Grumbach | 2015-03-12 08:57:30 +0100 |
commit | 8ba2d7a1dd5defd7a9cbc400004cc112fc9ff3b5 (patch) | |
tree | 3462d611cfb7ce7d766d2daafeeeafdd819cd0df /drivers/net/wireless/iwlwifi/mvm/mvm.h | |
parent | iwlwifi: allow disabling LAR via module param (diff) | |
download | kernel-qcow2-linux-8ba2d7a1dd5defd7a9cbc400004cc112fc9ff3b5.tar.gz kernel-qcow2-linux-8ba2d7a1dd5defd7a9cbc400004cc112fc9ff3b5.tar.xz kernel-qcow2-linux-8ba2d7a1dd5defd7a9cbc400004cc112fc9ff3b5.zip |
iwlwifi: mvm: take the MAC address from HW registers
For some configurations, the driver should get the MAC
address from the hardware registers and not from the
regular locations. Since the parsing of the MAC address
is the same regardless of its source, continue the regular
code path (parsing) after we read the registers.
Signed-off-by: Eran Harary <eran.harary@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/mvm.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/mvm.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h index 207c3a847ed4..5d5be372593a 100644 --- a/drivers/net/wireless/iwlwifi/mvm/mvm.h +++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h @@ -811,6 +811,7 @@ struct iwl_mvm { u32 ap_last_beacon_gp2; bool lar_regdom_set; + enum iwl_mcc_source mcc_src; u8 low_latency_agg_frame_limit; @@ -931,6 +932,11 @@ static inline bool iwl_mvm_is_lar_supported(struct iwl_mvm *mvm) return tlv_lar; } +static inline bool iwl_mvm_is_wifi_mcc_supported(struct iwl_mvm *mvm) +{ + return mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_WIFI_MCC_UPDATE; +} + static inline bool iwl_mvm_is_scd_cfg_supported(struct iwl_mvm *mvm) { return mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_SCD_CFG; @@ -1412,13 +1418,17 @@ int iwl_mvm_get_temp(struct iwl_mvm *mvm); /* Location Aware Regulatory */ struct iwl_mcc_update_resp * -iwl_mvm_update_mcc(struct iwl_mvm *mvm, const char *alpha2); +iwl_mvm_update_mcc(struct iwl_mvm *mvm, const char *alpha2, + enum iwl_mcc_source src_id); int iwl_mvm_init_mcc(struct iwl_mvm *mvm); int iwl_mvm_rx_chub_update_mcc(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb, struct iwl_device_cmd *cmd); struct ieee80211_regdomain *iwl_mvm_get_regdomain(struct wiphy *wiphy, - const char *alpha2); + const char *alpha2, + enum iwl_mcc_source src_id); +struct ieee80211_regdomain *iwl_mvm_get_current_regdomain(struct iwl_mvm *mvm); +int iwl_mvm_init_fw_regd(struct iwl_mvm *mvm); /* smart fifo */ int iwl_mvm_sf_update(struct iwl_mvm *mvm, struct ieee80211_vif *vif, |