summaryrefslogtreecommitdiff
path: root/mwl_fwcmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'mwl_fwcmd.c')
-rw-r--r--mwl_fwcmd.c151
1 files changed, 56 insertions, 95 deletions
diff --git a/mwl_fwcmd.c b/mwl_fwcmd.c
index 9847f20..e5ddb44 100644
--- a/mwl_fwcmd.c
+++ b/mwl_fwcmd.c
@@ -14,10 +14,7 @@
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-/*
-*
-* Description: This file implements frimware host command related functions.
-*
+/* Description: This file implements frimware host command related functions.
*/
#include <linux/etherdevice.h>
@@ -32,8 +29,7 @@
#define MAX_WAIT_FW_COMPLETE_ITERATIONS 10000
-/*
- * 16 bit host command code
+/* 16 bit host command code
*/
#define HOSTCMD_CMD_GET_HW_SPEC 0x0003
#define HOSTCMD_CMD_SET_HW_SPEC 0x0004
@@ -64,8 +60,7 @@
#define HOSTCMD_CMD_FW_FLUSH_TIMER 0x1148
#define HOSTCMD_CMD_SET_CDD 0x1150
-/*
- * Define general result code for each command
+/* Define general result code for each command
*/
#define HOSTCMD_RESULT_OK 0x0000 /* OK */
/* Genenral error */
@@ -79,18 +74,17 @@
/* Data buffer is not big enough */
#define HOSTCMD_RESULT_PARTIAL_DATA 0x0005
-/*
- * Define channel related constants
+/* Define channel related constants
*/
#define FREQ_BAND_2DOT4GHZ 0x1
#define FREQ_BAND_4DOT9GHZ 0x2
#define FREQ_BAND_5GHZ 0x4
#define FREQ_BAND_5DOT2GHZ 0x8
#define CH_AUTO_WIDTH 0
-#define CH_10_MHz_WIDTH 0x1
-#define CH_20_MHz_WIDTH 0x2
-#define CH_40_MHz_WIDTH 0x4
-#define CH_80_MHz_WIDTH 0x5
+#define CH_10_MHZ_WIDTH 0x1
+#define CH_20_MHZ_WIDTH 0x2
+#define CH_40_MHZ_WIDTH 0x4
+#define CH_80_MHZ_WIDTH 0x5
#define EXT_CH_ABOVE_CTRL_CH 0x1
#define EXT_CH_AUTO 0x2
#define EXT_CH_BELOW_CTRL_CH 0x3
@@ -113,19 +107,16 @@
/* active primary 8th 20MHz channel */
#define ACT_PRIMARY_CHAN_7 7
-/*
- * Define rate related constants
+/* Define rate related constants
*/
#define HOSTCMD_ACT_NOT_USE_FIXED_RATE 0x0002
-/*
- * Define station related constants
+/* Define station related constants
*/
#define HOSTCMD_ACT_STA_ACTION_ADD 0
#define HOSTCMD_ACT_STA_ACTION_REMOVE 2
-/*
- * Define key related constants
+/* Define key related constants
*/
#define MAX_ENCR_KEY_LENGTH 16
#define MIC_KEY_LENGTH 8
@@ -148,14 +139,12 @@
/* Tx/Rx MIC keys are valid */
#define ENCR_KEY_FLAG_MICKEY_VALID 0x02000000
-/*
- * Define block ack related constants
+/* Define block ack related constants
*/
#define BASTREAM_FLAG_IMMEDIATE_TYPE 1
#define BASTREAM_FLAG_DIRECTION_UPSTREAM 0
-/*
- * Define general purpose action
+/* Define general purpose action
*/
#define HOSTCMD_ACT_GEN_SET 0x0001
#define HOSTCMD_ACT_GEN_SET_LIST 0x0002
@@ -215,8 +204,7 @@ enum mac_type {
WL_MAC_TYPE_SECONDARY_AP,
};
-/*
- * General host command header
+/* General host command header
*/
struct hostcmd_header {
@@ -227,8 +215,7 @@ struct hostcmd_header {
u16 result;
} __packed;
-/*
- * HOSTCMD_CMD_GET_HW_SPEC
+/* HOSTCMD_CMD_GET_HW_SPEC
*/
struct hostcmd_cmd_get_hw_spec {
@@ -248,8 +235,7 @@ struct hostcmd_cmd_get_hw_spec {
u32 wcb_base[SYSADPT_TOTAL_TX_QUEUES - 1];
} __packed;
-/*
- * HOSTCMD_CMD_SET_HW_SPEC
+/* HOSTCMD_CMD_SET_HW_SPEC
*/
struct hostcmd_cmd_set_hw_spec {
@@ -300,8 +286,7 @@ struct hostcmd_cmd_set_hw_spec {
u32 total_rx_wcb;
} __packed;
-/*
- * HOSTCMD_CMD_802_11_GET_STAT
+/* HOSTCMD_CMD_802_11_GET_STAT
*/
struct hostcmd_cmd_802_11_get_stat {
@@ -342,8 +327,7 @@ struct hostcmd_cmd_802_11_get_stat {
u32 tx_cts_count;
} __packed;
-/*
- * HOSTCMD_CMD_802_11_RADIO_CONTROL
+/* HOSTCMD_CMD_802_11_RADIO_CONTROL
*/
struct hostcmd_cmd_802_11_radio_control {
@@ -354,8 +338,7 @@ struct hostcmd_cmd_802_11_radio_control {
u16 radio_on;
} __packed;
-/*
- * HOSTCMD_CMD_802_11_TX_POWER
+/* HOSTCMD_CMD_802_11_TX_POWER
*/
struct hostcmd_cmd_802_11_tx_power {
@@ -368,8 +351,7 @@ struct hostcmd_cmd_802_11_tx_power {
u16 power_level_list[SYSADPT_TX_POWER_LEVEL_TOTAL];
} __packed;
-/*
- * HOSTCMD_CMD_802_11_RF_ANTENNA
+/* HOSTCMD_CMD_802_11_RF_ANTENNA
*/
struct hostcmd_cmd_802_11_rf_antenna {
@@ -378,8 +360,7 @@ struct hostcmd_cmd_802_11_rf_antenna {
u16 antenna_mode; /* Number of antennas or 0xffff(diversity) */
} __packed;
-/*
- * HOSTCMD_CMD_BROADCAST_SSID_ENABLE
+/* HOSTCMD_CMD_BROADCAST_SSID_ENABLE
*/
struct hostcmd_cmd_broadcast_ssid_enable {
@@ -387,8 +368,7 @@ struct hostcmd_cmd_broadcast_ssid_enable {
u32 enable;
} __packed;
-/*
- * HOSTCMD_CMD_SET_RF_CHANNEL
+/* HOSTCMD_CMD_SET_RF_CHANNEL
*/
struct chnl_flags_11ac {
@@ -410,8 +390,7 @@ struct hostcmd_cmd_set_rf_channel {
struct chnl_flags_11ac chnl_flags;
} __packed;
-/*
- * HOSTCMD_CMD_SET_AID
+/* HOSTCMD_CMD_SET_AID
*/
struct hostcmd_cmd_set_aid {
@@ -422,16 +401,14 @@ struct hostcmd_cmd_set_aid {
u8 ap_rates[SYSADPT_MAX_DATA_RATES_G];
} __packed;
-/*
- * HOSTCMD_CMD_SET_INFRA_MODE
+/* HOSTCMD_CMD_SET_INFRA_MODE
*/
struct hostcmd_cmd_set_infra_mode {
struct hostcmd_header cmd_hdr;
} __packed;
-/*
- * HOSTCMD_CMD_802_11_RTS_THSD
+/* HOSTCMD_CMD_802_11_RTS_THSD
*/
struct hostcmd_cmd_802_11_rts_thsd {
@@ -440,8 +417,7 @@ struct hostcmd_cmd_802_11_rts_thsd {
u16 threshold;
} __packed;
-/*
- * HOSTCMD_CMD_SET_EDCA_PARAMS
+/* HOSTCMD_CMD_SET_EDCA_PARAMS
*/
struct hostcmd_cmd_set_edca_params {
@@ -455,8 +431,7 @@ struct hostcmd_cmd_set_edca_params {
u8 txq_num; /* Tx Queue number. */
} __packed;
-/*
- * HOSTCMD_CMD_SET_WMM_MODE
+/* HOSTCMD_CMD_SET_WMM_MODE
*/
struct hostcmd_cmd_set_wmm_mode {
@@ -464,8 +439,7 @@ struct hostcmd_cmd_set_wmm_mode {
u16 action; /* 0->unset, 1->set */
} __packed;
-/*
- * HOSTCMD_CMD_SET_FIXED_RATE
+/* HOSTCMD_CMD_SET_FIXED_RATE
*/
struct fix_rate_flag { /* lower rate after the retry count */
@@ -497,8 +471,7 @@ struct hostcmd_cmd_set_fixed_rate {
u8 management_rate;
} __packed;
-/*
- * HOSTCMD_CMD_SET_IES
+/* HOSTCMD_CMD_SET_IES
*/
struct hostcmd_cmd_set_ies {
@@ -513,8 +486,7 @@ struct hostcmd_cmd_set_ies {
u8 ie_list_proprietary[112];
} __packed;
-/*
- * HOSTCMD_CMD_SET_RATE_ADAPT_MODE
+/* HOSTCMD_CMD_SET_RATE_ADAPT_MODE
*/
struct hostcmd_cmd_set_rate_adapt_mode {
@@ -523,8 +495,7 @@ struct hostcmd_cmd_set_rate_adapt_mode {
u16 rate_adapt_mode; /* 0:Indoor, 1:Outdoor */
} __packed;
-/*
- * HOSTCMD_CMD_SET_MAC_ADDR, HOSTCMD_CMD_DEL_MAC_ADDR
+/* HOSTCMD_CMD_SET_MAC_ADDR, HOSTCMD_CMD_DEL_MAC_ADDR
*/
struct hostcmd_cmd_set_mac_addr {
@@ -533,8 +504,7 @@ struct hostcmd_cmd_set_mac_addr {
u8 mac_addr[ETH_ALEN];
} __packed;
-/*
- * HOSTCMD_CMD_GET_WATCHDOG_BITMAP
+/* HOSTCMD_CMD_GET_WATCHDOG_BITMAP
*/
struct hostcmd_cmd_get_watchdog_bitmap {
@@ -542,8 +512,7 @@ struct hostcmd_cmd_get_watchdog_bitmap {
u8 watchdog_bitmap; /* for SW/BA */
} __packed;
-/*
- * HOSTCMD_CMD_BSS_START
+/* HOSTCMD_CMD_BSS_START
*/
struct hostcmd_cmd_bss_start {
@@ -551,8 +520,7 @@ struct hostcmd_cmd_bss_start {
u32 enable; /* FALSE: Disable or TRUE: Enable */
} __packed;
-/*
- * HOSTCMD_CMD_AP_BEACON
+/* HOSTCMD_CMD_AP_BEACON
*/
struct cf_params {
@@ -691,8 +659,7 @@ struct hostcmd_cmd_ap_beacon {
struct start_cmd start_cmd;
} __packed;
-/*
- * HOSTCMD_CMD_SET_NEW_STN
+/* HOSTCMD_CMD_SET_NEW_STN
*/
struct cap_info {
@@ -776,8 +743,7 @@ struct hostcmd_cmd_set_new_stn {
u32 fw_sta_ptr;
} __packed;
-/*
- * HOSTCMD_CMD_SET_APMODE
+/* HOSTCMD_CMD_SET_APMODE
*/
struct hostcmd_cmd_set_apmode {
@@ -785,8 +751,7 @@ struct hostcmd_cmd_set_apmode {
u8 apmode;
} __packed;
-/*
- * HOSTCMD_CMD_UPDATE_ENCRYPTION
+/* HOSTCMD_CMD_UPDATE_ENCRYPTION
*/
struct hostcmd_cmd_update_encryptoin {
@@ -860,8 +825,7 @@ struct hostcmd_cmd_set_key {
struct key_param_set key_param;
} __packed;
-/*
- * HOSTCMD_CMD_BASTREAM
+/* HOSTCMD_CMD_BASTREAM
*/
struct ba_stream_flags {
@@ -940,8 +904,7 @@ struct hostcmd_cmd_bastream {
union ba_info ba_info;
} __packed;
-/*
- * HOSTCMD_CMD_DWDS_ENABLE
+/* HOSTCMD_CMD_DWDS_ENABLE
*/
struct hostcmd_cmd_dwds_enable {
@@ -949,8 +912,7 @@ struct hostcmd_cmd_dwds_enable {
u32 enable; /* 0 -- Disable. or 1 -- Enable. */
} __packed;
-/*
- * HOSTCMD_CMD_FW_FLUSH_TIMER
+/* HOSTCMD_CMD_FW_FLUSH_TIMER
*/
struct hostcmd_cmd_fw_flush_timer {
@@ -959,8 +921,7 @@ struct hostcmd_cmd_fw_flush_timer {
u32 value;
} __packed;
-/*
- * HOSTCMD_CMD_SET_CDD
+/* HOSTCMD_CMD_SET_CDD
*/
struct hostcmd_cmd_set_cdd {
@@ -1321,17 +1282,17 @@ int mwl_fwcmd_max_tx_power(struct ieee80211_hw *hw,
if ((conf->chandef.width == NL80211_CHAN_WIDTH_20_NOHT) ||
(conf->chandef.width == NL80211_CHAN_WIDTH_20)) {
- width = CH_20_MHz_WIDTH;
+ width = CH_20_MHZ_WIDTH;
sub_ch = NO_EXT_CHANNEL;
} else if (conf->chandef.width == NL80211_CHAN_WIDTH_40) {
- width = CH_40_MHz_WIDTH;
+ width = CH_40_MHZ_WIDTH;
if (conf->chandef.center_freq1 > channel->center_freq)
sub_ch = EXT_CH_ABOVE_CTRL_CH;
else
sub_ch = EXT_CH_BELOW_CTRL_CH;
} else if (conf->chandef.width == NL80211_CHAN_WIDTH_80) {
- width = CH_80_MHz_WIDTH;
+ width = CH_80_MHZ_WIDTH;
if (conf->chandef.center_freq1 > channel->center_freq)
sub_ch = EXT_CH_ABOVE_CTRL_CH;
else
@@ -1410,16 +1371,16 @@ int mwl_fwcmd_tx_power(struct ieee80211_hw *hw,
if ((conf->chandef.width == NL80211_CHAN_WIDTH_20_NOHT) ||
(conf->chandef.width == NL80211_CHAN_WIDTH_20)) {
- width = CH_20_MHz_WIDTH;
+ width = CH_20_MHZ_WIDTH;
sub_ch = NO_EXT_CHANNEL;
} else if (conf->chandef.width == NL80211_CHAN_WIDTH_40) {
- width = CH_40_MHz_WIDTH;
+ width = CH_40_MHZ_WIDTH;
if (conf->chandef.center_freq1 > channel->center_freq)
sub_ch = EXT_CH_ABOVE_CTRL_CH;
else
sub_ch = EXT_CH_BELOW_CTRL_CH;
} else if (conf->chandef.width == NL80211_CHAN_WIDTH_80) {
- width = CH_80_MHz_WIDTH;
+ width = CH_80_MHZ_WIDTH;
if (conf->chandef.center_freq1 > channel->center_freq)
sub_ch = EXT_CH_ABOVE_CTRL_CH;
else
@@ -1624,16 +1585,16 @@ int mwl_fwcmd_set_rf_channel(struct ieee80211_hw *hw,
if ((conf->chandef.width == NL80211_CHAN_WIDTH_20_NOHT) ||
(conf->chandef.width == NL80211_CHAN_WIDTH_20)) {
- pcmd->chnl_flags.chnl_width = CH_20_MHz_WIDTH;
+ pcmd->chnl_flags.chnl_width = CH_20_MHZ_WIDTH;
pcmd->chnl_flags.act_primary = ACT_PRIMARY_CHAN_0;
} else if (conf->chandef.width == NL80211_CHAN_WIDTH_40) {
- pcmd->chnl_flags.chnl_width = CH_40_MHz_WIDTH;
+ pcmd->chnl_flags.chnl_width = CH_40_MHZ_WIDTH;
if (conf->chandef.center_freq1 > channel->center_freq)
pcmd->chnl_flags.act_primary = ACT_PRIMARY_CHAN_0;
else
pcmd->chnl_flags.act_primary = ACT_PRIMARY_CHAN_1;
} else if (conf->chandef.width == NL80211_CHAN_WIDTH_80) {
- pcmd->chnl_flags.chnl_width = CH_80_MHz_WIDTH;
+ pcmd->chnl_flags.chnl_width = CH_80_MHZ_WIDTH;
pcmd->chnl_flags.act_primary =
mwl_fwcmd_get_80m_pri_chnl_offset(pcmd->curr_chnl);
}
@@ -2165,7 +2126,7 @@ int mwl_fwcmd_set_new_stn_add(struct ieee80211_hw *hw,
pcmd->cmd_hdr.macid = mwl_vif->macid;
pcmd->action = ENDIAN_SWAP16(HOSTCMD_ACT_STA_ACTION_ADD);
- if (mwl_vif->is_sta == true) {
+ if (mwl_vif->is_sta) {
pcmd->aid = 0;
pcmd->stn_id = 0;
} else {
@@ -2208,7 +2169,7 @@ int mwl_fwcmd_set_new_stn_add(struct ieee80211_hw *hw,
return -EIO;
}
- if (mwl_vif->is_sta == true) {
+ if (mwl_vif->is_sta) {
ether_addr_copy(pcmd->mac_addr, mwl_vif->sta_mac);
if (mwl_fwcmd_exec_cmd(priv, HOSTCMD_CMD_SET_NEW_STN)) {
@@ -2302,7 +2263,7 @@ int mwl_fwcmd_set_new_stn_del(struct ieee80211_hw *hw,
return -EIO;
}
- if (mwl_vif->is_sta == true) {
+ if (mwl_vif->is_sta) {
ether_addr_copy(pcmd->mac_addr, mwl_vif->sta_mac);
if (mwl_fwcmd_exec_cmd(priv, HOSTCMD_CMD_SET_NEW_STN)) {
@@ -2389,7 +2350,7 @@ int mwl_fwcmd_update_encryption_enable(struct ieee80211_hw *hw,
return -EIO;
}
- if (mwl_vif->is_sta == true) {
+ if (mwl_vif->is_sta) {
if (memcmp(mwl_vif->bssid, addr, ETH_ALEN) == 0)
ether_addr_copy(pcmd->mac_addr, mwl_vif->sta_mac);
else
@@ -2487,7 +2448,7 @@ int mwl_fwcmd_encryption_set_key(struct ieee80211_hw *hw,
return -EIO;
}
- if (mwl_vif->is_sta == true) {
+ if (mwl_vif->is_sta) {
if (memcmp(mwl_vif->bssid, addr, ETH_ALEN) == 0)
ether_addr_copy(pcmd->key_param.mac_addr,
mwl_vif->sta_mac);
@@ -3374,7 +3335,7 @@ static void mwl_fwcmd_parse_beacon(struct mwl_priv *priv,
pos += elen;
}
- if (elem_parse_failed == false) {
+ if (!elem_parse_failed) {
beacon_info->ie_ht_ptr = &beacon_info->ie_list_ht[0];
beacon_info->ie_vht_ptr = &beacon_info->ie_list_vht[0];
beacon_info->valid = true;