From: Aryan Krishnan <aryankrishnan4b@gmail.com>
To: gregkh@linuxfoundation.org
Cc: linux-staging@lists.linux.dev, Aryan <aryankrishnan4b@gmail.com>
Subject: [PATCH] staging: rtl8723bs: apply clang-format cleanup
Date: Mon, 27 Jul 2026 09:36:39 +0530 [thread overview]
Message-ID: <20260727040649.54338-1-aryankrishnan4b@gmail.com> (raw)
From: Aryan <aryankrishnan4b@gmail.com>
This patch formats the drivers/staging/rtl8723bs directory using
clang-format, hence reducing the number of errors by 2, warnings by 66,
and CHECKs by 4,685.
This is a purely mechanical, whitespace/formatting-only change with
no functional impact.
Signed-off-by: Aryan <aryankrishnan4b@gmail.com>
---
Hey everyone, this is my first Linux Kernel patch, and I specifically wanted
to focus on the rtl8723bs driver. When seeing some of the CHECKs and
specifically points regarding formatting, I thought about running clang-format
to see if that would help. In this case it reduced the CHECKs by over 50%.
For now this is all in one big patch, do let me know if you'd like me to
split this by directory or file instead. I felt this was decently mechanical
overall however and decided to keep it as one patch.
I am 16 and looking to improve and be active in the community. I have some
experience with chromium and PDFium although I am aware that this will
not fully carry over. Do let me know if there are any general style conventions
I missed as well as any other additional tips to improve in the repo.
Thanks!
- Aryan
drivers/staging/rtl8723bs/core/rtw_ap.c | 433 +--
drivers/staging/rtl8723bs/core/rtw_btcoex.c | 3 +-
drivers/staging/rtl8723bs/core/rtw_cmd.c | 754 +++---
drivers/staging/rtl8723bs/core/rtw_efuse.c | 58 +-
.../staging/rtl8723bs/core/rtw_ieee80211.c | 198 +-
drivers/staging/rtl8723bs/core/rtw_io.c | 3 +-
.../staging/rtl8723bs/core/rtw_ioctl_set.c | 120 +-
drivers/staging/rtl8723bs/core/rtw_mlme.c | 930 ++++---
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 2338 ++++++++++-------
drivers/staging/rtl8723bs/core/rtw_pwrctrl.c | 127 +-
drivers/staging/rtl8723bs/core/rtw_recv.c | 551 ++--
drivers/staging/rtl8723bs/core/rtw_security.c | 824 +++---
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c | 103 +-
.../staging/rtl8723bs/core/rtw_wlan_util.c | 409 +--
drivers/staging/rtl8723bs/core/rtw_xmit.c | 573 ++--
drivers/staging/rtl8723bs/hal/Hal8723BReg.h | 28 +-
.../staging/rtl8723bs/hal/HalBtc8723b1Ant.c | 1585 ++++++-----
.../staging/rtl8723bs/hal/HalBtc8723b1Ant.h | 94 +-
.../staging/rtl8723bs/hal/HalBtc8723b2Ant.c | 1694 ++++++------
.../staging/rtl8723bs/hal/HalBtc8723b2Ant.h | 74 +-
drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h | 248 +-
.../staging/rtl8723bs/hal/HalHWImg8723B_BB.c | 508 ++--
.../staging/rtl8723bs/hal/HalHWImg8723B_BB.h | 18 +-
.../staging/rtl8723bs/hal/HalHWImg8723B_MAC.c | 195 +-
.../staging/rtl8723bs/hal/HalHWImg8723B_MAC.h | 6 +-
.../staging/rtl8723bs/hal/HalHWImg8723B_RF.c | 632 ++---
.../staging/rtl8723bs/hal/HalHWImg8723B_RF.h | 18 +-
drivers/staging/rtl8723bs/hal/HalPhyRf.c | 161 +-
drivers/staging/rtl8723bs/hal/HalPhyRf.h | 15 +-
.../staging/rtl8723bs/hal/HalPhyRf_8723B.c | 1382 ++++++----
.../staging/rtl8723bs/hal/HalPhyRf_8723B.h | 49 +-
drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c | 70 +-
drivers/staging/rtl8723bs/hal/Mp_Precomp.h | 2 +-
drivers/staging/rtl8723bs/hal/hal_btcoex.c | 130 +-
drivers/staging/rtl8723bs/hal/hal_com.c | 253 +-
.../staging/rtl8723bs/hal/hal_com_phycfg.c | 404 +--
drivers/staging/rtl8723bs/hal/hal_intf.c | 50 +-
drivers/staging/rtl8723bs/hal/hal_pwr_seq.c | 121 +-
drivers/staging/rtl8723bs/hal/hal_sdio.c | 32 +-
drivers/staging/rtl8723bs/hal/odm.c | 302 ++-
drivers/staging/rtl8723bs/hal/odm.h | 551 ++--
.../staging/rtl8723bs/hal/odm_CfoTracking.c | 59 +-
.../staging/rtl8723bs/hal/odm_CfoTracking.h | 13 +-
drivers/staging/rtl8723bs/hal/odm_DIG.c | 328 +--
drivers/staging/rtl8723bs/hal/odm_DIG.h | 75 +-
.../rtl8723bs/hal/odm_DynamicBBPowerSaving.c | 54 +-
.../rtl8723bs/hal/odm_DynamicBBPowerSaving.h | 5 +-
.../rtl8723bs/hal/odm_DynamicTxPower.h | 32 +-
.../rtl8723bs/hal/odm_EdcaTurboCheck.c | 39 +-
drivers/staging/rtl8723bs/hal/odm_HWConfig.c | 207 +-
drivers/staging/rtl8723bs/hal/odm_HWConfig.h | 71 +-
.../rtl8723bs/hal/odm_RegConfig8723B.c | 121 +-
.../rtl8723bs/hal/odm_RegConfig8723B.h | 43 +-
.../staging/rtl8723bs/hal/odm_RegDefine11N.h | 270 +-
drivers/staging/rtl8723bs/hal/odm_interface.h | 20 +-
drivers/staging/rtl8723bs/hal/odm_precomp.h | 18 +-
drivers/staging/rtl8723bs/hal/odm_reg.h | 122 +-
drivers/staging/rtl8723bs/hal/odm_types.h | 44 +-
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c | 405 +--
drivers/staging/rtl8723bs/hal/rtl8723b_dm.c | 94 +-
.../staging/rtl8723bs/hal/rtl8723b_hal_init.c | 1445 +++++-----
.../staging/rtl8723bs/hal/rtl8723b_phycfg.c | 334 +--
.../staging/rtl8723bs/hal/rtl8723b_rf6052.c | 53 +-
.../staging/rtl8723bs/hal/rtl8723b_rxdesc.c | 15 +-
.../staging/rtl8723bs/hal/rtl8723bs_recv.c | 131 +-
.../staging/rtl8723bs/hal/rtl8723bs_xmit.c | 175 +-
drivers/staging/rtl8723bs/hal/sdio_halinit.c | 256 +-
drivers/staging/rtl8723bs/hal/sdio_ops.c | 138 +-
.../rtl8723bs/include/Hal8192CPhyReg.h | 234 +-
.../staging/rtl8723bs/include/HalPwrSeqCmd.h | 117 +-
.../staging/rtl8723bs/include/basic_types.h | 155 +-
drivers/staging/rtl8723bs/include/cmd_osdep.h | 8 +-
drivers/staging/rtl8723bs/include/drv_types.h | 183 +-
.../rtl8723bs/include/drv_types_sdio.h | 12 +-
.../staging/rtl8723bs/include/hal_btcoex.h | 2 +-
drivers/staging/rtl8723bs/include/hal_com.h | 148 +-
.../staging/rtl8723bs/include/hal_com_h2c.h | 12 +-
.../rtl8723bs/include/hal_com_phycfg.h | 50 +-
.../staging/rtl8723bs/include/hal_com_reg.h | 684 +++--
drivers/staging/rtl8723bs/include/hal_data.h | 214 +-
drivers/staging/rtl8723bs/include/hal_intf.h | 119 +-
drivers/staging/rtl8723bs/include/hal_pg.h | 51 +-
drivers/staging/rtl8723bs/include/hal_phy.h | 53 +-
.../staging/rtl8723bs/include/hal_phy_cfg.h | 37 +-
.../staging/rtl8723bs/include/hal_phy_reg.h | 2 +-
.../staging/rtl8723bs/include/hal_pwr_seq.h | 1023 ++++++--
drivers/staging/rtl8723bs/include/hal_sdio.h | 11 +-
drivers/staging/rtl8723bs/include/ieee80211.h | 515 ++--
.../rtl8723bs/include/ioctl_cfg80211.h | 37 +-
.../staging/rtl8723bs/include/osdep_intf.h | 2 +-
.../staging/rtl8723bs/include/osdep_service.h | 9 +-
.../rtl8723bs/include/osdep_service_linux.h | 18 +-
.../staging/rtl8723bs/include/rtl8192c_recv.h | 8 +-
.../staging/rtl8723bs/include/rtl8723b_cmd.h | 191 +-
.../staging/rtl8723bs/include/rtl8723b_hal.h | 66 +-
.../staging/rtl8723bs/include/rtl8723b_recv.h | 117 +-
.../staging/rtl8723bs/include/rtl8723b_rf.h | 8 +-
.../staging/rtl8723bs/include/rtl8723b_spec.h | 219 +-
.../staging/rtl8723bs/include/rtl8723b_xmit.h | 728 ++---
drivers/staging/rtl8723bs/include/rtw_ap.h | 11 +-
.../staging/rtl8723bs/include/rtw_btcoex.h | 11 +-
.../staging/rtl8723bs/include/rtw_byteorder.h | 2 +-
drivers/staging/rtl8723bs/include/rtw_cmd.h | 295 ++-
.../staging/rtl8723bs/include/rtw_eeprom.h | 63 +-
drivers/staging/rtl8723bs/include/rtw_efuse.h | 41 +-
drivers/staging/rtl8723bs/include/rtw_event.h | 34 +-
drivers/staging/rtl8723bs/include/rtw_ht.h | 45 +-
drivers/staging/rtl8723bs/include/rtw_io.h | 29 +-
.../staging/rtl8723bs/include/rtw_ioctl_set.h | 17 +-
drivers/staging/rtl8723bs/include/rtw_mlme.h | 203 +-
.../staging/rtl8723bs/include/rtw_mlme_ext.h | 407 +--
.../staging/rtl8723bs/include/rtw_pwrctrl.h | 143 +-
drivers/staging/rtl8723bs/include/rtw_qos.h | 11 +-
drivers/staging/rtl8723bs/include/rtw_recv.h | 196 +-
drivers/staging/rtl8723bs/include/rtw_rf.h | 87 +-
.../staging/rtl8723bs/include/rtw_security.h | 302 +--
.../staging/rtl8723bs/include/rtw_version.h | 4 +-
drivers/staging/rtl8723bs/include/rtw_xmit.h | 327 +--
drivers/staging/rtl8723bs/include/sdio_ops.h | 7 +-
.../rtl8723bs/include/sdio_ops_linux.h | 6 +-
drivers/staging/rtl8723bs/include/sta_info.h | 184 +-
drivers/staging/rtl8723bs/include/wifi.h | 430 ++-
.../staging/rtl8723bs/include/wlan_bssdef.h | 149 +-
.../staging/rtl8723bs/include/xmit_osdep.h | 14 +-
.../staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 993 ++++---
drivers/staging/rtl8723bs/os_dep/os_intfs.c | 145 +-
.../staging/rtl8723bs/os_dep/osdep_service.c | 9 +-
drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 67 +-
.../staging/rtl8723bs/os_dep/sdio_ops_linux.c | 11 +-
drivers/staging/rtl8723bs/os_dep/wifi_regd.c | 34 +-
drivers/staging/rtl8723bs/os_dep/xmit_linux.c | 30 +-
131 files changed, 16439 insertions(+), 13514 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c
index 065850a9e8947..cc7167862033d 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ap.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ap.c
@@ -60,11 +60,8 @@ static void update_BCNTIM(struct adapter *padapter)
tim_bitmap_le = cpu_to_le16(pstapriv->tim_bitmap);
- p = rtw_get_ie(pie + _FIXED_IE_LENGTH_,
- WLAN_EID_TIM,
- &tim_ielen,
- pnetwork_mlmeext->ie_length - _FIXED_IE_LENGTH_
- );
+ p = rtw_get_ie(pie + _FIXED_IE_LENGTH_, WLAN_EID_TIM, &tim_ielen,
+ pnetwork_mlmeext->ie_length - _FIXED_IE_LENGTH_);
if (p && tim_ielen > 0) {
tim_ielen += 2;
@@ -72,7 +69,8 @@ static void update_BCNTIM(struct adapter *padapter)
tim_ie_offset = (signed int)(p - pie);
- remainder_ielen = pnetwork_mlmeext->ie_length - tim_ie_offset - tim_ielen;
+ remainder_ielen =
+ pnetwork_mlmeext->ie_length - tim_ie_offset - tim_ielen;
/* append TIM IE from dst_ie offset */
dst_ie = p;
@@ -83,19 +81,16 @@ static void update_BCNTIM(struct adapter *padapter)
offset = _FIXED_IE_LENGTH_;
/* get ssid_ie len */
- p = rtw_get_ie(pie + _BEACON_IE_OFFSET_,
- WLAN_EID_SSID,
- &tmp_len,
- (pnetwork_mlmeext->ie_length - _BEACON_IE_OFFSET_)
- );
+ p = rtw_get_ie(
+ pie + _BEACON_IE_OFFSET_, WLAN_EID_SSID, &tmp_len,
+ (pnetwork_mlmeext->ie_length - _BEACON_IE_OFFSET_));
if (p)
offset += tmp_len + 2;
/* get supported rates len */
- p = rtw_get_ie(pie + _BEACON_IE_OFFSET_,
- WLAN_EID_SUPP_RATES, &tmp_len,
- (pnetwork_mlmeext->ie_length - _BEACON_IE_OFFSET_)
- );
+ p = rtw_get_ie(
+ pie + _BEACON_IE_OFFSET_, WLAN_EID_SUPP_RATES, &tmp_len,
+ (pnetwork_mlmeext->ie_length - _BEACON_IE_OFFSET_));
if (p)
offset += tmp_len + 2;
@@ -104,14 +99,16 @@ static void update_BCNTIM(struct adapter *padapter)
premainder_ie = pie + offset;
- remainder_ielen = pnetwork_mlmeext->ie_length - offset - tim_ielen;
+ remainder_ielen =
+ pnetwork_mlmeext->ie_length - offset - tim_ielen;
/* append TIM IE from offset */
dst_ie = pie + offset;
}
if (premainder_ie && remainder_ielen)
- pbackup_remainder_ie = kmemdup(premainder_ie, remainder_ielen, GFP_ATOMIC);
+ pbackup_remainder_ie =
+ kmemdup(premainder_ie, remainder_ielen, GFP_ATOMIC);
*dst_ie++ = WLAN_EID_TIM;
@@ -122,11 +119,11 @@ static void update_BCNTIM(struct adapter *padapter)
*dst_ie++ = tim_ielen;
- *dst_ie++ = 0;/* DTIM count */
- *dst_ie++ = 1;/* DTIM period */
+ *dst_ie++ = 0; /* DTIM count */
+ *dst_ie++ = 1; /* DTIM period */
- if (pstapriv->tim_bitmap & BIT(0))/* for bc/mc frames */
- *dst_ie++ = BIT(0);/* bitmap ctrl */
+ if (pstapriv->tim_bitmap & BIT(0)) /* for bc/mc frames */
+ *dst_ie++ = BIT(0); /* bitmap ctrl */
else
*dst_ie++ = 0;
@@ -152,7 +149,7 @@ static void update_BCNTIM(struct adapter *padapter)
kfree(pbackup_remainder_ie);
}
- offset = (unsigned int)(dst_ie - pie);
+ offset = (unsigned int)(dst_ie - pie);
pnetwork_mlmeext->ie_length = offset + remainder_ielen;
}
@@ -232,7 +229,8 @@ void expire_timeout_chk(struct adapter *padapter)
/* to update bcn with tim_bitmap for this station */
pstapriv->tim_bitmap |= BIT(psta->aid);
- update_beacon(padapter, WLAN_EID_TIM, NULL, true);
+ update_beacon(padapter, WLAN_EID_TIM,
+ NULL, true);
if (!pmlmeext->active_keep_alive_check)
continue;
@@ -241,21 +239,26 @@ void expire_timeout_chk(struct adapter *padapter)
if (pmlmeext->active_keep_alive_check) {
int stainfo_offset;
- stainfo_offset = rtw_stainfo_offset(pstapriv, psta);
+ stainfo_offset =
+ rtw_stainfo_offset(pstapriv, psta);
if (stainfo_offset_valid(stainfo_offset))
- chk_alive_list[chk_alive_num++] = stainfo_offset;
+ chk_alive_list[chk_alive_num++] =
+ stainfo_offset;
continue;
}
list_del_init(&psta->asoc_list);
pstapriv->asoc_list_cnt--;
- updated = ap_free_sta(padapter, psta, false, WLAN_REASON_DEAUTH_LEAVING);
+ updated = ap_free_sta(padapter, psta, false,
+ WLAN_REASON_DEAUTH_LEAVING);
} else {
/* TODO: Aging mechanism to digest frames in sleep_q to */
/* avoid running out of xmitframe */
- if (psta->sleepq_len > (NR_XMITFRAME / pstapriv->asoc_list_cnt) &&
+ if (psta->sleepq_len >
+ (NR_XMITFRAME / pstapriv->asoc_list_cnt) &&
padapter->xmitpriv.free_xmitframe_cnt <
- ((NR_XMITFRAME / pstapriv->asoc_list_cnt) / 2))
+ ((NR_XMITFRAME / pstapriv->asoc_list_cnt) /
+ 2))
wakeup_sta_to_xmit(padapter, psta);
}
}
@@ -276,14 +279,17 @@ void expire_timeout_chk(struct adapter *padapter)
for (i = 0; i < chk_alive_num; i++) {
int ret = _FAIL;
- psta = rtw_get_stainfo_by_offset(pstapriv, chk_alive_list[i]);
+ psta = rtw_get_stainfo_by_offset(pstapriv,
+ chk_alive_list[i]);
if (!(psta->state & _FW_LINKED))
continue;
if (psta->state & WIFI_SLEEP_STATE)
- ret = issue_nulldata(padapter, psta->hwaddr, 0, 1, 50);
+ ret = issue_nulldata(padapter, psta->hwaddr, 0,
+ 1, 50);
else
- ret = issue_nulldata(padapter, psta->hwaddr, 0, 3, 50);
+ ret = issue_nulldata(padapter, psta->hwaddr, 0,
+ 3, 50);
psta->keep_alive_trycnt++;
if (ret == _SUCCESS) {
@@ -300,13 +306,15 @@ void expire_timeout_chk(struct adapter *padapter)
if (!list_empty(&psta->asoc_list)) {
list_del_init(&psta->asoc_list);
pstapriv->asoc_list_cnt--;
- updated = ap_free_sta(padapter, psta, false,
- WLAN_REASON_DEAUTH_LEAVING);
+ updated =
+ ap_free_sta(padapter, psta, false,
+ WLAN_REASON_DEAUTH_LEAVING);
}
spin_unlock_bh(&pstapriv->asoc_list_lock);
}
- if (backup_oper_channel > 0) /* back to the original operation channel */
+ if (backup_oper_channel >
+ 0) /* back to the original operation channel */
r8723bs_select_channel(padapter, backup_oper_channel);
}
@@ -318,8 +326,8 @@ void add_ratid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level)
unsigned char sta_band = 0, short_gi_rate = false;
unsigned int tx_ra_bitmap = 0;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct wlan_bssid_ex
- *pcur_network = (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
+ struct wlan_bssid_ex *pcur_network =
+ (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
if (!psta)
return;
@@ -349,7 +357,7 @@ void add_ratid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level)
psta->raid = networktype_to_raid_ex(padapter, psta);
if (psta->aid < NUM_STA) {
- u8 arg[4] = {0};
+ u8 arg[4] = { 0 };
arg[0] = psta->mac_id;
arg[1] = psta->raid;
@@ -367,13 +375,13 @@ void update_bmc_sta(struct adapter *padapter)
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex
- *pcur_network = (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
+ struct wlan_bssid_ex *pcur_network =
+ (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
struct sta_info *psta = rtw_get_bcmc_stainfo(padapter);
if (psta) {
- psta->aid = 0;/* default set to 0 */
- psta->mac_id = psta->aid + 1;/* mac_id = 1 for bc/mc stainfo */
+ psta->aid = 0; /* default set to 0 */
+ psta->mac_id = psta->aid + 1; /* mac_id = 1 for bc/mc stainfo */
pmlmeinfo->FW_sta_info[psta->mac_id].psta = psta;
@@ -385,12 +393,13 @@ void update_bmc_sta(struct adapter *padapter)
memset(&psta->sta_stats, 0, sizeof(struct stainfo_stats));
/* prepare for add_ratid */
- network_type = rtw_check_network_type((u8 *)&pcur_network->supported_rates,
- pcur_network->configuration.ds_config
- );
+ network_type = rtw_check_network_type(
+ (u8 *)&pcur_network->supported_rates,
+ pcur_network->configuration.ds_config);
if (is_supported_tx_cck(network_type)) {
network_type = WIRELESS_11B;
- } else if (network_type == WIRELESS_INVALID) { /* error handling */
+ } else if (network_type ==
+ WIRELESS_INVALID) { /* error handling */
if (pcur_network->configuration.ds_config > 14)
network_type = WIRELESS_INVALID;
@@ -410,7 +419,7 @@ void update_bmc_sta(struct adapter *padapter)
/* if (pHalData->fw_ractrl == true) */
{
- u8 arg[4] = {0};
+ u8 arg[4] = { 0 };
arg[0] = psta->mac_id;
arg[1] = psta->raid;
@@ -464,7 +473,8 @@ void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
phtpriv_sta->rx_ampdu_min_spacing =
(phtpriv_sta->ht_cap.ampdu_params_info &
- IEEE80211_HT_CAP_AMPDU_DENSITY) >> 2;
+ IEEE80211_HT_CAP_AMPDU_DENSITY) >>
+ 2;
/* bwmode */
if ((phtpriv_sta->ht_cap.cap_info &
@@ -489,7 +499,8 @@ void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
if ((phtpriv_sta->ht_cap.cap_info &
phtpriv_ap->ht_cap.cap_info) &
cpu_to_le16(IEEE80211_HT_CAP_SGI_40)) {
- if (psta->bw_mode == CHANNEL_WIDTH_40) /* according to psta->bw_mode */
+ if (psta->bw_mode ==
+ CHANNEL_WIDTH_40) /* according to psta->bw_mode */
phtpriv_sta->sgi_40m = true;
else
phtpriv_sta->sgi_40m = false;
@@ -499,13 +510,16 @@ void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
/* B0 Config LDPC Coding Capability */
if (TEST_FLAG(phtpriv_ap->ldpc_cap, LDPC_HT_ENABLE_TX) &&
- GET_HT_CAPABILITY_ELE_LDPC_CAP((u8 *)(&phtpriv_sta->ht_cap)))
- SET_FLAG(cur_ldpc_cap, (LDPC_HT_ENABLE_TX | LDPC_HT_CAP_TX));
+ GET_HT_CAPABILITY_ELE_LDPC_CAP(
+ (u8 *)(&phtpriv_sta->ht_cap)))
+ SET_FLAG(cur_ldpc_cap,
+ (LDPC_HT_ENABLE_TX | LDPC_HT_CAP_TX));
/* B7 B8 B9 Config STBC setting */
if (TEST_FLAG(phtpriv_ap->stbc_cap, STBC_HT_ENABLE_TX) &&
GET_HT_CAPABILITY_ELE_RX_STBC((u8 *)(&phtpriv_sta->ht_cap)))
- SET_FLAG(cur_stbc_cap, (STBC_HT_ENABLE_TX | STBC_HT_CAP_TX));
+ SET_FLAG(cur_stbc_cap,
+ (STBC_HT_ENABLE_TX | STBC_HT_CAP_TX));
} else {
phtpriv_sta->ampdu_enable = false;
@@ -520,12 +534,12 @@ void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
phtpriv_sta->beamform_cap = cur_beamform_cap;
/* Rx AMPDU */
- send_delba(padapter, 0, psta->hwaddr);/* recipient */
+ send_delba(padapter, 0, psta->hwaddr); /* recipient */
/* TX AMPDU */
- send_delba(padapter, 1, psta->hwaddr);/* originator */
- phtpriv_sta->agg_enable_bitmap = 0x0;/* reset */
- phtpriv_sta->candidate_tid_bitmap = 0x0;/* reset */
+ send_delba(padapter, 1, psta->hwaddr); /* originator */
+ phtpriv_sta->agg_enable_bitmap = 0x0; /* reset */
+ phtpriv_sta->candidate_tid_bitmap = 0x0; /* reset */
update_ldpc_stbc_cap(psta);
@@ -541,8 +555,8 @@ void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
static void update_ap_info(struct adapter *padapter, struct sta_info *psta)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct wlan_bssid_ex
- *pnetwork = (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
+ struct wlan_bssid_ex *pnetwork =
+ (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct ht_priv *phtpriv_ap = &pmlmepriv->htpriv;
@@ -554,11 +568,13 @@ static void update_ap_info(struct adapter *padapter, struct sta_info *psta)
/* HT related cap */
if (phtpriv_ap->ht_option) {
/* check if sta support s Short GI 20M */
- if ((phtpriv_ap->ht_cap.cap_info) & cpu_to_le16(IEEE80211_HT_CAP_SGI_20))
+ if ((phtpriv_ap->ht_cap.cap_info) &
+ cpu_to_le16(IEEE80211_HT_CAP_SGI_20))
phtpriv_ap->sgi_20m = true;
/* check if sta support s Short GI 40M */
- if ((phtpriv_ap->ht_cap.cap_info) & cpu_to_le16(IEEE80211_HT_CAP_SGI_40))
+ if ((phtpriv_ap->ht_cap.cap_info) &
+ cpu_to_le16(IEEE80211_HT_CAP_SGI_40))
phtpriv_ap->sgi_40m = true;
psta->qos_option = true;
@@ -572,8 +588,8 @@ static void update_ap_info(struct adapter *padapter, struct sta_info *psta)
psta->bw_mode = pmlmeext->cur_bwmode;
phtpriv_ap->ch_offset = pmlmeext->cur_ch_offset;
- phtpriv_ap->agg_enable_bitmap = 0x0;/* reset */
- phtpriv_ap->candidate_tid_bitmap = 0x0;/* reset */
+ phtpriv_ap->agg_enable_bitmap = 0x0; /* reset */
+ phtpriv_ap->candidate_tid_bitmap = 0x0; /* reset */
memcpy(&psta->htpriv, &pmlmepriv->htpriv, sizeof(struct ht_priv));
}
@@ -592,18 +608,22 @@ static void update_hw_ht_param(struct adapter *padapter)
*/
max_AMPDU_len = pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x03;
- min_MPDU_spacing = (pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x1c) >> 2;
+ min_MPDU_spacing =
+ (pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x1c) >> 2;
- rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_MIN_SPACE, (u8 *)(&min_MPDU_spacing));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_MIN_SPACE,
+ (u8 *)(&min_MPDU_spacing));
- rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_FACTOR, (u8 *)(&max_AMPDU_len));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_FACTOR,
+ (u8 *)(&max_AMPDU_len));
/* */
/* Config SM Power Save setting */
/* */
pmlmeinfo->SM_PS =
(le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) &
- 0x0C) >> 2;
+ 0x0C) >>
+ 2;
}
void start_bss_network(struct adapter *padapter)
@@ -612,12 +632,12 @@ void start_bss_network(struct adapter *padapter)
u8 val8, cur_channel, cur_bwmode, cur_ch_offset;
u16 bcn_interval;
u32 acparm;
- int ie_len;
- struct registry_priv *pregpriv = &padapter->registrypriv;
+ int ie_len;
+ struct registry_priv *pregpriv = &padapter->registrypriv;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct security_priv *psecuritypriv = &padapter->securitypriv;
- struct wlan_bssid_ex
- *pnetwork = (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
+ struct wlan_bssid_ex *pnetwork =
+ (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
struct wlan_bssid_ex *pnetwork_mlmeext = &pmlmeinfo->network;
@@ -636,7 +656,8 @@ void start_bss_network(struct adapter *padapter)
* and at first time the security ie (RSN/WPA IE) will not include in beacon.
*/
if (!rtw_get_wps_ie(pnetwork->ies + _FIXED_IE_LENGTH_,
- pnetwork->ie_length - _FIXED_IE_LENGTH_, NULL, NULL))
+ pnetwork->ie_length - _FIXED_IE_LENGTH_, NULL,
+ NULL))
pmlmeext->bstart_bss = true;
/* todo: update wmm, ht cap */
@@ -653,7 +674,7 @@ void start_bss_network(struct adapter *padapter)
/* WEP Key will be set before this function, do not clear CAM. */
if ((psecuritypriv->dot11PrivacyAlgrthm != _WEP40_) &&
(psecuritypriv->dot11PrivacyAlgrthm != _WEP104_))
- flush_all_cam_entry(padapter); /* clear CAM */
+ flush_all_cam_entry(padapter); /* clear CAM */
}
/* set MSR to AP_Mode */
@@ -673,12 +694,14 @@ void start_bss_network(struct adapter *padapter)
rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK, (u8 *)(&acparm));
/* Set Security */
- val8 = (psecuritypriv->dot11AuthAlgrthm ==
- dot11AuthAlgrthm_8021X) ? 0xcc : 0xcf;
+ val8 = (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) ?
+ 0xcc :
+ 0xcf;
rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
/* Beacon Control related register */
- rtw_hal_set_hwreg(padapter, HW_VAR_BEACON_INTERVAL, (u8 *)(&bcn_interval));
+ rtw_hal_set_hwreg(padapter, HW_VAR_BEACON_INTERVAL,
+ (u8 *)(&bcn_interval));
rtw_hal_set_hwreg(padapter, HW_VAR_DO_IQK, NULL);
@@ -688,18 +711,17 @@ void start_bss_network(struct adapter *padapter)
}
/* set channel, bwmode */
- p = rtw_get_ie((pnetwork->ies + sizeof(struct ndis_802_11_fix_ie)),
- WLAN_EID_HT_OPERATION,
- &ie_len,
- (pnetwork->ie_length - sizeof(struct ndis_802_11_fix_ie))
- );
+ p = rtw_get_ie(
+ (pnetwork->ies + sizeof(struct ndis_802_11_fix_ie)),
+ WLAN_EID_HT_OPERATION, &ie_len,
+ (pnetwork->ie_length - sizeof(struct ndis_802_11_fix_ie)));
if (p && ie_len) {
pht_info = (struct HT_info_element *)(p + 2);
if ((pregpriv->bw_mode & 0x0f) > 0)
cbw40_enable = 1;
- if ((cbw40_enable) && (pht_info->infos[0] & BIT(2))) {
+ if ((cbw40_enable) && (pht_info->infos[0] & BIT(2))) {
/* switch to the 40M Hz mode */
cur_bwmode = CHANNEL_WIDTH_40;
switch (pht_info->infos[0] & 0x3) {
@@ -732,7 +754,8 @@ void start_bss_network(struct adapter *padapter)
/* update RRSR after set channel and bandwidth */
update_basic_rate_table(padapter, pnetwork->supported_rates);
- rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE, pnetwork->supported_rates);
+ rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE,
+ pnetwork->supported_rates);
/* update capability after cur_wireless_mode updated */
update_capinfo(padapter,
@@ -749,7 +772,7 @@ void start_bss_network(struct adapter *padapter)
update_bmc_sta(padapter);
}
-int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
+int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
{
int ret = _SUCCESS;
u8 *p;
@@ -761,13 +784,13 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
int group_cipher, pairwise_cipher;
u8 channel, network_type, support_rate[NDIS_802_11_LENGTH_RATES_EX];
int support_rate_num = 0;
- u8 OUI1[] = {0x00, 0x50, 0xf2, 0x01};
- u8 WMM_PARA_IE[] = {0x00, 0x50, 0xf2, 0x02, 0x01, 0x01};
+ u8 OUI1[] = { 0x00, 0x50, 0xf2, 0x01 };
+ u8 WMM_PARA_IE[] = { 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01 };
struct registry_priv *pregistrypriv = &padapter->registrypriv;
struct security_priv *psecuritypriv = &padapter->securitypriv;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct wlan_bssid_ex
- *pbss_network = (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
+ struct wlan_bssid_ex *pbss_network =
+ (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
u8 *ie = pbss_network->ies;
if (!check_fwstate(pmlmepriv, WIFI_AP_STATE))
@@ -787,7 +810,8 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
pbss_network->rssi = 0;
- memcpy(pbss_network->mac_address, myid(&padapter->eeprompriv), ETH_ALEN);
+ memcpy(pbss_network->mac_address, myid(&padapter->eeprompriv),
+ ETH_ALEN);
/* beacon interval */
/* ie + 8; 8: TimeStamp, 2: Beacon Interval 2:Capability */
@@ -798,9 +822,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
cap = get_unaligned_le16(ie);
/* SSID */
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_SSID,
- &ie_len,
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_SSID, &ie_len,
(pbss_network->ie_length - _BEACON_IE_OFFSET_));
if (p && ie_len > 0) {
memset(&pbss_network->ssid, 0, sizeof(struct ndis_802_11_ssid));
@@ -811,8 +833,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
/* channel */
channel = 0;
pbss_network->configuration.length = 0;
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_DS_PARAMS, &ie_len,
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_DS_PARAMS, &ie_len,
(pbss_network->ie_length - _BEACON_IE_OFFSET_));
if (p && ie_len > 0)
channel = *(p + 2);
@@ -821,9 +842,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
memset(support_rate, 0, NDIS_802_11_LENGTH_RATES_EX);
/* get supported rates */
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_SUPP_RATES,
- &ie_len,
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_SUPP_RATES, &ie_len,
(pbss_network->ie_length - _BEACON_IE_OFFSET_));
if (p) {
memcpy(support_rate, p + 2, ie_len);
@@ -831,10 +850,8 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
}
/* get ext_supported rates */
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_EXT_SUPP_RATES,
- &ie_len,
- pbss_network->ie_length - _BEACON_IE_OFFSET_);
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_EXT_SUPP_RATES,
+ &ie_len, pbss_network->ie_length - _BEACON_IE_OFFSET_);
if (p)
memcpy(support_rate + support_rate_num, p + 2, ie_len);
@@ -843,9 +860,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
rtw_set_supported_rate(pbss_network->supported_rates, network_type);
/* parsing ERP_IE */
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_ERP_INFO,
- &ie_len,
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_ERP_INFO, &ie_len,
(pbss_network->ie_length - _BEACON_IE_OFFSET_));
if (p && ie_len > 0)
ERP_IE_handler(padapter, (struct ndis_80211_var_ie *)p);
@@ -859,22 +874,19 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
psecuritypriv->wpa_psk = 0;
/* wpa2 */
- group_cipher = 0; pairwise_cipher = 0;
+ group_cipher = 0;
+ pairwise_cipher = 0;
psecuritypriv->wpa2_group_cipher = _NO_PRIVACY_;
psecuritypriv->wpa2_pairwise_cipher = _NO_PRIVACY_;
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_RSN,
- &ie_len,
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_RSN, &ie_len,
(pbss_network->ie_length - _BEACON_IE_OFFSET_));
if (p && ie_len > 0) {
- if (rtw_parse_wpa2_ie(p,
- ie_len + 2,
- &group_cipher,
- &pairwise_cipher,
- NULL) == _SUCCESS) {
- psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
-
- psecuritypriv->dot8021xalg = 1;/* psk, todo:802.1x */
+ if (rtw_parse_wpa2_ie(p, ie_len + 2, &group_cipher,
+ &pairwise_cipher, NULL) == _SUCCESS) {
+ psecuritypriv->dot11AuthAlgrthm =
+ dot11AuthAlgrthm_8021X;
+
+ psecuritypriv->dot8021xalg = 1; /* psk, todo:802.1x */
psecuritypriv->wpa_psk |= BIT(1);
psecuritypriv->wpa2_group_cipher = group_cipher;
@@ -884,28 +896,29 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
/* wpa */
ie_len = 0;
- group_cipher = 0; pairwise_cipher = 0;
+ group_cipher = 0;
+ pairwise_cipher = 0;
psecuritypriv->wpa_group_cipher = _NO_PRIVACY_;
psecuritypriv->wpa_pairwise_cipher = _NO_PRIVACY_;
- for (p = ie + _BEACON_IE_OFFSET_; ; p += (ie_len + 2)) {
- p = rtw_get_ie(p,
- WLAN_EID_VENDOR_SPECIFIC,
- &ie_len,
- (pbss_network->ie_length - _BEACON_IE_OFFSET_ - (ie_len + 2)));
+ for (p = ie + _BEACON_IE_OFFSET_;; p += (ie_len + 2)) {
+ p = rtw_get_ie(p, WLAN_EID_VENDOR_SPECIFIC, &ie_len,
+ (pbss_network->ie_length - _BEACON_IE_OFFSET_ -
+ (ie_len + 2)));
if ((p) && (!memcmp(p + 2, OUI1, 4))) {
- if (rtw_parse_wpa_ie(p,
- ie_len + 2,
- &group_cipher,
+ if (rtw_parse_wpa_ie(p, ie_len + 2, &group_cipher,
&pairwise_cipher,
NULL) == _SUCCESS) {
- psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
+ psecuritypriv->dot11AuthAlgrthm =
+ dot11AuthAlgrthm_8021X;
- psecuritypriv->dot8021xalg = 1;/* psk, todo:802.1x */
+ psecuritypriv->dot8021xalg =
+ 1; /* psk, todo:802.1x */
psecuritypriv->wpa_psk |= BIT(0);
psecuritypriv->wpa_group_cipher = group_cipher;
- psecuritypriv->wpa_pairwise_cipher = pairwise_cipher;
+ psecuritypriv->wpa_pairwise_cipher =
+ pairwise_cipher;
}
break;
@@ -919,16 +932,15 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
ie_len = 0;
pmlmepriv->qospriv.qos_option = 0;
if (pregistrypriv->wmm_enable) {
- for (p = ie + _BEACON_IE_OFFSET_; ; p += (ie_len + 2)) {
- p = rtw_get_ie(p,
- WLAN_EID_VENDOR_SPECIFIC,
- &ie_len,
+ for (p = ie + _BEACON_IE_OFFSET_;; p += (ie_len + 2)) {
+ p = rtw_get_ie(p, WLAN_EID_VENDOR_SPECIFIC, &ie_len,
(pbss_network->ie_length -
_BEACON_IE_OFFSET_ - (ie_len + 2)));
if ((p) && !memcmp(p + 2, WMM_PARA_IE, 6)) {
pmlmepriv->qospriv.qos_option = 1;
- *(p + 8) |= BIT(7);/* QoS Info, support U-APSD */
+ *(p + 8) |=
+ BIT(7); /* QoS Info, support U-APSD */
/* disable all ACM bits since the WMM admission */
/* control is not supported */
@@ -946,13 +958,12 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
}
/* parsing HT_CAP_IE */
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_HT_CAPABILITY,
- &ie_len,
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_CAPABILITY, &ie_len,
(pbss_network->ie_length - _BEACON_IE_OFFSET_));
if (p && ie_len > 0) {
u8 max_rx_ampdu_factor = 0;
- struct ieee80211_ht_cap *pht_cap = (struct ieee80211_ht_cap *)(p + 2);
+ struct ieee80211_ht_cap *pht_cap =
+ (struct ieee80211_ht_cap *)(p + 2);
ht_caps_ie = p;
@@ -962,38 +973,42 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
rtw_ht_use_default_setting(padapter);
if (!pmlmepriv->htpriv.sgi_20m)
- pht_cap->cap_info &= cpu_to_le16(~(IEEE80211_HT_CAP_SGI_20));
+ pht_cap->cap_info &=
+ cpu_to_le16(~(IEEE80211_HT_CAP_SGI_20));
if (!pmlmepriv->htpriv.sgi_40m)
- pht_cap->cap_info &= cpu_to_le16(~(IEEE80211_HT_CAP_SGI_40));
+ pht_cap->cap_info &=
+ cpu_to_le16(~(IEEE80211_HT_CAP_SGI_40));
if (!TEST_FLAG(pmlmepriv->htpriv.ldpc_cap, LDPC_HT_ENABLE_RX))
- pht_cap->cap_info &= cpu_to_le16(~(IEEE80211_HT_CAP_LDPC_CODING));
+ pht_cap->cap_info &=
+ cpu_to_le16(~(IEEE80211_HT_CAP_LDPC_CODING));
if (!TEST_FLAG(pmlmepriv->htpriv.stbc_cap, STBC_HT_ENABLE_TX))
- pht_cap->cap_info &= cpu_to_le16(~(IEEE80211_HT_CAP_TX_STBC));
+ pht_cap->cap_info &=
+ cpu_to_le16(~(IEEE80211_HT_CAP_TX_STBC));
if (!TEST_FLAG(pmlmepriv->htpriv.stbc_cap, STBC_HT_ENABLE_RX))
- pht_cap->cap_info &= cpu_to_le16(~(IEEE80211_HT_CAP_RX_STBC_3R));
+ pht_cap->cap_info &=
+ cpu_to_le16(~(IEEE80211_HT_CAP_RX_STBC_3R));
pht_cap->ampdu_params_info &= ~(IEEE80211_HT_CAP_AMPDU_FACTOR |
IEEE80211_HT_CAP_AMPDU_DENSITY);
if ((psecuritypriv->wpa_pairwise_cipher & WPA_CIPHER_CCMP) ||
(psecuritypriv->wpa2_pairwise_cipher & WPA_CIPHER_CCMP)) {
- pht_cap->ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_DENSITY &
- (0x07 << 2));
+ pht_cap->ampdu_params_info |=
+ (IEEE80211_HT_CAP_AMPDU_DENSITY & (0x07 << 2));
} else {
- pht_cap->ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_DENSITY &
- 0x00);
+ pht_cap->ampdu_params_info |=
+ (IEEE80211_HT_CAP_AMPDU_DENSITY & 0x00);
}
- rtw_hal_get_def_var(padapter,
- HW_VAR_MAX_RX_AMPDU_FACTOR,
+ rtw_hal_get_def_var(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR,
&max_rx_ampdu_factor);
/* set Max Rx AMPDU size to 64K */
- pht_cap->ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_FACTOR &
- max_rx_ampdu_factor);
+ pht_cap->ampdu_params_info |=
+ (IEEE80211_HT_CAP_AMPDU_FACTOR & max_rx_ampdu_factor);
pht_cap->mcs.rx_mask[0] = 0xff;
pht_cap->mcs.rx_mask[1] = 0x0;
@@ -1002,9 +1017,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
}
/* parsing HT_INFO_IE */
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_HT_OPERATION,
- &ie_len,
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_OPERATION, &ie_len,
(pbss_network->ie_length - _BEACON_IE_OFFSET_));
if (p && ie_len > 0)
ht_info_ie = p;
@@ -1036,9 +1049,11 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
if (pregistrypriv->ampdu_enable == 1)
pmlmepriv->htpriv.ampdu_enable = true;
- HT_caps_handler(padapter, (struct ndis_80211_var_ie *)ht_caps_ie);
+ HT_caps_handler(padapter,
+ (struct ndis_80211_var_ie *)ht_caps_ie);
- HT_info_handler(padapter, (struct ndis_80211_var_ie *)ht_info_ie);
+ HT_info_handler(padapter,
+ (struct ndis_80211_var_ie *)ht_info_ie);
}
pbss_network->length =
@@ -1050,7 +1065,8 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
/* alloc sta_info for ap itself */
psta = rtw_get_stainfo(&padapter->stapriv, pbss_network->mac_address);
if (!psta) {
- psta = rtw_alloc_stainfo(&padapter->stapriv, pbss_network->mac_address);
+ psta = rtw_alloc_stainfo(&padapter->stapriv,
+ pbss_network->mac_address);
if (!psta)
return _FAIL;
}
@@ -1061,7 +1077,8 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
psta->state |= WIFI_AP_STATE;
rtw_indicate_connect(padapter);
- pmlmepriv->cur_network.join_res = true;/* for check if already set beacon */
+ pmlmepriv->cur_network.join_res =
+ true; /* for check if already set beacon */
return ret;
}
@@ -1076,13 +1093,13 @@ void rtw_set_macaddr_acl(struct adapter *padapter, int mode)
int rtw_acl_add_sta(struct adapter *padapter, u8 *addr)
{
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
u8 added = false;
int i, ret = 0;
struct rtw_wlan_acl_node *paclnode;
struct sta_priv *pstapriv = &padapter->stapriv;
struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
- struct __queue *pacl_node_q = &pacl_list->acl_node_q;
+ struct __queue *pacl_node_q = &pacl_list->acl_node_q;
if ((NUM_ACL - 1) < pacl_list->num)
return (-1);
@@ -1118,7 +1135,8 @@ int rtw_acl_add_sta(struct adapter *padapter, u8 *addr)
paclnode->valid = true;
- list_add_tail(&paclnode->list, get_list_head(pacl_node_q));
+ list_add_tail(&paclnode->list,
+ get_list_head(pacl_node_q));
pacl_list->num++;
@@ -1137,7 +1155,7 @@ void rtw_acl_remove_sta(struct adapter *padapter, u8 *addr)
struct rtw_wlan_acl_node *paclnode;
struct sta_priv *pstapriv = &padapter->stapriv;
struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
- struct __queue *pacl_node_q = &pacl_list->acl_node_q;
+ struct __queue *pacl_node_q = &pacl_list->acl_node_q;
spin_lock_bh(&pacl_node_q->lock);
@@ -1163,7 +1181,7 @@ void rtw_acl_remove_sta(struct adapter *padapter, u8 *addr)
u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta)
{
struct cmd_obj *ph2c;
- struct set_stakey_parm *psetstakey_para;
+ struct set_stakey_parm *psetstakey_para;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
@@ -1195,10 +1213,7 @@ u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta)
return res;
}
-static int rtw_ap_set_key(struct adapter *padapter,
- u8 *key,
- u8 alg,
- int keyid,
+static int rtw_ap_set_key(struct adapter *padapter, u8 *key, u8 alg, int keyid,
u8 set_tx)
{
u8 keylen;
@@ -1245,7 +1260,7 @@ static int rtw_ap_set_key(struct adapter *padapter,
pcmd->cmdcode = _SetKey_CMD_;
pcmd->parmbuf = (u8 *)psetkeyparm;
- pcmd->cmdsz = (sizeof(struct setkey_parm));
+ pcmd->cmdsz = (sizeof(struct setkey_parm));
pcmd->rsp = NULL;
pcmd->rspsz = 0;
@@ -1263,10 +1278,7 @@ int rtw_ap_set_group_key(struct adapter *padapter, u8 *key, u8 alg, int keyid)
return rtw_ap_set_key(padapter, key, alg, keyid, 1);
}
-int rtw_ap_set_wep_key(struct adapter *padapter,
- u8 *key,
- u8 keylen,
- int keyid,
+int rtw_ap_set_wep_key(struct adapter *padapter, u8 *key, u8 keylen, int keyid,
u8 set_tx)
{
u8 alg;
@@ -1302,18 +1314,17 @@ static void update_bcn_erpinfo_ie(struct adapter *padapter)
return;
/* parsing ERP_IE */
- p = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
- WLAN_EID_ERP_INFO,
- &len,
+ p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_ERP_INFO, &len,
(pnetwork->ie_length - _BEACON_IE_OFFSET_));
if (p && len > 0) {
struct ndis_80211_var_ie *ie = (struct ndis_80211_var_ie *)p;
if (pmlmepriv->num_sta_non_erp == 1)
- ie->data[0] |= RTW_ERP_INFO_NON_ERP_PRESENT | RTW_ERP_INFO_USE_PROTECTION;
+ ie->data[0] |= RTW_ERP_INFO_NON_ERP_PRESENT |
+ RTW_ERP_INFO_USE_PROTECTION;
else
ie->data[0] &= ~(RTW_ERP_INFO_NON_ERP_PRESENT |
- RTW_ERP_INFO_USE_PROTECTION);
+ RTW_ERP_INFO_USE_PROTECTION);
if (pmlmepriv->num_sta_no_short_preamble > 0)
ie->data[0] |= RTW_ERP_INFO_BARKER_PREAMBLE_MODE;
@@ -1360,9 +1371,7 @@ static void update_bcn_wps_ie(struct adapter *padapter)
u32 ielen = pnetwork->ie_length;
pwps_ie = rtw_get_wps_ie(ie + _FIXED_IE_LENGTH_,
- ielen - _FIXED_IE_LENGTH_,
- NULL,
- &wps_ielen);
+ ielen - _FIXED_IE_LENGTH_, NULL, &wps_ielen);
if (!pwps_ie || wps_ielen == 0)
return;
@@ -1378,9 +1387,10 @@ static void update_bcn_wps_ie(struct adapter *padapter)
remainder_ielen = ielen - wps_offset - wps_ielen;
if (remainder_ielen)
- pbackup_remainder_ie = kmemdup(premainder_ie, remainder_ielen, GFP_ATOMIC);
+ pbackup_remainder_ie =
+ kmemdup(premainder_ie, remainder_ielen, GFP_ATOMIC);
- wps_ielen = (unsigned int)pwps_ie_src[1];/* to get ie data len */
+ wps_ielen = (unsigned int)pwps_ie_src[1]; /* to get ie data len */
if ((wps_offset + wps_ielen + 2 + remainder_ielen) <= MAX_IE_SZ) {
memcpy(pwps_ie, pwps_ie_src, wps_ielen + 2);
pwps_ie += (wps_ielen + 2);
@@ -1389,7 +1399,8 @@ static void update_bcn_wps_ie(struct adapter *padapter)
memcpy(pwps_ie, pbackup_remainder_ie, remainder_ielen);
/* update ie_length */
- pnetwork->ie_length = wps_offset + (wps_ielen + 2) + remainder_ielen;
+ pnetwork->ie_length =
+ wps_offset + (wps_ielen + 2) + remainder_ielen;
}
kfree(pbackup_remainder_ie);
@@ -1433,7 +1444,8 @@ void update_beacon(struct adapter *padapter, u8 ie_id, u8 *oui, u8 tx)
switch (ie_id) {
case 0xFF:
- update_bcn_fixed_ie(padapter);/* 8: TimeStamp, 2: Beacon Interval 2:Capability */
+ update_bcn_fixed_ie(
+ padapter); /* 8: TimeStamp, 2: Beacon Interval 2:Capability */
break;
@@ -1509,14 +1521,12 @@ static int rtw_ht_operation_update(struct adapter *padapter)
if (!(pmlmepriv->ht_op_mode & IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT) &&
pmlmepriv->num_sta_ht_no_gf) {
- pmlmepriv->ht_op_mode |=
- IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT;
+ pmlmepriv->ht_op_mode |= IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT;
op_mode_changes++;
} else if ((pmlmepriv->ht_op_mode &
IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT) &&
pmlmepriv->num_sta_ht_no_gf == 0) {
- pmlmepriv->ht_op_mode &=
- ~IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT;
+ pmlmepriv->ht_op_mode &= ~IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT;
op_mode_changes++;
}
@@ -1527,8 +1537,7 @@ static int rtw_ht_operation_update(struct adapter *padapter)
} else if ((pmlmepriv->ht_op_mode &
IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT) &&
(pmlmepriv->num_sta_no_ht == 0 && !pmlmepriv->olbc_ht)) {
- pmlmepriv->ht_op_mode &=
- ~IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT;
+ pmlmepriv->ht_op_mode &= ~IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT;
op_mode_changes++;
}
@@ -1563,7 +1572,7 @@ void associated_clients_update(struct adapter *padapter, u8 updated)
{
/* update associated stations cap. */
if (updated) {
- struct list_head *phead, *plist;
+ struct list_head *phead, *plist;
struct sta_info *psta = NULL;
struct sta_priv *pstapriv = &padapter->stapriv;
@@ -1622,7 +1631,8 @@ void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta)
if (pmlmepriv->num_sta_non_erp == 1) {
beacon_updated = true;
- update_beacon(padapter, WLAN_EID_ERP_INFO, NULL, true);
+ update_beacon(padapter, WLAN_EID_ERP_INFO, NULL,
+ true);
}
}
} else {
@@ -1633,7 +1643,8 @@ void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta)
if (pmlmepriv->num_sta_non_erp == 0) {
beacon_updated = true;
- update_beacon(padapter, WLAN_EID_ERP_INFO, NULL, true);
+ update_beacon(padapter, WLAN_EID_ERP_INFO, NULL,
+ true);
}
}
}
@@ -1699,7 +1710,7 @@ void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta)
}
/* update associated stations cap. */
- associated_clients_update(padapter, beacon_updated);
+ associated_clients_update(padapter, beacon_updated);
}
u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta)
@@ -1715,7 +1726,7 @@ u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta)
psta->no_short_preamble_set = 0;
pmlmepriv->num_sta_no_short_preamble--;
if (pmlmeext->cur_wireless_mode > WIRELESS_11B &&
- pmlmepriv->num_sta_no_short_preamble == 0){
+ pmlmepriv->num_sta_no_short_preamble == 0) {
beacon_updated = true;
update_beacon(padapter, 0xFF, NULL, true);
}
@@ -1734,7 +1745,7 @@ u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta)
psta->no_short_slot_time_set = 0;
pmlmepriv->num_sta_no_short_slot_time--;
if (pmlmeext->cur_wireless_mode > WIRELESS_11B &&
- pmlmepriv->num_sta_no_short_slot_time == 0){
+ pmlmepriv->num_sta_no_short_slot_time == 0) {
beacon_updated = true;
update_beacon(padapter, 0xFF, NULL, true);
}
@@ -1763,9 +1774,7 @@ u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta)
return beacon_updated;
}
-u8 ap_free_sta(struct adapter *padapter,
- struct sta_info *psta,
- bool active,
+u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta, bool active,
u16 reason)
{
u8 beacon_updated = false;
@@ -1775,16 +1784,16 @@ u8 ap_free_sta(struct adapter *padapter,
if (active) {
/* tear down Rx AMPDU */
- send_delba(padapter, 0, psta->hwaddr);/* recipient */
+ send_delba(padapter, 0, psta->hwaddr); /* recipient */
/* tear down TX AMPDU */
- send_delba(padapter, 1, psta->hwaddr);/* // originator */
+ send_delba(padapter, 1, psta->hwaddr); /* // originator */
issue_deauth(padapter, psta->hwaddr, reason);
}
- psta->htpriv.agg_enable_bitmap = 0x0;/* reset */
- psta->htpriv.candidate_tid_bitmap = 0x0;/* reset */
+ psta->htpriv.agg_enable_bitmap = 0x0; /* reset */
+ psta->htpriv.candidate_tid_bitmap = 0x0; /* reset */
/* clear cam entry / key */
rtw_clearstakey_cmd(padapter, psta, true);
@@ -1811,7 +1820,7 @@ void rtw_sta_flush(struct adapter *padapter)
struct sta_priv *pstapriv = &padapter->stapriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+ u8 bc_addr[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
return;
@@ -1873,7 +1882,7 @@ void ap_sta_info_defer_update(struct adapter *padapter, struct sta_info *psta)
pmlmeinfo->FW_sta_info[psta->mac_id].psta = psta;
/* add ratid */
- add_ratid(padapter, psta, 0);/* DM_RATR_STA_INIT */
+ add_ratid(padapter, psta, 0); /* DM_RATR_STA_INIT */
}
}
@@ -1884,28 +1893,23 @@ void rtw_ap_restore_network(struct adapter *padapter)
struct sta_priv *pstapriv = &padapter->stapriv;
struct sta_info *psta;
struct security_priv *psecuritypriv = &padapter->securitypriv;
- struct list_head *phead, *plist;
+ struct list_head *phead, *plist;
u8 chk_alive_num = 0;
char chk_alive_list[NUM_STA];
int i;
rtw_setopmode_cmd(padapter, Ndis802_11APMode, false);
- set_channel_bwmode(padapter,
- pmlmeext->cur_channel,
- pmlmeext->cur_ch_offset,
- pmlmeext->cur_bwmode);
+ set_channel_bwmode(padapter, pmlmeext->cur_channel,
+ pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
start_bss_network(padapter);
if ((padapter->securitypriv.dot11PrivacyAlgrthm == _TKIP_) ||
(padapter->securitypriv.dot11PrivacyAlgrthm == _AES_)) {
/* restore group key, WEP keys is restored in ips_leave() */
- rtw_set_key(padapter,
- psecuritypriv,
- psecuritypriv->dot118021XGrpKeyid,
- 0,
- false);
+ rtw_set_key(padapter, psecuritypriv,
+ psecuritypriv->dot118021XGrpKeyid, 0, false);
}
spin_lock_bh(&pstapriv->asoc_list_lock);
@@ -1999,14 +2003,13 @@ void stop_ap_mode(struct adapter *padapter)
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
- struct __queue *pacl_node_q = &pacl_list->acl_node_q;
+ struct __queue *pacl_node_q = &pacl_list->acl_node_q;
pmlmepriv->update_bcn = false;
pmlmeext->bstart_bss = false;
/* reset and init security priv , this can refine with rtw_reset_securitypriv */
- memset((unsigned char *)&padapter->securitypriv,
- 0,
+ memset((unsigned char *)&padapter->securitypriv, 0,
sizeof(struct security_priv));
padapter->securitypriv.ndisauthtype = Ndis802_11AuthModeOpen;
padapter->securitypriv.ndisencryptstatus = Ndis802_11WEPDisabled;
diff --git a/drivers/staging/rtl8723bs/core/rtw_btcoex.c b/drivers/staging/rtl8723bs/core/rtw_btcoex.c
index 9e00424d00bdd..5eafc13286304 100644
--- a/drivers/staging/rtl8723bs/core/rtw_btcoex.c
+++ b/drivers/staging/rtl8723bs/core/rtw_btcoex.c
@@ -38,7 +38,8 @@ void rtw_btcoex_reject_ap_aggregated_packet(struct adapter *padapter, u8 enable)
struct sta_info *psta;
pmlmeinfo = &padapter->mlmeextpriv.mlmext_info;
- psta = rtw_get_stainfo(&padapter->stapriv, get_bssid(&padapter->mlmepriv));
+ psta = rtw_get_stainfo(&padapter->stapriv,
+ get_bssid(&padapter->mlmepriv));
if (enable) {
pmlmeinfo->accept_addba_req = false;
diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c
index b932670f5d63a..c2117d103d832 100644
--- a/drivers/staging/rtl8723bs/core/rtw_cmd.c
+++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c
@@ -11,148 +11,159 @@
#include <linux/delay.h>
static struct _cmd_callback rtw_cmd_callback[] = {
- {GEN_CMD_CODE(_Read_MACREG), NULL}, /*0*/
- {GEN_CMD_CODE(_Write_MACREG), NULL},
- {GEN_CMD_CODE(_Read_BBREG), &rtw_getbbrfreg_cmdrsp_callback},
- {GEN_CMD_CODE(_Write_BBREG), NULL},
- {GEN_CMD_CODE(_Read_RFREG), &rtw_getbbrfreg_cmdrsp_callback},
- {GEN_CMD_CODE(_Write_RFREG), NULL}, /*5*/
- {GEN_CMD_CODE(_Read_EEPROM), NULL},
- {GEN_CMD_CODE(_Write_EEPROM), NULL},
- {GEN_CMD_CODE(_Read_EFUSE), NULL},
- {GEN_CMD_CODE(_Write_EFUSE), NULL},
-
- {GEN_CMD_CODE(_Read_CAM), NULL}, /*10*/
- {GEN_CMD_CODE(_Write_CAM), NULL},
- {GEN_CMD_CODE(_setBCNITV), NULL},
- {GEN_CMD_CODE(_setMBIDCFG), NULL},
- {GEN_CMD_CODE(_JoinBss), &rtw_joinbss_cmd_callback}, /*14*/
- {GEN_CMD_CODE(_DisConnect), &rtw_disassoc_cmd_callback}, /*15*/
- {GEN_CMD_CODE(_CreateBss), &rtw_createbss_cmd_callback},
- {GEN_CMD_CODE(_SetOpMode), NULL},
- {GEN_CMD_CODE(_SiteSurvey), &rtw_survey_cmd_callback}, /*18*/
- {GEN_CMD_CODE(_SetAuth), NULL},
-
- {GEN_CMD_CODE(_SetKey), NULL}, /*20*/
- {GEN_CMD_CODE(_SetStaKey), &rtw_setstaKey_cmdrsp_callback},
- {GEN_CMD_CODE(_SetAssocSta), &rtw_setassocsta_cmdrsp_callback},
- {GEN_CMD_CODE(_DelAssocSta), NULL},
- {GEN_CMD_CODE(_SetStaPwrState), NULL},
- {GEN_CMD_CODE(_SetBasicRate), NULL}, /*25*/
- {GEN_CMD_CODE(_GetBasicRate), NULL},
- {GEN_CMD_CODE(_SetDataRate), NULL},
- {GEN_CMD_CODE(_GetDataRate), NULL},
- {GEN_CMD_CODE(_SetPhyInfo), NULL},
-
- {GEN_CMD_CODE(_GetPhyInfo), NULL}, /*30*/
- {GEN_CMD_CODE(_SetPhy), NULL},
- {GEN_CMD_CODE(_GetPhy), NULL},
- {GEN_CMD_CODE(_readRssi), NULL},
- {GEN_CMD_CODE(_readGain), NULL},
- {GEN_CMD_CODE(_SetAtim), NULL}, /*35*/
- {GEN_CMD_CODE(_SetPwrMode), NULL},
- {GEN_CMD_CODE(_JoinbssRpt), NULL},
- {GEN_CMD_CODE(_SetRaTable), NULL},
- {GEN_CMD_CODE(_GetRaTable), NULL},
-
- {GEN_CMD_CODE(_GetCCXReport), NULL}, /*40*/
- {GEN_CMD_CODE(_GetDTMReport), NULL},
- {GEN_CMD_CODE(_GetTXRateStatistics), NULL},
- {GEN_CMD_CODE(_SetUsbSuspend), NULL},
- {GEN_CMD_CODE(_SetH2cLbk), NULL},
- {GEN_CMD_CODE(_AddBAReq), NULL}, /*45*/
- {GEN_CMD_CODE(_SetChannel), NULL}, /*46*/
- {GEN_CMD_CODE(_SetTxPower), NULL},
- {GEN_CMD_CODE(_SwitchAntenna), NULL},
- {GEN_CMD_CODE(_SetCrystalCap), NULL},
- {GEN_CMD_CODE(_SetSingleCarrierTx), NULL}, /*50*/
-
- {GEN_CMD_CODE(_SetSingleToneTx), NULL}, /*51*/
- {GEN_CMD_CODE(_SetCarrierSuppressionTx), NULL},
- {GEN_CMD_CODE(_SetContinuousTx), NULL},
- {GEN_CMD_CODE(_SwitchBandwidth), NULL}, /*54*/
- {GEN_CMD_CODE(_TX_Beacon), NULL},/*55*/
-
- {GEN_CMD_CODE(_Set_MLME_EVT), NULL},/*56*/
- {GEN_CMD_CODE(_Set_Drv_Extra), NULL},/*57*/
- {GEN_CMD_CODE(_Set_H2C_MSG), NULL},/*58*/
- {GEN_CMD_CODE(_SetChannelPlan), NULL},/*59*/
-
- {GEN_CMD_CODE(_SetChannelSwitch), NULL},/*60*/
- {GEN_CMD_CODE(_TDLS), NULL},/*61*/
- {GEN_CMD_CODE(_ChkBMCSleepq), NULL}, /*62*/
-
- {GEN_CMD_CODE(_RunInThreadCMD), NULL},/*63*/
+ { GEN_CMD_CODE(_Read_MACREG), NULL }, /*0*/
+ { GEN_CMD_CODE(_Write_MACREG), NULL },
+ { GEN_CMD_CODE(_Read_BBREG), &rtw_getbbrfreg_cmdrsp_callback },
+ { GEN_CMD_CODE(_Write_BBREG), NULL },
+ { GEN_CMD_CODE(_Read_RFREG), &rtw_getbbrfreg_cmdrsp_callback },
+ { GEN_CMD_CODE(_Write_RFREG), NULL }, /*5*/
+ { GEN_CMD_CODE(_Read_EEPROM), NULL },
+ { GEN_CMD_CODE(_Write_EEPROM), NULL },
+ { GEN_CMD_CODE(_Read_EFUSE), NULL },
+ { GEN_CMD_CODE(_Write_EFUSE), NULL },
+
+ { GEN_CMD_CODE(_Read_CAM), NULL }, /*10*/
+ { GEN_CMD_CODE(_Write_CAM), NULL },
+ { GEN_CMD_CODE(_setBCNITV), NULL },
+ { GEN_CMD_CODE(_setMBIDCFG), NULL },
+ { GEN_CMD_CODE(_JoinBss), &rtw_joinbss_cmd_callback }, /*14*/
+ { GEN_CMD_CODE(_DisConnect), &rtw_disassoc_cmd_callback }, /*15*/
+ { GEN_CMD_CODE(_CreateBss), &rtw_createbss_cmd_callback },
+ { GEN_CMD_CODE(_SetOpMode), NULL },
+ { GEN_CMD_CODE(_SiteSurvey), &rtw_survey_cmd_callback }, /*18*/
+ { GEN_CMD_CODE(_SetAuth), NULL },
+
+ { GEN_CMD_CODE(_SetKey), NULL }, /*20*/
+ { GEN_CMD_CODE(_SetStaKey), &rtw_setstaKey_cmdrsp_callback },
+ { GEN_CMD_CODE(_SetAssocSta), &rtw_setassocsta_cmdrsp_callback },
+ { GEN_CMD_CODE(_DelAssocSta), NULL },
+ { GEN_CMD_CODE(_SetStaPwrState), NULL },
+ { GEN_CMD_CODE(_SetBasicRate), NULL }, /*25*/
+ { GEN_CMD_CODE(_GetBasicRate), NULL },
+ { GEN_CMD_CODE(_SetDataRate), NULL },
+ { GEN_CMD_CODE(_GetDataRate), NULL },
+ { GEN_CMD_CODE(_SetPhyInfo), NULL },
+
+ { GEN_CMD_CODE(_GetPhyInfo), NULL }, /*30*/
+ { GEN_CMD_CODE(_SetPhy), NULL },
+ { GEN_CMD_CODE(_GetPhy), NULL },
+ { GEN_CMD_CODE(_readRssi), NULL },
+ { GEN_CMD_CODE(_readGain), NULL },
+ { GEN_CMD_CODE(_SetAtim), NULL }, /*35*/
+ { GEN_CMD_CODE(_SetPwrMode), NULL },
+ { GEN_CMD_CODE(_JoinbssRpt), NULL },
+ { GEN_CMD_CODE(_SetRaTable), NULL },
+ { GEN_CMD_CODE(_GetRaTable), NULL },
+
+ { GEN_CMD_CODE(_GetCCXReport), NULL }, /*40*/
+ { GEN_CMD_CODE(_GetDTMReport), NULL },
+ { GEN_CMD_CODE(_GetTXRateStatistics), NULL },
+ { GEN_CMD_CODE(_SetUsbSuspend), NULL },
+ { GEN_CMD_CODE(_SetH2cLbk), NULL },
+ { GEN_CMD_CODE(_AddBAReq), NULL }, /*45*/
+ { GEN_CMD_CODE(_SetChannel), NULL }, /*46*/
+ { GEN_CMD_CODE(_SetTxPower), NULL },
+ { GEN_CMD_CODE(_SwitchAntenna), NULL },
+ { GEN_CMD_CODE(_SetCrystalCap), NULL },
+ { GEN_CMD_CODE(_SetSingleCarrierTx), NULL }, /*50*/
+
+ { GEN_CMD_CODE(_SetSingleToneTx), NULL }, /*51*/
+ { GEN_CMD_CODE(_SetCarrierSuppressionTx), NULL },
+ { GEN_CMD_CODE(_SetContinuousTx), NULL },
+ { GEN_CMD_CODE(_SwitchBandwidth), NULL }, /*54*/
+ { GEN_CMD_CODE(_TX_Beacon), NULL }, /*55*/
+
+ { GEN_CMD_CODE(_Set_MLME_EVT), NULL }, /*56*/
+ { GEN_CMD_CODE(_Set_Drv_Extra), NULL }, /*57*/
+ { GEN_CMD_CODE(_Set_H2C_MSG), NULL }, /*58*/
+ { GEN_CMD_CODE(_SetChannelPlan), NULL }, /*59*/
+
+ { GEN_CMD_CODE(_SetChannelSwitch), NULL }, /*60*/
+ { GEN_CMD_CODE(_TDLS), NULL }, /*61*/
+ { GEN_CMD_CODE(_ChkBMCSleepq), NULL }, /*62*/
+
+ { GEN_CMD_CODE(_RunInThreadCMD), NULL }, /*63*/
};
static struct cmd_hdl wlancmds[] = {
GEN_DRV_CMD_HANDLER(0, NULL) /*0*/
- GEN_DRV_CMD_HANDLER(0, NULL)
- GEN_DRV_CMD_HANDLER(0, NULL)
- GEN_DRV_CMD_HANDLER(0, NULL)
- GEN_DRV_CMD_HANDLER(0, NULL)
- GEN_DRV_CMD_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL) /*10*/
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct joinbss_parm), join_cmd_hdl) /*14*/
+ GEN_DRV_CMD_HANDLER(0, NULL) GEN_DRV_CMD_HANDLER(0, NULL)
+ GEN_DRV_CMD_HANDLER(0, NULL) GEN_DRV_CMD_HANDLER(
+ 0, NULL) GEN_DRV_CMD_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(
+ 0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) /*10*/
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(
+ sizeof(struct joinbss_parm), join_cmd_hdl) /*14*/
GEN_MLME_EXT_HANDLER(sizeof(struct disconnect_parm), disconnect_hdl)
- GEN_MLME_EXT_HANDLER(sizeof(struct createbss_parm), createbss_hdl)
- GEN_MLME_EXT_HANDLER(sizeof(struct setopmode_parm), setopmode_hdl)
- GEN_MLME_EXT_HANDLER(sizeof(struct sitesurvey_parm), sitesurvey_cmd_hdl) /*18*/
+ GEN_MLME_EXT_HANDLER(sizeof(struct createbss_parm),
+ createbss_hdl)
+ GEN_MLME_EXT_HANDLER(sizeof(struct setopmode_parm),
+ setopmode_hdl)
+ GEN_MLME_EXT_HANDLER(
+ sizeof(struct sitesurvey_parm),
+ sitesurvey_cmd_hdl) /*18*/
GEN_MLME_EXT_HANDLER(sizeof(struct setauth_parm), setauth_hdl)
- GEN_MLME_EXT_HANDLER(sizeof(struct setkey_parm), setkey_hdl) /*20*/
- GEN_MLME_EXT_HANDLER(sizeof(struct set_stakey_parm), set_stakey_hdl)
- GEN_MLME_EXT_HANDLER(sizeof(struct set_assocsta_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct del_assocsta_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct setstapwrstate_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct setbasicrate_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct getbasicrate_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct setdatarate_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct getdatarate_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct setphyinfo_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct getphyinfo_parm), NULL) /*30*/
- GEN_MLME_EXT_HANDLER(sizeof(struct setphy_parm), NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct getphy_parm), NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL) /*40*/
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct addBaReq_parm), add_ba_hdl)
- GEN_MLME_EXT_HANDLER(sizeof(struct set_ch_parm), set_ch_hdl) /* 46 */
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL) /*50*/
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(0, NULL)
- GEN_MLME_EXT_HANDLER(sizeof(struct Tx_Beacon_param), tx_beacon_hdl) /*55*/
+ GEN_MLME_EXT_HANDLER(sizeof(struct setkey_parm),
+ setkey_hdl) /*20*/
+ GEN_MLME_EXT_HANDLER(sizeof(struct set_stakey_parm), set_stakey_hdl) GEN_MLME_EXT_HANDLER(
+ sizeof(struct set_assocsta_parm),
+ NULL) GEN_MLME_EXT_HANDLER(sizeof(struct del_assocsta_parm),
+ NULL)
+ GEN_MLME_EXT_HANDLER(
+ sizeof(struct setstapwrstate_parm),
+ NULL) GEN_MLME_EXT_HANDLER(sizeof(struct setbasicrate_parm),
+ NULL)
+ GEN_MLME_EXT_HANDLER(
+ sizeof(struct getbasicrate_parm),
+ NULL) GEN_MLME_EXT_HANDLER(sizeof(struct setdatarate_parm),
+ NULL)
+ GEN_MLME_EXT_HANDLER(
+ sizeof(struct getdatarate_parm), NULL)
+ GEN_MLME_EXT_HANDLER(
+ sizeof(struct setphyinfo_parm),
+ NULL)
+ GEN_MLME_EXT_HANDLER(
+ sizeof(struct getphyinfo_parm),
+ NULL) /*30*/
+ GEN_MLME_EXT_HANDLER(
+ sizeof(struct setphy_parm),
+ NULL) GEN_MLME_EXT_HANDLER(sizeof(struct getphy_parm),
+ NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(
+ 0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) /*40*/
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(sizeof(struct addBaReq_parm),
+ add_ba_hdl)
+ GEN_MLME_EXT_HANDLER(sizeof(struct set_ch_parm),
+ set_ch_hdl) /* 46 */
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) /*50*/
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(0, NULL) GEN_MLME_EXT_HANDLER(0, NULL)
+ GEN_MLME_EXT_HANDLER(sizeof(struct Tx_Beacon_param),
+ tx_beacon_hdl) /*55*/
GEN_MLME_EXT_HANDLER(0, mlme_evt_hdl) /*56*/
GEN_MLME_EXT_HANDLER(0, rtw_drvextra_cmd_hdl) /*57*/
GEN_MLME_EXT_HANDLER(0, h2c_msg_hdl) /*58*/
- GEN_MLME_EXT_HANDLER(sizeof(struct SetChannelPlan_param), set_chplan_hdl) /*59*/
+ GEN_MLME_EXT_HANDLER(sizeof(struct SetChannelPlan_param),
+ set_chplan_hdl) /*59*/
- GEN_MLME_EXT_HANDLER(sizeof(struct SetChannelSwitch_param), set_csa_hdl) /*60*/
+ GEN_MLME_EXT_HANDLER(sizeof(struct SetChannelSwitch_param),
+ set_csa_hdl) /*60*/
GEN_MLME_EXT_HANDLER(sizeof(struct TDLSoption_param), tdls_hdl) /*61*/
GEN_MLME_EXT_HANDLER(0, chk_bmc_sleepq_hdl) /*62*/
- GEN_MLME_EXT_HANDLER(sizeof(struct RunInThread_param), run_in_thread_hdl) /*63*/
+ GEN_MLME_EXT_HANDLER(sizeof(struct RunInThread_param),
+ run_in_thread_hdl) /*63*/
};
/*
@@ -160,7 +171,7 @@ static struct cmd_hdl wlancmds[] = {
* No irqsave is necessary.
*/
-int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
+int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
{
init_completion(&pcmdpriv->cmd_queue_comp);
init_completion(&pcmdpriv->terminate_cmdthread_comp);
@@ -172,11 +183,13 @@ int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
pcmdpriv->cmd_seq = 1;
- pcmdpriv->cmd_allocated_buf = kzalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ, GFP_ATOMIC);
+ pcmdpriv->cmd_allocated_buf =
+ kzalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ, GFP_ATOMIC);
if (!pcmdpriv->cmd_allocated_buf)
return -ENOMEM;
- pcmdpriv->cmd_buf = PTR_ALIGN(pcmdpriv->cmd_allocated_buf, CMDBUFF_ALIGN_SZ);
+ pcmdpriv->cmd_buf =
+ PTR_ALIGN(pcmdpriv->cmd_allocated_buf, CMDBUFF_ALIGN_SZ);
pcmdpriv->rsp_allocated_buf = kzalloc(MAX_RSPSZ + 4, GFP_ATOMIC);
if (!pcmdpriv->rsp_allocated_buf) {
@@ -185,7 +198,7 @@ int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
}
pcmdpriv->rsp_buf = pcmdpriv->rsp_allocated_buf + 4 -
- ((SIZE_PTR)(pcmdpriv->rsp_allocated_buf) & 3);
+ ((SIZE_PTR)(pcmdpriv->rsp_allocated_buf) & 3);
pcmdpriv->cmd_issued_cnt = 0;
pcmdpriv->cmd_done_cnt = 0;
@@ -212,7 +225,7 @@ int rtw_init_evt_priv(struct evt_priv *pevtpriv)
return 0;
}
-void _rtw_free_evt_priv(struct evt_priv *pevtpriv)
+void _rtw_free_evt_priv(struct evt_priv *pevtpriv)
{
_cancel_workitem_sync(&pevtpriv->c2h_wk);
while (pevtpriv->c2h_wk_alive)
@@ -227,7 +240,7 @@ void _rtw_free_evt_priv(struct evt_priv *pevtpriv)
kfree(pevtpriv->c2h_queue);
}
-void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
+void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
{
if (pcmdpriv) {
kfree(pcmdpriv->cmd_allocated_buf);
@@ -266,7 +279,7 @@ static int _rtw_enqueue_cmd(struct __queue *queue, struct cmd_obj *obj)
return 0;
}
-struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue)
+struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue)
{
unsigned long irqL;
struct cmd_obj *obj;
@@ -276,7 +289,8 @@ struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue)
if (list_empty(&queue->queue)) {
obj = NULL;
} else {
- obj = container_of(get_next(&queue->queue), struct cmd_obj, list);
+ obj = container_of(get_next(&queue->queue), struct cmd_obj,
+ list);
list_del_init(&obj->list);
}
@@ -286,12 +300,12 @@ struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue)
return obj;
}
-void rtw_free_evt_priv(struct evt_priv *pevtpriv)
+void rtw_free_evt_priv(struct evt_priv *pevtpriv)
{
_rtw_free_evt_priv(pevtpriv);
}
-void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
+void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
{
_rtw_free_cmd_priv(pcmdpriv);
}
@@ -299,13 +313,15 @@ void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv)
int rtw_cmd_filter(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj);
int rtw_cmd_filter(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
{
- u8 bAllow = false; /* set to true to allow enqueuing cmd when hw_init_completed is false */
+ u8 bAllow =
+ false; /* set to true to allow enqueuing cmd when hw_init_completed is false */
if (cmd_obj->cmdcode == GEN_CMD_CODE(_SetChannelPlan))
bAllow = true;
if ((!pcmdpriv->padapter->hw_init_completed && !bAllow) ||
- !atomic_read(&pcmdpriv->cmdthd_running)) /* com_thread not running */
+ !atomic_read(
+ &pcmdpriv->cmdthd_running)) /* com_thread not running */
return _FAIL;
return _SUCCESS;
@@ -337,7 +353,7 @@ int rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
return _FAIL;
}
-struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv)
+struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv)
{
return _rtw_dequeue_cmd(&pcmdpriv->cmd_queue);
}
@@ -365,7 +381,7 @@ void rtw_stop_cmd_thread(struct adapter *adapter)
{
if (adapter->cmdThread &&
atomic_read(&adapter->cmdpriv.cmdthd_running) &&
- adapter->cmdpriv.stop_req == 0) {
+ adapter->cmdpriv.stop_req == 0) {
adapter->cmdpriv.stop_req = 1;
complete(&adapter->cmdpriv.cmd_queue_comp);
wait_for_completion(&adapter->cmdpriv.terminate_cmdthread_comp);
@@ -392,26 +408,29 @@ int rtw_cmd_thread(void *context)
complete(&pcmdpriv->terminate_cmdthread_comp);
while (1) {
- if (wait_for_completion_interruptible(&pcmdpriv->cmd_queue_comp)) {
- netdev_dbg(padapter->pnetdev,
- FUNC_ADPT_FMT " wait_for_completion_interruptible(&pcmdpriv->cmd_queue_comp) return != 0, break\n",
- FUNC_ADPT_ARG(padapter));
+ if (wait_for_completion_interruptible(
+ &pcmdpriv->cmd_queue_comp)) {
+ netdev_dbg(
+ padapter->pnetdev,
+ FUNC_ADPT_FMT
+ " wait_for_completion_interruptible(&pcmdpriv->cmd_queue_comp) return != 0, break\n",
+ FUNC_ADPT_ARG(padapter));
break;
}
if (padapter->bDriverStopped || padapter->bSurpriseRemoved) {
- netdev_dbg(padapter->pnetdev,
- "%s: DriverStopped(%d) SurpriseRemoved(%d) break at line %d\n",
- __func__, padapter->bDriverStopped,
- padapter->bSurpriseRemoved, __LINE__);
+ netdev_dbg(
+ padapter->pnetdev,
+ "%s: DriverStopped(%d) SurpriseRemoved(%d) break at line %d\n",
+ __func__, padapter->bDriverStopped,
+ padapter->bSurpriseRemoved, __LINE__);
break;
}
if (pcmdpriv->stop_req) {
netdev_dbg(padapter->pnetdev,
FUNC_ADPT_FMT " stop_req:%u, break\n",
- FUNC_ADPT_ARG(padapter),
- pcmdpriv->stop_req);
+ FUNC_ADPT_ARG(padapter), pcmdpriv->stop_req);
break;
}
@@ -423,10 +442,11 @@ int rtw_cmd_thread(void *context)
_next:
if (padapter->bDriverStopped || padapter->bSurpriseRemoved) {
- netdev_dbg(padapter->pnetdev,
- "%s: DriverStopped(%d) SurpriseRemoved(%d) break at line %d\n",
- __func__, padapter->bDriverStopped,
- padapter->bSurpriseRemoved, __LINE__);
+ netdev_dbg(
+ padapter->pnetdev,
+ "%s: DriverStopped(%d) SurpriseRemoved(%d) break at line %d\n",
+ __func__, padapter->bDriverStopped,
+ padapter->bSurpriseRemoved, __LINE__);
break;
}
@@ -464,7 +484,8 @@ int rtw_cmd_thread(void *context)
post_process:
- if (mutex_lock_interruptible(&pcmd->padapter->cmdpriv.sctx_mutex) == 0) {
+ if (mutex_lock_interruptible(
+ &pcmd->padapter->cmdpriv.sctx_mutex) == 0) {
if (pcmd->sctx) {
netdev_dbg(padapter->pnetdev,
FUNC_ADPT_FMT " pcmd->sctx\n",
@@ -473,19 +494,24 @@ int rtw_cmd_thread(void *context)
if (pcmd->res == H2C_SUCCESS)
rtw_sctx_done(&pcmd->sctx);
else
- rtw_sctx_done_err(&pcmd->sctx, RTW_SCTX_DONE_CMD_ERROR);
+ rtw_sctx_done_err(
+ &pcmd->sctx,
+ RTW_SCTX_DONE_CMD_ERROR);
}
mutex_unlock(&pcmd->padapter->cmdpriv.sctx_mutex);
}
/* call callback function for post-processed */
if (pcmd->cmdcode < ARRAY_SIZE(rtw_cmd_callback)) {
- pcmd_callback = rtw_cmd_callback[pcmd->cmdcode].callback;
+ pcmd_callback =
+ rtw_cmd_callback[pcmd->cmdcode].callback;
if (!pcmd_callback) {
rtw_free_cmd_obj(pcmd);
} else {
/* todo: !!! fill rsp_buf to pcmd->rsp if (pcmd->rsp!= NULL) */
- pcmd_callback(pcmd->padapter, pcmd);/* need consider that free cmd_obj in rtw_cmd_callback */
+ pcmd_callback(
+ pcmd->padapter,
+ pcmd); /* need consider that free cmd_obj in rtw_cmd_callback */
}
} else {
rtw_free_cmd_obj(pcmd);
@@ -523,8 +549,9 @@ int rtw_cmd_thread(void *context)
* MUST TAKE CARE THAT BEFORE CALLING THIS FUNC, YOU SHOULD HAVE LOCKED pmlmepriv->lock
*/
-u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num,
- struct rtw_ieee80211_channel *ch, int ch_num)
+u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
+ int ssid_num, struct rtw_ieee80211_channel *ch,
+ int ch_num)
{
u8 res = _FAIL;
struct cmd_obj *ph2c;
@@ -547,7 +574,8 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
rtw_free_network_queue(padapter, false);
- init_h2fwcmd_w_parm_no_rsp(ph2c, psurveyPara, GEN_CMD_CODE(_SiteSurvey));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, psurveyPara,
+ GEN_CMD_CODE(_SiteSurvey));
/* psurveyPara->bsslimit = 48; */
psurveyPara->scan_mode = pmlmepriv->scan_mode;
@@ -558,7 +586,8 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
for (i = 0; i < ssid_num && i < RTW_SSID_SCAN_AMOUNT; i++) {
if (ssid[i].ssid_length) {
- memcpy(&psurveyPara->ssid[i], &ssid[i], sizeof(struct ndis_802_11_ssid));
+ memcpy(&psurveyPara->ssid[i], &ssid[i],
+ sizeof(struct ndis_802_11_ssid));
psurveyPara->ssid_num++;
}
}
@@ -569,8 +598,10 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
int i;
for (i = 0; i < ch_num && i < RTW_CHANNEL_SCAN_AMOUNT; i++) {
- if (ch[i].hw_value && !(ch[i].flags & RTW_IEEE80211_CHAN_DISABLED)) {
- memcpy(&psurveyPara->ch[i], &ch[i], sizeof(struct rtw_ieee80211_channel));
+ if (ch[i].hw_value &&
+ !(ch[i].flags & RTW_IEEE80211_CHAN_DISABLED)) {
+ memcpy(&psurveyPara->ch[i], &ch[i],
+ sizeof(struct rtw_ieee80211_channel));
psurveyPara->ch_num++;
}
}
@@ -589,18 +620,20 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
return res;
}
-void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
+void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd)
{
/* rtw_free_cmd_obj(pcmd); */
kfree(pcmd->parmbuf);
kfree(pcmd);
}
-u8 rtw_createbss_cmd(struct adapter *padapter)
+u8 rtw_createbss_cmd(struct adapter *padapter)
{
struct cmd_obj *pcmd;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
- struct wlan_bssid_ex *pdev_network = &padapter->registrypriv.dev_network;
+ struct wlan_bssid_ex *pdev_network =
+ &padapter->registrypriv.dev_network;
u8 res = _SUCCESS;
pcmd = kzalloc_obj(*pcmd, GFP_ATOMIC);
@@ -612,7 +645,8 @@ u8 rtw_createbss_cmd(struct adapter *padapter)
INIT_LIST_HEAD(&pcmd->list);
pcmd->cmdcode = _CreateBss_CMD_;
pcmd->parmbuf = (unsigned char *)pdev_network;
- pcmd->cmdsz = get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)pdev_network);
+ pcmd->cmdsz =
+ get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)pdev_network);
pcmd->rsp = NULL;
pcmd->rspsz = 0;
@@ -624,10 +658,10 @@ u8 rtw_createbss_cmd(struct adapter *padapter)
return res;
}
-int rtw_startbss_cmd(struct adapter *padapter, int flags)
+int rtw_startbss_cmd(struct adapter *padapter, int flags)
{
struct cmd_obj *pcmd;
- struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
+ struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
struct submit_ctx sctx;
int res = _SUCCESS;
@@ -645,7 +679,7 @@ int rtw_startbss_cmd(struct adapter *padapter, int flags)
INIT_LIST_HEAD(&pcmd->list);
pcmd->cmdcode = GEN_CMD_CODE(_CreateBss);
pcmd->parmbuf = NULL;
- pcmd->cmdsz = 0;
+ pcmd->cmdsz = 0;
pcmd->rsp = NULL;
pcmd->rspsz = 0;
@@ -658,7 +692,8 @@ int rtw_startbss_cmd(struct adapter *padapter, int flags)
if (res == _SUCCESS && (flags & RTW_CMDF_WAIT_ACK)) {
rtw_sctx_wait(&sctx);
- if (mutex_lock_interruptible(&pcmdpriv->sctx_mutex) == 0) {
+ if (mutex_lock_interruptible(&pcmdpriv->sctx_mutex) ==
+ 0) {
if (sctx.status == RTW_SCTX_SUBMITTED)
pcmd->sctx = NULL;
mutex_unlock(&pcmdpriv->sctx_mutex);
@@ -670,7 +705,7 @@ int rtw_startbss_cmd(struct adapter *padapter, int flags)
return res;
}
-u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
+u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
{
u8 res = _SUCCESS;
unsigned int t_len = 0;
@@ -682,7 +717,8 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
struct security_priv *psecuritypriv = &padapter->securitypriv;
struct registry_priv *pregistrypriv = &padapter->registrypriv;
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
- enum ndis_802_11_network_infrastructure ndis_network_mode = pnetwork->network.infrastructure_mode;
+ enum ndis_802_11_network_infrastructure ndis_network_mode =
+ pnetwork->network.infrastructure_mode;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
u32 tmp_len;
@@ -718,14 +754,18 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
memset(psecnetwork, 0, t_len);
- memcpy(psecnetwork, &pnetwork->network, get_wlan_bssid_ex_sz(&pnetwork->network));
+ memcpy(psecnetwork, &pnetwork->network,
+ get_wlan_bssid_ex_sz(&pnetwork->network));
- psecuritypriv->authenticator_ie[0] = (unsigned char)psecnetwork->ie_length;
+ psecuritypriv->authenticator_ie[0] =
+ (unsigned char)psecnetwork->ie_length;
if ((psecnetwork->ie_length - 12) < (256 - 1))
- memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->ies[12], psecnetwork->ie_length - 12);
+ memcpy(&psecuritypriv->authenticator_ie[1],
+ &psecnetwork->ies[12], psecnetwork->ie_length - 12);
else
- memcpy(&psecuritypriv->authenticator_ie[1], &psecnetwork->ies[12], (256 - 1));
+ memcpy(&psecuritypriv->authenticator_ie[1],
+ &psecnetwork->ies[12], (256 - 1));
psecnetwork->ie_length = 0;
/* Added by Albert 2009/02/18 */
@@ -734,12 +774,12 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
/* the driver just has the bssid information for PMKIDList searching. */
if (!pmlmepriv->assoc_by_bssid)
- memcpy(&pmlmepriv->assoc_bssid[0], &pnetwork->network.mac_address[0], ETH_ALEN);
+ memcpy(&pmlmepriv->assoc_bssid[0],
+ &pnetwork->network.mac_address[0], ETH_ALEN);
- psecnetwork->ie_length = rtw_restruct_sec_ie(padapter,
- &pnetwork->network.ies[0],
- &psecnetwork->ies[0],
- pnetwork->network.ie_length);
+ psecnetwork->ie_length = rtw_restruct_sec_ie(
+ padapter, &pnetwork->network.ies[0], &psecnetwork->ies[0],
+ pnetwork->network.ie_length);
pqospriv->qos_option = 0;
@@ -752,14 +792,17 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
if (psecnetwork->ie_length != tmp_len) {
psecnetwork->ie_length = tmp_len;
- pqospriv->qos_option = 1; /* There is WMM IE in this corresp. beacon */
+ pqospriv->qos_option =
+ 1; /* There is WMM IE in this corresp. beacon */
} else {
- pqospriv->qos_option = 0;/* There is no WMM IE in this corresp. beacon */
+ pqospriv->qos_option =
+ 0; /* There is no WMM IE in this corresp. beacon */
}
}
phtpriv->ht_option = false;
- ptmp = rtw_get_ie(&pnetwork->network.ies[12], WLAN_EID_HT_CAPABILITY, &tmp_len, pnetwork->network.ie_length - 12);
+ ptmp = rtw_get_ie(&pnetwork->network.ies[12], WLAN_EID_HT_CAPABILITY,
+ &tmp_len, pnetwork->network.ie_length - 12);
if (pregistrypriv->ht_enable && ptmp && tmp_len > 0) {
/* Added by Albert 2010/06/23 */
/* For the WEP mode, we will use the bg mode to do the connection to avoid some IOT issue. */
@@ -769,23 +812,30 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
(padapter->securitypriv.dot11PrivacyAlgrthm != _TKIP_)) {
rtw_ht_use_default_setting(padapter);
- rtw_build_wmm_ie_ht(padapter, &psecnetwork->ies[12], &psecnetwork->ie_length);
+ rtw_build_wmm_ie_ht(padapter, &psecnetwork->ies[12],
+ &psecnetwork->ie_length);
/* rtw_restructure_ht_ie */
- rtw_restructure_ht_ie(padapter, &pnetwork->network.ies[12], &psecnetwork->ies[0],
- pnetwork->network.ie_length - 12, &psecnetwork->ie_length,
- pnetwork->network.configuration.ds_config);
+ rtw_restructure_ht_ie(
+ padapter, &pnetwork->network.ies[12],
+ &psecnetwork->ies[0],
+ pnetwork->network.ie_length - 12,
+ &psecnetwork->ie_length,
+ pnetwork->network.configuration.ds_config);
}
}
- rtw_append_exented_cap(padapter, &psecnetwork->ies[0], &psecnetwork->ie_length);
+ rtw_append_exented_cap(padapter, &psecnetwork->ies[0],
+ &psecnetwork->ie_length);
- pmlmeinfo->assoc_AP_vendor = check_assoc_AP(pnetwork->network.ies, pnetwork->network.ie_length);
+ pmlmeinfo->assoc_AP_vendor = check_assoc_AP(
+ pnetwork->network.ies, pnetwork->network.ie_length);
- pcmd->cmdsz = get_wlan_bssid_ex_sz(psecnetwork);/* get cmdsz before endian conversion */
+ pcmd->cmdsz = get_wlan_bssid_ex_sz(
+ psecnetwork); /* get cmdsz before endian conversion */
INIT_LIST_HEAD(&pcmd->list);
- pcmd->cmdcode = _JoinBss_CMD_;/* GEN_CMD_CODE(_JoinBss) */
+ pcmd->cmdcode = _JoinBss_CMD_; /* GEN_CMD_CODE(_JoinBss) */
pcmd->parmbuf = (unsigned char *)psecnetwork;
pcmd->rsp = NULL;
pcmd->rspsz = 0;
@@ -796,7 +846,8 @@ u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork)
return res;
}
-u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue) /* for sta_mode */
+u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms,
+ bool enqueue) /* for sta_mode */
{
struct cmd_obj *cmdobj = NULL;
struct disconnect_parm *param = NULL;
@@ -832,12 +883,14 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueu
return res;
}
-u8 rtw_setopmode_cmd(struct adapter *padapter, enum ndis_802_11_network_infrastructure networktype, bool enqueue)
+u8 rtw_setopmode_cmd(struct adapter *padapter,
+ enum ndis_802_11_network_infrastructure networktype,
+ bool enqueue)
{
- struct cmd_obj *ph2c;
- struct setopmode_parm *psetop;
+ struct cmd_obj *ph2c;
+ struct setopmode_parm *psetop;
- struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
+ struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
psetop = kzalloc_obj(*psetop);
@@ -865,7 +918,8 @@ u8 rtw_setopmode_cmd(struct adapter *padapter, enum ndis_802_11_network_infrast
return res;
}
-u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_key, bool enqueue)
+u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta,
+ u8 unicast_key, bool enqueue)
{
struct cmd_obj *ph2c;
struct set_stakey_parm *psetstakey_para;
@@ -884,14 +938,21 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
memcpy(psetstakey_para->addr, sta->hwaddr, ETH_ALEN);
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE))
- psetstakey_para->algorithm = (unsigned char)psecuritypriv->dot11PrivacyAlgrthm;
+ psetstakey_para->algorithm =
+ (unsigned char)psecuritypriv->dot11PrivacyAlgrthm;
else
- GET_ENCRY_ALGO(psecuritypriv, sta, psetstakey_para->algorithm, false);
+ GET_ENCRY_ALGO(psecuritypriv, sta, psetstakey_para->algorithm,
+ false);
if (unicast_key)
memcpy(&psetstakey_para->key, &sta->dot118021x_UncstKey, 16);
else
- memcpy(&psetstakey_para->key, &psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey, 16);
+ memcpy(&psetstakey_para->key,
+ &psecuritypriv
+ ->dot118021XGrpKey[psecuritypriv
+ ->dot118021XGrpKeyid]
+ .skey,
+ 16);
/* jeff: set this because at least sw key is ready */
padapter->securitypriv.busetkipkey = true;
@@ -912,7 +973,8 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
goto exit;
}
- init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para, _SetStaKey_CMD_);
+ init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para,
+ _SetStaKey_CMD_);
ph2c->rsp = (u8 *)psetstakey_rsp;
ph2c->rspsz = sizeof(struct set_stakey_rsp);
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -924,7 +986,8 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
return res;
}
-u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueue)
+u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta,
+ u8 enqueue)
{
struct cmd_obj *ph2c;
struct set_stakey_parm *psetstakey_para;
@@ -934,7 +997,8 @@ u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueu
u8 res = _SUCCESS;
if (!enqueue) {
- while ((cam_id = rtw_camid_search(padapter, sta->hwaddr, -1)) >= 0) {
+ while ((cam_id = rtw_camid_search(padapter, sta->hwaddr, -1)) >=
+ 0) {
netdev_dbg(padapter->pnetdev,
"clear key for addr:%pM, camid:%d\n",
sta->hwaddr, cam_id);
@@ -963,7 +1027,8 @@ u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueu
goto exit;
}
- init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para, _SetStaKey_CMD_);
+ init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para,
+ _SetStaKey_CMD_);
ph2c->rsp = (u8 *)psetstakey_rsp;
ph2c->rspsz = sizeof(struct set_stakey_rsp);
@@ -1001,7 +1066,8 @@ u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr)
paddbareq_parm->tid = tid;
memcpy(paddbareq_parm->addr, addr, ETH_ALEN);
- init_h2fwcmd_w_parm_no_rsp(ph2c, paddbareq_parm, GEN_CMD_CODE(_AddBAReq));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, paddbareq_parm,
+ GEN_CMD_CODE(_AddBAReq));
/* rtw_enqueue_cmd(pcmdpriv, ph2c); */
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1014,7 +1080,7 @@ u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr)
u8 rtw_reset_securitypriv_cmd(struct adapter *padapter)
{
struct cmd_obj *ph2c;
- struct drvextra_cmd_parm *pdrvextra_cmd_parm;
+ struct drvextra_cmd_parm *pdrvextra_cmd_parm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
@@ -1036,7 +1102,8 @@ u8 rtw_reset_securitypriv_cmd(struct adapter *padapter)
pdrvextra_cmd_parm->size = 0;
pdrvextra_cmd_parm->pbuf = NULL;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
/* rtw_enqueue_cmd(pcmdpriv, ph2c); */
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1047,7 +1114,7 @@ u8 rtw_reset_securitypriv_cmd(struct adapter *padapter)
u8 rtw_free_assoc_resources_cmd(struct adapter *padapter)
{
struct cmd_obj *ph2c;
- struct drvextra_cmd_parm *pdrvextra_cmd_parm;
+ struct drvextra_cmd_parm *pdrvextra_cmd_parm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
@@ -1069,7 +1136,8 @@ u8 rtw_free_assoc_resources_cmd(struct adapter *padapter)
pdrvextra_cmd_parm->size = 0;
pdrvextra_cmd_parm->pbuf = NULL;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
/* rtw_enqueue_cmd(pcmdpriv, ph2c); */
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1080,7 +1148,7 @@ u8 rtw_free_assoc_resources_cmd(struct adapter *padapter)
u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter)
{
struct cmd_obj *ph2c;
- struct drvextra_cmd_parm *pdrvextra_cmd_parm;
+ struct drvextra_cmd_parm *pdrvextra_cmd_parm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
@@ -1102,7 +1170,8 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter)
pdrvextra_cmd_parm->type = 0;
pdrvextra_cmd_parm->size = 0;
pdrvextra_cmd_parm->pbuf = NULL;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
/* rtw_enqueue_cmd(pcmdpriv, ph2c); */
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1125,13 +1194,23 @@ static void collect_traffic_statistics(struct adapter *padapter)
pdvobjpriv->traffic_stat.rx_drop = padapter->recvpriv.rx_drop;
/* Calculate throughput in last interval */
- pdvobjpriv->traffic_stat.cur_tx_bytes = pdvobjpriv->traffic_stat.tx_bytes - pdvobjpriv->traffic_stat.last_tx_bytes;
- pdvobjpriv->traffic_stat.cur_rx_bytes = pdvobjpriv->traffic_stat.rx_bytes - pdvobjpriv->traffic_stat.last_rx_bytes;
- pdvobjpriv->traffic_stat.last_tx_bytes = pdvobjpriv->traffic_stat.tx_bytes;
- pdvobjpriv->traffic_stat.last_rx_bytes = pdvobjpriv->traffic_stat.rx_bytes;
-
- pdvobjpriv->traffic_stat.cur_tx_tp = (u32)(pdvobjpriv->traffic_stat.cur_tx_bytes * 8 / 2 / 1024 / 1024);
- pdvobjpriv->traffic_stat.cur_rx_tp = (u32)(pdvobjpriv->traffic_stat.cur_rx_bytes * 8 / 2 / 1024 / 1024);
+ pdvobjpriv->traffic_stat.cur_tx_bytes =
+ pdvobjpriv->traffic_stat.tx_bytes -
+ pdvobjpriv->traffic_stat.last_tx_bytes;
+ pdvobjpriv->traffic_stat.cur_rx_bytes =
+ pdvobjpriv->traffic_stat.rx_bytes -
+ pdvobjpriv->traffic_stat.last_rx_bytes;
+ pdvobjpriv->traffic_stat.last_tx_bytes =
+ pdvobjpriv->traffic_stat.tx_bytes;
+ pdvobjpriv->traffic_stat.last_rx_bytes =
+ pdvobjpriv->traffic_stat.rx_bytes;
+
+ pdvobjpriv->traffic_stat.cur_tx_tp =
+ (u32)(pdvobjpriv->traffic_stat.cur_tx_bytes * 8 / 2 / 1024 /
+ 1024);
+ pdvobjpriv->traffic_stat.cur_rx_tp =
+ (u32)(pdvobjpriv->traffic_stat.cur_rx_bytes * 8 / 2 / 1024 /
+ 1024);
}
bool traffic_status_watchdog(struct adapter *padapter, bool from_timer)
@@ -1154,13 +1233,15 @@ bool traffic_status_watchdog(struct adapter *padapter, bool from_timer)
/* Determine if our traffic is busy now */
/* */
if ((check_fwstate(pmlmepriv, _FW_LINKED))
- /*&& !MgntInitAdapterInProgress(pMgntInfo)*/) {
+ /*&& !MgntInitAdapterInProgress(pMgntInfo)*/) {
/* if we raise busy_traffic in last watchdog, using lower threshold. */
if (pmlmepriv->link_detect_info.busy_traffic)
busy_threshold = busy_threshold_low;
- if (pmlmepriv->link_detect_info.num_rx_ok_in_period > busy_threshold ||
- pmlmepriv->link_detect_info.num_tx_ok_in_period > busy_threshold) {
+ if (pmlmepriv->link_detect_info.num_rx_ok_in_period >
+ busy_threshold ||
+ pmlmepriv->link_detect_info.num_tx_ok_in_period >
+ busy_threshold) {
busy_traffic = true;
if (pmlmepriv->link_detect_info.num_rx_ok_in_period >
@@ -1185,25 +1266,35 @@ bool traffic_status_watchdog(struct adapter *padapter, bool from_timer)
/* check traffic for powersaving. */
if (((pmlmepriv->link_detect_info.num_rx_unicast_ok_in_period +
pmlmepriv->link_detect_info.num_tx_ok_in_period) > 8) ||
- (pmlmepriv->link_detect_info.num_rx_unicast_ok_in_period > 2)) {
+ (pmlmepriv->link_detect_info.num_rx_unicast_ok_in_period >
+ 2)) {
should_enter_ps = false;
if (busy_traffic) {
- if (pmlmepriv->link_detect_info.traffic_transition_count <= 4)
- pmlmepriv->link_detect_info.traffic_transition_count = 4;
-
- pmlmepriv->link_detect_info.traffic_transition_count++;
-
- if (pmlmepriv->link_detect_info.traffic_transition_count > 30)
- pmlmepriv->link_detect_info.traffic_transition_count = 30;
+ if (pmlmepriv->link_detect_info
+ .traffic_transition_count <= 4)
+ pmlmepriv->link_detect_info
+ .traffic_transition_count = 4;
+
+ pmlmepriv->link_detect_info
+ .traffic_transition_count++;
+
+ if (pmlmepriv->link_detect_info
+ .traffic_transition_count > 30)
+ pmlmepriv->link_detect_info
+ .traffic_transition_count = 30;
}
} else {
- if (pmlmepriv->link_detect_info.traffic_transition_count >= 2)
- pmlmepriv->link_detect_info.traffic_transition_count -= 2;
+ if (pmlmepriv->link_detect_info
+ .traffic_transition_count >= 2)
+ pmlmepriv->link_detect_info
+ .traffic_transition_count -= 2;
else
- pmlmepriv->link_detect_info.traffic_transition_count = 0;
+ pmlmepriv->link_detect_info
+ .traffic_transition_count = 0;
- if (pmlmepriv->link_detect_info.traffic_transition_count == 0)
+ if (pmlmepriv->link_detect_info
+ .traffic_transition_count == 0)
should_enter_ps = true;
}
@@ -1215,7 +1306,8 @@ bool traffic_status_watchdog(struct adapter *padapter, bool from_timer)
if (!from_timer)
LPS_Leave(padapter, "TRAFFIC_BUSY");
else
- rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_TRAFFIC_BUSY, 1);
+ rtw_lps_ctrl_wk_cmd(padapter,
+ LPS_CTRL_TRAFFIC_BUSY, 1);
}
} else {
struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
@@ -1235,8 +1327,10 @@ bool traffic_status_watchdog(struct adapter *padapter, bool from_timer)
pmlmepriv->link_detect_info.tx_busy_traffic = tx_busy_traffic;
pmlmepriv->link_detect_info.rx_busy_traffic = rx_busy_traffic;
pmlmepriv->link_detect_info.higher_busy_traffic = higher_busy_traffic;
- pmlmepriv->link_detect_info.higher_busy_rx_traffic = higher_busy_rx_traffic;
- pmlmepriv->link_detect_info.higher_busy_tx_traffic = higher_busy_tx_traffic;
+ pmlmepriv->link_detect_info.higher_busy_rx_traffic =
+ higher_busy_rx_traffic;
+ pmlmepriv->link_detect_info.higher_busy_tx_traffic =
+ higher_busy_tx_traffic;
return should_enter_ps;
}
@@ -1295,17 +1389,19 @@ void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type)
LPS_Leave(padapter, "LPS_CTRL_JOINBSS");
break;
case LPS_CTRL_CONNECT:
- mstatus = 1;/* connect */
+ mstatus = 1; /* connect */
/* Reset LPS Setting */
pwrpriv->LpsIdleCount = 0;
- rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_JOINBSSRPT, (u8 *)(&mstatus));
+ rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_JOINBSSRPT,
+ (u8 *)(&mstatus));
rtw_btcoex_media_status_notify(padapter, mstatus);
break;
case LPS_CTRL_DISCONNECT:
- mstatus = 0;/* disconnect */
+ mstatus = 0; /* disconnect */
rtw_btcoex_media_status_notify(padapter, mstatus);
LPS_Leave(padapter, "LPS_CTRL_DISCONNECT");
- rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_JOINBSSRPT, (u8 *)(&mstatus));
+ rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_JOINBSSRPT,
+ (u8 *)(&mstatus));
break;
case LPS_CTRL_SPECIAL_PACKET:
pwrpriv->delay_lps_last_time_stamp = jiffies;
@@ -1325,7 +1421,7 @@ void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type)
u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue)
{
- struct cmd_obj *ph2c;
+ struct cmd_obj *ph2c;
struct drvextra_cmd_parm *pdrvextra_cmd_parm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
/* struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(padapter); */
@@ -1338,8 +1434,8 @@ u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue)
goto exit;
}
- pdrvextra_cmd_parm = kzalloc_obj(*pdrvextra_cmd_parm,
- GFP_ATOMIC);
+ pdrvextra_cmd_parm =
+ kzalloc_obj(*pdrvextra_cmd_parm, GFP_ATOMIC);
if (!pdrvextra_cmd_parm) {
kfree(ph2c);
res = _FAIL;
@@ -1351,7 +1447,8 @@ u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue)
pdrvextra_cmd_parm->size = 0;
pdrvextra_cmd_parm->pbuf = NULL;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
} else {
@@ -1369,8 +1466,8 @@ static void rtw_dm_in_lps_hdl(struct adapter *padapter)
u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter)
{
- struct cmd_obj *ph2c;
- struct drvextra_cmd_parm *pdrvextra_cmd_parm;
+ struct cmd_obj *ph2c;
+ struct drvextra_cmd_parm *pdrvextra_cmd_parm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
@@ -1392,7 +1489,8 @@ u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter)
pdrvextra_cmd_parm->size = 0;
pdrvextra_cmd_parm->pbuf = NULL;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1414,10 +1512,12 @@ static void rtw_lps_change_dtim_hdl(struct adapter *padapter, u8 dtim)
pwrpriv->dtim = dtim;
- if (pwrpriv->fw_current_in_ps_mode && (pwrpriv->pwr_mode > PS_MODE_ACTIVE)) {
+ if (pwrpriv->fw_current_in_ps_mode &&
+ (pwrpriv->pwr_mode > PS_MODE_ACTIVE)) {
u8 ps_mode = pwrpriv->pwr_mode;
- rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
+ rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE,
+ (u8 *)(&ps_mode));
}
mutex_unlock(&pwrpriv->lock);
@@ -1431,8 +1531,8 @@ static void rtw_dm_ra_mask_hdl(struct adapter *padapter, struct sta_info *psta)
u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta)
{
- struct cmd_obj *ph2c;
- struct drvextra_cmd_parm *pdrvextra_cmd_parm;
+ struct cmd_obj *ph2c;
+ struct drvextra_cmd_parm *pdrvextra_cmd_parm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
@@ -1454,7 +1554,8 @@ u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta)
pdrvextra_cmd_parm->size = 0;
pdrvextra_cmd_parm->pbuf = psta;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1465,8 +1566,8 @@ u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta)
u8 rtw_ps_cmd(struct adapter *padapter)
{
- struct cmd_obj *ppscmd;
- struct drvextra_cmd_parm *pdrvextra_cmd_parm;
+ struct cmd_obj *ppscmd;
+ struct drvextra_cmd_parm *pdrvextra_cmd_parm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
@@ -1487,7 +1588,8 @@ u8 rtw_ps_cmd(struct adapter *padapter)
pdrvextra_cmd_parm->type = 0;
pdrvextra_cmd_parm->size = 0;
pdrvextra_cmd_parm->pbuf = NULL;
- init_h2fwcmd_w_parm_no_rsp(ppscmd, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ppscmd, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
res = rtw_enqueue_cmd(pcmdpriv, ppscmd);
@@ -1526,8 +1628,9 @@ static void rtw_chk_hi_queue_hdl(struct adapter *padapter)
pstapriv->sta_dz_bitmap &= ~BIT(0);
if (update_tim)
- update_beacon(padapter, WLAN_EID_TIM, NULL, true);
- } else {/* re check again */
+ update_beacon(padapter, WLAN_EID_TIM, NULL,
+ true);
+ } else { /* re check again */
rtw_chk_hi_queue_cmd(padapter);
}
}
@@ -1535,8 +1638,8 @@ static void rtw_chk_hi_queue_hdl(struct adapter *padapter)
u8 rtw_chk_hi_queue_cmd(struct adapter *padapter)
{
- struct cmd_obj *ph2c;
- struct drvextra_cmd_parm *pdrvextra_cmd_parm;
+ struct cmd_obj *ph2c;
+ struct drvextra_cmd_parm *pdrvextra_cmd_parm;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
u8 res = _SUCCESS;
@@ -1558,7 +1661,8 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter)
pdrvextra_cmd_parm->size = 0;
pdrvextra_cmd_parm->pbuf = NULL;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1570,31 +1674,31 @@ struct btinfo {
u8 cid;
u8 len;
- u8 bConnection:1;
- u8 bSCOeSCO:1;
- u8 bInQPage:1;
- u8 bACLBusy:1;
- u8 bSCOBusy:1;
- u8 bHID:1;
- u8 bA2DP:1;
- u8 bFTP:1;
-
- u8 retry_cnt:4;
- u8 rsvd_34:1;
- u8 rsvd_35:1;
- u8 rsvd_36:1;
- u8 rsvd_37:1;
+ u8 bConnection : 1;
+ u8 bSCOeSCO : 1;
+ u8 bInQPage : 1;
+ u8 bACLBusy : 1;
+ u8 bSCOBusy : 1;
+ u8 bHID : 1;
+ u8 bA2DP : 1;
+ u8 bFTP : 1;
+
+ u8 retry_cnt : 4;
+ u8 rsvd_34 : 1;
+ u8 rsvd_35 : 1;
+ u8 rsvd_36 : 1;
+ u8 rsvd_37 : 1;
u8 rssi;
- u8 rsvd_50:1;
- u8 rsvd_51:1;
- u8 rsvd_52:1;
- u8 rsvd_53:1;
- u8 rsvd_54:1;
- u8 rsvd_55:1;
- u8 eSCO_SCO:1;
- u8 Master_Slave:1;
+ u8 rsvd_50 : 1;
+ u8 rsvd_51 : 1;
+ u8 rsvd_52 : 1;
+ u8 rsvd_53 : 1;
+ u8 rsvd_54 : 1;
+ u8 rsvd_55 : 1;
+ u8 eSCO_SCO : 1;
+ u8 Master_Slave : 1;
u8 rsvd_6;
u8 rsvd_7;
@@ -1602,8 +1706,8 @@ struct btinfo {
static void rtw_btinfo_hdl(struct adapter *adapter, u8 *buf, u16 buf_len)
{
- #define BTINFO_WIFI_FETCH 0x23
- #define BTINFO_BT_AUTO_RPT 0x27
+#define BTINFO_WIFI_FETCH 0x23
+#define BTINFO_BT_AUTO_RPT 0x27
struct btinfo *info = (struct btinfo *)buf;
u8 cmd_idx;
u8 len;
@@ -1650,7 +1754,8 @@ u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length)
pdrvextra_cmd_parm->size = length;
pdrvextra_cmd_parm->pbuf = pbuf;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1682,10 +1787,11 @@ u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt)
pdrvextra_cmd_parm->ec_id = C2H_WK_CID;
pdrvextra_cmd_parm->type = 0;
- pdrvextra_cmd_parm->size = c2h_evt ? 16 : 0;
+ pdrvextra_cmd_parm->size = c2h_evt ? 16 : 0;
pdrvextra_cmd_parm->pbuf = c2h_evt;
- init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm,
+ GEN_CMD_CODE(_Set_Drv_Extra));
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -1697,7 +1803,8 @@ u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt)
static void c2h_wk_callback(struct work_struct *work)
{
struct evt_priv *evtpriv = container_of(work, struct evt_priv, c2h_wk);
- struct adapter *adapter = container_of(evtpriv, struct adapter, evtpriv);
+ struct adapter *adapter =
+ container_of(evtpriv, struct adapter, evtpriv);
u8 *c2h_evt;
c2h_id_filter ccx_id_filter = rtw_hal_c2h_id_filter_ccx(adapter);
@@ -1712,7 +1819,8 @@ static void c2h_wk_callback(struct work_struct *work)
c2h_evt = kmalloc(16, GFP_ATOMIC);
if (c2h_evt) {
/* This C2H event is not read, read & clear now */
- if (c2h_evt_read_88xx(adapter, c2h_evt) != _SUCCESS) {
+ if (c2h_evt_read_88xx(adapter, c2h_evt) !=
+ _SUCCESS) {
kfree(c2h_evt);
continue;
}
@@ -1751,7 +1859,7 @@ u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
pdrvextra_cmd = (struct drvextra_cmd_parm *)pbuf;
switch (pdrvextra_cmd->ec_id) {
- case DYNAMIC_CHK_WK_CID:/* only primary padapter go to this cmd, but execute dynamic_chk_wk_hdl() for two interfaces */
+ case DYNAMIC_CHK_WK_CID: /* only primary padapter go to this cmd, but execute dynamic_chk_wk_hdl() for two interfaces */
dynamic_chk_wk_hdl(padapter);
break;
case POWER_SAVING_CTRL_WK_CID:
@@ -1778,13 +1886,16 @@ u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
break;
case C2H_WK_CID:
rtw_hal_set_hwreg_with_buf(padapter, HW_VAR_C2H_HANDLE,
- pdrvextra_cmd->pbuf, pdrvextra_cmd->size);
+ pdrvextra_cmd->pbuf,
+ pdrvextra_cmd->size);
break;
case DM_RA_MSK_WK_CID:
- rtw_dm_ra_mask_hdl(padapter, (struct sta_info *)pdrvextra_cmd->pbuf);
+ rtw_dm_ra_mask_hdl(padapter,
+ (struct sta_info *)pdrvextra_cmd->pbuf);
break;
case BTINFO_WK_CID:
- rtw_btinfo_hdl(padapter, pdrvextra_cmd->pbuf, pdrvextra_cmd->size);
+ rtw_btinfo_hdl(padapter, pdrvextra_cmd->pbuf,
+ pdrvextra_cmd->size);
break;
default:
break;
@@ -1796,9 +1907,9 @@ u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
return H2C_SUCCESS;
}
-void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
+void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
{
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
if (pcmd->res != H2C_SUCCESS) {
/* TODO: cancel timer and do timeout handler directly... */
@@ -1809,9 +1920,9 @@ void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
rtw_free_cmd_obj(pcmd);
}
-void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
+void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
{
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
if (pcmd->res != H2C_SUCCESS) {
spin_lock_bh(&pmlmepriv->lock);
@@ -1824,9 +1935,9 @@ void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
rtw_free_cmd_obj(pcmd);
}
-void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
+void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
{
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
if (pcmd->res != H2C_SUCCESS) {
/* TODO: cancel timer and do timeout handler directly... */
@@ -1840,7 +1951,7 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
{
struct sta_info *psta = NULL;
struct wlan_network *pwlan = NULL;
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)pcmd->parmbuf;
struct wlan_network *tgt_network = &pmlmepriv->cur_network;
@@ -1855,9 +1966,11 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
spin_lock_bh(&pmlmepriv->lock);
if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
- psta = rtw_get_stainfo(&padapter->stapriv, pnetwork->mac_address);
+ psta = rtw_get_stainfo(&padapter->stapriv,
+ pnetwork->mac_address);
if (!psta) {
- psta = rtw_alloc_stainfo(&padapter->stapriv, pnetwork->mac_address);
+ psta = rtw_alloc_stainfo(&padapter->stapriv,
+ pnetwork->mac_address);
if (!psta)
goto createbss_cmd_fail;
}
@@ -1867,14 +1980,16 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
pwlan = rtw_alloc_network(pmlmepriv);
spin_lock_bh(&pmlmepriv->scanned_queue.lock);
if (!pwlan) {
- pwlan = rtw_get_oldest_wlan_network(&pmlmepriv->scanned_queue);
+ pwlan = rtw_get_oldest_wlan_network(
+ &pmlmepriv->scanned_queue);
if (!pwlan) {
spin_unlock_bh(&pmlmepriv->scanned_queue.lock);
goto createbss_cmd_fail;
}
pwlan->last_scanned = jiffies;
} else {
- list_add_tail(&pwlan->list, &pmlmepriv->scanned_queue.queue);
+ list_add_tail(&pwlan->list,
+ &pmlmepriv->scanned_queue.queue);
}
pnetwork->length = get_wlan_bssid_ex_sz(pnetwork);
@@ -1884,7 +1999,8 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
/* list_add_tail(&(pwlan->list), &pmlmepriv->scanned_queue.queue); */
/* copy pdev_network information to pmlmepriv->cur_network */
- memcpy(&tgt_network->network, pnetwork, (get_wlan_bssid_ex_sz(pnetwork)));
+ memcpy(&tgt_network->network, pnetwork,
+ (get_wlan_bssid_ex_sz(pnetwork)));
_clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
@@ -1899,10 +2015,12 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
rtw_free_cmd_obj(pcmd);
}
-void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
+void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd)
{
struct sta_priv *pstapriv = &padapter->stapriv;
- struct set_stakey_rsp *psetstakey_rsp = (struct set_stakey_rsp *)(pcmd->rsp);
+ struct set_stakey_rsp *psetstakey_rsp =
+ (struct set_stakey_rsp *)(pcmd->rsp);
struct sta_info *psta = rtw_get_stainfo(pstapriv, psetstakey_rsp->addr);
if (!psta)
@@ -1912,12 +2030,15 @@ void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pc
rtw_free_cmd_obj(pcmd);
}
-void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd)
+void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd)
{
struct sta_priv *pstapriv = &padapter->stapriv;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct set_assocsta_parm *passocsta_parm = (struct set_assocsta_parm *)(pcmd->parmbuf);
- struct set_assocsta_rsp *passocsta_rsp = (struct set_assocsta_rsp *)(pcmd->rsp);
+ struct set_assocsta_parm *passocsta_parm =
+ (struct set_assocsta_parm *)(pcmd->parmbuf);
+ struct set_assocsta_rsp *passocsta_rsp =
+ (struct set_assocsta_rsp *)(pcmd->rsp);
struct sta_info *psta = rtw_get_stainfo(pstapriv, passocsta_parm->addr);
if (!psta)
@@ -1928,7 +2049,8 @@ void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *
spin_lock_bh(&pmlmepriv->lock);
- if (check_fwstate(pmlmepriv, WIFI_MP_STATE) && check_fwstate(pmlmepriv, _FW_UNDER_LINKING))
+ if (check_fwstate(pmlmepriv, WIFI_MP_STATE) &&
+ check_fwstate(pmlmepriv, _FW_UNDER_LINKING))
_clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
set_fwstate(pmlmepriv, _FW_LINKED);
diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c
index a40d6eab72496..384c0caca393c 100644
--- a/drivers/staging/rtl8723bs/core/rtw_efuse.c
+++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c
@@ -9,8 +9,7 @@
#include <linux/jiffies.h>
/* 11/16/2008 MH Add description. Get current efuse area enabled word!!. */
-u8
-rtw_efuse_calculate_word_counts(u8 word_en)
+u8 rtw_efuse_calculate_word_counts(u8 word_en)
{
u8 word_cnts = 0;
@@ -41,19 +40,17 @@ rtw_efuse_calculate_word_counts(u8 word_en)
* 09/23/2008 MHC Copy from WMAC.
*
*/
-u8
-rtw_efuse_read_1_byte(
-struct adapter *Adapter,
-u16 Address)
+u8 rtw_efuse_read_1_byte(struct adapter *Adapter, u16 Address)
{
- u8 Bytetemp = {0x00};
- u8 temp = {0x00};
+ u8 Bytetemp = { 0x00 };
+ u8 temp = { 0x00 };
u32 k = 0;
u16 contentLen = 0;
- Hal_GetEfuseDefinition(Adapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN, &contentLen);
+ Hal_GetEfuseDefinition(Adapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN,
+ &contentLen);
- if (Address < contentLen) {/* E-fuse 512Byte */
+ if (Address < contentLen) { /* E-fuse 512Byte */
/* Write E-fuse Register address bit0~7 */
temp = Address & 0xFF;
rtw_write8(Adapter, EFUSE_CTRL + 1, temp);
@@ -82,11 +79,7 @@ u16 Address)
} /* rtw_efuse_read_1_byte */
/* 11/16/2008 MH Read one byte from real Efuse. */
-u8
-rtw_efuse_one_byte_read(
-struct adapter *padapter,
-u16 addr,
-u8 *data)
+u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data)
{
u32 tmpidx = 0;
u8 bResult;
@@ -100,15 +93,17 @@ u8 *data)
/* -----------------e-fuse reg ctrl --------------------------------- */
/* address */
rtw_write8(padapter, EFUSE_CTRL + 1, (u8)(addr & 0xff));
- rtw_write8(padapter, EFUSE_CTRL + 2, ((u8)((addr >> 8) & 0x03)) |
- (rtw_read8(padapter, EFUSE_CTRL + 2) & 0xFC));
+ rtw_write8(padapter, EFUSE_CTRL + 2,
+ ((u8)((addr >> 8) & 0x03)) |
+ (rtw_read8(padapter, EFUSE_CTRL + 2) & 0xFC));
/* rtw_write8(padapter, EFUSE_CTRL+3, 0x72); read cmd */
/* Write bit 32 0 */
readbyte = rtw_read8(padapter, EFUSE_CTRL + 3);
rtw_write8(padapter, EFUSE_CTRL + 3, (readbyte & 0x7f));
- while (!(0x80 & rtw_read8(padapter, EFUSE_CTRL + 3)) && (tmpidx < 1000)) {
+ while (!(0x80 & rtw_read8(padapter, EFUSE_CTRL + 3)) &&
+ (tmpidx < 1000)) {
mdelay(1);
tmpidx++;
}
@@ -145,7 +140,8 @@ static void Efuse_ReadAllMap(struct adapter *padapter, u8 efuseType, u8 *Efuse)
Hal_EfusePowerSwitch(padapter, true);
- Hal_GetEfuseDefinition(padapter, efuseType, TYPE_EFUSE_MAP_LEN, &mapLen);
+ Hal_GetEfuseDefinition(padapter, efuseType, TYPE_EFUSE_MAP_LEN,
+ &mapLen);
Hal_ReadEFuse(padapter, efuseType, 0, mapLen, Efuse);
@@ -170,26 +166,29 @@ static void Efuse_ReadAllMap(struct adapter *padapter, u8 efuseType, u8 *Efuse)
* 11/12/2008 MHC Create Version 0.
*
*/
-static void efuse_ShadowRead1Byte(struct adapter *padapter, u16 Offset, u8 *Value)
+static void efuse_ShadowRead1Byte(struct adapter *padapter, u16 Offset,
+ u8 *Value)
{
struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
*Value = pEEPROM->efuse_eeprom_data[Offset];
-} /* EFUSE_ShadowRead1Byte */
+} /* EFUSE_ShadowRead1Byte */
/* Read Two Bytes */
-static void efuse_ShadowRead2Byte(struct adapter *padapter, u16 Offset, u16 *Value)
+static void efuse_ShadowRead2Byte(struct adapter *padapter, u16 Offset,
+ u16 *Value)
{
struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
*Value = pEEPROM->efuse_eeprom_data[Offset];
*Value |= pEEPROM->efuse_eeprom_data[Offset + 1] << 8;
-} /* EFUSE_ShadowRead2Byte */
+} /* EFUSE_ShadowRead2Byte */
/* Read Four Bytes */
-static void efuse_ShadowRead4Byte(struct adapter *padapter, u16 Offset, u32 *Value)
+static void efuse_ShadowRead4Byte(struct adapter *padapter, u16 Offset,
+ u32 *Value)
{
struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
@@ -198,7 +197,7 @@ static void efuse_ShadowRead4Byte(struct adapter *padapter, u16 Offset, u32 *Val
*Value |= pEEPROM->efuse_eeprom_data[Offset + 2] << 16;
*Value |= pEEPROM->efuse_eeprom_data[Offset + 3] << 24;
-} /* efuse_ShadowRead4Byte */
+} /* efuse_ShadowRead4Byte */
/*-----------------------------------------------------------------------------
* Function: rtw_efuse_shadow_map_update
@@ -221,12 +220,14 @@ void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType)
struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
u16 mapLen = 0;
- Hal_GetEfuseDefinition(padapter, efuseType, TYPE_EFUSE_MAP_LEN, &mapLen);
+ Hal_GetEfuseDefinition(padapter, efuseType, TYPE_EFUSE_MAP_LEN,
+ &mapLen);
if (pEEPROM->bautoload_fail_flag)
memset(pEEPROM->efuse_eeprom_data, 0xFF, mapLen);
else
- Efuse_ReadAllMap(padapter, efuseType, pEEPROM->efuse_eeprom_data);
+ Efuse_ReadAllMap(padapter, efuseType,
+ pEEPROM->efuse_eeprom_data);
/* PlatformMoveMemory((void *)&pHalData->EfuseMap[EFUSE_MODIFY_MAP][0], */
/* void *)&pHalData->EfuseMap[EFUSE_INIT_MAP][0], mapLen); */
@@ -248,7 +249,8 @@ void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType)
* 11/12/2008 MHC Create Version 0.
*
*/
-void rtw_efuse_shadow_read(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value)
+void rtw_efuse_shadow_read(struct adapter *padapter, u8 Type, u16 Offset,
+ u32 *Value)
{
if (Type == 1)
efuse_ShadowRead1Byte(padapter, Offset, (u8 *)Value);
diff --git a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
index 54f805a6b5ce5..3665126d03e24 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
@@ -36,21 +36,17 @@ u8 RSN_CIPHER_SUITE_WEP104[] = { 0x00, 0x0f, 0xac, 5 };
/* */
static u8 WIFI_CCKRATES[] = {
- (IEEE80211_CCK_RATE_1MB | IEEE80211_BASIC_RATE_MASK),
- (IEEE80211_CCK_RATE_2MB | IEEE80211_BASIC_RATE_MASK),
- (IEEE80211_CCK_RATE_5MB | IEEE80211_BASIC_RATE_MASK),
- (IEEE80211_CCK_RATE_11MB | IEEE80211_BASIC_RATE_MASK)
+ (IEEE80211_CCK_RATE_1MB | IEEE80211_BASIC_RATE_MASK),
+ (IEEE80211_CCK_RATE_2MB | IEEE80211_BASIC_RATE_MASK),
+ (IEEE80211_CCK_RATE_5MB | IEEE80211_BASIC_RATE_MASK),
+ (IEEE80211_CCK_RATE_11MB | IEEE80211_BASIC_RATE_MASK)
};
static u8 WIFI_OFDMRATES[] = {
- (IEEE80211_OFDM_RATE_6MB),
- (IEEE80211_OFDM_RATE_9MB),
- (IEEE80211_OFDM_RATE_12MB),
- (IEEE80211_OFDM_RATE_18MB),
- (IEEE80211_OFDM_RATE_24MB),
- IEEE80211_OFDM_RATE_36MB,
- IEEE80211_OFDM_RATE_48MB,
- IEEE80211_OFDM_RATE_54MB
+ (IEEE80211_OFDM_RATE_6MB), (IEEE80211_OFDM_RATE_9MB),
+ (IEEE80211_OFDM_RATE_12MB), (IEEE80211_OFDM_RATE_18MB),
+ (IEEE80211_OFDM_RATE_24MB), IEEE80211_OFDM_RATE_36MB,
+ IEEE80211_OFDM_RATE_48MB, IEEE80211_OFDM_RATE_54MB
};
int rtw_get_bit_value_from_ieee_value(u8 val)
@@ -106,8 +102,8 @@ int rtw_check_network_type(unsigned char *rate, int channel)
return WIRELESS_11G;
}
-u8 *rtw_set_fixed_ie(unsigned char *pbuf, unsigned int len, unsigned char *source,
- unsigned int *frlen)
+u8 *rtw_set_fixed_ie(unsigned char *pbuf, unsigned int len,
+ unsigned char *source, unsigned int *frlen)
{
memcpy(pbuf, source, len);
*frlen = *frlen + len;
@@ -115,10 +111,7 @@ u8 *rtw_set_fixed_ie(unsigned char *pbuf, unsigned int len, unsigned char *sourc
}
/* rtw_set_ie will update frame length */
-u8 *rtw_set_ie(u8 *pbuf,
- signed int index,
- uint len,
- u8 *source,
+u8 *rtw_set_ie(u8 *pbuf, signed int index, uint len, u8 *source,
uint *frlen) /* frame length */
{
*pbuf = (u8)index;
@@ -173,7 +166,8 @@ u8 *rtw_get_ie(u8 *pbuf, signed int index, signed int *len, signed int limit)
*
* Returns: The address of the specific IE found, or NULL
*/
-u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui, u8 oui_len, u8 *ie, uint *ielen)
+u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui, u8 oui_len, u8 *ie,
+ uint *ielen)
{
uint cnt;
u8 *target_ie = NULL;
@@ -193,7 +187,8 @@ u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui, u8 oui_len, u8 *ie, u
break;
if (eid == in_ie[cnt] &&
- (!oui || (ie_len >= oui_len && !memcmp(&in_ie[cnt + 2], oui, oui_len)))) {
+ (!oui || (ie_len >= oui_len &&
+ !memcmp(&in_ie[cnt + 2], oui, oui_len)))) {
target_ie = &in_ie[cnt];
if (ie)
@@ -221,7 +216,8 @@ u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui, u8 oui_len, u8 *ie, u
*
* Returns: _SUCCESS: ies is updated, _FAIL: not updated
*/
-int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset, u8 eid, u8 *oui, u8 oui_len)
+int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset, u8 eid, u8 *oui,
+ u8 oui_len)
{
int ret = _FAIL;
u8 *target_ie;
@@ -236,7 +232,8 @@ int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset, u8 eid, u8 *oui, u8 o
search_len = *ies_len - offset;
while (1) {
- target_ie = rtw_get_ie_ex(start, search_len, eid, oui, oui_len, NULL, &target_ielen);
+ target_ie = rtw_get_ie_ex(start, search_len, eid, oui, oui_len,
+ NULL, &target_ielen);
if (target_ie && target_ielen) {
u8 *remain_ies = target_ie + target_ielen;
uint remain_len = search_len - (remain_ies - start);
@@ -265,7 +262,8 @@ void rtw_set_supported_rate(u8 *supported_rates, uint mode)
break;
case WIRELESS_11G:
- memcpy(supported_rates, WIFI_OFDMRATES, IEEE80211_NUM_OFDM_RATESLEN);
+ memcpy(supported_rates, WIFI_OFDMRATES,
+ IEEE80211_NUM_OFDM_RATESLEN);
break;
case WIRELESS_11BG:
@@ -273,7 +271,8 @@ void rtw_set_supported_rate(u8 *supported_rates, uint mode)
case WIRELESS_11_24N:
case WIRELESS_11BG_24N:
memcpy(supported_rates, WIFI_CCKRATES, IEEE80211_CCK_RATE_LEN);
- memcpy(supported_rates + IEEE80211_CCK_RATE_LEN, WIFI_OFDMRATES, IEEE80211_NUM_OFDM_RATESLEN);
+ memcpy(supported_rates + IEEE80211_CCK_RATE_LEN, WIFI_OFDMRATES,
+ IEEE80211_NUM_OFDM_RATESLEN);
break;
}
}
@@ -291,7 +290,7 @@ uint rtw_get_rateset_len(u8 *rateset)
int rtw_generate_ie(struct registry_priv *pregistrypriv)
{
u8 wireless_mode;
- int sz = 0, rate_len;
+ int sz = 0, rate_len;
struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network;
u8 *ie = pdev_network->ies;
@@ -300,7 +299,8 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv)
ie += sz;
/* beacon interval : 2bytes */
- *(__le16 *)ie = cpu_to_le16((u16)pdev_network->configuration.beacon_period);/* BCN_INTERVAL; */
+ *(__le16 *)ie = cpu_to_le16((u16)pdev_network->configuration
+ .beacon_period); /* BCN_INTERVAL; */
sz += 2;
ie += 2;
@@ -319,7 +319,8 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv)
ie += 2;
/* SSID */
- ie = rtw_set_ie(ie, WLAN_EID_SSID, pdev_network->ssid.ssid_length, pdev_network->ssid.ssid, &sz);
+ ie = rtw_set_ie(ie, WLAN_EID_SSID, pdev_network->ssid.ssid_length,
+ pdev_network->ssid.ssid, &sz);
/* supported rates */
wireless_mode = pregistrypriv->wireless_mode;
@@ -329,21 +330,26 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv)
rate_len = rtw_get_rateset_len(pdev_network->supported_rates);
if (rate_len > 8) {
- ie = rtw_set_ie(ie, WLAN_EID_SUPP_RATES, 8, pdev_network->supported_rates, &sz);
+ ie = rtw_set_ie(ie, WLAN_EID_SUPP_RATES, 8,
+ pdev_network->supported_rates, &sz);
/* ie = rtw_set_ie(ie, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (pdev_network->supported_rates + 8), &sz); */
} else {
- ie = rtw_set_ie(ie, WLAN_EID_SUPP_RATES, rate_len, pdev_network->supported_rates, &sz);
+ ie = rtw_set_ie(ie, WLAN_EID_SUPP_RATES, rate_len,
+ pdev_network->supported_rates, &sz);
}
/* DS parameter set */
- ie = rtw_set_ie(ie, WLAN_EID_DS_PARAMS, 1, (u8 *)&(pdev_network->configuration.ds_config), &sz);
+ ie = rtw_set_ie(ie, WLAN_EID_DS_PARAMS, 1,
+ (u8 *)&(pdev_network->configuration.ds_config), &sz);
/* IBSS Parameter Set */
- ie = rtw_set_ie(ie, WLAN_EID_IBSS_PARAMS, 2, (u8 *)&(pdev_network->configuration.atim_window), &sz);
+ ie = rtw_set_ie(ie, WLAN_EID_IBSS_PARAMS, 2,
+ (u8 *)&(pdev_network->configuration.atim_window), &sz);
if (rate_len > 8)
- ie = rtw_set_ie(ie, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (pdev_network->supported_rates + 8), &sz);
+ ie = rtw_set_ie(ie, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8),
+ (pdev_network->supported_rates + 8), &sz);
/* HT Cap. */
if ((pregistrypriv->wireless_mode & WIRELESS_11_24N) &&
@@ -362,17 +368,19 @@ unsigned char *rtw_get_wpa_ie(unsigned char *pie, int *wpa_ie_len, int limit)
{
int len;
u16 val16;
- unsigned char wpa_oui_type[] = {0x00, 0x50, 0xf2, 0x01};
+ unsigned char wpa_oui_type[] = { 0x00, 0x50, 0xf2, 0x01 };
u8 *pbuf = pie;
int limit_new = limit;
__le16 le_tmp;
while (1) {
- pbuf = rtw_get_ie(pbuf, WLAN_EID_VENDOR_SPECIFIC, &len, limit_new);
+ pbuf = rtw_get_ie(pbuf, WLAN_EID_VENDOR_SPECIFIC, &len,
+ limit_new);
if (pbuf) {
/* check if oui matches... */
- if (memcmp((pbuf + 2), wpa_oui_type, sizeof(wpa_oui_type)))
+ if (memcmp((pbuf + 2), wpa_oui_type,
+ sizeof(wpa_oui_type)))
goto check_next_ie;
/* check version... */
@@ -443,12 +451,13 @@ int rtw_get_wpa2_cipher_suite(u8 *s)
return 0;
}
-int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x)
+int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher,
+ int *pairwise_cipher, int *is_8021x)
{
int i, ret = _SUCCESS;
int left, count;
u8 *pos;
- u8 SUITE_1X[4] = {0x00, 0x50, 0xf2, 1};
+ u8 SUITE_1X[4] = { 0x00, 0x50, 0xf2, 1 };
if (wpa_ie_len <= 0) {
/* No WPA IE - fail silently */
@@ -506,19 +515,21 @@ int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis
return ret;
}
-int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x)
+int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher,
+ int *pairwise_cipher, int *is_8021x)
{
int i, ret = _SUCCESS;
int left, count;
u8 *pos;
- u8 SUITE_1X[4] = {0x00, 0x0f, 0xac, 0x01};
+ u8 SUITE_1X[4] = { 0x00, 0x0f, 0xac, 0x01 };
if (rsn_ie_len <= 0) {
/* No RSN IE - fail silently */
return _FAIL;
}
- if ((*rsn_ie != WLAN_EID_RSN) || (*(rsn_ie + 1) != (u8)(rsn_ie_len - 2)))
+ if ((*rsn_ie != WLAN_EID_RSN) ||
+ (*(rsn_ie + 1) != (u8)(rsn_ie_len - 2)))
return _FAIL;
pos = rsn_ie;
@@ -537,7 +548,7 @@ int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi
/* pairwise_cipher */
if (left >= 2) {
- /* count = le16_to_cpu(*(u16*)pos); */
+ /* count = le16_to_cpu(*(u16*)pos); */
count = get_unaligned_le16(pos);
pos += 2;
left -= 2;
@@ -570,9 +581,9 @@ int rtw_get_wapi_ie(u8 *in_ie, uint in_len, u8 *wapi_ie, u16 *wapi_len)
{
int len = 0;
u8 authmode;
- uint cnt;
- u8 wapi_oui1[4] = {0x0, 0x14, 0x72, 0x01};
- u8 wapi_oui2[4] = {0x0, 0x14, 0x72, 0x02};
+ uint cnt;
+ u8 wapi_oui1[4] = { 0x0, 0x14, 0x72, 0x01 };
+ u8 wapi_oui2[4] = { 0x0, 0x14, 0x72, 0x02 };
if (wapi_len)
*wapi_len = 0;
@@ -594,13 +605,14 @@ int rtw_get_wapi_ie(u8 *in_ie, uint in_len, u8 *wapi_ie, u16 *wapi_len)
(!memcmp(&in_ie[cnt + 6], wapi_oui1, 4) ||
!memcmp(&in_ie[cnt + 6], wapi_oui2, 4))) {
if (wapi_ie)
- memcpy(wapi_ie, &in_ie[cnt], in_ie[cnt + 1] + 2);
+ memcpy(wapi_ie, &in_ie[cnt],
+ in_ie[cnt + 1] + 2);
if (wapi_len)
*wapi_len = in_ie[cnt + 1] + 2;
}
- cnt += in_ie[cnt + 1] + 2; /* get next */
+ cnt += in_ie[cnt + 1] + 2; /* get next */
}
if (wapi_len)
@@ -609,11 +621,12 @@ int rtw_get_wapi_ie(u8 *in_ie, uint in_len, u8 *wapi_ie, u16 *wapi_len)
return len;
}
-void rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, u8 *wpa_ie, u16 *wpa_len)
+void rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len,
+ u8 *wpa_ie, u16 *wpa_len)
{
u8 authmode;
- u8 wpa_oui[4] = {0x0, 0x50, 0xf2, 0x01};
- uint cnt;
+ u8 wpa_oui[4] = { 0x0, 0x50, 0xf2, 0x01 };
+ uint cnt;
/* Search required WPA or WPA2 IE and copy to sec_ie[ ] */
@@ -640,7 +653,7 @@ void rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, u8 *wpa_ie
*rsn_len = in_ie[cnt + 1] + 2;
}
- cnt += in_ie[cnt + 1] + 2; /* get next */
+ cnt += in_ie[cnt + 1] + 2; /* get next */
}
}
@@ -657,7 +670,7 @@ u8 *rtw_get_wps_ie(u8 *in_ie, uint in_len, u8 *wps_ie, uint *wps_ielen)
{
uint cnt;
u8 *wpsie_ptr = NULL;
- u8 eid, wps_oui[4] = {0x0, 0x50, 0xf2, 0x04};
+ u8 eid, wps_oui[4] = { 0x0, 0x50, 0xf2, 0x04 };
if (wps_ielen)
*wps_ielen = 0;
@@ -670,7 +683,8 @@ u8 *rtw_get_wps_ie(u8 *in_ie, uint in_len, u8 *wps_ie, uint *wps_ielen)
while (cnt < in_len) {
eid = in_ie[cnt];
- if ((eid == WLAN_EID_VENDOR_SPECIFIC) && (!memcmp(&in_ie[cnt + 2], wps_oui, 4))) {
+ if ((eid == WLAN_EID_VENDOR_SPECIFIC) &&
+ (!memcmp(&in_ie[cnt + 2], wps_oui, 4))) {
wpsie_ptr = &in_ie[cnt];
if (wps_ie)
@@ -699,11 +713,12 @@ u8 *rtw_get_wps_ie(u8 *in_ie, uint in_len, u8 *wps_ie, uint *wps_ielen)
*
* Returns: the address of the specific WPS attribute found, or NULL
*/
-u8 *rtw_get_wps_attr(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8 *buf_attr, u32 *len_attr)
+u8 *rtw_get_wps_attr(u8 *wps_ie, uint wps_ielen, u16 target_attr_id,
+ u8 *buf_attr, u32 *len_attr)
{
u8 *attr_ptr = NULL;
u8 *target_attr_ptr = NULL;
- u8 wps_oui[4] = {0x00, 0x50, 0xF2, 0x04};
+ u8 wps_oui[4] = { 0x00, 0x50, 0xF2, 0x04 };
if (len_attr)
*len_attr = 0;
@@ -712,7 +727,7 @@ u8 *rtw_get_wps_attr(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8 *buf_att
return attr_ptr;
if ((wps_ie[0] != WLAN_EID_VENDOR_SPECIFIC) ||
- (memcmp(wps_ie + 2, wps_oui, 4))) {
+ (memcmp(wps_ie + 2, wps_oui, 4))) {
return attr_ptr;
}
@@ -754,7 +769,8 @@ u8 *rtw_get_wps_attr(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8 *buf_att
*
* Returns: the address of the specific WPS attribute content found, or NULL
*/
-u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8 *buf_content, uint *len_content)
+u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id,
+ u8 *buf_content, uint *len_content)
{
u8 *attr_ptr;
u32 attr_len;
@@ -762,7 +778,8 @@ u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8
if (len_content)
*len_content = 0;
- attr_ptr = rtw_get_wps_attr(wps_ie, wps_ielen, target_attr_id, NULL, &attr_len);
+ attr_ptr = rtw_get_wps_attr(wps_ie, wps_ielen, target_attr_id, NULL,
+ &attr_len);
if (attr_ptr && attr_len) {
if (buf_content)
@@ -777,9 +794,8 @@ u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8
return NULL;
}
-static int rtw_ieee802_11_parse_vendor_specific(u8 *pos, uint elen,
- struct rtw_ieee802_11_elems *elems,
- int show_errors)
+static int rtw_ieee802_11_parse_vendor_specific(
+ u8 *pos, uint elen, struct rtw_ieee802_11_elems *elems, int show_errors)
{
unsigned int oui;
@@ -923,9 +939,8 @@ enum parse_result rtw_ieee802_11_parse_elems(u8 *start, uint len,
elems->ext_supp_rates_len = elen;
break;
case WLAN_EID_VENDOR_SPECIFIC:
- if (rtw_ieee802_11_parse_vendor_specific(pos, elen,
- elems,
- show_errors))
+ if (rtw_ieee802_11_parse_vendor_specific(
+ pos, elen, elems, show_errors))
unknown++;
break;
case WLAN_EID_RSN:
@@ -1022,8 +1037,7 @@ static int rtw_get_cipher_info(struct wlan_network *pnetwork)
int group_cipher = 0, pairwise_cipher = 0, is8021x = 0;
int ret = _FAIL;
- pbuf = rtw_get_wpa_ie(&pnetwork->network.ies[12],
- &wpa_ielen,
+ pbuf = rtw_get_wpa_ie(&pnetwork->network.ies[12], &wpa_ielen,
pnetwork->network.ie_length - 12);
if (pbuf && (wpa_ielen > 0)) {
@@ -1039,9 +1053,11 @@ static int rtw_get_cipher_info(struct wlan_network *pnetwork)
pnetwork->network.ie_length - 12);
if (pbuf && (wpa_ielen > 0)) {
- if (rtw_parse_wpa2_ie(pbuf, wpa_ielen + 2, &group_cipher,
- &pairwise_cipher, &is8021x) == _SUCCESS) {
- pnetwork->bcn_info.pairwise_cipher = pairwise_cipher;
+ if (rtw_parse_wpa2_ie(pbuf, wpa_ielen + 2,
+ &group_cipher, &pairwise_cipher,
+ &is8021x) == _SUCCESS) {
+ pnetwork->bcn_info.pairwise_cipher =
+ pairwise_cipher;
pnetwork->bcn_info.group_cipher = group_cipher;
pnetwork->bcn_info.is_8021x = is8021x;
ret = _SUCCESS;
@@ -1064,7 +1080,8 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork)
unsigned char *p;
__le16 le_cap;
- memcpy((u8 *)&le_cap, rtw_get_capability_from_ie(pnetwork->network.ies), 2);
+ memcpy((u8 *)&le_cap, rtw_get_capability_from_ie(pnetwork->network.ies),
+ 2);
cap = le16_to_cpu(le_cap);
if (cap & WLAN_CAPABILITY_PRIVACY) {
bencrypt = 1;
@@ -1072,7 +1089,8 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork)
} else {
pnetwork->bcn_info.encryp_protocol = ENCRYP_PROTOCOL_OPENSYS;
}
- rtw_get_sec_ie(pnetwork->network.ies, pnetwork->network.ie_length, NULL, &rsn_len, NULL, &wpa_len);
+ rtw_get_sec_ie(pnetwork->network.ies, pnetwork->network.ie_length, NULL,
+ &rsn_len, NULL, &wpa_len);
if (rsn_len > 0) {
pnetwork->bcn_info.encryp_protocol = ENCRYP_PROTOCOL_WPA2;
@@ -1080,13 +1098,16 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork)
pnetwork->bcn_info.encryp_protocol = ENCRYP_PROTOCOL_WPA;
} else {
if (bencrypt)
- pnetwork->bcn_info.encryp_protocol = ENCRYP_PROTOCOL_WEP;
+ pnetwork->bcn_info.encryp_protocol =
+ ENCRYP_PROTOCOL_WEP;
}
rtw_get_cipher_info(pnetwork);
/* get bwmode and ch_offset */
/* parsing HT_CAP_IE */
- p = rtw_get_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_CAPABILITY, &len, pnetwork->network.ie_length - _FIXED_IE_LENGTH_);
+ p = rtw_get_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_,
+ WLAN_EID_HT_CAPABILITY, &len,
+ pnetwork->network.ie_length - _FIXED_IE_LENGTH_);
if (p && len > 0) {
pht_cap = (struct ieee80211_ht_cap *)(p + 2);
pnetwork->bcn_info.ht_cap_info = le16_to_cpu(pht_cap->cap_info);
@@ -1094,7 +1115,9 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork)
pnetwork->bcn_info.ht_cap_info = 0;
}
/* parsing HT_INFO_IE */
- p = rtw_get_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_OPERATION, &len, pnetwork->network.ie_length - _FIXED_IE_LENGTH_);
+ p = rtw_get_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_,
+ WLAN_EID_HT_OPERATION, &len,
+ pnetwork->network.ie_length - _FIXED_IE_LENGTH_);
if (p && len > 0) {
pht_info = (struct HT_info_element *)(p + 2);
pnetwork->bcn_info.ht_info_infos_0 = pht_info->infos[0];
@@ -1109,26 +1132,35 @@ u16 rtw_mcs_rate(u8 bw_40MHz, u8 short_GI, unsigned char *MCS_rate)
u16 max_rate = 0;
if (MCS_rate[0] & BIT(7))
- max_rate = (bw_40MHz) ? ((short_GI) ? 1500 : 1350) : ((short_GI) ? 722 : 650);
+ max_rate = (bw_40MHz) ? ((short_GI) ? 1500 : 1350) :
+ ((short_GI) ? 722 : 650);
else if (MCS_rate[0] & BIT(6))
- max_rate = (bw_40MHz) ? ((short_GI) ? 1350 : 1215) : ((short_GI) ? 650 : 585);
+ max_rate = (bw_40MHz) ? ((short_GI) ? 1350 : 1215) :
+ ((short_GI) ? 650 : 585);
else if (MCS_rate[0] & BIT(5))
- max_rate = (bw_40MHz) ? ((short_GI) ? 1200 : 1080) : ((short_GI) ? 578 : 520);
+ max_rate = (bw_40MHz) ? ((short_GI) ? 1200 : 1080) :
+ ((short_GI) ? 578 : 520);
else if (MCS_rate[0] & BIT(4))
- max_rate = (bw_40MHz) ? ((short_GI) ? 900 : 810) : ((short_GI) ? 433 : 390);
+ max_rate = (bw_40MHz) ? ((short_GI) ? 900 : 810) :
+ ((short_GI) ? 433 : 390);
else if (MCS_rate[0] & BIT(3))
- max_rate = (bw_40MHz) ? ((short_GI) ? 600 : 540) : ((short_GI) ? 289 : 260);
+ max_rate = (bw_40MHz) ? ((short_GI) ? 600 : 540) :
+ ((short_GI) ? 289 : 260);
else if (MCS_rate[0] & BIT(2))
- max_rate = (bw_40MHz) ? ((short_GI) ? 450 : 405) : ((short_GI) ? 217 : 195);
+ max_rate = (bw_40MHz) ? ((short_GI) ? 450 : 405) :
+ ((short_GI) ? 217 : 195);
else if (MCS_rate[0] & BIT(1))
- max_rate = (bw_40MHz) ? ((short_GI) ? 300 : 270) : ((short_GI) ? 144 : 130);
+ max_rate = (bw_40MHz) ? ((short_GI) ? 300 : 270) :
+ ((short_GI) ? 144 : 130);
else if (MCS_rate[0] & BIT(0))
- max_rate = (bw_40MHz) ? ((short_GI) ? 150 : 135) : ((short_GI) ? 72 : 65);
+ max_rate = (bw_40MHz) ? ((short_GI) ? 150 : 135) :
+ ((short_GI) ? 72 : 65);
return max_rate;
}
-int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category, u8 *action)
+int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category,
+ u8 *action)
{
const u8 *frame_body = frame + sizeof(struct ieee80211_hdr_3addr);
u16 fc;
@@ -1158,7 +1190,7 @@ int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category, u8 *act
return true;
}
-static const char * const _action_public_str[] = {
+static const char *const _action_public_str[] = {
"ACT_PUB_BSSCOEXIST",
"ACT_PUB_DSE_ENABLE",
"ACT_PUB_DSE_DEENABLE",
diff --git a/drivers/staging/rtl8723bs/core/rtw_io.c b/drivers/staging/rtl8723bs/core/rtw_io.c
index c793ae7ea5c46..47f0f8a241d78 100644
--- a/drivers/staging/rtl8723bs/core/rtw_io.c
+++ b/drivers/staging/rtl8723bs/core/rtw_io.c
@@ -101,7 +101,8 @@ int rtw_write32(struct adapter *adapter, u32 addr, u32 val)
u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
{
- u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
+ u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
+ u8 *pmem);
struct io_priv *pio_priv = &adapter->iopriv;
struct intf_hdl *pintfhdl = &pio_priv->intf;
diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index 12bf7780bea59..8e2096cdeb975 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -11,8 +11,7 @@ u8 rtw_validate_bssid(u8 *bssid)
{
u8 ret = true;
- if (is_zero_ether_addr(bssid) ||
- is_broadcast_ether_addr(bssid) ||
+ if (is_zero_ether_addr(bssid) || is_broadcast_ether_addr(bssid) ||
is_multicast_ether_addr(bssid))
ret = false;
@@ -34,10 +33,10 @@ u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid)
u8 rtw_do_join(struct adapter *padapter)
{
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
u8 *pibss = NULL;
- struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
- struct __queue *queue = &(pmlmepriv->scanned_queue);
+ struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
+ struct __queue *queue = &(pmlmepriv->scanned_queue);
u8 ret = _SUCCESS;
spin_lock_bh(&(pmlmepriv->scanned_queue.lock));
@@ -59,9 +58,11 @@ u8 rtw_do_join(struct adapter *padapter)
/* when set_ssid/set_bssid for rtw_do_join(), but scanning queue is empty */
/* we try to issue sitesurvey firstly */
- if (!pmlmepriv->link_detect_info.busy_traffic || rtw_to_roam(padapter) > 0) {
+ if (!pmlmepriv->link_detect_info.busy_traffic ||
+ rtw_to_roam(padapter) > 0) {
/* submit site_survey_cmd */
- ret = rtw_sitesurvey_cmd(padapter, &pmlmepriv->assoc_ssid, 1, NULL, 0);
+ ret = rtw_sitesurvey_cmd(
+ padapter, &pmlmepriv->assoc_ssid, 1, NULL, 0);
if (ret != _SUCCESS)
pmlmepriv->to_join = false;
@@ -84,20 +85,24 @@ u8 rtw_do_join(struct adapter *padapter)
/* submit createbss_cmd to change to a ADHOC_MASTER */
/* pmlmepriv->lock has been acquired by caller... */
- struct wlan_bssid_ex *pdev_network = &(padapter->registrypriv.dev_network);
+ struct wlan_bssid_ex *pdev_network =
+ &(padapter->registrypriv.dev_network);
pmlmepriv->fw_state = WIFI_ADHOC_MASTER_STATE;
- pibss = padapter->registrypriv.dev_network.mac_address;
+ pibss = padapter->registrypriv.dev_network
+ .mac_address;
- memcpy(&pdev_network->ssid, &pmlmepriv->assoc_ssid, sizeof(struct ndis_802_11_ssid));
+ memcpy(&pdev_network->ssid,
+ &pmlmepriv->assoc_ssid,
+ sizeof(struct ndis_802_11_ssid));
rtw_update_registrypriv_dev_network(padapter);
rtw_generate_random_ibss(pibss);
if (rtw_createbss_cmd(padapter) != _SUCCESS) {
- ret = false;
+ ret = false;
goto exit;
}
@@ -111,7 +116,10 @@ u8 rtw_do_join(struct adapter *padapter)
/* we try to issue sitesurvey firstly */
if (!pmlmepriv->link_detect_info.busy_traffic ||
rtw_to_roam(padapter) > 0) {
- ret = rtw_sitesurvey_cmd(padapter, &pmlmepriv->assoc_ssid, 1, NULL, 0);
+ ret = rtw_sitesurvey_cmd(
+ padapter,
+ &pmlmepriv->assoc_ssid, 1, NULL,
+ 0);
if (ret != _SUCCESS)
pmlmepriv->to_join = false;
@@ -151,26 +159,35 @@ u8 rtw_set_802_11_ssid(struct adapter *padapter, struct ndis_802_11_ssid *ssid)
if (check_fwstate(pmlmepriv, _FW_LINKED | WIFI_ADHOC_MASTER_STATE)) {
if ((pmlmepriv->assoc_ssid.ssid_length == ssid->ssid_length) &&
- (!memcmp(&pmlmepriv->assoc_ssid.ssid, ssid->ssid, ssid->ssid_length))) {
+ (!memcmp(&pmlmepriv->assoc_ssid.ssid, ssid->ssid,
+ ssid->ssid_length))) {
if (!check_fwstate(pmlmepriv, WIFI_STATION_STATE)) {
if (!rtw_is_same_ibss(padapter, pnetwork)) {
/* if in WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE, create bss or rejoin again */
rtw_disassoc_cmd(padapter, 0, true);
- if (check_fwstate(pmlmepriv, _FW_LINKED))
- rtw_indicate_disconnect(padapter);
+ if (check_fwstate(pmlmepriv,
+ _FW_LINKED))
+ rtw_indicate_disconnect(
+ padapter);
rtw_free_assoc_resources(padapter, 1);
- if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) {
- _clr_fwstate_(pmlmepriv, WIFI_ADHOC_MASTER_STATE);
- set_fwstate(pmlmepriv, WIFI_ADHOC_STATE);
+ if (check_fwstate(
+ pmlmepriv,
+ WIFI_ADHOC_MASTER_STATE)) {
+ _clr_fwstate_(
+ pmlmepriv,
+ WIFI_ADHOC_MASTER_STATE);
+ set_fwstate(pmlmepriv,
+ WIFI_ADHOC_STATE);
}
} else {
- goto release_mlme_lock;/* it means driver is in WIFI_ADHOC_MASTER_STATE, we needn't create bss again. */
+ goto release_mlme_lock; /* it means driver is in WIFI_ADHOC_MASTER_STATE, we needn't create bss again. */
}
} else {
- rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_JOINBSS, 1);
+ rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_JOINBSS,
+ 1);
}
} else {
rtw_disassoc_cmd(padapter, 0, true);
@@ -181,7 +198,8 @@ u8 rtw_set_802_11_ssid(struct adapter *padapter, struct ndis_802_11_ssid *ssid)
rtw_free_assoc_resources(padapter, 1);
if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) {
- _clr_fwstate_(pmlmepriv, WIFI_ADHOC_MASTER_STATE);
+ _clr_fwstate_(pmlmepriv,
+ WIFI_ADHOC_MASTER_STATE);
set_fwstate(pmlmepriv, WIFI_ADHOC_STATE);
}
}
@@ -214,7 +232,8 @@ u8 rtw_set_802_11_ssid(struct adapter *padapter, struct ndis_802_11_ssid *ssid)
return status;
}
-u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_11_ssid *ssid)
+u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid,
+ struct ndis_802_11_ssid *ssid)
{
u8 status = _SUCCESS;
bool bssid_valid = true;
@@ -254,9 +273,11 @@ u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_1
}
if (ssid && ssid_valid)
- memcpy(&pmlmepriv->assoc_ssid, ssid, sizeof(struct ndis_802_11_ssid));
+ memcpy(&pmlmepriv->assoc_ssid, ssid,
+ sizeof(struct ndis_802_11_ssid));
else
- memset(&pmlmepriv->assoc_ssid, 0, sizeof(struct ndis_802_11_ssid));
+ memset(&pmlmepriv->assoc_ssid, 0,
+ sizeof(struct ndis_802_11_ssid));
if (bssid && bssid_valid) {
memcpy(&pmlmepriv->assoc_bssid, bssid, ETH_ALEN);
@@ -277,12 +298,14 @@ u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_1
return status;
}
-u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter,
+u8 rtw_set_802_11_infrastructure_mode(
+ struct adapter *padapter,
enum ndis_802_11_network_infrastructure networktype)
{
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct wlan_network *cur_network = &pmlmepriv->cur_network;
- enum ndis_802_11_network_infrastructure *pold_state = &(cur_network->network.infrastructure_mode);
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct wlan_network *cur_network = &pmlmepriv->cur_network;
+ enum ndis_802_11_network_infrastructure *pold_state =
+ &(cur_network->network.infrastructure_mode);
if (*pold_state != networktype) {
if (*pold_state == Ndis802_11APMode) {
@@ -294,16 +317,19 @@ u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter,
spin_lock_bh(&pmlmepriv->lock);
- if (check_fwstate(pmlmepriv, _FW_LINKED) || (*pold_state == Ndis802_11IBSS))
+ if (check_fwstate(pmlmepriv, _FW_LINKED) ||
+ (*pold_state == Ndis802_11IBSS))
rtw_disassoc_cmd(padapter, 0, true);
if (check_fwstate(pmlmepriv, _FW_LINKED) ||
check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE))
rtw_free_assoc_resources(padapter, 1);
- if ((*pold_state == Ndis802_11Infrastructure) || (*pold_state == Ndis802_11IBSS)) {
+ if ((*pold_state == Ndis802_11Infrastructure) ||
+ (*pold_state == Ndis802_11IBSS)) {
if (check_fwstate(pmlmepriv, _FW_LINKED))
- rtw_indicate_disconnect(padapter); /* will clr Linked_state; before this function, we must have checked whether issue dis-assoc_cmd or not */
+ rtw_indicate_disconnect(
+ padapter); /* will clr Linked_state; before this function, we must have checked whether issue dis-assoc_cmd or not */
}
*pold_state = networktype;
@@ -357,7 +383,9 @@ u8 rtw_set_802_11_disassociate(struct adapter *padapter)
return true;
}
-u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter, struct ndis_802_11_ssid *pssid, int ssid_max_num)
+u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter,
+ struct ndis_802_11_ssid *pssid,
+ int ssid_max_num)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
u8 res = true;
@@ -382,7 +410,8 @@ u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter, struct ndis_802_11_s
spin_lock_bh(&pmlmepriv->lock);
- res = rtw_sitesurvey_cmd(padapter, pssid, ssid_max_num, NULL, 0);
+ res = rtw_sitesurvey_cmd(padapter, pssid, ssid_max_num, NULL,
+ 0);
spin_unlock_bh(&pmlmepriv->lock);
}
@@ -391,7 +420,8 @@ u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter, struct ndis_802_11_s
return res;
}
-u8 rtw_set_802_11_authentication_mode(struct adapter *padapter, enum ndis_802_11_authentication_mode authmode)
+u8 rtw_set_802_11_authentication_mode(
+ struct adapter *padapter, enum ndis_802_11_authentication_mode authmode)
{
struct security_priv *psecuritypriv = &padapter->securitypriv;
int res;
@@ -414,7 +444,7 @@ u8 rtw_set_802_11_authentication_mode(struct adapter *padapter, enum ndis_802_11
u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep)
{
- signed int keyid, res;
+ signed int keyid, res;
struct security_priv *psecuritypriv = &(padapter->securitypriv);
u8 ret = _SUCCESS;
@@ -437,7 +467,8 @@ u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep)
break;
}
- memcpy(&(psecuritypriv->dot11DefKey[keyid].skey[0]), &(wep->key_material), wep->key_length);
+ memcpy(&(psecuritypriv->dot11DefKey[keyid].skey[0]),
+ &(wep->key_material), wep->key_length);
psecuritypriv->dot11DefKeylen[keyid] = wep->key_length;
@@ -460,10 +491,10 @@ u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep)
*/
u16 rtw_get_cur_max_rate(struct adapter *adapter)
{
- int i = 0;
+ int i = 0;
u16 rate = 0, max_rate = 0;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network;
+ struct wlan_bssid_ex *pcur_bss = &pmlmepriv->cur_network.network;
struct sta_info *psta = NULL;
u8 short_GI = 0;
@@ -478,18 +509,19 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter)
short_GI = query_ra_short_GI(psta);
if (is_supported_ht(psta->wireless_mode)) {
- max_rate = rtw_mcs_rate(psta->bw_mode == CHANNEL_WIDTH_40 ? 1 : 0,
- short_GI,
- psta->htpriv.ht_cap.mcs.rx_mask);
+ max_rate =
+ rtw_mcs_rate(psta->bw_mode == CHANNEL_WIDTH_40 ? 1 : 0,
+ short_GI, psta->htpriv.ht_cap.mcs.rx_mask);
} else {
- while ((pcur_bss->supported_rates[i] != 0) && (pcur_bss->supported_rates[i] != 0xFF)) {
- rate = pcur_bss->supported_rates[i]&0x7F;
+ while ((pcur_bss->supported_rates[i] != 0) &&
+ (pcur_bss->supported_rates[i] != 0xFF)) {
+ rate = pcur_bss->supported_rates[i] & 0x7F;
if (rate > max_rate)
max_rate = rate;
i++;
}
- max_rate = max_rate*10/2;
+ max_rate = max_rate * 10 / 2;
}
return max_rate;
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c
index 1196ec011455b..6a8a67206a88f 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c
@@ -29,30 +29,33 @@ static void _rtw_set_scan_deny_timer_hdl(struct timer_list *t)
static void rtw_init_mlme_timer(struct adapter *padapter)
{
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
timer_setup(&pmlmepriv->assoc_timer, _rtw_join_timeout_handler, 0);
timer_setup(&pmlmepriv->scan_to_timer, rtw_scan_timeout_handler, 0);
- timer_setup(&pmlmepriv->dynamic_chk_timer,
- _dynamic_check_timer_handler, 0);
+ timer_setup(&pmlmepriv->dynamic_chk_timer, _dynamic_check_timer_handler,
+ 0);
timer_setup(&pmlmepriv->set_scan_deny_timer,
_rtw_set_scan_deny_timer_hdl, 0);
}
-int rtw_init_mlme_priv(struct adapter *padapter)
+int rtw_init_mlme_priv(struct adapter *padapter)
{
- int i;
+ int i;
u8 *pbuf;
- struct wlan_network *pnetwork;
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- int res = _SUCCESS;
+ struct wlan_network *pnetwork;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ int res = _SUCCESS;
pmlmepriv->nic_hdl = (u8 *)padapter;
pmlmepriv->pscanned = NULL;
- pmlmepriv->fw_state = WIFI_STATION_STATE; /* Must sync with rtw_wdev_alloc() */
- pmlmepriv->cur_network.network.infrastructure_mode = Ndis802_11AutoUnknown;
- pmlmepriv->scan_mode = SCAN_ACTIVE;/* 1: active, 0: passive. Maybe someday we should rename this varable to "active_mode" (Jeff) */
+ pmlmepriv->fw_state =
+ WIFI_STATION_STATE; /* Must sync with rtw_wdev_alloc() */
+ pmlmepriv->cur_network.network.infrastructure_mode =
+ Ndis802_11AutoUnknown;
+ pmlmepriv->scan_mode =
+ SCAN_ACTIVE; /* 1: active, 0: passive. Maybe someday we should rename this varable to "active_mode" (Jeff) */
spin_lock_init(&pmlmepriv->lock);
INIT_LIST_HEAD(&pmlmepriv->free_bss_pool.queue);
@@ -84,14 +87,11 @@ int rtw_init_mlme_priv(struct adapter *padapter)
rtw_clear_scan_deny(padapter);
- #define RTW_ROAM_SCAN_RESULT_EXP_MS 5000
- #define RTW_ROAM_RSSI_DIFF_TH 10
- #define RTW_ROAM_SCAN_INTERVAL_MS 10000
+#define RTW_ROAM_SCAN_RESULT_EXP_MS 5000
+#define RTW_ROAM_RSSI_DIFF_TH 10
+#define RTW_ROAM_SCAN_INTERVAL_MS 10000
- pmlmepriv->roam_flags = 0
- | RTW_ROAM_ON_EXPIRED
- | RTW_ROAM_ON_RESUME
- ;
+ pmlmepriv->roam_flags = 0 | RTW_ROAM_ON_EXPIRED | RTW_ROAM_ON_RESUME;
pmlmepriv->roam_scanr_exp_ms = RTW_ROAM_SCAN_RESULT_EXP_MS;
pmlmepriv->roam_rssi_diff_th = RTW_ROAM_RSSI_DIFF_TH;
@@ -117,16 +117,25 @@ void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv)
{
rtw_buf_free(&pmlmepriv->assoc_req, &pmlmepriv->assoc_req_len);
rtw_buf_free(&pmlmepriv->assoc_rsp, &pmlmepriv->assoc_rsp_len);
- rtw_free_mlme_ie_data(&pmlmepriv->wps_beacon_ie, &pmlmepriv->wps_beacon_ie_len);
- rtw_free_mlme_ie_data(&pmlmepriv->wps_probe_req_ie, &pmlmepriv->wps_probe_req_ie_len);
- rtw_free_mlme_ie_data(&pmlmepriv->wps_probe_resp_ie, &pmlmepriv->wps_probe_resp_ie_len);
- rtw_free_mlme_ie_data(&pmlmepriv->wps_assoc_resp_ie, &pmlmepriv->wps_assoc_resp_ie_len);
-
- rtw_free_mlme_ie_data(&pmlmepriv->p2p_beacon_ie, &pmlmepriv->p2p_beacon_ie_len);
- rtw_free_mlme_ie_data(&pmlmepriv->p2p_probe_req_ie, &pmlmepriv->p2p_probe_req_ie_len);
- rtw_free_mlme_ie_data(&pmlmepriv->p2p_probe_resp_ie, &pmlmepriv->p2p_probe_resp_ie_len);
- rtw_free_mlme_ie_data(&pmlmepriv->p2p_go_probe_resp_ie, &pmlmepriv->p2p_go_probe_resp_ie_len);
- rtw_free_mlme_ie_data(&pmlmepriv->p2p_assoc_req_ie, &pmlmepriv->p2p_assoc_req_ie_len);
+ rtw_free_mlme_ie_data(&pmlmepriv->wps_beacon_ie,
+ &pmlmepriv->wps_beacon_ie_len);
+ rtw_free_mlme_ie_data(&pmlmepriv->wps_probe_req_ie,
+ &pmlmepriv->wps_probe_req_ie_len);
+ rtw_free_mlme_ie_data(&pmlmepriv->wps_probe_resp_ie,
+ &pmlmepriv->wps_probe_resp_ie_len);
+ rtw_free_mlme_ie_data(&pmlmepriv->wps_assoc_resp_ie,
+ &pmlmepriv->wps_assoc_resp_ie_len);
+
+ rtw_free_mlme_ie_data(&pmlmepriv->p2p_beacon_ie,
+ &pmlmepriv->p2p_beacon_ie_len);
+ rtw_free_mlme_ie_data(&pmlmepriv->p2p_probe_req_ie,
+ &pmlmepriv->p2p_probe_req_ie_len);
+ rtw_free_mlme_ie_data(&pmlmepriv->p2p_probe_resp_ie,
+ &pmlmepriv->p2p_probe_resp_ie_len);
+ rtw_free_mlme_ie_data(&pmlmepriv->p2p_go_probe_resp_ie,
+ &pmlmepriv->p2p_go_probe_resp_ie_len);
+ rtw_free_mlme_ie_data(&pmlmepriv->p2p_assoc_req_ie,
+ &pmlmepriv->p2p_assoc_req_ie_len);
}
void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv)
@@ -137,9 +146,9 @@ void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv)
}
}
-struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv)
+struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv)
{
- struct wlan_network *pnetwork;
+ struct wlan_network *pnetwork;
struct __queue *free_queue = &pmlmepriv->free_bss_pool;
struct list_head *plist = NULL;
@@ -167,7 +176,8 @@ struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv)
return pnetwork;
}
-void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall)
+void _rtw_free_network(struct mlme_priv *pmlmepriv,
+ struct wlan_network *pnetwork, u8 isfreeall)
{
unsigned int delta_time;
u32 lifetime = SCANQUEUE_LIFETIME;
@@ -185,7 +195,7 @@ void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwor
if (!isfreeall) {
delta_time = jiffies_to_msecs(jiffies - pnetwork->last_scanned);
- if (delta_time < lifetime)/* unit:msec */
+ if (delta_time < lifetime) /* unit:msec */
return;
}
@@ -198,7 +208,8 @@ void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwor
spin_unlock_bh(&free_queue->lock);
}
-void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork)
+void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv,
+ struct wlan_network *pnetwork)
{
struct __queue *free_queue = &pmlmepriv->free_bss_pool;
@@ -220,8 +231,8 @@ void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *
*/
struct wlan_network *_rtw_find_network(struct __queue *scanned_queue, u8 *addr)
{
- struct list_head *phead, *plist;
- struct wlan_network *pnetwork = NULL;
+ struct list_head *phead, *plist;
+ struct wlan_network *pnetwork = NULL;
if (is_zero_ether_addr(addr)) {
pnetwork = NULL;
@@ -265,7 +276,7 @@ void rtw_free_network_queue(struct adapter *padapter, u8 isfreeall)
bool rtw_if_up(struct adapter *padapter)
{
if (padapter->bDriverStopped || padapter->bSurpriseRemoved ||
- !check_fwstate(&padapter->mlmepriv, _FW_LINKED))
+ !check_fwstate(&padapter->mlmepriv, _FW_LINKED))
return false;
return true;
@@ -275,12 +286,12 @@ void rtw_generate_random_ibss(u8 *pibss)
{
unsigned long curtime = jiffies;
- pibss[0] = 0x02; /* in ad-hoc mode bit1 must set to 1 */
+ pibss[0] = 0x02; /* in ad-hoc mode bit1 must set to 1 */
pibss[1] = 0x11;
pibss[2] = 0x87;
- pibss[3] = (u8)(curtime & 0xff) ;/* p[0]; */
- pibss[4] = (u8)((curtime >> 8) & 0xff) ;/* p[1]; */
- pibss[5] = (u8)((curtime >> 16) & 0xff) ;/* p[2]; */
+ pibss[3] = (u8)(curtime & 0xff); /* p[0]; */
+ pibss[4] = (u8)((curtime >> 8) & 0xff); /* p[1]; */
+ pibss[5] = (u8)((curtime >> 16) & 0xff); /* p[2]; */
}
u8 *rtw_get_capability_from_ie(u8 *ie)
@@ -290,7 +301,7 @@ u8 *rtw_get_capability_from_ie(u8 *ie)
u16 rtw_get_capability(struct wlan_bssid_ex *bss)
{
- __le16 val;
+ __le16 val;
memcpy((u8 *)&val, rtw_get_capability_from_ie(bss->ies), 2);
@@ -307,8 +318,10 @@ void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv)
_rtw_free_mlme_priv(pmlmepriv);
}
-void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork);
-void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork)
+void rtw_free_network_nolock(struct adapter *padapter,
+ struct wlan_network *pnetwork);
+void rtw_free_network_nolock(struct adapter *padapter,
+ struct wlan_network *pnetwork)
{
_rtw_free_network_nolock(&padapter->mlmepriv, pnetwork);
rtw_cfg80211_unlink_bss(padapter, pnetwork);
@@ -319,9 +332,9 @@ void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnet
*
* Shall be called under atomic context... to avoid possible racing condition...
*/
-struct wlan_network *rtw_find_network(struct __queue *scanned_queue, u8 *addr)
+struct wlan_network *rtw_find_network(struct __queue *scanned_queue, u8 *addr)
{
- struct wlan_network *pnetwork = _rtw_find_network(scanned_queue, addr);
+ struct wlan_network *pnetwork = _rtw_find_network(scanned_queue, addr);
return pnetwork;
}
@@ -331,7 +344,7 @@ bool rtw_is_same_ibss(struct adapter *adapter, struct wlan_network *pnetwork)
struct security_priv *psecuritypriv = &adapter->securitypriv;
if ((psecuritypriv->dot11PrivacyAlgrthm != _NO_PRIVACY_) &&
- (pnetwork->network.privacy == 0))
+ (pnetwork->network.privacy == 0))
return false;
else if ((psecuritypriv->dot11PrivacyAlgrthm == _NO_PRIVACY_) &&
(pnetwork->network.privacy == 1))
@@ -342,11 +355,12 @@ bool rtw_is_same_ibss(struct adapter *adapter, struct wlan_network *pnetwork)
inline int is_same_ess(struct wlan_bssid_ex *a, struct wlan_bssid_ex *b)
{
- return (a->ssid.ssid_length == b->ssid.ssid_length)
- && !memcmp(a->ssid.ssid, b->ssid.ssid, a->ssid.ssid_length);
+ return (a->ssid.ssid_length == b->ssid.ssid_length) &&
+ !memcmp(a->ssid.ssid, b->ssid.ssid, a->ssid.ssid_length);
}
-int is_same_network(struct wlan_bssid_ex *src, struct wlan_bssid_ex *dst, u8 feature)
+int is_same_network(struct wlan_bssid_ex *src, struct wlan_bssid_ex *dst,
+ u8 feature)
{
u16 s_cap, d_cap;
__le16 tmps, tmpd;
@@ -358,15 +372,16 @@ int is_same_network(struct wlan_bssid_ex *src, struct wlan_bssid_ex *dst, u8 fea
d_cap = le16_to_cpu(tmpd);
return (src->ssid.ssid_length == dst->ssid.ssid_length) &&
- ((!memcmp(src->mac_address, dst->mac_address, ETH_ALEN))) &&
- ((!memcmp(src->ssid.ssid, dst->ssid.ssid, src->ssid.ssid_length))) &&
- ((s_cap & WLAN_CAPABILITY_IBSS) ==
- (d_cap & WLAN_CAPABILITY_IBSS)) &&
- ((s_cap & WLAN_CAPABILITY_ESS) ==
- (d_cap & WLAN_CAPABILITY_ESS));
+ ((!memcmp(src->mac_address, dst->mac_address, ETH_ALEN))) &&
+ ((!memcmp(src->ssid.ssid, dst->ssid.ssid,
+ src->ssid.ssid_length))) &&
+ ((s_cap & WLAN_CAPABILITY_IBSS) ==
+ (d_cap & WLAN_CAPABILITY_IBSS)) &&
+ ((s_cap & WLAN_CAPABILITY_ESS) == (d_cap & WLAN_CAPABILITY_ESS));
}
-struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue, struct wlan_network *network)
+struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue,
+ struct wlan_network *network)
{
struct list_head *phead, *plist;
struct wlan_network *found = NULL;
@@ -385,12 +400,12 @@ struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue, struc
return found;
}
-struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue)
+struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue)
{
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
- struct wlan_network *pwlan = NULL;
- struct wlan_network *oldest = NULL;
+ struct wlan_network *pwlan = NULL;
+ struct wlan_network *oldest = NULL;
phead = get_list_head(scanned_queue);
@@ -398,7 +413,8 @@ struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue)
pwlan = list_entry(plist, struct wlan_network, list);
if (!pwlan->fixed) {
- if (!oldest || time_after(oldest->last_scanned, pwlan->last_scanned))
+ if (!oldest || time_after(oldest->last_scanned,
+ pwlan->last_scanned))
oldest = pwlan;
}
}
@@ -406,7 +422,7 @@ struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue)
}
void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src,
- struct adapter *padapter, bool update_ie)
+ struct adapter *padapter, bool update_ie)
{
long rssi_ori = dst->rssi;
@@ -417,7 +433,8 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src,
long rssi_final;
/* The rule below is 1/5 for sample value, 4/5 for history value */
- if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) && is_same_network(&padapter->mlmepriv.cur_network.network, src, 0)) {
+ if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) &&
+ is_same_network(&padapter->mlmepriv.cur_network.network, src, 0)) {
/* Take the recvpriv's value for the connected AP*/
ss_final = padapter->recvpriv.signal_strength;
sq_final = padapter->recvpriv.signal_qual;
@@ -428,8 +445,12 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src,
rssi_final = rssi_ori;
} else {
if (sq_smp != 101) { /* from the right channel */
- ss_final = ((u32)(src->phy_info.signal_strength) + (u32)(dst->phy_info.signal_strength) * 4) / 5;
- sq_final = ((u32)(src->phy_info.signal_quality) + (u32)(dst->phy_info.signal_quality) * 4) / 5;
+ ss_final = ((u32)(src->phy_info.signal_strength) +
+ (u32)(dst->phy_info.signal_strength) * 4) /
+ 5;
+ sq_final = ((u32)(src->phy_info.signal_quality) +
+ (u32)(dst->phy_info.signal_quality) * 4) /
+ 5;
rssi_final = (src->rssi + dst->rssi * 4) / 5;
} else {
/* bss info not receiving from the right channel, use the original RX signal infos */
@@ -450,29 +471,38 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src,
dst->rssi = rssi_final;
}
-static void update_current_network(struct adapter *adapter, struct wlan_bssid_ex *pnetwork)
+static void update_current_network(struct adapter *adapter,
+ struct wlan_bssid_ex *pnetwork)
{
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- if (check_fwstate(pmlmepriv, _FW_LINKED) && (is_same_network(&pmlmepriv->cur_network.network, pnetwork, 0))) {
- update_network(&pmlmepriv->cur_network.network, pnetwork, adapter, true);
- if (pmlmepriv->cur_network.network.ie_length < sizeof(struct ndis_802_11_fix_ie))
+ if (check_fwstate(pmlmepriv, _FW_LINKED) &&
+ (is_same_network(&pmlmepriv->cur_network.network, pnetwork, 0))) {
+ update_network(&pmlmepriv->cur_network.network, pnetwork,
+ adapter, true);
+ if (pmlmepriv->cur_network.network.ie_length <
+ sizeof(struct ndis_802_11_fix_ie))
return;
- rtw_update_protection(adapter, (pmlmepriv->cur_network.network.ies) + sizeof(struct ndis_802_11_fix_ie),
- pmlmepriv->cur_network.network.ie_length - sizeof(struct ndis_802_11_fix_ie));
+ rtw_update_protection(
+ adapter,
+ (pmlmepriv->cur_network.network.ies) +
+ sizeof(struct ndis_802_11_fix_ie),
+ pmlmepriv->cur_network.network.ie_length -
+ sizeof(struct ndis_802_11_fix_ie));
}
}
/* Caller must hold pmlmepriv->lock first. */
-void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target)
+void rtw_update_scanned_network(struct adapter *adapter,
+ struct wlan_bssid_ex *target)
{
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
u32 bssid_ex_sz;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- struct __queue *queue = &pmlmepriv->scanned_queue;
- struct wlan_network *pnetwork = NULL;
- struct wlan_network *oldest = NULL;
+ struct __queue *queue = &pmlmepriv->scanned_queue;
+ struct wlan_network *pnetwork = NULL;
+ struct wlan_network *oldest = NULL;
int target_find = 0;
u8 feature = 0;
@@ -490,7 +520,8 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t
/* TODO: don't select network in the same ess as oldest if it's new enough*/
}
- if (!oldest || time_after(oldest->last_scanned, pnetwork->last_scanned))
+ if (!oldest ||
+ time_after(oldest->last_scanned, pnetwork->last_scanned))
oldest = pnetwork;
}
@@ -506,7 +537,8 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t
if (!pnetwork)
goto exit;
- memcpy(&pnetwork->network, target, get_wlan_bssid_ex_sz(target));
+ memcpy(&pnetwork->network, target,
+ get_wlan_bssid_ex_sz(target));
/* variable initialize */
pnetwork->fixed = false;
pnetwork->last_scanned = jiffies;
@@ -521,7 +553,8 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t
} else {
/* Otherwise just pull from the free list */
- pnetwork = rtw_alloc_network(pmlmepriv); /* will update scan_time */
+ pnetwork = rtw_alloc_network(
+ pmlmepriv); /* will update scan_time */
if (!pnetwork)
goto exit;
@@ -548,7 +581,8 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t
pnetwork->last_scanned = jiffies;
/* target.reserved[0]== 1, means that scanned network is a bcn frame. */
- if (pnetwork->network.ie_length > target->ie_length && target->reserved[0] == 1)
+ if (pnetwork->network.ie_length > target->ie_length &&
+ target->reserved[0] == 1)
update_ie = false;
/* probe resp(3) > beacon(1) > probe req(2) */
@@ -581,7 +615,8 @@ void rtw_add_network(struct adapter *adapter, struct wlan_bssid_ex *pnetwork)
* (4) HT
* (5) others
*/
-static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network *pnetwork)
+static bool rtw_is_desired_network(struct adapter *adapter,
+ struct wlan_network *pnetwork)
{
struct security_priv *psecuritypriv = &adapter->securitypriv;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
@@ -596,24 +631,33 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network
if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) {
if (pnetwork->network.ie_length < _FIXED_IE_LENGTH_)
return false;
- if (rtw_get_wps_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_, pnetwork->network.ie_length - _FIXED_IE_LENGTH_, NULL, &wps_ielen))
+ if (rtw_get_wps_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_,
+ pnetwork->network.ie_length -
+ _FIXED_IE_LENGTH_,
+ NULL, &wps_ielen))
return true;
else
return false;
}
- if (adapter->registrypriv.wifi_spec == 1) { /* for correct flow of 8021X to do.... */
+ if (adapter->registrypriv.wifi_spec ==
+ 1) { /* for correct flow of 8021X to do.... */
u8 *p = NULL;
uint ie_len = 0;
- if ((desired_encmode == Ndis802_11EncryptionDisabled) && (privacy != 0))
+ if ((desired_encmode == Ndis802_11EncryptionDisabled) &&
+ (privacy != 0))
bselected = false;
if (psecuritypriv->ndisauthtype == Ndis802_11AuthModeWPA2PSK) {
if (pnetwork->network.ie_length < _BEACON_IE_OFFSET_) {
bselected = false;
} else {
- p = rtw_get_ie(pnetwork->network.ies + _BEACON_IE_OFFSET_, WLAN_EID_RSN, &ie_len, (pnetwork->network.ie_length - _BEACON_IE_OFFSET_));
+ p = rtw_get_ie(pnetwork->network.ies +
+ _BEACON_IE_OFFSET_,
+ WLAN_EID_RSN, &ie_len,
+ (pnetwork->network.ie_length -
+ _BEACON_IE_OFFSET_));
if (p && ie_len > 0)
bselected = true;
else
@@ -626,7 +670,8 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network
bselected = false;
if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) {
- if (pnetwork->network.infrastructure_mode != pmlmepriv->cur_network.network.infrastructure_mode)
+ if (pnetwork->network.infrastructure_mode !=
+ pmlmepriv->cur_network.network.infrastructure_mode)
bselected = false;
}
@@ -634,15 +679,15 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network
}
/* TODO: Perry : For Power Management */
-void rtw_atimdone_event_callback(struct adapter *adapter, u8 *pbuf)
+void rtw_atimdone_event_callback(struct adapter *adapter, u8 *pbuf)
{
}
-void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf)
+void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf)
{
u32 len;
struct wlan_bssid_ex *pnetwork;
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
pnetwork = (struct wlan_bssid_ex *)pbuf;
@@ -654,14 +699,18 @@ void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf)
/* update IBSS_network 's timestamp */
if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) {
- if (!memcmp(&pmlmepriv->cur_network.network.mac_address, pnetwork->mac_address, ETH_ALEN)) {
+ if (!memcmp(&pmlmepriv->cur_network.network.mac_address,
+ pnetwork->mac_address, ETH_ALEN)) {
struct wlan_network *ibss_wlan = NULL;
- memcpy(pmlmepriv->cur_network.network.ies, pnetwork->ies, 8);
+ memcpy(pmlmepriv->cur_network.network.ies,
+ pnetwork->ies, 8);
spin_lock_bh(&pmlmepriv->scanned_queue.lock);
- ibss_wlan = rtw_find_network(&pmlmepriv->scanned_queue, pnetwork->mac_address);
+ ibss_wlan = rtw_find_network(&pmlmepriv->scanned_queue,
+ pnetwork->mac_address);
if (ibss_wlan) {
- memcpy(ibss_wlan->network.ies, pnetwork->ies, 8);
+ memcpy(ibss_wlan->network.ies, pnetwork->ies,
+ 8);
spin_unlock_bh(&pmlmepriv->scanned_queue.lock);
goto exit;
}
@@ -681,9 +730,9 @@ void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf)
spin_unlock_bh(&pmlmepriv->lock);
}
-void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf)
+void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf)
{
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
spin_lock_bh(&pmlmepriv->lock);
if (pmlmepriv->wps_probe_req_ie) {
@@ -706,22 +755,33 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf)
if (!check_fwstate(pmlmepriv, _FW_LINKED)) {
set_fwstate(pmlmepriv, _FW_UNDER_LINKING);
- if (rtw_select_and_join_from_scanned_queue(pmlmepriv) == _SUCCESS) {
- _set_timer(&pmlmepriv->assoc_timer, MAX_JOIN_TIMEOUT);
+ if (rtw_select_and_join_from_scanned_queue(
+ pmlmepriv) == _SUCCESS) {
+ _set_timer(&pmlmepriv->assoc_timer,
+ MAX_JOIN_TIMEOUT);
} else {
u8 ret = _SUCCESS;
- struct wlan_bssid_ex *pdev_network = &adapter->registrypriv.dev_network;
- u8 *pibss = adapter->registrypriv.dev_network.mac_address;
+ struct wlan_bssid_ex *pdev_network =
+ &adapter->registrypriv
+ .dev_network;
+ u8 *pibss =
+ adapter->registrypriv
+ .dev_network.mac_address;
/* pmlmepriv->fw_state ^= _FW_UNDER_SURVEY;because don't set assoc_timer */
- _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY);
+ _clr_fwstate_(pmlmepriv,
+ _FW_UNDER_SURVEY);
- memcpy(&pdev_network->ssid, &pmlmepriv->assoc_ssid, sizeof(struct ndis_802_11_ssid));
+ memcpy(&pdev_network->ssid,
+ &pmlmepriv->assoc_ssid,
+ sizeof(struct ndis_802_11_ssid));
- rtw_update_registrypriv_dev_network(adapter);
+ rtw_update_registrypriv_dev_network(
+ adapter);
rtw_generate_random_ibss(pibss);
- pmlmepriv->fw_state = WIFI_ADHOC_MASTER_STATE;
+ pmlmepriv->fw_state =
+ WIFI_ADHOC_MASTER_STATE;
pmlmepriv->to_join = false;
@@ -735,20 +795,27 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf)
set_fwstate(pmlmepriv, _FW_UNDER_LINKING);
pmlmepriv->to_join = false;
- s_ret = rtw_select_and_join_from_scanned_queue(pmlmepriv);
+ s_ret = rtw_select_and_join_from_scanned_queue(
+ pmlmepriv);
if (s_ret == _SUCCESS) {
- _set_timer(&pmlmepriv->assoc_timer, MAX_JOIN_TIMEOUT);
- } else if (s_ret == 2) {/* there is no need to wait for join */
+ _set_timer(&pmlmepriv->assoc_timer,
+ MAX_JOIN_TIMEOUT);
+ } else if (s_ret ==
+ 2) { /* there is no need to wait for join */
_clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
rtw_indicate_connect(adapter);
} else {
if (rtw_to_roam(adapter) != 0) {
if (rtw_dec_to_roam(adapter) == 0 ||
- rtw_sitesurvey_cmd(adapter, &pmlmepriv->assoc_ssid,
- 1, NULL, 0) != _SUCCESS) {
+ rtw_sitesurvey_cmd(
+ adapter,
+ &pmlmepriv->assoc_ssid, 1,
+ NULL, 0) != _SUCCESS) {
rtw_set_to_roam(adapter, 0);
- rtw_free_assoc_resources(adapter, 1);
- rtw_indicate_disconnect(adapter);
+ rtw_free_assoc_resources(
+ adapter, 1);
+ rtw_indicate_disconnect(
+ adapter);
} else {
pmlmepriv->to_join = true;
}
@@ -760,11 +827,15 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf)
}
} else {
if (rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) {
- if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)
- && check_fwstate(pmlmepriv, _FW_LINKED)) {
- if (rtw_select_roaming_candidate(pmlmepriv) == _SUCCESS) {
- receive_disconnect(adapter, pmlmepriv->cur_network.network.mac_address
- , WLAN_REASON_ACTIVE_ROAM);
+ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) &&
+ check_fwstate(pmlmepriv, _FW_LINKED)) {
+ if (rtw_select_roaming_candidate(pmlmepriv) ==
+ _SUCCESS) {
+ receive_disconnect(
+ adapter,
+ pmlmepriv->cur_network.network
+ .mac_address,
+ WLAN_REASON_ACTIVE_ROAM);
}
}
}
@@ -788,11 +859,11 @@ void rtw_fwdbg_event_callback(struct adapter *adapter, u8 *pbuf)
{
}
-static void free_scanqueue(struct mlme_priv *pmlmepriv)
+static void free_scanqueue(struct mlme_priv *pmlmepriv)
{
struct __queue *free_queue = &pmlmepriv->free_bss_pool;
struct __queue *scan_queue = &pmlmepriv->scanned_queue;
- struct list_head *plist, *phead, *ptemp;
+ struct list_head *plist, *phead, *ptemp;
spin_lock_bh(&scan_queue->lock);
spin_lock_bh(&free_queue->lock);
@@ -814,10 +885,11 @@ static void free_scanqueue(struct mlme_priv *pmlmepriv)
static void find_network(struct adapter *adapter)
{
struct wlan_network *pwlan = NULL;
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
struct wlan_network *tgt_network = &pmlmepriv->cur_network;
- pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address);
+ pwlan = rtw_find_network(&pmlmepriv->scanned_queue,
+ tgt_network->network.mac_address);
if (!pwlan)
return;
@@ -831,17 +903,20 @@ static void find_network(struct adapter *adapter)
/* rtw_free_assoc_resources: the caller has to lock pmlmepriv->lock */
void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue)
{
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
struct wlan_network *tgt_network = &pmlmepriv->cur_network;
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_AP_STATE)) {
struct sta_info *psta;
- psta = rtw_get_stainfo(&adapter->stapriv, tgt_network->network.mac_address);
- rtw_free_stainfo(adapter, psta);
+ psta = rtw_get_stainfo(&adapter->stapriv,
+ tgt_network->network.mac_address);
+ rtw_free_stainfo(adapter, psta);
}
- if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE | WIFI_AP_STATE)) {
+ if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE |
+ WIFI_ADHOC_MASTER_STATE |
+ WIFI_AP_STATE)) {
struct sta_info *psta;
rtw_free_all_stainfo(adapter);
@@ -887,14 +962,15 @@ void rtw_indicate_connect(struct adapter *padapter)
/* rtw_indicate_disconnect: the caller has to lock pmlmepriv->lock */
void rtw_indicate_disconnect(struct adapter *padapter)
{
- struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
+ struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
_clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING | WIFI_UNDER_WPS);
if (rtw_to_roam(padapter) > 0)
_clr_fwstate_(pmlmepriv, _FW_LINKED);
- if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) || rtw_to_roam(padapter) <= 0) {
+ if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) ||
+ rtw_to_roam(padapter) <= 0) {
/* Do it first for tx broadcast pkt after disconnection issue! */
netif_carrier_off(padapter->pnetdev);
@@ -934,8 +1010,8 @@ void rtw_scan_abort(struct adapter *adapter)
start = jiffies;
pmlmeext->scan_abort = true;
- while (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)
- && jiffies_to_msecs(start) <= 200) {
+ while (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY) &&
+ jiffies_to_msecs(start) <= 200) {
if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
break;
@@ -948,7 +1024,9 @@ void rtw_scan_abort(struct adapter *adapter)
pmlmeext->scan_abort = false;
}
-static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, struct wlan_network *pnetwork)
+static struct sta_info *
+rtw_joinbss_update_stainfo(struct adapter *padapter,
+ struct wlan_network *pnetwork)
{
int i;
struct sta_info *bmc_sta, *psta = NULL;
@@ -958,17 +1036,20 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str
psta = rtw_get_stainfo(pstapriv, pnetwork->network.mac_address);
if (!psta)
- psta = rtw_alloc_stainfo(pstapriv, pnetwork->network.mac_address);
+ psta = rtw_alloc_stainfo(pstapriv,
+ pnetwork->network.mac_address);
if (psta) { /* update ptarget_sta */
- psta->aid = pnetwork->join_res;
+ psta->aid = pnetwork->join_res;
update_sta_info(padapter, psta);
/* update station supportRate */
- psta->bssratelen = rtw_get_rateset_len(pnetwork->network.supported_rates);
- memcpy(psta->bssrateset, pnetwork->network.supported_rates, psta->bssratelen);
+ psta->bssratelen =
+ rtw_get_rateset_len(pnetwork->network.supported_rates);
+ memcpy(psta->bssrateset, pnetwork->network.supported_rates,
+ psta->bssratelen);
rtw_hal_update_sta_rate_mask(padapter, psta);
psta->wireless_mode = pmlmeext->cur_wireless_mode;
@@ -978,18 +1059,23 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str
rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, true);
/* security related */
- if (padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) {
+ if (padapter->securitypriv.dot11AuthAlgrthm ==
+ dot11AuthAlgrthm_8021X) {
padapter->securitypriv.binstallGrpkey = false;
padapter->securitypriv.busetkipkey = false;
padapter->securitypriv.bgrpkey_handshake = false;
psta->ieee8021x_blocked = true;
- psta->dot118021XPrivacy = padapter->securitypriv.dot11PrivacyAlgrthm;
+ psta->dot118021XPrivacy =
+ padapter->securitypriv.dot11PrivacyAlgrthm;
- memset((u8 *)&psta->dot118021x_UncstKey, 0, sizeof(union Keytype));
+ memset((u8 *)&psta->dot118021x_UncstKey, 0,
+ sizeof(union Keytype));
- memset((u8 *)&psta->dot11tkiprxmickey, 0, sizeof(union Keytype));
- memset((u8 *)&psta->dot11tkiptxmickey, 0, sizeof(union Keytype));
+ memset((u8 *)&psta->dot11tkiprxmickey, 0,
+ sizeof(union Keytype));
+ memset((u8 *)&psta->dot11tkiptxmickey, 0,
+ sizeof(union Keytype));
memset((u8 *)&psta->dot11txpn, 0, sizeof(union pn48));
psta->dot11txpn.val = psta->dot11txpn.val + 1;
@@ -1007,22 +1093,24 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str
/* for A-MPDU Rx reordering buffer control for bmc_sta & sta_info */
/* if A-MPDU Rx is enabled, resetting rx_ordering_ctrl wstart_b(indicate_seq) to default value = 0xffff */
/* todo: check if AP can send A-MPDU packets */
- for (i = 0; i < 16 ; i++) {
+ for (i = 0; i < 16; i++) {
preorder_ctrl = &psta->recvreorder_ctrl[i];
preorder_ctrl->enable = false;
preorder_ctrl->indicate_seq = 0xffff;
preorder_ctrl->wend_b = 0xffff;
- preorder_ctrl->wsize_b = 64;/* max_ampdu_sz;ex. 32(kbytes) -> wsize_b =32 */
+ preorder_ctrl->wsize_b =
+ 64; /* max_ampdu_sz;ex. 32(kbytes) -> wsize_b =32 */
}
bmc_sta = rtw_get_bcmc_stainfo(padapter);
if (bmc_sta) {
- for (i = 0; i < 16 ; i++) {
+ for (i = 0; i < 16; i++) {
preorder_ctrl = &bmc_sta->recvreorder_ctrl[i];
preorder_ctrl->enable = false;
preorder_ctrl->indicate_seq = 0xffff;
preorder_ctrl->wend_b = 0xffff;
- preorder_ctrl->wsize_b = 64;/* max_ampdu_sz;ex. 32(kbytes) -> wsize_b =32 */
+ preorder_ctrl->wsize_b =
+ 64; /* max_ampdu_sz;ex. 32(kbytes) -> wsize_b =32 */
}
}
}
@@ -1032,25 +1120,32 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str
/* pnetwork : returns from rtw_joinbss_event_callback */
/* ptarget_wlan: found from scanned_queue */
-static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_network *ptarget_wlan, struct wlan_network *pnetwork)
+static void rtw_joinbss_update_network(struct adapter *padapter,
+ struct wlan_network *ptarget_wlan,
+ struct wlan_network *pnetwork)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct wlan_network *cur_network = &pmlmepriv->cur_network;
+ struct wlan_network *cur_network = &pmlmepriv->cur_network;
/* why not use ptarget_wlan?? */
- memcpy(&cur_network->network, &pnetwork->network, pnetwork->network.length);
+ memcpy(&cur_network->network, &pnetwork->network,
+ pnetwork->network.length);
/* some ies in pnetwork is wrong, so we should use ptarget_wlan ies */
cur_network->network.ie_length = ptarget_wlan->network.ie_length;
- memcpy(&cur_network->network.ies[0], &ptarget_wlan->network.ies[0], MAX_IE_SZ);
+ memcpy(&cur_network->network.ies[0], &ptarget_wlan->network.ies[0],
+ MAX_IE_SZ);
cur_network->aid = pnetwork->join_res;
rtw_set_signal_stat_timer(&padapter->recvpriv);
- padapter->recvpriv.signal_strength = ptarget_wlan->network.phy_info.signal_strength;
- padapter->recvpriv.signal_qual = ptarget_wlan->network.phy_info.signal_quality;
+ padapter->recvpriv.signal_strength =
+ ptarget_wlan->network.phy_info.signal_strength;
+ padapter->recvpriv.signal_qual =
+ ptarget_wlan->network.phy_info.signal_quality;
/* the ptarget_wlan->network.rssi is raw data, we use ptarget_wlan->network.phy_info.signal_strength instead (has scaled) */
- padapter->recvpriv.rssi = translate_percentage_to_dbm(ptarget_wlan->network.phy_info.signal_strength);
+ padapter->recvpriv.rssi = translate_percentage_to_dbm(
+ ptarget_wlan->network.phy_info.signal_strength);
rtw_set_signal_stat_timer(&padapter->recvpriv);
@@ -1058,30 +1153,36 @@ static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_net
switch (pnetwork->network.infrastructure_mode) {
case Ndis802_11Infrastructure:
- if (pmlmepriv->fw_state & WIFI_UNDER_WPS)
- pmlmepriv->fw_state = WIFI_STATION_STATE | WIFI_UNDER_WPS;
- else
- pmlmepriv->fw_state = WIFI_STATION_STATE;
+ if (pmlmepriv->fw_state & WIFI_UNDER_WPS)
+ pmlmepriv->fw_state = WIFI_STATION_STATE |
+ WIFI_UNDER_WPS;
+ else
+ pmlmepriv->fw_state = WIFI_STATION_STATE;
- break;
+ break;
case Ndis802_11IBSS:
- pmlmepriv->fw_state = WIFI_ADHOC_STATE;
- break;
+ pmlmepriv->fw_state = WIFI_ADHOC_STATE;
+ break;
default:
- pmlmepriv->fw_state = WIFI_NULL_STATE;
- break;
+ pmlmepriv->fw_state = WIFI_NULL_STATE;
+ break;
}
if (cur_network->network.ie_length < sizeof(struct ndis_802_11_fix_ie))
return;
- rtw_update_protection(padapter, (cur_network->network.ies) + sizeof(struct ndis_802_11_fix_ie),
- (cur_network->network.ie_length - sizeof(struct ndis_802_11_fix_ie)));
+ rtw_update_protection(padapter,
+ (cur_network->network.ies) +
+ sizeof(struct ndis_802_11_fix_ie),
+ (cur_network->network.ie_length -
+ sizeof(struct ndis_802_11_fix_ie)));
- rtw_update_ht_cap(padapter, cur_network->network.ies, cur_network->network.ie_length, (u8) cur_network->network.configuration.ds_config);
+ rtw_update_ht_cap(padapter, cur_network->network.ies,
+ cur_network->network.ie_length,
+ (u8)cur_network->network.configuration.ds_config);
}
-static struct rt_pmkid_list backupPMKIDList[NUM_PMKID_CACHE];
+static struct rt_pmkid_list backupPMKIDList[NUM_PMKID_CACHE];
void rtw_reset_securitypriv(struct adapter *adapter)
{
u8 backupPMKIDIndex = 0;
@@ -1100,22 +1201,29 @@ void rtw_reset_securitypriv(struct adapter *adapter)
/* Backup the btkip_countermeasure information. */
/* When the countermeasure is trigger, the driver have to disconnect with AP for 60 seconds. */
- memcpy(&backupPMKIDList[0], &adapter->securitypriv.PMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE);
+ memcpy(&backupPMKIDList[0], &adapter->securitypriv.PMKIDList[0],
+ sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE);
backupPMKIDIndex = adapter->securitypriv.PMKIDIndex;
- backupTKIPCountermeasure = adapter->securitypriv.btkip_countermeasure;
- backupTKIPcountermeasure_time = adapter->securitypriv.btkip_countermeasure_time;
+ backupTKIPCountermeasure =
+ adapter->securitypriv.btkip_countermeasure;
+ backupTKIPcountermeasure_time =
+ adapter->securitypriv.btkip_countermeasure_time;
/* reset RX BIP packet number */
pmlmeext->mgnt_80211w_IPN_rx = 0;
- memset((unsigned char *)&adapter->securitypriv, 0, sizeof(struct security_priv));
+ memset((unsigned char *)&adapter->securitypriv, 0,
+ sizeof(struct security_priv));
/* Added by Albert 2009/02/18 */
/* Restore the PMK information to securitypriv structure for the following connection. */
- memcpy(&adapter->securitypriv.PMKIDList[0], &backupPMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE);
+ memcpy(&adapter->securitypriv.PMKIDList[0], &backupPMKIDList[0],
+ sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE);
adapter->securitypriv.PMKIDIndex = backupPMKIDIndex;
- adapter->securitypriv.btkip_countermeasure = backupTKIPCountermeasure;
- adapter->securitypriv.btkip_countermeasure_time = backupTKIPcountermeasure_time;
+ adapter->securitypriv.btkip_countermeasure =
+ backupTKIPCountermeasure;
+ adapter->securitypriv.btkip_countermeasure_time =
+ backupTKIPcountermeasure_time;
adapter->securitypriv.ndisauthtype = Ndis802_11AuthModeOpen;
adapter->securitypriv.ndisencryptstatus = Ndis802_11WEPDisabled;
@@ -1126,7 +1234,8 @@ void rtw_reset_securitypriv(struct adapter *adapter)
/* */
struct security_priv *psec_priv = &adapter->securitypriv;
- psec_priv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open; /* open system */
+ psec_priv->dot11AuthAlgrthm =
+ dot11AuthAlgrthm_Open; /* open system */
psec_priv->dot11PrivacyAlgrthm = _NO_PRIVACY_;
psec_priv->dot11PrivacyKeyIndex = 0;
@@ -1151,14 +1260,15 @@ void rtw_reset_securitypriv(struct adapter *adapter)
void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf)
{
struct sta_info *ptarget_sta = NULL, *pcur_sta = NULL;
- struct sta_priv *pstapriv = &adapter->stapriv;
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- struct wlan_network *pnetwork = (struct wlan_network *)pbuf;
- struct wlan_network *cur_network = &pmlmepriv->cur_network;
- struct wlan_network *pcur_wlan = NULL, *ptarget_wlan = NULL;
- unsigned int the_same_macaddr = false;
+ struct sta_priv *pstapriv = &adapter->stapriv;
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct wlan_network *pnetwork = (struct wlan_network *)pbuf;
+ struct wlan_network *cur_network = &pmlmepriv->cur_network;
+ struct wlan_network *pcur_wlan = NULL, *ptarget_wlan = NULL;
+ unsigned int the_same_macaddr = false;
- the_same_macaddr = !memcmp(pnetwork->network.mac_address, cur_network->network.mac_address, ETH_ALEN);
+ the_same_macaddr = !memcmp(pnetwork->network.mac_address,
+ cur_network->network.mac_address, ETH_ALEN);
pnetwork->network.length = get_wlan_bssid_ex_sz(&pnetwork->network);
if (pnetwork->network.length > sizeof(struct wlan_bssid_ex))
@@ -1180,7 +1290,8 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf)
return;
}
- if (pnetwork->join_res <= 0) { /* if join_res < 0 (join fails), then try again */
+ if (pnetwork->join_res <=
+ 0) { /* if join_res < 0 (join fails), then try again */
_set_timer(&pmlmepriv->assoc_timer, 1);
_clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
spin_unlock_bh(&pmlmepriv->lock);
@@ -1198,24 +1309,32 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf)
/* s1. find ptarget_wlan */
if (check_fwstate(pmlmepriv, _FW_LINKED)) {
if (the_same_macaddr) {
- ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address);
+ ptarget_wlan = rtw_find_network(
+ &pmlmepriv->scanned_queue,
+ cur_network->network.mac_address);
} else {
- pcur_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address);
+ pcur_wlan = rtw_find_network(
+ &pmlmepriv->scanned_queue,
+ cur_network->network.mac_address);
if (pcur_wlan)
pcur_wlan->fixed = false;
- pcur_sta = rtw_get_stainfo(pstapriv, cur_network->network.mac_address);
+ pcur_sta = rtw_get_stainfo(
+ pstapriv, cur_network->network.mac_address);
if (pcur_sta)
rtw_free_stainfo(adapter, pcur_sta);
- ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, pnetwork->network.mac_address);
+ ptarget_wlan =
+ rtw_find_network(&pmlmepriv->scanned_queue,
+ pnetwork->network.mac_address);
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) {
if (ptarget_wlan)
ptarget_wlan->fixed = true;
}
}
} else {
- ptarget_wlan = _rtw_find_same_network(&pmlmepriv->scanned_queue, pnetwork);
+ ptarget_wlan = _rtw_find_same_network(&pmlmepriv->scanned_queue,
+ pnetwork);
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) {
if (ptarget_wlan)
ptarget_wlan->fixed = true;
@@ -1224,8 +1343,9 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf)
/* s2. update cur_network */
if (!ptarget_wlan) {
- netdev_dbg(adapter->pnetdev,
- "Can't find ptarget_wlan when joinbss_event callback\n");
+ netdev_dbg(
+ adapter->pnetdev,
+ "Can't find ptarget_wlan when joinbss_event callback\n");
spin_unlock_bh(&pmlmepriv->scanned_queue.lock);
spin_unlock_bh(&pmlmepriv->lock);
return;
@@ -1258,7 +1378,7 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf)
void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf)
{
- struct wlan_network *pnetwork = (struct wlan_network *)pbuf;
+ struct wlan_network *pnetwork = (struct wlan_network *)pbuf;
mlmeext_joinbss_event_callback(adapter, pnetwork->join_res);
@@ -1266,24 +1386,27 @@ void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf)
}
/* FOR STA, AP , AD-HOC mode */
-void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta, u32 mstatus)
+void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta,
+ u32 mstatus)
{
u16 media_status_rpt;
if (!psta)
return;
- media_status_rpt = (u16)((psta->mac_id << 8) | mstatus); /* MACID|OPMODE:1 connect */
- rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status_rpt);
+ media_status_rpt = (u16)((psta->mac_id << 8) |
+ mstatus); /* MACID|OPMODE:1 connect */
+ rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT,
+ (u8 *)&media_status_rpt);
}
void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
{
struct sta_info *psta;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- struct stassoc_event *pstassoc = (struct stassoc_event *)pbuf;
- struct wlan_network *cur_network = &pmlmepriv->cur_network;
- struct wlan_network *ptarget_wlan = NULL;
+ struct stassoc_event *pstassoc = (struct stassoc_event *)pbuf;
+ struct wlan_network *cur_network = &pmlmepriv->cur_network;
+ struct wlan_network *ptarget_wlan = NULL;
if (!rtw_access_ctrl(adapter, pstassoc->macaddr))
return;
@@ -1301,7 +1424,9 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
/* report to upper layer */
spin_lock_bh(&psta->lock);
if (psta->passoc_req && psta->assoc_req_len > 0) {
- passoc_req = kmemdup(psta->passoc_req, psta->assoc_req_len, GFP_ATOMIC);
+ passoc_req = kmemdup(psta->passoc_req,
+ psta->assoc_req_len,
+ GFP_ATOMIC);
if (passoc_req) {
assoc_req_len = psta->assoc_req_len;
@@ -1313,7 +1438,8 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
spin_unlock_bh(&psta->lock);
if (passoc_req && assoc_req_len > 0) {
- rtw_cfg80211_indicate_sta_assoc(adapter, passoc_req, assoc_req_len);
+ rtw_cfg80211_indicate_sta_assoc(
+ adapter, passoc_req, assoc_req_len);
kfree(passoc_req);
}
@@ -1343,7 +1469,8 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
rtw_sta_media_status_rpt(adapter, psta, 1);
if (adapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X)
- psta->dot118021XPrivacy = adapter->securitypriv.dot11PrivacyAlgrthm;
+ psta->dot118021XPrivacy =
+ adapter->securitypriv.dot11PrivacyAlgrthm;
psta->ieee8021x_blocked = false;
@@ -1353,7 +1480,9 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) {
if (adapter->stapriv.asoc_sta_count == 2) {
spin_lock_bh(&pmlmepriv->scanned_queue.lock);
- ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address);
+ ptarget_wlan = rtw_find_network(
+ &pmlmepriv->scanned_queue,
+ cur_network->network.mac_address);
pmlmepriv->cur_network_scanned = ptarget_wlan;
if (ptarget_wlan)
ptarget_wlan->fixed = true;
@@ -1373,10 +1502,10 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf)
int mac_id = (-1);
struct sta_info *psta;
struct wlan_network *pwlan = NULL;
- struct wlan_bssid_ex *pdev_network = NULL;
+ struct wlan_bssid_ex *pdev_network = NULL;
u8 *pibss = NULL;
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- struct stadel_event *pstadel = (struct stadel_event *)pbuf;
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct stadel_event *pstadel = (struct stadel_event *)pbuf;
struct wlan_network *tgt_network = &pmlmepriv->cur_network;
struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
@@ -1390,9 +1519,11 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf)
if (mac_id >= 0) {
u16 media_status;
- media_status = (mac_id << 8) | 0; /* MACID|OPMODE:0 means disconnect */
+ media_status = (mac_id << 8) |
+ 0; /* MACID|OPMODE:0 means disconnect */
/* for STA, AP, ADHOC mode, report disconnect status to FW */
- rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status);
+ rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT,
+ (u8 *)&media_status);
}
/* if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) */
@@ -1410,18 +1541,23 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf)
if (adapter->registrypriv.wifi_spec == 1) {
roam = false;
- } else if (reason == WLAN_REASON_EXPIRATION_CHK && rtw_chk_roam_flags(adapter, RTW_ROAM_ON_EXPIRED)) {
+ } else if (reason == WLAN_REASON_EXPIRATION_CHK &&
+ rtw_chk_roam_flags(adapter, RTW_ROAM_ON_EXPIRED)) {
roam = true;
- } else if (reason == WLAN_REASON_ACTIVE_ROAM && rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) {
+ } else if (reason == WLAN_REASON_ACTIVE_ROAM &&
+ rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) {
roam = true;
roam_target = pmlmepriv->roam_network;
}
if (roam) {
if (rtw_to_roam(adapter) > 0)
- rtw_dec_to_roam(adapter); /* this stadel_event is caused by roaming, decrease to_roam */
+ rtw_dec_to_roam(
+ adapter); /* this stadel_event is caused by roaming, decrease to_roam */
else if (rtw_to_roam(adapter) == 0)
- rtw_set_to_roam(adapter, adapter->registrypriv.max_roaming_times);
+ rtw_set_to_roam(
+ adapter,
+ adapter->registrypriv.max_roaming_times);
} else {
rtw_set_to_roam(adapter, 0);
}
@@ -1433,7 +1569,8 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf)
spin_lock_bh(&pmlmepriv->scanned_queue.lock);
/* remove the network entry in scanned_queue */
- pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address);
+ pwlan = rtw_find_network(&pmlmepriv->scanned_queue,
+ tgt_network->network.mac_address);
if (pwlan) {
pwlan->fixed = false;
rtw_free_network_nolock(adapter, pwlan);
@@ -1444,15 +1581,18 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf)
}
if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) ||
- check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) {
- rtw_free_stainfo(adapter, psta);
+ check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) {
+ rtw_free_stainfo(adapter, psta);
- if (adapter->stapriv.asoc_sta_count == 1) {/* a sta + bc/mc_stainfo (not Ibss_stainfo) */
+ if (adapter->stapriv.asoc_sta_count ==
+ 1) { /* a sta + bc/mc_stainfo (not Ibss_stainfo) */
u8 ret = _SUCCESS;
spin_lock_bh(&pmlmepriv->scanned_queue.lock);
/* free old ibss network */
- pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address);
+ pwlan = rtw_find_network(
+ &pmlmepriv->scanned_queue,
+ tgt_network->network.mac_address);
if (pwlan) {
pwlan->fixed = false;
rtw_free_network_nolock(adapter, pwlan);
@@ -1462,9 +1602,11 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf)
pdev_network = &adapter->registrypriv.dev_network;
pibss = adapter->registrypriv.dev_network.mac_address;
- memcpy(pdev_network, &tgt_network->network, get_wlan_bssid_ex_sz(&tgt_network->network));
+ memcpy(pdev_network, &tgt_network->network,
+ get_wlan_bssid_ex_sz(&tgt_network->network));
- memcpy(&pdev_network->ssid, &pmlmepriv->assoc_ssid, sizeof(struct ndis_802_11_ssid));
+ memcpy(&pdev_network->ssid, &pmlmepriv->assoc_ssid,
+ sizeof(struct ndis_802_11_ssid));
rtw_update_registrypriv_dev_network(adapter);
@@ -1490,7 +1632,8 @@ void rtw_cpwm_event_callback(struct adapter *padapter, u8 *pbuf)
struct reportpwrstate_parm *preportpwrstate;
preportpwrstate = (struct reportpwrstate_parm *)pbuf;
- preportpwrstate->state |= (u8)(adapter_to_pwrctl(padapter)->cpwm_tog + 0x80);
+ preportpwrstate->state |=
+ (u8)(adapter_to_pwrctl(padapter)->cpwm_tog + 0x80);
cpwm_int_hdl(padapter, preportpwrstate);
}
@@ -1505,9 +1648,9 @@ void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf)
*/
void _rtw_join_timeout_handler(struct timer_list *t)
{
- struct adapter *adapter = timer_container_of(adapter, t,
- mlmepriv.assoc_timer);
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct adapter *adapter =
+ timer_container_of(adapter, t, mlmepriv.assoc_timer);
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
return;
@@ -1533,7 +1676,7 @@ void _rtw_join_timeout_handler(struct timer_list *t)
} else {
rtw_indicate_disconnect(adapter);
- free_scanqueue(pmlmepriv);/* */
+ free_scanqueue(pmlmepriv); /* */
/* indicate disconnect for the case that join_timeout and check_fwstate != FW_LINKED */
rtw_cfg80211_indicate_disconnect(adapter);
@@ -1548,9 +1691,9 @@ void _rtw_join_timeout_handler(struct timer_list *t)
*/
void rtw_scan_timeout_handler(struct timer_list *t)
{
- struct adapter *adapter = timer_container_of(adapter, t,
- mlmepriv.scan_to_timer);
- struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
+ struct adapter *adapter =
+ timer_container_of(adapter, t, mlmepriv.scan_to_timer);
+ struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
spin_lock_bh(&pmlmepriv->lock);
@@ -1570,10 +1713,12 @@ void rtw_mlme_reset_auto_scan_int(struct adapter *adapter)
if (pmlmeinfo->VHT_enable) {
/* disable auto scan when connect to 11AC AP */
mlme->auto_scan_int_ms = 0;
- } else if (adapter->registrypriv.wifi_spec && is_client_associated_to_ap(adapter)) {
+ } else if (adapter->registrypriv.wifi_spec &&
+ is_client_associated_to_ap(adapter)) {
mlme->auto_scan_int_ms = 60 * 1000;
} else if (rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) {
- if (check_fwstate(mlme, WIFI_STATION_STATE) && check_fwstate(mlme, _FW_LINKED))
+ if (check_fwstate(mlme, WIFI_STATION_STATE) &&
+ check_fwstate(mlme, _FW_LINKED))
mlme->auto_scan_int_ms = mlme->roam_scan_int_ms;
} else {
mlme->auto_scan_int_ms = 0; /* disabled */
@@ -1586,10 +1731,12 @@ static void rtw_auto_scan_handler(struct adapter *padapter)
rtw_mlme_reset_auto_scan_int(padapter);
- if (pmlmepriv->auto_scan_int_ms != 0
- && jiffies_to_msecs(jiffies - pmlmepriv->scan_start_time) > pmlmepriv->auto_scan_int_ms) {
+ if (pmlmepriv->auto_scan_int_ms != 0 &&
+ jiffies_to_msecs(jiffies - pmlmepriv->scan_start_time) >
+ pmlmepriv->auto_scan_int_ms) {
if (!padapter->registrypriv.wifi_spec) {
- if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY | _FW_UNDER_LINKING))
+ if (check_fwstate(pmlmepriv,
+ _FW_UNDER_SURVEY | _FW_UNDER_LINKING))
goto exit;
if (pmlmepriv->link_detect_info.busy_traffic)
@@ -1617,9 +1764,8 @@ void rtw_dynamic_check_timer_handler(struct adapter *adapter)
if (adapter->net_closed)
return;
- if ((adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
- && !(hal_btcoex_IsBtControlLps(adapter))
- ) {
+ if ((adapter_to_pwrctl(adapter)->fw_current_in_ps_mode) &&
+ !(hal_btcoex_IsBtControlLps(adapter))) {
bool should_enter_ps;
linked_status_chk(adapter);
@@ -1667,8 +1813,9 @@ void rtw_set_scan_deny(struct adapter *adapter, u32 ms)
* @return true: candidate is updated
* @return false: candidate is not updated
*/
-static int rtw_check_roaming_candidate(struct mlme_priv *mlme
- , struct wlan_network **candidate, struct wlan_network *competitor)
+static int rtw_check_roaming_candidate(struct mlme_priv *mlme,
+ struct wlan_network **candidate,
+ struct wlan_network *competitor)
{
int updated = false;
struct adapter *adapter = container_of(mlme, struct adapter, mlmepriv);
@@ -1681,18 +1828,22 @@ static int rtw_check_roaming_candidate(struct mlme_priv *mlme
/* got specific addr to roam */
if (!is_zero_ether_addr(mlme->roam_tgt_addr)) {
- if (!memcmp(mlme->roam_tgt_addr, competitor->network.mac_address, ETH_ALEN))
+ if (!memcmp(mlme->roam_tgt_addr,
+ competitor->network.mac_address, ETH_ALEN))
goto update;
else
goto exit;
}
- if (jiffies_to_msecs(jiffies - competitor->last_scanned) >= mlme->roam_scanr_exp_ms)
+ if (jiffies_to_msecs(jiffies - competitor->last_scanned) >=
+ mlme->roam_scanr_exp_ms)
goto exit;
- if (competitor->network.rssi - mlme->cur_network_scanned->network.rssi < mlme->roam_rssi_diff_th)
+ if (competitor->network.rssi - mlme->cur_network_scanned->network.rssi <
+ mlme->roam_rssi_diff_th)
goto exit;
- if (*candidate && (*candidate)->network.rssi >= competitor->network.rssi)
+ if (*candidate &&
+ (*candidate)->network.rssi >= competitor->network.rssi)
goto exit;
update:
@@ -1706,10 +1857,10 @@ static int rtw_check_roaming_candidate(struct mlme_priv *mlme
int rtw_select_roaming_candidate(struct mlme_priv *mlme)
{
int ret = _FAIL;
- struct list_head *phead;
- struct __queue *queue = &mlme->scanned_queue;
- struct wlan_network *pnetwork = NULL;
- struct wlan_network *candidate = NULL;
+ struct list_head *phead;
+ struct __queue *queue = &mlme->scanned_queue;
+ struct wlan_network *pnetwork = NULL;
+ struct wlan_network *candidate = NULL;
if (!mlme->cur_network_scanned) {
WARN_ON(1);
@@ -1720,8 +1871,8 @@ int rtw_select_roaming_candidate(struct mlme_priv *mlme)
phead = get_list_head(queue);
list_for_each(mlme->pscanned, phead) {
- pnetwork = list_entry(mlme->pscanned, struct wlan_network,
- list);
+ pnetwork =
+ list_entry(mlme->pscanned, struct wlan_network, list);
rtw_check_roaming_candidate(mlme, &candidate, pnetwork);
}
@@ -1732,7 +1883,8 @@ int rtw_select_roaming_candidate(struct mlme_priv *mlme)
} else {
mlme->roam_network = candidate;
- if (!memcmp(candidate->network.mac_address, mlme->roam_tgt_addr, ETH_ALEN))
+ if (!memcmp(candidate->network.mac_address, mlme->roam_tgt_addr,
+ ETH_ALEN))
eth_zero_addr(mlme->roam_tgt_addr);
}
@@ -1748,23 +1900,26 @@ int rtw_select_roaming_candidate(struct mlme_priv *mlme)
* @return true: candidate is updated
* @return false: candidate is not updated
*/
-static int rtw_check_join_candidate(struct mlme_priv *mlme
- , struct wlan_network **candidate, struct wlan_network *competitor)
+static int rtw_check_join_candidate(struct mlme_priv *mlme,
+ struct wlan_network **candidate,
+ struct wlan_network *competitor)
{
int updated = false;
struct adapter *adapter = container_of(mlme, struct adapter, mlmepriv);
/* check bssid, if needed */
if (mlme->assoc_by_bssid) {
- if (memcmp(competitor->network.mac_address, mlme->assoc_bssid, ETH_ALEN))
+ if (memcmp(competitor->network.mac_address, mlme->assoc_bssid,
+ ETH_ALEN))
goto exit;
}
/* check ssid, if needed */
if (mlme->assoc_ssid.ssid[0] && mlme->assoc_ssid.ssid_length) {
- if (competitor->network.ssid.ssid_length != mlme->assoc_ssid.ssid_length
- || memcmp(competitor->network.ssid.ssid, mlme->assoc_ssid.ssid, mlme->assoc_ssid.ssid_length)
- )
+ if (competitor->network.ssid.ssid_length !=
+ mlme->assoc_ssid.ssid_length ||
+ memcmp(competitor->network.ssid.ssid, mlme->assoc_ssid.ssid,
+ mlme->assoc_ssid.ssid_length))
goto exit;
}
@@ -1773,12 +1928,14 @@ static int rtw_check_join_candidate(struct mlme_priv *mlme
if (rtw_to_roam(adapter) > 0) {
if (jiffies_to_msecs(jiffies - competitor->last_scanned) >=
- mlme->roam_scanr_exp_ms ||
- !is_same_ess(&competitor->network, &mlme->cur_network.network))
+ mlme->roam_scanr_exp_ms ||
+ !is_same_ess(&competitor->network,
+ &mlme->cur_network.network))
goto exit;
}
- if (!*candidate || (*candidate)->network.rssi < competitor->network.rssi) {
+ if (!*candidate ||
+ (*candidate)->network.rssi < competitor->network.rssi) {
*candidate = competitor;
updated = true;
}
@@ -1797,11 +1954,11 @@ static int rtw_check_join_candidate(struct mlme_priv *mlme
int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv)
{
int ret;
- struct list_head *phead;
+ struct list_head *phead;
struct adapter *adapter;
- struct __queue *queue = &pmlmepriv->scanned_queue;
- struct wlan_network *pnetwork = NULL;
- struct wlan_network *candidate = NULL;
+ struct __queue *queue = &pmlmepriv->scanned_queue;
+ struct wlan_network *pnetwork = NULL;
+ struct wlan_network *candidate = NULL;
adapter = (struct adapter *)pmlmepriv->nic_hdl;
@@ -1815,8 +1972,8 @@ int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv)
phead = get_list_head(queue);
list_for_each(pmlmepriv->pscanned, phead) {
- pnetwork = list_entry(pmlmepriv->pscanned,
- struct wlan_network, list);
+ pnetwork = list_entry(pmlmepriv->pscanned, struct wlan_network,
+ list);
rtw_check_join_candidate(pmlmepriv, &candidate, pnetwork);
}
@@ -1845,16 +2002,17 @@ int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv)
return ret;
}
-signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv)
+signed int rtw_set_auth(struct adapter *adapter,
+ struct security_priv *psecuritypriv)
{
- struct cmd_obj *pcmd;
- struct setauth_parm *psetauthparm;
- struct cmd_priv *pcmdpriv = &adapter->cmdpriv;
- signed int res = _SUCCESS;
+ struct cmd_obj *pcmd;
+ struct setauth_parm *psetauthparm;
+ struct cmd_priv *pcmdpriv = &adapter->cmdpriv;
+ signed int res = _SUCCESS;
pcmd = kzalloc_obj(*pcmd);
if (!pcmd) {
- res = _FAIL; /* try again */
+ res = _FAIL; /* try again */
goto exit;
}
@@ -1869,7 +2027,7 @@ signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecurity
pcmd->cmdcode = _SetAuth_CMD_;
pcmd->parmbuf = (unsigned char *)psetauthparm;
- pcmd->cmdsz = (sizeof(struct setauth_parm));
+ pcmd->cmdsz = (sizeof(struct setauth_parm));
pcmd->rsp = NULL;
pcmd->rspsz = 0;
@@ -1881,13 +2039,15 @@ signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecurity
return res;
}
-signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, signed int keyid, u8 set_tx, bool enqueue)
+signed int rtw_set_key(struct adapter *adapter,
+ struct security_priv *psecuritypriv, signed int keyid,
+ u8 set_tx, bool enqueue)
{
u8 keylen;
struct cmd_obj *pcmd;
- struct setkey_parm *psetkeyparm;
+ struct setkey_parm *psetkeyparm;
struct cmd_priv *pcmdpriv = &adapter->cmdpriv;
- signed int res = _SUCCESS;
+ signed int res = _SUCCESS;
psetkeyparm = kzalloc_obj(*psetkeyparm);
if (!psetkeyparm) {
@@ -1896,11 +2056,12 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp
}
if (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X)
- psetkeyparm->algorithm = (unsigned char)psecuritypriv->dot118021XGrpPrivacy;
+ psetkeyparm->algorithm =
+ (unsigned char)psecuritypriv->dot118021XGrpPrivacy;
else
psetkeyparm->algorithm = (u8)psecuritypriv->dot11PrivacyAlgrthm;
- psetkeyparm->keyid = (u8)keyid;/* 0~3 */
+ psetkeyparm->keyid = (u8)keyid; /* 0~3 */
psetkeyparm->set_tx = set_tx;
if (is_wep_enc(psetkeyparm->algorithm))
adapter->securitypriv.key_mask |= BIT(psetkeyparm->keyid);
@@ -1908,20 +2069,24 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp
switch (psetkeyparm->algorithm) {
case _WEP40_:
keylen = 5;
- memcpy(&psetkeyparm->key[0], &psecuritypriv->dot11DefKey[keyid].skey[0], keylen);
+ memcpy(&psetkeyparm->key[0],
+ &psecuritypriv->dot11DefKey[keyid].skey[0], keylen);
break;
case _WEP104_:
keylen = 13;
- memcpy(&psetkeyparm->key[0], &psecuritypriv->dot11DefKey[keyid].skey[0], keylen);
+ memcpy(&psetkeyparm->key[0],
+ &psecuritypriv->dot11DefKey[keyid].skey[0], keylen);
break;
case _TKIP_:
keylen = 16;
- memcpy(&psetkeyparm->key, &psecuritypriv->dot118021XGrpKey[keyid], keylen);
+ memcpy(&psetkeyparm->key,
+ &psecuritypriv->dot118021XGrpKey[keyid], keylen);
psetkeyparm->grpkey = 1;
break;
case _AES_:
keylen = 16;
- memcpy(&psetkeyparm->key, &psecuritypriv->dot118021XGrpKey[keyid], keylen);
+ memcpy(&psetkeyparm->key,
+ &psecuritypriv->dot118021XGrpKey[keyid], keylen);
psetkeyparm->grpkey = 1;
break;
default:
@@ -1934,13 +2099,13 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp
pcmd = kzalloc_obj(*pcmd);
if (!pcmd) {
kfree(psetkeyparm);
- res = _FAIL; /* try again */
+ res = _FAIL; /* try again */
goto exit;
}
pcmd->cmdcode = _SetKey_CMD_;
pcmd->parmbuf = (u8 *)psetkeyparm;
- pcmd->cmdsz = (sizeof(struct setkey_parm));
+ pcmd->cmdsz = (sizeof(struct setkey_parm));
pcmd->rsp = NULL;
pcmd->rspsz = 0;
@@ -1956,19 +2121,19 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp
}
/* adjust ies for rtw_joinbss_cmd in WMM */
-int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint initial_out_len)
+int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie,
+ uint in_len, uint initial_out_len)
{
- unsigned int ielength = 0;
+ unsigned int ielength = 0;
unsigned int i, j;
i = 12; /* after the fixed IE */
while (i < in_len) {
ielength = initial_out_len;
- if (i + 5 < in_len &&
- in_ie[i] == 0xDD && in_ie[i + 2] == 0x00 &&
- in_ie[i + 3] == 0x50 && in_ie[i + 4] == 0xF2 &&
- in_ie[i + 5] == 0x02) {
+ if (i + 5 < in_len && in_ie[i] == 0xDD &&
+ in_ie[i + 2] == 0x00 && in_ie[i + 3] == 0x50 &&
+ in_ie[i + 4] == 0xF2 && in_ie[i + 5] == 0x02) {
for (j = i; j < i + 9; j++) {
out_ie[ielength] = in_ie[j];
ielength++;
@@ -2003,7 +2168,7 @@ static int SecIsInPMKIDList(struct adapter *Adapter, u8 *bssid)
for (i = 0; i < NUM_PMKID_CACHE; i++)
if ((p->PMKIDList[i].bUsed) &&
- (!memcmp(p->PMKIDList[i].Bssid, bssid, ETH_ALEN)))
+ (!memcmp(p->PMKIDList[i].Bssid, bssid, ETH_ALEN)))
return i;
return -1;
}
@@ -2016,7 +2181,8 @@ static int SecIsInPMKIDList(struct adapter *Adapter, u8 *bssid)
/* 13th element in the array is the IE length */
/* */
-static int rtw_append_pmkid(struct adapter *Adapter, int iEntry, u8 *ie, uint ie_len)
+static int rtw_append_pmkid(struct adapter *Adapter, int iEntry, u8 *ie,
+ uint ie_len)
{
struct security_priv *psecuritypriv = &Adapter->securitypriv;
@@ -2024,18 +2190,19 @@ static int rtw_append_pmkid(struct adapter *Adapter, int iEntry, u8 *ie, uint ie
/* The RSN IE didn't include the PMK ID, append the PMK information */
ie[ie_len] = 1;
ie_len++;
- ie[ie_len] = 0; /* PMKID count = 0x0100 */
+ ie[ie_len] = 0; /* PMKID count = 0x0100 */
ie_len++;
- memcpy(&ie[ie_len], &psecuritypriv->PMKIDList[iEntry].PMKID, 16);
+ memcpy(&ie[ie_len], &psecuritypriv->PMKIDList[iEntry].PMKID,
+ 16);
ie_len += 16;
- ie[13] += 18;/* PMKID length = 2+16 */
+ ie[13] += 18; /* PMKID length = 2+16 */
}
return ie_len;
}
static void rtw_report_sec_ie(struct adapter *adapter, u8 authmode, u8 *sec_ie)
{
- uint len;
+ uint len;
u8 *buff, *p;
union iwreq_data wrqu;
@@ -2047,12 +2214,14 @@ static void rtw_report_sec_ie(struct adapter *adapter, u8 authmode, u8 *sec_ie)
p = buff;
- p += scnprintf(p, IW_CUSTOM_MAX - (p - buff), "ASSOCINFO(ReqIEs =");
+ p += scnprintf(p, IW_CUSTOM_MAX - (p - buff),
+ "ASSOCINFO(ReqIEs =");
len = sec_ie[1] + 2;
len = (len < IW_CUSTOM_MAX) ? len : IW_CUSTOM_MAX;
- p += scnprintf(p, IW_CUSTOM_MAX - (p - buff), " %*ph", len, sec_ie);
+ p += scnprintf(p, IW_CUSTOM_MAX - (p - buff), " %*ph", len,
+ sec_ie);
p += scnprintf(p, IW_CUSTOM_MAX - (p - buff), ")");
@@ -2060,39 +2229,48 @@ static void rtw_report_sec_ie(struct adapter *adapter, u8 authmode, u8 *sec_ie)
wrqu.data.length = p - buff;
- wrqu.data.length = (wrqu.data.length < IW_CUSTOM_MAX) ? wrqu.data.length : IW_CUSTOM_MAX;
+ wrqu.data.length = (wrqu.data.length < IW_CUSTOM_MAX) ?
+ wrqu.data.length :
+ IW_CUSTOM_MAX;
kfree(buff);
}
}
-signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len)
+signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie,
+ uint in_len)
{
u8 authmode = 0x0;
- uint ielength;
+ uint ielength;
int iEntry;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
struct security_priv *psecuritypriv = &adapter->securitypriv;
- uint ndisauthmode = psecuritypriv->ndisauthtype;
+ uint ndisauthmode = psecuritypriv->ndisauthtype;
/* copy fixed ie only */
memcpy(out_ie, in_ie, 12);
ielength = 12;
- if ((ndisauthmode == Ndis802_11AuthModeWPA) || (ndisauthmode == Ndis802_11AuthModeWPAPSK))
+ if ((ndisauthmode == Ndis802_11AuthModeWPA) ||
+ (ndisauthmode == Ndis802_11AuthModeWPAPSK))
authmode = WLAN_EID_VENDOR_SPECIFIC;
- if ((ndisauthmode == Ndis802_11AuthModeWPA2) || (ndisauthmode == Ndis802_11AuthModeWPA2PSK))
+ if ((ndisauthmode == Ndis802_11AuthModeWPA2) ||
+ (ndisauthmode == Ndis802_11AuthModeWPA2PSK))
authmode = WLAN_EID_RSN;
if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) {
- memcpy(out_ie + ielength, psecuritypriv->wps_ie, psecuritypriv->wps_ie_len);
+ memcpy(out_ie + ielength, psecuritypriv->wps_ie,
+ psecuritypriv->wps_ie_len);
ielength += psecuritypriv->wps_ie_len;
- } else if ((authmode == WLAN_EID_VENDOR_SPECIFIC) || (authmode == WLAN_EID_RSN)) {
+ } else if ((authmode == WLAN_EID_VENDOR_SPECIFIC) ||
+ (authmode == WLAN_EID_RSN)) {
/* copy RSN or SSN */
- memcpy(&out_ie[ielength], &psecuritypriv->supplicant_ie[0], psecuritypriv->supplicant_ie[1] + 2);
+ memcpy(&out_ie[ielength], &psecuritypriv->supplicant_ie[0],
+ psecuritypriv->supplicant_ie[1] + 2);
ielength += psecuritypriv->supplicant_ie[1] + 2;
- rtw_report_sec_ie(adapter, authmode, psecuritypriv->supplicant_ie);
+ rtw_report_sec_ie(adapter, authmode,
+ psecuritypriv->supplicant_ie);
}
iEntry = SecIsInPMKIDList(adapter, pmlmepriv->assoc_bssid);
@@ -2109,12 +2287,13 @@ void rtw_init_registrypriv_dev_network(struct adapter *adapter)
{
struct registry_priv *pregistrypriv = &adapter->registrypriv;
struct eeprom_priv *peepriv = &adapter->eeprompriv;
- struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network;
+ struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network;
u8 *myhwaddr = myid(peepriv);
memcpy(pdev_network->mac_address, myhwaddr, ETH_ALEN);
- memcpy(&pdev_network->ssid, &pregistrypriv->ssid, sizeof(struct ndis_802_11_ssid));
+ memcpy(&pdev_network->ssid, &pregistrypriv->ssid,
+ sizeof(struct ndis_802_11_ssid));
pdev_network->configuration.length = sizeof(struct ndis_802_11_conf);
pdev_network->configuration.beacon_period = 100;
@@ -2124,11 +2303,13 @@ void rtw_update_registrypriv_dev_network(struct adapter *adapter)
{
int sz = 0;
struct registry_priv *pregistrypriv = &adapter->registrypriv;
- struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network;
- struct security_priv *psecuritypriv = &adapter->securitypriv;
- struct wlan_network *cur_network = &adapter->mlmepriv.cur_network;
+ struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network;
+ struct security_priv *psecuritypriv = &adapter->securitypriv;
+ struct wlan_network *cur_network = &adapter->mlmepriv.cur_network;
- pdev_network->privacy = (psecuritypriv->dot11PrivacyAlgrthm > 0 ? 1 : 0) ; /* adhoc no 802.1x */
+ pdev_network->privacy = (psecuritypriv->dot11PrivacyAlgrthm > 0 ?
+ 1 :
+ 0); /* adhoc no 802.1x */
pdev_network->rssi = 0;
@@ -2153,7 +2334,8 @@ void rtw_update_registrypriv_dev_network(struct adapter *adapter)
if (cur_network->network.infrastructure_mode == Ndis802_11IBSS)
pdev_network->configuration.atim_window = (0);
- pdev_network->infrastructure_mode = (cur_network->network.infrastructure_mode);
+ pdev_network->infrastructure_mode =
+ (cur_network->network.infrastructure_mode);
/* 1. Supported rates */
/* 2. IE */
@@ -2163,7 +2345,8 @@ void rtw_update_registrypriv_dev_network(struct adapter *adapter)
pdev_network->ie_length = sz;
- pdev_network->length = get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)pdev_network);
+ pdev_network->length =
+ get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)pdev_network);
/* notes: translate ie_length & length after assign the length to cmdsz in createbss_cmd(); */
/* pdev_network->ie_length = cpu_to_le32(sz); */
@@ -2183,7 +2366,7 @@ void rtw_joinbss_reset(struct adapter *padapter)
pmlmepriv->num_sta_no_ht = 0;
- phtpriv->ampdu_enable = false;/* reset to disabled */
+ phtpriv->ampdu_enable = false; /* reset to disabled */
/* TH = 1 => means that invalidate usb rx aggregation */
/* TH = 0 => means that validate usb rx aggregation, use init value. */
@@ -2192,10 +2375,12 @@ void rtw_joinbss_reset(struct adapter *padapter)
threshold = 1;
else
threshold = 0;
- rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
+ rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH,
+ (u8 *)(&threshold));
} else {
threshold = 1;
- rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
+ rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH,
+ (u8 *)(&threshold));
}
}
@@ -2204,16 +2389,18 @@ void rtw_ht_use_default_setting(struct adapter *padapter)
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
struct registry_priv *pregistrypriv = &padapter->registrypriv;
- bool bHwLDPCSupport = false, bHwSTBCSupport = false;
- bool bHwSupportBeamformer = false, bHwSupportBeamformee = false;
+ bool bHwLDPCSupport = false, bHwSTBCSupport = false;
+ bool bHwSupportBeamformer = false, bHwSupportBeamformee = false;
if (pregistrypriv->wifi_spec)
phtpriv->bss_coexist = 1;
else
phtpriv->bss_coexist = 0;
- phtpriv->sgi_40m = TEST_FLAG(pregistrypriv->short_gi, BIT(1)) ? true : false;
- phtpriv->sgi_20m = TEST_FLAG(pregistrypriv->short_gi, BIT(0)) ? true : false;
+ phtpriv->sgi_40m = TEST_FLAG(pregistrypriv->short_gi, BIT(1)) ? true :
+ false;
+ phtpriv->sgi_20m = TEST_FLAG(pregistrypriv->short_gi, BIT(0)) ? true :
+ false;
/* LDPC support */
rtw_hal_get_def_var(padapter, HAL_DEF_RX_LDPC, (u8 *)&bHwLDPCSupport);
@@ -2242,19 +2429,25 @@ void rtw_ht_use_default_setting(struct adapter *padapter)
}
/* Beamforming setting */
- rtw_hal_get_def_var(padapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&bHwSupportBeamformer);
- rtw_hal_get_def_var(padapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&bHwSupportBeamformee);
+ rtw_hal_get_def_var(padapter, HAL_DEF_EXPLICIT_BEAMFORMER,
+ (u8 *)&bHwSupportBeamformer);
+ rtw_hal_get_def_var(padapter, HAL_DEF_EXPLICIT_BEAMFORMEE,
+ (u8 *)&bHwSupportBeamformee);
CLEAR_FLAGS(phtpriv->beamform_cap);
- if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(4)) && bHwSupportBeamformer)
- SET_FLAG(phtpriv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE);
+ if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(4)) &&
+ bHwSupportBeamformer)
+ SET_FLAG(phtpriv->beamform_cap,
+ BEAMFORMING_HT_BEAMFORMER_ENABLE);
- if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(5)) && bHwSupportBeamformee)
- SET_FLAG(phtpriv->beamform_cap, BEAMFORMING_HT_BEAMFORMEE_ENABLE);
+ if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(5)) &&
+ bHwSupportBeamformee)
+ SET_FLAG(phtpriv->beamform_cap,
+ BEAMFORMING_HT_BEAMFORMEE_ENABLE);
}
void rtw_build_wmm_ie_ht(struct adapter *padapter, u8 *out_ie, uint *pout_len)
{
- unsigned char WMM_IE[] = {0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00};
+ unsigned char WMM_IE[] = { 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00 };
int out_len;
if (padapter->mlmepriv.qospriv.qos_option == 0) {
@@ -2267,7 +2460,9 @@ void rtw_build_wmm_ie_ht(struct adapter *padapter, u8 *out_ie, uint *pout_len)
}
/* the function is >= passive_level */
-unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel)
+unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie,
+ u8 *out_ie, uint in_len, uint *pout_len,
+ u8 channel)
{
u32 ielen, out_len;
enum ieee80211_max_ampdu_length_exp max_rx_ampdu_factor;
@@ -2304,7 +2499,8 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
} else {
p = rtw_get_ie(in_ie, WLAN_EID_HT_OPERATION, &ielen, in_len);
if (p && (ielen == sizeof(struct ieee80211_ht_addt_info))) {
- struct HT_info_element *pht_info = (struct HT_info_element *)(p + 2);
+ struct HT_info_element *pht_info =
+ (struct HT_info_element *)(p + 2);
if (pht_info->infos[0] & BIT(2)) {
switch (pht_info->infos[0] & 0x3) {
@@ -2329,7 +2525,8 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
if ((cbw40_enable == 1) && (operation_bw == CHANNEL_WIDTH_40)) {
ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SUP_WIDTH);
if (phtpriv->sgi_40m)
- ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SGI_40);
+ ht_capie.cap_info |=
+ cpu_to_le16(IEEE80211_HT_CAP_SGI_40);
}
if (TEST_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_TX))
@@ -2339,8 +2536,9 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SM_PS);
if (TEST_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_RX)) {
- if ((channel <= 14 && pregistrypriv->rx_stbc == 0x1) || /* enable for 2.4GHz */
- (pregistrypriv->wifi_spec == 1))
+ if ((channel <= 14 &&
+ pregistrypriv->rx_stbc == 0x1) || /* enable for 2.4GHz */
+ (pregistrypriv->wifi_spec == 1))
stbc_rx_enable = 1;
}
@@ -2349,20 +2547,23 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
/* update default supported_mcs_set */
if (stbc_rx_enable)
- ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_RX_STBC_1R);/* RX STBC One spatial stream */
+ ht_capie.cap_info |= cpu_to_le16(
+ IEEE80211_HT_CAP_RX_STBC_1R); /* RX STBC One spatial stream */
set_mcs_rate_by_mask(ht_capie.mcs.rx_mask, MCS_RATE_1R);
{
u32 rx_packet_offset, max_recvbuf_sz;
- rtw_hal_get_def_var(padapter, HAL_DEF_RX_PACKET_OFFSET, &rx_packet_offset);
- rtw_hal_get_def_var(padapter, HAL_DEF_MAX_RECVBUF_SZ, &max_recvbuf_sz);
+ rtw_hal_get_def_var(padapter, HAL_DEF_RX_PACKET_OFFSET,
+ &rx_packet_offset);
+ rtw_hal_get_def_var(padapter, HAL_DEF_MAX_RECVBUF_SZ,
+ &max_recvbuf_sz);
}
if (padapter->driver_rx_ampdu_factor != 0xFF)
- max_rx_ampdu_factor =
- (enum ieee80211_max_ampdu_length_exp)padapter->driver_rx_ampdu_factor;
+ max_rx_ampdu_factor = (enum ieee80211_max_ampdu_length_exp)
+ padapter->driver_rx_ampdu_factor;
else
rtw_hal_get_def_var(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR,
&max_rx_ampdu_factor);
@@ -2370,12 +2571,15 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
ht_capie.ampdu_params_info = (max_rx_ampdu_factor & 0x03);
if (padapter->securitypriv.dot11PrivacyAlgrthm == _AES_)
- ht_capie.ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_DENSITY & (0x07 << 2));
+ ht_capie.ampdu_params_info |=
+ (IEEE80211_HT_CAP_AMPDU_DENSITY & (0x07 << 2));
else
- ht_capie.ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_DENSITY & 0x00);
+ ht_capie.ampdu_params_info |=
+ (IEEE80211_HT_CAP_AMPDU_DENSITY & 0x00);
rtw_set_ie(out_ie + out_len, WLAN_EID_HT_CAPABILITY,
- sizeof(struct ieee80211_ht_cap), (unsigned char *)&ht_capie, pout_len);
+ sizeof(struct ieee80211_ht_cap), (unsigned char *)&ht_capie,
+ pout_len);
phtpriv->ht_option = true;
@@ -2383,7 +2587,8 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
p = rtw_get_ie(in_ie, WLAN_EID_HT_OPERATION, &ielen, in_len);
if (p && (ielen == sizeof(struct ieee80211_ht_addt_info))) {
out_len = *pout_len;
- rtw_set_ie(out_ie + out_len, WLAN_EID_HT_OPERATION, ielen, p + 2, pout_len);
+ rtw_set_ie(out_ie + out_len, WLAN_EID_HT_OPERATION,
+ ielen, p + 2, pout_len);
}
}
@@ -2391,7 +2596,8 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
}
/* the function is > passive_level (in critical_section) */
-void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channel)
+void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len,
+ u8 channel)
{
u8 *p, max_ampdu_sz;
int len;
@@ -2415,17 +2621,23 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe
/* check Max Rx A-MPDU Size */
len = 0;
- p = rtw_get_ie(pie + sizeof(struct ndis_802_11_fix_ie), WLAN_EID_HT_CAPABILITY, &len, ie_len - sizeof(struct ndis_802_11_fix_ie));
+ p = rtw_get_ie(pie + sizeof(struct ndis_802_11_fix_ie),
+ WLAN_EID_HT_CAPABILITY, &len,
+ ie_len - sizeof(struct ndis_802_11_fix_ie));
if (p && len > 0) {
pht_capie = (struct ieee80211_ht_cap *)(p + 2);
- max_ampdu_sz = (pht_capie->ampdu_params_info & IEEE80211_HT_CAP_AMPDU_FACTOR);
- max_ampdu_sz = 1 << (max_ampdu_sz + 3); /* max_ampdu_sz (kbytes); */
+ max_ampdu_sz = (pht_capie->ampdu_params_info &
+ IEEE80211_HT_CAP_AMPDU_FACTOR);
+ max_ampdu_sz =
+ 1 << (max_ampdu_sz + 3); /* max_ampdu_sz (kbytes); */
phtpriv->rx_ampdu_maxlen = max_ampdu_sz;
}
len = 0;
- p = rtw_get_ie(pie + sizeof(struct ndis_802_11_fix_ie), WLAN_EID_HT_OPERATION, &len, ie_len - sizeof(struct ndis_802_11_fix_ie));
+ p = rtw_get_ie(pie + sizeof(struct ndis_802_11_fix_ie),
+ WLAN_EID_HT_OPERATION, &len,
+ ie_len - sizeof(struct ndis_802_11_fix_ie));
if (p && len > 0) {
/* todo: */
}
@@ -2436,15 +2648,19 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe
/* update cur_bwmode & cur_ch_offset */
if ((cbw40_enable) &&
(le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) &
- BIT(1)) && (pmlmeinfo->HT_info.infos[0] & BIT(2))) {
+ BIT(1)) &&
+ (pmlmeinfo->HT_info.infos[0] & BIT(2))) {
int i;
/* update the MCS set */
for (i = 0; i < 16; i++)
- pmlmeinfo->HT_caps.u.HT_cap_element.MCS_rate[i] &= pmlmeext->default_supported_mcs_set[i];
+ pmlmeinfo->HT_caps.u.HT_cap_element.MCS_rate[i] &=
+ pmlmeext->default_supported_mcs_set[i];
/* update the MCS rates */
- set_mcs_rate_by_mask(pmlmeinfo->HT_caps.u.HT_cap_element.MCS_rate, MCS_RATE_1R);
+ set_mcs_rate_by_mask(
+ pmlmeinfo->HT_caps.u.HT_cap_element.MCS_rate,
+ MCS_RATE_1R);
/* switch to the 40M Hz mode according to the AP */
/* pmlmeext->cur_bwmode = CHANNEL_WIDTH_40; */
@@ -2458,7 +2674,8 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe
break;
default:
- pmlmeext->cur_ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
+ pmlmeext->cur_ch_offset =
+ HAL_PRIME_CHNL_OFFSET_DONT_CARE;
break;
}
}
@@ -2468,7 +2685,8 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe
/* */
pmlmeinfo->SM_PS =
(le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) &
- 0x0C) >> 2;
+ 0x0C) >>
+ 2;
/* */
/* Config current HT Protection mode. */
@@ -2476,7 +2694,8 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe
pmlmeinfo->HT_protection = pmlmeinfo->HT_info.infos[1] & 0x3;
}
-void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitframe)
+void rtw_issue_addbareq_cmd(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
u8 issued;
int priority;
@@ -2485,7 +2704,8 @@ void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitfr
struct pkt_attrib *pattrib = &pxmitframe->attrib;
s32 bmcst = is_multicast_ether_addr(pattrib->ra);
- if (bmcst || (padapter->mlmepriv.link_detect_info.num_tx_ok_in_period < 100))
+ if (bmcst ||
+ (padapter->mlmepriv.link_detect_info.num_tx_ok_in_period < 100))
return;
priority = pattrib->priority;
@@ -2508,21 +2728,23 @@ void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitfr
if (issued == 0) {
psta->htpriv.candidate_tid_bitmap |= BIT((u8)priority);
- rtw_addbareq_cmd(padapter, (u8) priority, pattrib->ra);
+ rtw_addbareq_cmd(padapter, (u8)priority, pattrib->ra);
}
}
}
-void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie, uint *pout_len)
+void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie,
+ uint *pout_len)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct ht_priv *phtpriv = &pmlmepriv->htpriv;
- u8 cap_content[8] = {0};
+ u8 cap_content[8] = { 0 };
if (phtpriv->bss_coexist)
SET_EXT_CAPABILITY_ELE_BSS_COEXIST(cap_content, 1);
- rtw_set_ie(out_ie + *pout_len, WLAN_EID_EXT_CAPABILITY, 8, cap_content, pout_len);
+ rtw_set_ie(out_ie + *pout_len, WLAN_EID_EXT_CAPABILITY, 8, cap_content,
+ pout_len);
}
inline void rtw_set_to_roam(struct adapter *adapter, u8 to_roam)
@@ -2558,7 +2780,8 @@ void _rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network)
struct wlan_network *cur_network = &pmlmepriv->cur_network;
if (rtw_to_roam(padapter) > 0) {
- memcpy(&pmlmepriv->assoc_ssid, &cur_network->network.ssid, sizeof(struct ndis_802_11_ssid));
+ memcpy(&pmlmepriv->assoc_ssid, &cur_network->network.ssid,
+ sizeof(struct ndis_802_11_ssid));
pmlmepriv->assoc_by_bssid = false;
@@ -2575,10 +2798,11 @@ void _rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network)
bool rtw_linked_check(struct adapter *padapter)
{
if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) ||
- check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) {
+ check_fwstate(&padapter->mlmepriv,
+ WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) {
if (padapter->stapriv.asoc_sta_count > 2)
return true;
- } else { /* Station mode */
+ } else { /* Station mode */
if (check_fwstate(&padapter->mlmepriv, _FW_LINKED))
return true;
}
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
index a443b3530fb98..bc1850f745138 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
@@ -12,155 +12,164 @@
#include <linux/unaligned.h>
static struct mlme_handler mlme_sta_tbl[] = {
- {WIFI_ASSOCREQ, "OnAssocReq", &OnAssocReq},
- {WIFI_ASSOCRSP, "OnAssocRsp", &OnAssocRsp},
- {WIFI_REASSOCREQ, "OnReAssocReq", &OnAssocReq},
- {WIFI_REASSOCRSP, "OnReAssocRsp", &OnAssocRsp},
- {WIFI_PROBEREQ, "OnProbeReq", &OnProbeReq},
- {WIFI_PROBERSP, "OnProbeRsp", &OnProbeRsp},
+ { WIFI_ASSOCREQ, "OnAssocReq", &OnAssocReq },
+ { WIFI_ASSOCRSP, "OnAssocRsp", &OnAssocRsp },
+ { WIFI_REASSOCREQ, "OnReAssocReq", &OnAssocReq },
+ { WIFI_REASSOCRSP, "OnReAssocRsp", &OnAssocRsp },
+ { WIFI_PROBEREQ, "OnProbeReq", &OnProbeReq },
+ { WIFI_PROBERSP, "OnProbeRsp", &OnProbeRsp },
/* below 2 are reserved */
- {0, "DoReserved", &DoReserved},
- {0, "DoReserved", &DoReserved},
- {WIFI_BEACON, "OnBeacon", &OnBeacon},
- {WIFI_ATIM, "OnATIM", &OnAtim},
- {WIFI_DISASSOC, "OnDisassoc", &OnDisassoc},
- {WIFI_AUTH, "OnAuth", &OnAuthClient},
- {WIFI_DEAUTH, "OnDeAuth", &OnDeAuth},
- {WIFI_ACTION, "OnAction", &OnAction},
- {WIFI_ACTION_NOACK, "OnActionNoAck", &OnAction},
+ { 0, "DoReserved", &DoReserved },
+ { 0, "DoReserved", &DoReserved },
+ { WIFI_BEACON, "OnBeacon", &OnBeacon },
+ { WIFI_ATIM, "OnATIM", &OnAtim },
+ { WIFI_DISASSOC, "OnDisassoc", &OnDisassoc },
+ { WIFI_AUTH, "OnAuth", &OnAuthClient },
+ { WIFI_DEAUTH, "OnDeAuth", &OnDeAuth },
+ { WIFI_ACTION, "OnAction", &OnAction },
+ { WIFI_ACTION_NOACK, "OnActionNoAck", &OnAction },
};
static struct action_handler OnAction_tbl[] = {
- {RTW_WLAN_CATEGORY_SPECTRUM_MGMT, "ACTION_SPECTRUM_MGMT", on_action_spct},
- {RTW_WLAN_CATEGORY_QOS, "ACTION_QOS", &DoReserved},
- {RTW_WLAN_CATEGORY_DLS, "ACTION_DLS", &DoReserved},
- {RTW_WLAN_CATEGORY_BACK, "ACTION_BACK", &OnAction_back},
- {RTW_WLAN_CATEGORY_PUBLIC, "ACTION_PUBLIC", on_action_public},
- {RTW_WLAN_CATEGORY_RADIO_MEASUREMENT, "ACTION_RADIO_MEASUREMENT", &DoReserved},
- {RTW_WLAN_CATEGORY_FT, "ACTION_FT", &DoReserved},
- {RTW_WLAN_CATEGORY_HT, "ACTION_HT", &OnAction_ht},
- {RTW_WLAN_CATEGORY_SA_QUERY, "ACTION_SA_QUERY", &OnAction_sa_query},
- {RTW_WLAN_CATEGORY_UNPROTECTED_WNM, "ACTION_UNPROTECTED_WNM", &DoReserved},
- {RTW_WLAN_CATEGORY_SELF_PROTECTED, "ACTION_SELF_PROTECTED", &DoReserved},
- {RTW_WLAN_CATEGORY_WMM, "ACTION_WMM", &DoReserved},
- {RTW_WLAN_CATEGORY_P2P, "ACTION_P2P", &DoReserved},
+ { RTW_WLAN_CATEGORY_SPECTRUM_MGMT, "ACTION_SPECTRUM_MGMT",
+ on_action_spct },
+ { RTW_WLAN_CATEGORY_QOS, "ACTION_QOS", &DoReserved },
+ { RTW_WLAN_CATEGORY_DLS, "ACTION_DLS", &DoReserved },
+ { RTW_WLAN_CATEGORY_BACK, "ACTION_BACK", &OnAction_back },
+ { RTW_WLAN_CATEGORY_PUBLIC, "ACTION_PUBLIC", on_action_public },
+ { RTW_WLAN_CATEGORY_RADIO_MEASUREMENT, "ACTION_RADIO_MEASUREMENT",
+ &DoReserved },
+ { RTW_WLAN_CATEGORY_FT, "ACTION_FT", &DoReserved },
+ { RTW_WLAN_CATEGORY_HT, "ACTION_HT", &OnAction_ht },
+ { RTW_WLAN_CATEGORY_SA_QUERY, "ACTION_SA_QUERY", &OnAction_sa_query },
+ { RTW_WLAN_CATEGORY_UNPROTECTED_WNM, "ACTION_UNPROTECTED_WNM",
+ &DoReserved },
+ { RTW_WLAN_CATEGORY_SELF_PROTECTED, "ACTION_SELF_PROTECTED",
+ &DoReserved },
+ { RTW_WLAN_CATEGORY_WMM, "ACTION_WMM", &DoReserved },
+ { RTW_WLAN_CATEGORY_P2P, "ACTION_P2P", &DoReserved },
};
-static u8 null_addr[ETH_ALEN] = {0, 0, 0, 0, 0, 0};
+static u8 null_addr[ETH_ALEN] = { 0, 0, 0, 0, 0, 0 };
/* OUI definitions for the vendor specific IE */
-unsigned char RTW_WPA_OUI[] = {0x00, 0x50, 0xf2, 0x01};
-unsigned char WMM_OUI[] = {0x00, 0x50, 0xf2, 0x02};
-unsigned char WPS_OUI[] = {0x00, 0x50, 0xf2, 0x04};
-unsigned char P2P_OUI[] = {0x50, 0x6F, 0x9A, 0x09};
-unsigned char WFD_OUI[] = {0x50, 0x6F, 0x9A, 0x0A};
+unsigned char RTW_WPA_OUI[] = { 0x00, 0x50, 0xf2, 0x01 };
+unsigned char WMM_OUI[] = { 0x00, 0x50, 0xf2, 0x02 };
+unsigned char WPS_OUI[] = { 0x00, 0x50, 0xf2, 0x04 };
+unsigned char P2P_OUI[] = { 0x50, 0x6F, 0x9A, 0x09 };
+unsigned char WFD_OUI[] = { 0x50, 0x6F, 0x9A, 0x0A };
-unsigned char WMM_INFO_OUI[] = {0x00, 0x50, 0xf2, 0x02, 0x00, 0x01};
-unsigned char WMM_PARA_OUI[] = {0x00, 0x50, 0xf2, 0x02, 0x01, 0x01};
+unsigned char WMM_INFO_OUI[] = { 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01 };
+unsigned char WMM_PARA_OUI[] = { 0x00, 0x50, 0xf2, 0x02, 0x01, 0x01 };
-static unsigned char REALTEK_96B_IE[] = {0x00, 0xe0, 0x4c, 0x02, 0x01, 0x20};
+static unsigned char REALTEK_96B_IE[] = { 0x00, 0xe0, 0x4c, 0x02, 0x01, 0x20 };
/* ChannelPlan definitions */
-static struct rt_channel_plan_2g RTW_ChannelPlan2G[RT_CHANNEL_DOMAIN_2G_MAX] = {
- {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13}, /* 0x00, RT_CHANNEL_DOMAIN_2G_WORLD , Passive scan CH 12, 13 */
- {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}, 13}, /* 0x01, RT_CHANNEL_DOMAIN_2G_ETSI1 */
- {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}, 11}, /* 0x02, RT_CHANNEL_DOMAIN_2G_FCC1 */
- {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, 14}, /* 0x03, RT_CHANNEL_DOMAIN_2G_MIKK1 */
- {{10, 11, 12, 13}, 4}, /* 0x04, RT_CHANNEL_DOMAIN_2G_ETSI2 */
- {{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}, 14}, /* 0x05, RT_CHANNEL_DOMAIN_2G_GLOBAL , Passive scan CH 12, 13, 14 */
- {{}, 0}, /* 0x06, RT_CHANNEL_DOMAIN_2G_NULL */
+static struct rt_channel_plan_2g RTW_ChannelPlan2G[RT_CHANNEL_DOMAIN_2G_MAX] = {
+ { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 },
+ 13 }, /* 0x00, RT_CHANNEL_DOMAIN_2G_WORLD , Passive scan CH 12, 13 */
+ { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 },
+ 13 }, /* 0x01, RT_CHANNEL_DOMAIN_2G_ETSI1 */
+ { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 },
+ 11 }, /* 0x02, RT_CHANNEL_DOMAIN_2G_FCC1 */
+ { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
+ 14 }, /* 0x03, RT_CHANNEL_DOMAIN_2G_MIKK1 */
+ { { 10, 11, 12, 13 }, 4 }, /* 0x04, RT_CHANNEL_DOMAIN_2G_ETSI2 */
+ { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
+ 14 }, /* 0x05, RT_CHANNEL_DOMAIN_2G_GLOBAL , Passive scan CH 12, 13, 14 */
+ { {}, 0 }, /* 0x06, RT_CHANNEL_DOMAIN_2G_NULL */
};
-static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = {
+static struct rt_channel_plan_map RTW_ChannelPlanMap[RT_CHANNEL_DOMAIN_MAX] = {
/* 0x00 ~ 0x1F , Old Define ===== */
- {0x02}, /* 0x00, RT_CHANNEL_DOMAIN_FCC */
- {0x02}, /* 0x01, RT_CHANNEL_DOMAIN_IC */
- {0x01}, /* 0x02, RT_CHANNEL_DOMAIN_ETSI */
- {0x01}, /* 0x03, RT_CHANNEL_DOMAIN_SPAIN */
- {0x01}, /* 0x04, RT_CHANNEL_DOMAIN_FRANCE */
- {0x03}, /* 0x05, RT_CHANNEL_DOMAIN_MKK */
- {0x03}, /* 0x06, RT_CHANNEL_DOMAIN_MKK1 */
- {0x01}, /* 0x07, RT_CHANNEL_DOMAIN_ISRAEL */
- {0x03}, /* 0x08, RT_CHANNEL_DOMAIN_TELEC */
- {0x03}, /* 0x09, RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN */
- {0x00}, /* 0x0A, RT_CHANNEL_DOMAIN_WORLD_WIDE_13 */
- {0x02}, /* 0x0B, RT_CHANNEL_DOMAIN_TAIWAN */
- {0x01}, /* 0x0C, RT_CHANNEL_DOMAIN_CHINA */
- {0x02}, /* 0x0D, RT_CHANNEL_DOMAIN_SINGAPORE_INDIA_MEXICO */
- {0x02}, /* 0x0E, RT_CHANNEL_DOMAIN_KOREA */
- {0x02}, /* 0x0F, RT_CHANNEL_DOMAIN_TURKEY */
- {0x01}, /* 0x10, RT_CHANNEL_DOMAIN_JAPAN */
- {0x02}, /* 0x11, RT_CHANNEL_DOMAIN_FCC_NO_DFS */
- {0x01}, /* 0x12, RT_CHANNEL_DOMAIN_JAPAN_NO_DFS */
- {0x00}, /* 0x13, RT_CHANNEL_DOMAIN_WORLD_WIDE_5G */
- {0x02}, /* 0x14, RT_CHANNEL_DOMAIN_TAIWAN_NO_DFS */
- {0x00}, /* 0x15, RT_CHANNEL_DOMAIN_ETSI_NO_DFS */
- {0x00}, /* 0x16, RT_CHANNEL_DOMAIN_KOREA_NO_DFS */
- {0x03}, /* 0x17, RT_CHANNEL_DOMAIN_JAPAN_NO_DFS */
- {0x06}, /* 0x18, RT_CHANNEL_DOMAIN_PAKISTAN_NO_DFS */
- {0x02}, /* 0x19, RT_CHANNEL_DOMAIN_TAIWAN2_NO_DFS */
- {0x00}, /* 0x1A, */
- {0x00}, /* 0x1B, */
- {0x00}, /* 0x1C, */
- {0x00}, /* 0x1D, */
- {0x00}, /* 0x1E, */
- {0x06}, /* 0x1F, RT_CHANNEL_DOMAIN_WORLD_WIDE_ONLY_5G */
+ { 0x02 }, /* 0x00, RT_CHANNEL_DOMAIN_FCC */
+ { 0x02 }, /* 0x01, RT_CHANNEL_DOMAIN_IC */
+ { 0x01 }, /* 0x02, RT_CHANNEL_DOMAIN_ETSI */
+ { 0x01 }, /* 0x03, RT_CHANNEL_DOMAIN_SPAIN */
+ { 0x01 }, /* 0x04, RT_CHANNEL_DOMAIN_FRANCE */
+ { 0x03 }, /* 0x05, RT_CHANNEL_DOMAIN_MKK */
+ { 0x03 }, /* 0x06, RT_CHANNEL_DOMAIN_MKK1 */
+ { 0x01 }, /* 0x07, RT_CHANNEL_DOMAIN_ISRAEL */
+ { 0x03 }, /* 0x08, RT_CHANNEL_DOMAIN_TELEC */
+ { 0x03 }, /* 0x09, RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN */
+ { 0x00 }, /* 0x0A, RT_CHANNEL_DOMAIN_WORLD_WIDE_13 */
+ { 0x02 }, /* 0x0B, RT_CHANNEL_DOMAIN_TAIWAN */
+ { 0x01 }, /* 0x0C, RT_CHANNEL_DOMAIN_CHINA */
+ { 0x02 }, /* 0x0D, RT_CHANNEL_DOMAIN_SINGAPORE_INDIA_MEXICO */
+ { 0x02 }, /* 0x0E, RT_CHANNEL_DOMAIN_KOREA */
+ { 0x02 }, /* 0x0F, RT_CHANNEL_DOMAIN_TURKEY */
+ { 0x01 }, /* 0x10, RT_CHANNEL_DOMAIN_JAPAN */
+ { 0x02 }, /* 0x11, RT_CHANNEL_DOMAIN_FCC_NO_DFS */
+ { 0x01 }, /* 0x12, RT_CHANNEL_DOMAIN_JAPAN_NO_DFS */
+ { 0x00 }, /* 0x13, RT_CHANNEL_DOMAIN_WORLD_WIDE_5G */
+ { 0x02 }, /* 0x14, RT_CHANNEL_DOMAIN_TAIWAN_NO_DFS */
+ { 0x00 }, /* 0x15, RT_CHANNEL_DOMAIN_ETSI_NO_DFS */
+ { 0x00 }, /* 0x16, RT_CHANNEL_DOMAIN_KOREA_NO_DFS */
+ { 0x03 }, /* 0x17, RT_CHANNEL_DOMAIN_JAPAN_NO_DFS */
+ { 0x06 }, /* 0x18, RT_CHANNEL_DOMAIN_PAKISTAN_NO_DFS */
+ { 0x02 }, /* 0x19, RT_CHANNEL_DOMAIN_TAIWAN2_NO_DFS */
+ { 0x00 }, /* 0x1A, */
+ { 0x00 }, /* 0x1B, */
+ { 0x00 }, /* 0x1C, */
+ { 0x00 }, /* 0x1D, */
+ { 0x00 }, /* 0x1E, */
+ { 0x06 }, /* 0x1F, RT_CHANNEL_DOMAIN_WORLD_WIDE_ONLY_5G */
/* 0x20 ~ 0x7F , New Define ===== */
- {0x00}, /* 0x20, RT_CHANNEL_DOMAIN_WORLD_NULL */
- {0x01}, /* 0x21, RT_CHANNEL_DOMAIN_ETSI1_NULL */
- {0x02}, /* 0x22, RT_CHANNEL_DOMAIN_FCC1_NULL */
- {0x03}, /* 0x23, RT_CHANNEL_DOMAIN_MKK1_NULL */
- {0x04}, /* 0x24, RT_CHANNEL_DOMAIN_ETSI2_NULL */
- {0x02}, /* 0x25, RT_CHANNEL_DOMAIN_FCC1_FCC1 */
- {0x00}, /* 0x26, RT_CHANNEL_DOMAIN_WORLD_ETSI1 */
- {0x03}, /* 0x27, RT_CHANNEL_DOMAIN_MKK1_MKK1 */
- {0x00}, /* 0x28, RT_CHANNEL_DOMAIN_WORLD_KCC1 */
- {0x00}, /* 0x29, RT_CHANNEL_DOMAIN_WORLD_FCC2 */
- {0x00}, /* 0x2A, */
- {0x00}, /* 0x2B, */
- {0x00}, /* 0x2C, */
- {0x00}, /* 0x2D, */
- {0x00}, /* 0x2E, */
- {0x00}, /* 0x2F, */
- {0x00}, /* 0x30, RT_CHANNEL_DOMAIN_WORLD_FCC3 */
- {0x00}, /* 0x31, RT_CHANNEL_DOMAIN_WORLD_FCC4 */
- {0x00}, /* 0x32, RT_CHANNEL_DOMAIN_WORLD_FCC5 */
- {0x00}, /* 0x33, RT_CHANNEL_DOMAIN_WORLD_FCC6 */
- {0x02}, /* 0x34, RT_CHANNEL_DOMAIN_FCC1_FCC7 */
- {0x00}, /* 0x35, RT_CHANNEL_DOMAIN_WORLD_ETSI2 */
- {0x00}, /* 0x36, RT_CHANNEL_DOMAIN_WORLD_ETSI3 */
- {0x03}, /* 0x37, RT_CHANNEL_DOMAIN_MKK1_MKK2 */
- {0x03}, /* 0x38, RT_CHANNEL_DOMAIN_MKK1_MKK3 */
- {0x02}, /* 0x39, RT_CHANNEL_DOMAIN_FCC1_NCC1 */
- {0x00}, /* 0x3A, */
- {0x00}, /* 0x3B, */
- {0x00}, /* 0x3C, */
- {0x00}, /* 0x3D, */
- {0x00}, /* 0x3E, */
- {0x00}, /* 0x3F, */
- {0x02}, /* 0x40, RT_CHANNEL_DOMAIN_FCC1_NCC2 */
- {0x05}, /* 0x41, RT_CHANNEL_DOMAIN_GLOBAL_NULL */
- {0x01}, /* 0x42, RT_CHANNEL_DOMAIN_ETSI1_ETSI4 */
- {0x02}, /* 0x43, RT_CHANNEL_DOMAIN_FCC1_FCC2 */
- {0x02}, /* 0x44, RT_CHANNEL_DOMAIN_FCC1_NCC3 */
- {0x00}, /* 0x45, RT_CHANNEL_DOMAIN_WORLD_ETSI5 */
- {0x02}, /* 0x46, RT_CHANNEL_DOMAIN_FCC1_FCC8 */
- {0x00}, /* 0x47, RT_CHANNEL_DOMAIN_WORLD_ETSI6 */
- {0x00}, /* 0x48, RT_CHANNEL_DOMAIN_WORLD_ETSI7 */
- {0x00}, /* 0x49, RT_CHANNEL_DOMAIN_WORLD_ETSI8 */
- {0x00}, /* 0x50, RT_CHANNEL_DOMAIN_WORLD_ETSI9 */
- {0x00}, /* 0x51, RT_CHANNEL_DOMAIN_WORLD_ETSI10 */
- {0x00}, /* 0x52, RT_CHANNEL_DOMAIN_WORLD_ETSI11 */
- {0x02}, /* 0x53, RT_CHANNEL_DOMAIN_FCC1_NCC4 */
- {0x00}, /* 0x54, RT_CHANNEL_DOMAIN_WORLD_ETSI12 */
- {0x02}, /* 0x55, RT_CHANNEL_DOMAIN_FCC1_FCC9 */
- {0x00}, /* 0x56, RT_CHANNEL_DOMAIN_WORLD_ETSI13 */
- {0x02}, /* 0x57, RT_CHANNEL_DOMAIN_FCC1_FCC10 */
+ { 0x00 }, /* 0x20, RT_CHANNEL_DOMAIN_WORLD_NULL */
+ { 0x01 }, /* 0x21, RT_CHANNEL_DOMAIN_ETSI1_NULL */
+ { 0x02 }, /* 0x22, RT_CHANNEL_DOMAIN_FCC1_NULL */
+ { 0x03 }, /* 0x23, RT_CHANNEL_DOMAIN_MKK1_NULL */
+ { 0x04 }, /* 0x24, RT_CHANNEL_DOMAIN_ETSI2_NULL */
+ { 0x02 }, /* 0x25, RT_CHANNEL_DOMAIN_FCC1_FCC1 */
+ { 0x00 }, /* 0x26, RT_CHANNEL_DOMAIN_WORLD_ETSI1 */
+ { 0x03 }, /* 0x27, RT_CHANNEL_DOMAIN_MKK1_MKK1 */
+ { 0x00 }, /* 0x28, RT_CHANNEL_DOMAIN_WORLD_KCC1 */
+ { 0x00 }, /* 0x29, RT_CHANNEL_DOMAIN_WORLD_FCC2 */
+ { 0x00 }, /* 0x2A, */
+ { 0x00 }, /* 0x2B, */
+ { 0x00 }, /* 0x2C, */
+ { 0x00 }, /* 0x2D, */
+ { 0x00 }, /* 0x2E, */
+ { 0x00 }, /* 0x2F, */
+ { 0x00 }, /* 0x30, RT_CHANNEL_DOMAIN_WORLD_FCC3 */
+ { 0x00 }, /* 0x31, RT_CHANNEL_DOMAIN_WORLD_FCC4 */
+ { 0x00 }, /* 0x32, RT_CHANNEL_DOMAIN_WORLD_FCC5 */
+ { 0x00 }, /* 0x33, RT_CHANNEL_DOMAIN_WORLD_FCC6 */
+ { 0x02 }, /* 0x34, RT_CHANNEL_DOMAIN_FCC1_FCC7 */
+ { 0x00 }, /* 0x35, RT_CHANNEL_DOMAIN_WORLD_ETSI2 */
+ { 0x00 }, /* 0x36, RT_CHANNEL_DOMAIN_WORLD_ETSI3 */
+ { 0x03 }, /* 0x37, RT_CHANNEL_DOMAIN_MKK1_MKK2 */
+ { 0x03 }, /* 0x38, RT_CHANNEL_DOMAIN_MKK1_MKK3 */
+ { 0x02 }, /* 0x39, RT_CHANNEL_DOMAIN_FCC1_NCC1 */
+ { 0x00 }, /* 0x3A, */
+ { 0x00 }, /* 0x3B, */
+ { 0x00 }, /* 0x3C, */
+ { 0x00 }, /* 0x3D, */
+ { 0x00 }, /* 0x3E, */
+ { 0x00 }, /* 0x3F, */
+ { 0x02 }, /* 0x40, RT_CHANNEL_DOMAIN_FCC1_NCC2 */
+ { 0x05 }, /* 0x41, RT_CHANNEL_DOMAIN_GLOBAL_NULL */
+ { 0x01 }, /* 0x42, RT_CHANNEL_DOMAIN_ETSI1_ETSI4 */
+ { 0x02 }, /* 0x43, RT_CHANNEL_DOMAIN_FCC1_FCC2 */
+ { 0x02 }, /* 0x44, RT_CHANNEL_DOMAIN_FCC1_NCC3 */
+ { 0x00 }, /* 0x45, RT_CHANNEL_DOMAIN_WORLD_ETSI5 */
+ { 0x02 }, /* 0x46, RT_CHANNEL_DOMAIN_FCC1_FCC8 */
+ { 0x00 }, /* 0x47, RT_CHANNEL_DOMAIN_WORLD_ETSI6 */
+ { 0x00 }, /* 0x48, RT_CHANNEL_DOMAIN_WORLD_ETSI7 */
+ { 0x00 }, /* 0x49, RT_CHANNEL_DOMAIN_WORLD_ETSI8 */
+ { 0x00 }, /* 0x50, RT_CHANNEL_DOMAIN_WORLD_ETSI9 */
+ { 0x00 }, /* 0x51, RT_CHANNEL_DOMAIN_WORLD_ETSI10 */
+ { 0x00 }, /* 0x52, RT_CHANNEL_DOMAIN_WORLD_ETSI11 */
+ { 0x02 }, /* 0x53, RT_CHANNEL_DOMAIN_FCC1_NCC4 */
+ { 0x00 }, /* 0x54, RT_CHANNEL_DOMAIN_WORLD_ETSI12 */
+ { 0x02 }, /* 0x55, RT_CHANNEL_DOMAIN_FCC1_FCC9 */
+ { 0x00 }, /* 0x56, RT_CHANNEL_DOMAIN_WORLD_ETSI13 */
+ { 0x02 }, /* 0x57, RT_CHANNEL_DOMAIN_FCC1_FCC10 */
};
- /* use the combination for max channel numbers */
-static struct rt_channel_plan_map RTW_CHANNEL_PLAN_MAP_REALTEK_DEFINE = {0x03};
+/* use the combination for max channel numbers */
+static struct rt_channel_plan_map RTW_CHANNEL_PLAN_MAP_REALTEK_DEFINE = { 0x03 };
/* Search the @param ch in given @param ch_set
* @ch_set: the given channel set
@@ -196,14 +205,25 @@ void init_mlme_default_rate_set(struct adapter *padapter)
{
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
- unsigned char mixed_datarate[NumRates] = {_1M_RATE_, _2M_RATE_, _5M_RATE_, _11M_RATE_, _6M_RATE_, _9M_RATE_, _12M_RATE_, _18M_RATE_, _24M_RATE_, _36M_RATE_, _48M_RATE_, _54M_RATE_, 0xff};
- unsigned char mixed_basicrate[NumRates] = {_1M_RATE_, _2M_RATE_, _5M_RATE_, _11M_RATE_, _6M_RATE_, _12M_RATE_, _24M_RATE_, 0xff,};
- unsigned char supported_mcs_set[16] = {0xff, 0xff, 0x00, 0x00, 0x01, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
+ unsigned char mixed_datarate[NumRates] = {
+ _1M_RATE_, _2M_RATE_, _5M_RATE_, _11M_RATE_, _6M_RATE_,
+ _9M_RATE_, _12M_RATE_, _18M_RATE_, _24M_RATE_, _36M_RATE_,
+ _48M_RATE_, _54M_RATE_, 0xff
+ };
+ unsigned char mixed_basicrate[NumRates] = {
+ _1M_RATE_, _2M_RATE_, _5M_RATE_, _11M_RATE_,
+ _6M_RATE_, _12M_RATE_, _24M_RATE_, 0xff,
+ };
+ unsigned char supported_mcs_set[16] = { 0xff, 0xff, 0x00, 0x00,
+ 0x01, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0 };
memcpy(pmlmeext->datarate, mixed_datarate, NumRates);
memcpy(pmlmeext->basicrate, mixed_basicrate, NumRates);
- memcpy(pmlmeext->default_supported_mcs_set, supported_mcs_set, sizeof(pmlmeext->default_supported_mcs_set));
+ memcpy(pmlmeext->default_supported_mcs_set, supported_mcs_set,
+ sizeof(pmlmeext->default_supported_mcs_set));
}
static void init_mlme_ext_priv_value(struct adapter *padapter)
@@ -212,7 +232,8 @@ static void init_mlme_ext_priv_value(struct adapter *padapter)
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
atomic_set(&pmlmeext->event_seq, 0);
- pmlmeext->mgnt_seq = 0;/* reset to zero when disconnect at client mode */
+ pmlmeext->mgnt_seq =
+ 0; /* reset to zero when disconnect at client mode */
pmlmeext->sa_query_seq = 0;
pmlmeext->mgnt_80211w_IPN = 0;
pmlmeext->mgnt_80211w_IPN_rx = 0;
@@ -255,9 +276,8 @@ static void init_mlme_ext_priv_value(struct adapter *padapter)
pmlmeext->action_public_dialog_token = 0xff;
}
-static int has_channel(struct rt_channel_info *channel_set,
- u8 chanset_size,
- u8 chan)
+static int has_channel(struct rt_channel_info *channel_set, u8 chanset_size,
+ u8 chan)
{
int i;
@@ -268,20 +288,21 @@ static int has_channel(struct rt_channel_info *channel_set,
return 0;
}
-static void init_channel_list(struct adapter *padapter, struct rt_channel_info *channel_set,
- u8 chanset_size,
- struct p2p_channels *channel_list)
+static void init_channel_list(struct adapter *padapter,
+ struct rt_channel_info *channel_set,
+ u8 chanset_size,
+ struct p2p_channels *channel_list)
{
static const struct p2p_oper_class_map op_class[] = {
- { IEEE80211G, 81, 1, 13, 1, BW20 },
- { IEEE80211G, 82, 14, 14, 1, BW20 },
- { IEEE80211A, 115, 36, 48, 4, BW20 },
- { IEEE80211A, 116, 36, 44, 8, BW40PLUS },
- { IEEE80211A, 117, 40, 48, 8, BW40MINUS },
- { IEEE80211A, 124, 149, 161, 4, BW20 },
- { IEEE80211A, 125, 149, 169, 4, BW20 },
- { IEEE80211A, 126, 149, 157, 8, BW40PLUS },
- { IEEE80211A, 127, 153, 161, 8, BW40MINUS },
+ { IEEE80211G, 81, 1, 13, 1, BW20 },
+ { IEEE80211G, 82, 14, 14, 1, BW20 },
+ { IEEE80211A, 115, 36, 48, 4, BW20 },
+ { IEEE80211A, 116, 36, 44, 8, BW40PLUS },
+ { IEEE80211A, 117, 40, 48, 8, BW40MINUS },
+ { IEEE80211A, 124, 149, 161, 4, BW20 },
+ { IEEE80211A, 125, 149, 169, 4, BW20 },
+ { IEEE80211A, 126, 149, 157, 8, BW40PLUS },
+ { IEEE80211A, 127, 153, 161, 8, BW40MINUS },
{ -1, 0, 0, 0, 0, BW20 }
};
@@ -298,11 +319,12 @@ static void init_channel_list(struct adapter *padapter, struct rt_channel_info *
if (!has_channel(channel_set, chanset_size, ch))
continue;
- if ((padapter->registrypriv.ht_enable == 0) && (o->inc == 8))
+ if ((padapter->registrypriv.ht_enable == 0) &&
+ (o->inc == 8))
continue;
if ((0 < (padapter->registrypriv.bw_mode & 0xf0)) &&
- ((o->bw == BW40MINUS) || (o->bw == BW40PLUS)))
+ ((o->bw == BW40MINUS) || (o->bw == BW40PLUS)))
continue;
if (!reg) {
@@ -318,15 +340,18 @@ static void init_channel_list(struct adapter *padapter, struct rt_channel_info *
channel_list->reg_classes = cla;
}
-static u8 init_channel_set(struct adapter *padapter, u8 ChannelPlan, struct rt_channel_info *channel_set)
+static u8 init_channel_set(struct adapter *padapter, u8 ChannelPlan,
+ struct rt_channel_info *channel_set)
{
u8 index, chanset_size = 0;
u8 b2_4GBand = false;
u8 Index2G = 0;
- memset(channel_set, 0, sizeof(struct rt_channel_info)*MAX_CHANNEL_NUM);
+ memset(channel_set, 0,
+ sizeof(struct rt_channel_info) * MAX_CHANNEL_NUM);
- if (ChannelPlan >= RT_CHANNEL_DOMAIN_MAX && ChannelPlan != RT_CHANNEL_DOMAIN_REALTEK_DEFINE)
+ if (ChannelPlan >= RT_CHANNEL_DOMAIN_MAX &&
+ ChannelPlan != RT_CHANNEL_DOMAIN_REALTEK_DEFINE)
return chanset_size;
if (is_supported_24g(padapter->registrypriv.wireless_mode)) {
@@ -338,23 +363,37 @@ static u8 init_channel_set(struct adapter *padapter, u8 ChannelPlan, struct rt_c
}
if (b2_4GBand) {
- for (index = 0; index < RTW_ChannelPlan2G[Index2G].Len; index++) {
- channel_set[chanset_size].ChannelNum = RTW_ChannelPlan2G[Index2G].Channel[index];
-
- if ((ChannelPlan == RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN) ||/* Channel 1~11 is active, and 12~14 is passive */
- (ChannelPlan == RT_CHANNEL_DOMAIN_GLOBAL_NULL)) {
- if (channel_set[chanset_size].ChannelNum >= 1 && channel_set[chanset_size].ChannelNum <= 11)
- channel_set[chanset_size].ScanType = SCAN_ACTIVE;
- else if ((channel_set[chanset_size].ChannelNum >= 12 && channel_set[chanset_size].ChannelNum <= 14))
- channel_set[chanset_size].ScanType = SCAN_PASSIVE;
- } else if (ChannelPlan == RT_CHANNEL_DOMAIN_WORLD_WIDE_13 ||
- Index2G == RT_CHANNEL_DOMAIN_2G_WORLD) { /* channel 12~13, passive scan */
+ for (index = 0; index < RTW_ChannelPlan2G[Index2G].Len;
+ index++) {
+ channel_set[chanset_size].ChannelNum =
+ RTW_ChannelPlan2G[Index2G].Channel[index];
+
+ if ((ChannelPlan ==
+ RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN) || /* Channel 1~11 is active, and 12~14 is passive */
+ (ChannelPlan == RT_CHANNEL_DOMAIN_GLOBAL_NULL)) {
+ if (channel_set[chanset_size].ChannelNum >= 1 &&
+ channel_set[chanset_size].ChannelNum <= 11)
+ channel_set[chanset_size].ScanType =
+ SCAN_ACTIVE;
+ else if ((channel_set[chanset_size].ChannelNum >=
+ 12 &&
+ channel_set[chanset_size].ChannelNum <=
+ 14))
+ channel_set[chanset_size].ScanType =
+ SCAN_PASSIVE;
+ } else if (ChannelPlan ==
+ RT_CHANNEL_DOMAIN_WORLD_WIDE_13 ||
+ Index2G ==
+ RT_CHANNEL_DOMAIN_2G_WORLD) { /* channel 12~13, passive scan */
if (channel_set[chanset_size].ChannelNum <= 11)
- channel_set[chanset_size].ScanType = SCAN_ACTIVE;
+ channel_set[chanset_size].ScanType =
+ SCAN_ACTIVE;
else
- channel_set[chanset_size].ScanType = SCAN_PASSIVE;
+ channel_set[chanset_size].ScanType =
+ SCAN_PASSIVE;
} else
- channel_set[chanset_size].ScanType = SCAN_ACTIVE;
+ channel_set[chanset_size].ScanType =
+ SCAN_ACTIVE;
chanset_size++;
}
@@ -365,7 +404,7 @@ static u8 init_channel_set(struct adapter *padapter, u8 ChannelPlan, struct rt_c
static void init_mlme_ext_timer(struct adapter *padapter)
{
- struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
timer_setup(&pmlmeext->survey_timer, survey_timer_hdl, 0);
timer_setup(&pmlmeext->link_timer, link_timer_hdl, 0);
@@ -390,8 +429,10 @@ void init_mlme_ext_priv(struct adapter *padapter)
init_mlme_ap_info(padapter);
- pmlmeext->max_chan_nums = init_channel_set(padapter, pmlmepriv->ChannelPlan, pmlmeext->channel_set);
- init_channel_list(padapter, pmlmeext->channel_set, pmlmeext->max_chan_nums, &pmlmeext->channel_list);
+ pmlmeext->max_chan_nums = init_channel_set(
+ padapter, pmlmepriv->ChannelPlan, pmlmeext->channel_set);
+ init_channel_list(padapter, pmlmeext->channel_set,
+ pmlmeext->max_chan_nums, &pmlmeext->channel_list);
pmlmeext->last_scan_time = 0;
pmlmeext->chan_scan_time = SURVEY_TO;
pmlmeext->mlmeext_init = true;
@@ -412,13 +453,16 @@ void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext)
}
}
-static void _mgt_dispatcher(struct adapter *padapter, struct mlme_handler *ptable, union recv_frame *precv_frame)
+static void _mgt_dispatcher(struct adapter *padapter,
+ struct mlme_handler *ptable,
+ union recv_frame *precv_frame)
{
u8 *pframe = precv_frame->u.hdr.rx_data;
if (ptable->func) {
/* receive the frames that ra(a1) is my address or ra(a1) is bc address. */
- if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) &&
+ if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv),
+ ETH_ALEN) &&
!is_broadcast_ether_addr(GetAddr1Ptr(pframe)))
return;
@@ -432,13 +476,15 @@ void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame)
struct mlme_handler *ptable;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
u8 *pframe = precv_frame->u.hdr.rx_data;
- struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(pframe));
+ struct sta_info *psta =
+ rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(pframe));
if (GetFrameType(pframe) != WIFI_MGT_TYPE)
return;
/* receive the frames that ra(a1) is my address or ra(a1) is bc address. */
- if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) &&
+ if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv),
+ ETH_ALEN) &&
!is_broadcast_ether_addr(GetAddr1Ptr(pframe))) {
return;
}
@@ -454,7 +500,8 @@ void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame)
if (psta) {
if (GetRetry(pframe)) {
- if (precv_frame->u.hdr.attrib.seq_num == psta->RxMgmtFrameSeqNum) {
+ if (precv_frame->u.hdr.attrib.seq_num ==
+ psta->RxMgmtFrameSeqNum) {
/* drop the duplicate management frame */
return;
}
@@ -493,12 +540,12 @@ void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame)
unsigned int OnProbeReq(struct adapter *padapter, union recv_frame *precv_frame)
{
- unsigned int ielen;
+ unsigned int ielen;
unsigned char *p;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *cur = &pmlmeinfo->network;
+ struct wlan_bssid_ex *cur = &pmlmeinfo->network;
u8 *pframe = precv_frame->u.hdr.rx_data;
uint len = precv_frame->u.hdr.len;
u8 is_valid_p2p_probereq = false;
@@ -507,28 +554,31 @@ unsigned int OnProbeReq(struct adapter *padapter, union recv_frame *precv_frame)
return _SUCCESS;
if (!check_fwstate(pmlmepriv, _FW_LINKED) &&
- !check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_AP_STATE)) {
+ !check_fwstate(pmlmepriv,
+ WIFI_ADHOC_MASTER_STATE | WIFI_AP_STATE)) {
return _SUCCESS;
}
- p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + _PROBEREQ_IE_OFFSET_, WLAN_EID_SSID, (int *)&ielen,
- len - WLAN_HDR_A3_LEN - _PROBEREQ_IE_OFFSET_);
+ p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + _PROBEREQ_IE_OFFSET_,
+ WLAN_EID_SSID, (int *)&ielen,
+ len - WLAN_HDR_A3_LEN - _PROBEREQ_IE_OFFSET_);
/* check (wildcard) SSID */
if (p) {
if (is_valid_p2p_probereq)
goto _issue_probersp;
- if ((ielen != 0 && false == !memcmp((p+2), cur->ssid.ssid, cur->ssid.ssid_length))
- || (ielen == 0 && pmlmeinfo->hidden_ssid_mode)
- )
+ if ((ielen != 0 && false == !memcmp((p + 2), cur->ssid.ssid,
+ cur->ssid.ssid_length)) ||
+ (ielen == 0 && pmlmeinfo->hidden_ssid_mode))
return _SUCCESS;
_issue_probersp:
if ((check_fwstate(pmlmepriv, _FW_LINKED) &&
pmlmepriv->cur_network.join_res) ||
check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE))
- issue_probersp(padapter, get_sa(pframe), is_valid_p2p_probereq);
+ issue_probersp(padapter, get_sa(pframe),
+ is_valid_p2p_probereq);
}
return _SUCCESS;
@@ -561,10 +611,16 @@ unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame)
u8 *p = NULL;
u32 ielen = 0;
- p = rtw_get_ie(pframe + sizeof(struct ieee80211_hdr_3addr) + _BEACON_IE_OFFSET_, WLAN_EID_EXT_SUPP_RATES, &ielen, precv_frame->u.hdr.len - sizeof(struct ieee80211_hdr_3addr) - _BEACON_IE_OFFSET_);
+ p = rtw_get_ie(pframe + sizeof(struct ieee80211_hdr_3addr) +
+ _BEACON_IE_OFFSET_,
+ WLAN_EID_EXT_SUPP_RATES, &ielen,
+ precv_frame->u.hdr.len -
+ sizeof(struct ieee80211_hdr_3addr) -
+ _BEACON_IE_OFFSET_);
if (p && ielen > 0) {
if (p + 2 + ielen < pframe + len) {
- if ((*(p + 1 + ielen) == 0x2D) && (*(p + 2 + ielen) != 0x2D))
+ if ((*(p + 1 + ielen) == 0x2D) &&
+ (*(p + 2 + ielen) != 0x2D))
/* Invalid value 0x2D is detected in Extended Supported Rates (ESR) IE. Try to fix the IE length to avoid failed Beacon parsing. */
*(p + 1) = ielen - 1;
}
@@ -575,20 +631,27 @@ unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame)
return _SUCCESS;
}
- if (!memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network), ETH_ALEN)) {
+ if (!memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network),
+ ETH_ALEN)) {
if (pmlmeinfo->state & WIFI_FW_AUTH_NULL) {
/* we should update current network before auth, or some IE is wrong */
pbss = kmalloc_obj(*pbss, GFP_ATOMIC);
if (pbss) {
- if (collect_bss_info(padapter, precv_frame, pbss) == _SUCCESS) {
- update_network(&(pmlmepriv->cur_network.network), pbss, padapter, true);
- rtw_get_bcn_info(&(pmlmepriv->cur_network));
+ if (collect_bss_info(padapter, precv_frame,
+ pbss) == _SUCCESS) {
+ update_network(&(pmlmepriv->cur_network
+ .network),
+ pbss, padapter, true);
+ rtw_get_bcn_info(
+ &(pmlmepriv->cur_network));
}
kfree(pbss);
}
/* check the vendor of the assoc AP */
- pmlmeinfo->assoc_AP_vendor = check_assoc_AP(pframe+sizeof(struct ieee80211_hdr_3addr), len-sizeof(struct ieee80211_hdr_3addr));
+ pmlmeinfo->assoc_AP_vendor = check_assoc_AP(
+ pframe + sizeof(struct ieee80211_hdr_3addr),
+ len - sizeof(struct ieee80211_hdr_3addr));
/* update TSF Value */
update_TSF(pmlmeext, pframe, len);
@@ -598,8 +661,10 @@ unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame)
pmlmeext->DrvBcnEarly = 0xff;
pmlmeext->DrvBcnTimeOut = 0xff;
pmlmeext->bcn_cnt = 0;
- memset(pmlmeext->bcn_delay_cnt, 0, sizeof(pmlmeext->bcn_delay_cnt));
- memset(pmlmeext->bcn_delay_ratio, 0, sizeof(pmlmeext->bcn_delay_ratio));
+ memset(pmlmeext->bcn_delay_cnt, 0,
+ sizeof(pmlmeext->bcn_delay_cnt));
+ memset(pmlmeext->bcn_delay_ratio, 0,
+ sizeof(pmlmeext->bcn_delay_ratio));
/* start auth */
start_clnt_auth(padapter);
@@ -607,31 +672,37 @@ unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame)
return _SUCCESS;
}
- if (((pmlmeinfo->state&0x03) == WIFI_FW_STATION_STATE) && (pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS)) {
+ if (((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE) &&
+ (pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS)) {
psta = rtw_get_stainfo(pstapriv, GetAddr2Ptr(pframe));
if (psta) {
ret = rtw_check_bcn_info(padapter, pframe, len);
if (!ret) {
- netdev_dbg(padapter->pnetdev,
- "ap has changed, disconnect now\n");
- receive_disconnect(padapter,
- pmlmeinfo->network.mac_address, 0);
+ netdev_dbg(
+ padapter->pnetdev,
+ "ap has changed, disconnect now\n");
+ receive_disconnect(
+ padapter,
+ pmlmeinfo->network.mac_address,
+ 0);
return _SUCCESS;
}
/* update WMM, ERP in the beacon */
/* todo: the timer is used instead of the number of the beacon received */
if ((sta_rx_pkts(psta) & 0xf) == 0)
- update_beacon_info(padapter, pframe, len, psta);
+ update_beacon_info(padapter, pframe,
+ len, psta);
adaptive_early_32k(pmlmeext, pframe, len);
}
- } else if ((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) {
+ } else if ((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) {
psta = rtw_get_stainfo(pstapriv, GetAddr2Ptr(pframe));
if (psta) {
/* update WMM, ERP in the beacon */
/* todo: the timer is used instead of the number of the beacon received */
if ((sta_rx_pkts(psta) & 0xf) == 0)
- update_beacon_info(padapter, pframe, len, psta);
+ update_beacon_info(padapter, pframe,
+ len, psta);
} else {
/* allocate a new CAM entry for IBSS station */
cam_idx = allocate_fw_sta_entry(padapter);
@@ -639,8 +710,15 @@ unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame)
goto _END_ONBEACON_;
/* get supported rate */
- if (update_sta_support_rate(padapter, (pframe + WLAN_HDR_A3_LEN + _BEACON_IE_OFFSET_), (len - WLAN_HDR_A3_LEN - _BEACON_IE_OFFSET_), cam_idx) == _FAIL) {
- pmlmeinfo->FW_sta_info[cam_idx].status = 0;
+ if (update_sta_support_rate(
+ padapter,
+ (pframe + WLAN_HDR_A3_LEN +
+ _BEACON_IE_OFFSET_),
+ (len - WLAN_HDR_A3_LEN -
+ _BEACON_IE_OFFSET_),
+ cam_idx) == _FAIL) {
+ pmlmeinfo->FW_sta_info[cam_idx].status =
+ 0;
goto _END_ONBEACON_;
}
@@ -648,7 +726,8 @@ unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame)
update_TSF(pmlmeext, pframe, len);
/* report sta add event */
- report_add_sta_event(padapter, GetAddr2Ptr(pframe), cam_idx);
+ report_add_sta_event(
+ padapter, GetAddr2Ptr(pframe), cam_idx);
}
}
}
@@ -660,13 +739,13 @@ unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame)
unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
{
- unsigned int auth_mode, seq, ie_len;
+ unsigned int auth_mode, seq, ie_len;
unsigned char *sa, *p;
u16 algorithm;
- int status;
+ int status;
static struct sta_info stat;
- struct sta_info *pstat = NULL;
- struct sta_priv *pstapriv = &padapter->stapriv;
+ struct sta_info *pstat = NULL;
+ struct sta_priv *pstapriv = &padapter->stapriv;
struct security_priv *psecuritypriv = &padapter->securitypriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
@@ -674,7 +753,7 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
uint len = precv_frame->u.hdr.len;
u8 offset = 0;
- if ((pmlmeinfo->state&0x03) != WIFI_FW_AP_STATE)
+ if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
return _FAIL;
if (len < WLAN_HDR_A3_LEN)
@@ -686,7 +765,7 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
if (GetPrivacy(pframe)) {
u8 *iv;
- struct rx_pkt_attrib *prxattrib = &(precv_frame->u.hdr.attrib);
+ struct rx_pkt_attrib *prxattrib = &(precv_frame->u.hdr.attrib);
prxattrib->hdrlen = WLAN_HDR_A3_LEN;
prxattrib->encrypt = _WEP40_;
@@ -694,8 +773,8 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
if (len < WLAN_HDR_A3_LEN + 8)
return _FAIL;
- iv = pframe+prxattrib->hdrlen;
- prxattrib->key_index = ((iv[3]>>6)&0x3);
+ iv = pframe + prxattrib->hdrlen;
+ prxattrib->key_index = ((iv[3] >> 6) & 0x3);
prxattrib->iv_len = 4;
prxattrib->icv_len = 4;
@@ -705,16 +784,21 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
offset = 4;
}
- algorithm = le16_to_cpu(*(__le16 *)((SIZE_PTR)pframe + WLAN_HDR_A3_LEN + offset));
- seq = le16_to_cpu(*(__le16 *)((SIZE_PTR)pframe + WLAN_HDR_A3_LEN + offset + 2));
+ algorithm = le16_to_cpu(
+ *(__le16 *)((SIZE_PTR)pframe + WLAN_HDR_A3_LEN + offset));
+ seq = le16_to_cpu(
+ *(__le16 *)((SIZE_PTR)pframe + WLAN_HDR_A3_LEN + offset + 2));
- if (auth_mode == 2 &&
- psecuritypriv->dot11PrivacyAlgrthm != _WEP40_ &&
- psecuritypriv->dot11PrivacyAlgrthm != _WEP104_)
+ if (auth_mode == 2 && psecuritypriv->dot11PrivacyAlgrthm != _WEP40_ &&
+ psecuritypriv->dot11PrivacyAlgrthm != _WEP104_)
auth_mode = 0;
- if ((algorithm > 0 && auth_mode == 0) || /* rx a shared-key auth but shared not enabled */
- (algorithm == 0 && auth_mode == 1)) { /* rx a open-system auth but shared-key is enabled */
+ if ((algorithm > 0 &&
+ auth_mode ==
+ 0) || /* rx a shared-key auth but shared not enabled */
+ (algorithm == 0 &&
+ auth_mode ==
+ 1)) { /* rx a open-system auth but shared-key is enabled */
status = WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG;
@@ -771,7 +855,8 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
goto auth_fail;
}
- if (algorithm == 0 && (auth_mode == 0 || auth_mode == 2 || auth_mode == 3)) {
+ if (algorithm == 0 &&
+ (auth_mode == 0 || auth_mode == 2 || auth_mode == 3)) {
if (seq == 1) {
pstat->state &= ~WIFI_FW_AUTH_NULL;
pstat->state |= WIFI_FW_AUTH_SUCCESS;
@@ -790,8 +875,10 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
pstat->state |= WIFI_FW_AUTH_STATE;
pstat->authalg = algorithm;
} else if (seq == 3) {
- p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + 4 + _AUTH_IE_OFFSET_, WLAN_EID_CHALLENGE, (int *)&ie_len,
- len - WLAN_HDR_A3_LEN - _AUTH_IE_OFFSET_ - 4);
+ p = rtw_get_ie(
+ pframe + WLAN_HDR_A3_LEN + 4 + _AUTH_IE_OFFSET_,
+ WLAN_EID_CHALLENGE, (int *)&ie_len,
+ len - WLAN_HDR_A3_LEN - _AUTH_IE_OFFSET_ - 4);
if (!p || ie_len != 128) {
status = WLAN_STATUS_CHALLENGE_FAIL;
@@ -802,7 +889,7 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
pstat->state &= (~WIFI_FW_AUTH_STATE);
pstat->state |= WIFI_FW_AUTH_SUCCESS;
/* challenging txt is correct... */
- pstat->expire_to = pstapriv->assoc_to;
+ pstat->expire_to = pstapriv->assoc_to;
} else {
status = WLAN_STATUS_CHALLENGE_FAIL;
goto auth_fail;
@@ -838,11 +925,12 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
return _FAIL;
}
-unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_frame)
+unsigned int OnAuthClient(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
- unsigned int seq, len, status, offset;
+ unsigned int seq, len, status, offset;
unsigned char *p;
- unsigned int go2asoc = 0;
+ unsigned int go2asoc = 0;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
u8 *pframe = precv_frame->u.hdr.rx_data;
@@ -857,11 +945,14 @@ unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_fram
offset = (GetPrivacy(pframe)) ? 4 : 0;
- seq = le16_to_cpu(*(__le16 *)((SIZE_PTR)pframe + WLAN_HDR_A3_LEN + offset + 2));
- status = le16_to_cpu(*(__le16 *)((SIZE_PTR)pframe + WLAN_HDR_A3_LEN + offset + 4));
+ seq = le16_to_cpu(
+ *(__le16 *)((SIZE_PTR)pframe + WLAN_HDR_A3_LEN + offset + 2));
+ status = le16_to_cpu(
+ *(__le16 *)((SIZE_PTR)pframe + WLAN_HDR_A3_LEN + offset + 4));
if (status != 0) {
- if (status == 13) { /* pmlmeinfo->auth_algo == dot11AuthAlgrthm_Auto) */
+ if (status ==
+ 13) { /* pmlmeinfo->auth_algo == dot11AuthAlgrthm_Auto) */
if (pmlmeinfo->auth_algo == dot11AuthAlgrthm_Shared)
pmlmeinfo->auth_algo = dot11AuthAlgrthm_Open;
else
@@ -875,8 +966,10 @@ unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_fram
if (seq == 2) {
if (pmlmeinfo->auth_algo == dot11AuthAlgrthm_Shared) {
- /* legendary shared system */
- p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + _AUTH_IE_OFFSET_, WLAN_EID_CHALLENGE, (int *)&len,
+ /* legendary shared system */
+ p = rtw_get_ie(
+ pframe + WLAN_HDR_A3_LEN + _AUTH_IE_OFFSET_,
+ WLAN_EID_CHALLENGE, (int *)&len,
pkt_len - WLAN_HDR_A3_LEN - _AUTH_IE_OFFSET_);
if (!p)
@@ -920,23 +1013,23 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
struct rtw_ieee802_11_elems elems;
struct sta_info *pstat;
unsigned char *p, *pos, *wpa_ie;
- unsigned char WMM_IE[] = {0x00, 0x50, 0xf2, 0x02, 0x00, 0x01};
- int i, ie_len, left;
+ unsigned char WMM_IE[] = { 0x00, 0x50, 0xf2, 0x02, 0x00, 0x01 };
+ int i, ie_len, left;
u8 wpa_ie_len;
unsigned char supportRate[16];
- int support_rate_num;
- unsigned short status = WLAN_STATUS_SUCCESS;
- unsigned short frame_type, ie_offset = 0;
+ int support_rate_num;
+ unsigned short status = WLAN_STATUS_SUCCESS;
+ unsigned short frame_type, ie_offset = 0;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct security_priv *psecuritypriv = &padapter->securitypriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *cur = &(pmlmeinfo->network);
+ struct wlan_bssid_ex *cur = &(pmlmeinfo->network);
struct sta_priv *pstapriv = &padapter->stapriv;
u8 *pframe = precv_frame->u.hdr.rx_data;
uint pkt_len = precv_frame->u.hdr.len;
- if ((pmlmeinfo->state&0x03) != WIFI_FW_AP_STATE)
+ if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
return _FAIL;
frame_type = GetFrameSubType(pframe);
@@ -985,8 +1078,8 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
/* now we should check all the fields... */
/* checking SSID */
- p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, WLAN_EID_SSID, &ie_len,
- pkt_len - WLAN_HDR_A3_LEN - ie_offset);
+ p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, WLAN_EID_SSID,
+ &ie_len, pkt_len - WLAN_HDR_A3_LEN - ie_offset);
if (!p || ie_len == 0) {
/* broadcast ssid, however it is not allowed in assocreq */
@@ -994,7 +1087,7 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
goto OnAssocReqFail;
} else {
/* check if ssid match */
- if (memcmp(p+2, cur->ssid.ssid, cur->ssid.ssid_length))
+ if (memcmp(p + 2, cur->ssid.ssid, cur->ssid.ssid_length))
status = WLAN_STATUS_CHALLENGE_FAIL;
if (ie_len != cur->ssid.ssid_length)
@@ -1005,7 +1098,9 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
goto OnAssocReqFail;
/* check if the supported rate is ok */
- p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, WLAN_EID_SUPP_RATES, &ie_len, pkt_len - WLAN_HDR_A3_LEN - ie_offset);
+ p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset,
+ WLAN_EID_SUPP_RATES, &ie_len,
+ pkt_len - WLAN_HDR_A3_LEN - ie_offset);
if (!p) {
/* use our own rate set as statoin used */
/* memcpy(supportRate, AP_BSSRATE, AP_BSSRATE_LEN); */
@@ -1017,14 +1112,16 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
if (ie_len > sizeof(supportRate))
ie_len = sizeof(supportRate);
- memcpy(supportRate, p+2, ie_len);
+ memcpy(supportRate, p + 2, ie_len);
support_rate_num = ie_len;
- p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, WLAN_EID_EXT_SUPP_RATES, &ie_len,
- pkt_len - WLAN_HDR_A3_LEN - ie_offset);
+ p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset,
+ WLAN_EID_EXT_SUPP_RATES, &ie_len,
+ pkt_len - WLAN_HDR_A3_LEN - ie_offset);
if (p) {
if (support_rate_num + ie_len <= sizeof(supportRate)) {
- memcpy(supportRate + support_rate_num, p + 2, ie_len);
+ memcpy(supportRate + support_rate_num, p + 2,
+ ie_len);
support_rate_num += ie_len;
}
}
@@ -1052,12 +1149,16 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
wpa_ie = elems.rsn_ie;
wpa_ie_len = elems.rsn_ie_len;
- if (rtw_parse_wpa2_ie(wpa_ie-2, wpa_ie_len+2, &group_cipher, &pairwise_cipher, NULL) == _SUCCESS) {
- pstat->dot8021xalg = 1;/* psk, todo:802.1x */
+ if (rtw_parse_wpa2_ie(wpa_ie - 2, wpa_ie_len + 2, &group_cipher,
+ &pairwise_cipher, NULL) == _SUCCESS) {
+ pstat->dot8021xalg = 1; /* psk, todo:802.1x */
pstat->wpa_psk |= BIT(1);
- pstat->wpa2_group_cipher = group_cipher&psecuritypriv->wpa2_group_cipher;
- pstat->wpa2_pairwise_cipher = pairwise_cipher&psecuritypriv->wpa2_pairwise_cipher;
+ pstat->wpa2_group_cipher =
+ group_cipher & psecuritypriv->wpa2_group_cipher;
+ pstat->wpa2_pairwise_cipher =
+ pairwise_cipher &
+ psecuritypriv->wpa2_pairwise_cipher;
if (!pstat->wpa2_group_cipher)
status = WLAN_STATUS_INVALID_GROUP_CIPHER;
@@ -1074,12 +1175,16 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
wpa_ie = elems.wpa_ie;
wpa_ie_len = elems.wpa_ie_len;
- if (rtw_parse_wpa_ie(wpa_ie-2, wpa_ie_len+2, &group_cipher, &pairwise_cipher, NULL) == _SUCCESS) {
- pstat->dot8021xalg = 1;/* psk, todo:802.1x */
+ if (rtw_parse_wpa_ie(wpa_ie - 2, wpa_ie_len + 2, &group_cipher,
+ &pairwise_cipher, NULL) == _SUCCESS) {
+ pstat->dot8021xalg = 1; /* psk, todo:802.1x */
pstat->wpa_psk |= BIT(0);
- pstat->wpa_group_cipher = group_cipher&psecuritypriv->wpa_group_cipher;
- pstat->wpa_pairwise_cipher = pairwise_cipher&psecuritypriv->wpa_pairwise_cipher;
+ pstat->wpa_group_cipher =
+ group_cipher & psecuritypriv->wpa_group_cipher;
+ pstat->wpa_pairwise_cipher =
+ pairwise_cipher &
+ psecuritypriv->wpa_pairwise_cipher;
if (!pstat->wpa_group_cipher)
status = WLAN_STATUS_INVALID_GROUP_CIPHER;
@@ -1108,15 +1213,20 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
/* AP support WPA/RSN, and sta is going to do WPS, but AP is not ready */
/* that the selected registrar of AP is _FLASE */
- if ((psecuritypriv->wpa_psk > 0)
- && (pstat->flags & (WLAN_STA_WPS|WLAN_STA_MAYBE_WPS))) {
+ if ((psecuritypriv->wpa_psk > 0) &&
+ (pstat->flags & (WLAN_STA_WPS | WLAN_STA_MAYBE_WPS))) {
if (pmlmepriv->wps_beacon_ie) {
u8 selected_registrar = 0;
- rtw_get_wps_attr_content(pmlmepriv->wps_beacon_ie, pmlmepriv->wps_beacon_ie_len, WPS_ATTR_SELECTED_REGISTRAR, &selected_registrar, NULL);
+ rtw_get_wps_attr_content(
+ pmlmepriv->wps_beacon_ie,
+ pmlmepriv->wps_beacon_ie_len,
+ WPS_ATTR_SELECTED_REGISTRAR,
+ &selected_registrar, NULL);
if (!selected_registrar) {
- status = WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA;
+ status =
+ WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA;
goto OnAssocReqFail;
}
@@ -1140,7 +1250,7 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
}
if (copy_len > 0)
- memcpy(pstat->wpa_ie, wpa_ie-2, copy_len);
+ memcpy(pstat->wpa_ie, wpa_ie - 2, copy_len);
}
/* check if there is WMM IE & support WWM-PS */
@@ -1153,13 +1263,15 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
pstat->uapsd_be = 0;
pstat->uapsd_bk = 0;
if (pmlmepriv->qospriv.qos_option) {
- p = pframe + WLAN_HDR_A3_LEN + ie_offset; ie_len = 0;
+ p = pframe + WLAN_HDR_A3_LEN + ie_offset;
+ ie_len = 0;
for (;;) {
- p = rtw_get_ie(p, WLAN_EID_VENDOR_SPECIFIC, &ie_len, pkt_len - WLAN_HDR_A3_LEN - ie_offset);
+ p = rtw_get_ie(p, WLAN_EID_VENDOR_SPECIFIC, &ie_len,
+ pkt_len - WLAN_HDR_A3_LEN - ie_offset);
if (!p)
break;
- if (memcmp(p+2, WMM_IE, 6)) {
+ if (memcmp(p + 2, WMM_IE, 6)) {
p = p + ie_len + 2;
continue;
}
@@ -1167,33 +1279,33 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
pstat->flags |= WLAN_STA_WME;
pstat->qos_option = 1;
- pstat->qos_info = *(p+8);
+ pstat->qos_info = *(p + 8);
- pstat->max_sp_len = (pstat->qos_info>>5)&0x3;
+ pstat->max_sp_len = (pstat->qos_info >> 5) & 0x3;
- if ((pstat->qos_info&0xf) != 0xf)
+ if ((pstat->qos_info & 0xf) != 0xf)
pstat->has_legacy_ac = true;
else
pstat->has_legacy_ac = false;
- if (pstat->qos_info&0xf) {
- if (pstat->qos_info&BIT(0))
- pstat->uapsd_vo = BIT(0)|BIT(1);
+ if (pstat->qos_info & 0xf) {
+ if (pstat->qos_info & BIT(0))
+ pstat->uapsd_vo = BIT(0) | BIT(1);
else
pstat->uapsd_vo = 0;
- if (pstat->qos_info&BIT(1))
- pstat->uapsd_vi = BIT(0)|BIT(1);
+ if (pstat->qos_info & BIT(1))
+ pstat->uapsd_vi = BIT(0) | BIT(1);
else
pstat->uapsd_vi = 0;
- if (pstat->qos_info&BIT(2))
- pstat->uapsd_bk = BIT(0)|BIT(1);
+ if (pstat->qos_info & BIT(2))
+ pstat->uapsd_bk = BIT(0) | BIT(1);
else
pstat->uapsd_bk = 0;
- if (pstat->qos_info&BIT(3))
- pstat->uapsd_be = BIT(0)|BIT(1);
+ if (pstat->qos_info & BIT(3))
+ pstat->uapsd_be = BIT(0) | BIT(1);
else
pstat->uapsd_be = 0;
}
@@ -1204,24 +1316,26 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
/* save HT capabilities in the sta object */
memset(&pstat->htpriv.ht_cap, 0, sizeof(struct ieee80211_ht_cap));
- if (elems.ht_capabilities && elems.ht_capabilities_len >= sizeof(struct ieee80211_ht_cap)) {
+ if (elems.ht_capabilities &&
+ elems.ht_capabilities_len >= sizeof(struct ieee80211_ht_cap)) {
pstat->flags |= WLAN_STA_HT;
pstat->flags |= WLAN_STA_WME;
- memcpy(&pstat->htpriv.ht_cap, elems.ht_capabilities, sizeof(struct ieee80211_ht_cap));
+ memcpy(&pstat->htpriv.ht_cap, elems.ht_capabilities,
+ sizeof(struct ieee80211_ht_cap));
} else
pstat->flags &= ~WLAN_STA_HT;
- if (!pmlmepriv->htpriv.ht_option && (pstat->flags&WLAN_STA_HT)) {
+ if (!pmlmepriv->htpriv.ht_option && (pstat->flags & WLAN_STA_HT)) {
status = WLAN_STATUS_CHALLENGE_FAIL;
goto OnAssocReqFail;
}
if ((pstat->flags & WLAN_STA_HT) &&
- ((pstat->wpa2_pairwise_cipher&WPA_CIPHER_TKIP) ||
- (pstat->wpa_pairwise_cipher&WPA_CIPHER_TKIP))) {
+ ((pstat->wpa2_pairwise_cipher & WPA_CIPHER_TKIP) ||
+ (pstat->wpa_pairwise_cipher & WPA_CIPHER_TKIP))) {
/* status = WLAN_STATUS_CIPHER_SUITE_REJECTED; */
/* goto OnAssocReqFail; */
}
@@ -1282,7 +1396,8 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
spin_unlock_bh(&pstapriv->asoc_list_lock);
/* now the station is qualified to join our BSS... */
- if (pstat && (pstat->state & WIFI_FW_ASSOC_SUCCESS) && (status == WLAN_STATUS_SUCCESS)) {
+ if (pstat && (pstat->state & WIFI_FW_ASSOC_SUCCESS) &&
+ (status == WLAN_STATUS_SUCCESS)) {
/* 1 bss_cap_update & sta_info_update */
bss_cap_update_on_sta_join(padapter, pstat);
sta_info_update(padapter, pstat);
@@ -1329,7 +1444,7 @@ unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame)
{
uint i;
int res;
- unsigned short status;
+ unsigned short status;
struct ndis_80211_var_ie *pIE;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
@@ -1359,13 +1474,16 @@ unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame)
}
/* get capabilities */
- pmlmeinfo->capability = le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN));
+ pmlmeinfo->capability =
+ le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN));
/* set slot time */
pmlmeinfo->slotTime = (pmlmeinfo->capability & BIT(10)) ? 9 : 20;
/* AID */
- res = pmlmeinfo->aid = (int)(le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN + 4))&0x3fff);
+ res = pmlmeinfo->aid =
+ (int)(le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN + 4)) &
+ 0x3fff);
/* following are moved to join event callback function */
/* to handle HT, WMM, rate adaptive, update MAC reg */
@@ -1379,15 +1497,15 @@ unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame)
switch (pIE->element_id) {
case WLAN_EID_VENDOR_SPECIFIC:
- if (!memcmp(pIE->data, WMM_PARA_OUI, 6)) /* WMM */
+ if (!memcmp(pIE->data, WMM_PARA_OUI, 6)) /* WMM */
WMM_param_handler(padapter, pIE);
break;
- case WLAN_EID_HT_CAPABILITY: /* HT caps */
+ case WLAN_EID_HT_CAPABILITY: /* HT caps */
HT_caps_handler(padapter, pIE);
break;
- case WLAN_EID_HT_OPERATION: /* HT info */
+ case WLAN_EID_HT_OPERATION: /* HT info */
HT_info_handler(padapter, pIE);
break;
@@ -1410,7 +1528,8 @@ unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame)
report_assoc_result:
if (res > 0)
- rtw_buf_update(&pmlmepriv->assoc_rsp, &pmlmepriv->assoc_rsp_len, pframe, pkt_len);
+ rtw_buf_update(&pmlmepriv->assoc_rsp, &pmlmepriv->assoc_rsp_len,
+ pframe, pkt_len);
else
rtw_buf_free(&pmlmepriv->assoc_rsp, &pmlmepriv->assoc_rsp_len);
@@ -1421,7 +1540,7 @@ unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame)
unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame)
{
- unsigned short reason;
+ unsigned short reason;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
@@ -1429,7 +1548,8 @@ unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame)
int ignore_received_deauth = 0;
/* check A3 */
- if (memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network), ETH_ALEN))
+ if (memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network),
+ ETH_ALEN))
return _SUCCESS;
reason = le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN));
@@ -1452,7 +1572,8 @@ unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame)
if (!list_empty(&psta->asoc_list)) {
list_del_init(&psta->asoc_list);
pstapriv->asoc_list_cnt--;
- updated = ap_free_sta(padapter, psta, false, reason);
+ updated = ap_free_sta(padapter, psta, false,
+ reason);
}
spin_unlock_bh(&pstapriv->asoc_list_lock);
@@ -1480,8 +1601,7 @@ unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame)
netdev_dbg(padapter->pnetdev,
"sta recv deauth reason code(%d) sta:%pM, ignore = %d\n",
- reason, GetAddr3Ptr(pframe),
- ignore_received_deauth);
+ reason, GetAddr3Ptr(pframe), ignore_received_deauth);
if (ignore_received_deauth == 0)
receive_disconnect(padapter, GetAddr3Ptr(pframe), reason);
@@ -1492,14 +1612,15 @@ unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame)
unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame)
{
- unsigned short reason;
+ unsigned short reason;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
u8 *pframe = precv_frame->u.hdr.rx_data;
/* check A3 */
- if (memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network), ETH_ALEN))
+ if (memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network),
+ ETH_ALEN))
return _SUCCESS;
reason = le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN));
@@ -1511,8 +1632,8 @@ unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame)
/* rtw_free_stainfo(padapter, psta); */
netdev_dbg(padapter->pnetdev,
- "ap recv disassoc reason code(%d) sta:%pM\n",
- reason, GetAddr2Ptr(pframe));
+ "ap recv disassoc reason code(%d) sta:%pM\n", reason,
+ GetAddr2Ptr(pframe));
psta = rtw_get_stainfo(pstapriv, GetAddr2Ptr(pframe));
if (psta) {
@@ -1522,7 +1643,8 @@ unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame)
if (!list_empty(&psta->asoc_list)) {
list_del_init(&psta->asoc_list);
pstapriv->asoc_list_cnt--;
- updated = ap_free_sta(padapter, psta, false, reason);
+ updated = ap_free_sta(padapter, psta, false,
+ reason);
}
spin_unlock_bh(&pstapriv->asoc_list_lock);
@@ -1532,8 +1654,8 @@ unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame)
return _SUCCESS;
}
netdev_dbg(padapter->pnetdev,
- "sta recv disassoc reason code(%d) sta:%pM\n",
- reason, GetAddr3Ptr(pframe));
+ "sta recv disassoc reason code(%d) sta:%pM\n", reason,
+ GetAddr3Ptr(pframe));
receive_disconnect(padapter, GetAddr3Ptr(pframe), reason);
@@ -1546,7 +1668,8 @@ unsigned int OnAtim(struct adapter *padapter, union recv_frame *precv_frame)
return _SUCCESS;
}
-unsigned int on_action_spct(struct adapter *padapter, union recv_frame *precv_frame)
+unsigned int on_action_spct(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
struct sta_info *psta = NULL;
struct sta_priv *pstapriv = &padapter->stapriv;
@@ -1580,24 +1703,26 @@ unsigned int on_action_spct(struct adapter *padapter, union recv_frame *precv_fr
return _FAIL;
}
-unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_frame)
+unsigned int OnAction_back(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
u8 *addr;
struct sta_info *psta = NULL;
struct recv_reorder_ctrl *preorder_ctrl;
unsigned char *frame_body;
unsigned char category, action;
- unsigned short tid, status;
+ unsigned short tid, status;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
u8 *pframe = precv_frame->u.hdr.rx_data;
struct sta_priv *pstapriv = &padapter->stapriv;
/* check RA matches or not */
- if (memcmp(myid(&(padapter->eeprompriv)), GetAddr1Ptr(pframe), ETH_ALEN))/* for if1, sta/ap mode */
+ if (memcmp(myid(&(padapter->eeprompriv)), GetAddr1Ptr(pframe),
+ ETH_ALEN)) /* for if1, sta/ap mode */
return _SUCCESS;
- if ((pmlmeinfo->state&0x03) != WIFI_FW_AP_STATE)
+ if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
if (!(pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS))
return _SUCCESS;
@@ -1607,10 +1732,11 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra
if (!psta)
return _SUCCESS;
- frame_body = (unsigned char *)(pframe + sizeof(struct ieee80211_hdr_3addr));
+ frame_body =
+ (unsigned char *)(pframe + sizeof(struct ieee80211_hdr_3addr));
category = frame_body[0];
- if (category == RTW_WLAN_CATEGORY_BACK) {/* representing Block Ack */
+ if (category == RTW_WLAN_CATEGORY_BACK) { /* representing Block Ack */
if (!pmlmeinfo->HT_enable)
return _SUCCESS;
@@ -1618,14 +1744,19 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra
switch (action) {
case WLAN_ACTION_ADDBA_REQ: /* ADDBA request */
- memcpy(&(pmlmeinfo->ADDBA_req), &(frame_body[2]), sizeof(struct ADDBA_request));
+ memcpy(&(pmlmeinfo->ADDBA_req), &(frame_body[2]),
+ sizeof(struct ADDBA_request));
/* process_addba_req(padapter, (u8 *)&(pmlmeinfo->ADDBA_req), GetAddr3Ptr(pframe)); */
- process_addba_req(padapter, (u8 *)&(pmlmeinfo->ADDBA_req), addr);
+ process_addba_req(padapter,
+ (u8 *)&(pmlmeinfo->ADDBA_req), addr);
if (pmlmeinfo->accept_addba_req)
- issue_action_BA(padapter, addr, WLAN_ACTION_ADDBA_RESP, 0);
+ issue_action_BA(padapter, addr,
+ WLAN_ACTION_ADDBA_RESP, 0);
else
- issue_action_BA(padapter, addr, WLAN_ACTION_ADDBA_RESP, 37);/* reject ADDBA Req */
+ issue_action_BA(padapter, addr,
+ WLAN_ACTION_ADDBA_RESP,
+ 37); /* reject ADDBA Req */
break;
@@ -1658,7 +1789,7 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra
} else if ((frame_body[3] & BIT(3)) == BIT(3)) {
tid = (frame_body[3] >> 4) & 0x0F;
- preorder_ctrl = &psta->recvreorder_ctrl[tid];
+ preorder_ctrl = &psta->recvreorder_ctrl[tid];
preorder_ctrl->enable = false;
preorder_ctrl->indicate_seq = 0xffff;
}
@@ -1677,13 +1808,13 @@ static s32 rtw_action_public_decache(union recv_frame *recv_frame, s32 token)
struct adapter *adapter = recv_frame->u.hdr.adapter;
struct mlme_ext_priv *mlmeext = &(adapter->mlmeextpriv);
u8 *frame = recv_frame->u.hdr.rx_data;
- u16 seq_ctrl = ((recv_frame->u.hdr.attrib.seq_num&0xffff) << 4) |
- (recv_frame->u.hdr.attrib.frag_num & 0xf);
+ u16 seq_ctrl = ((recv_frame->u.hdr.attrib.seq_num & 0xffff) << 4) |
+ (recv_frame->u.hdr.attrib.frag_num & 0xf);
if (GetRetry(frame)) {
if (token >= 0) {
- if ((seq_ctrl == mlmeext->action_public_rxseq)
- && (token == mlmeext->action_public_dialog_token))
+ if ((seq_ctrl == mlmeext->action_public_rxseq) &&
+ (token == mlmeext->action_public_dialog_token))
return _FAIL;
} else {
if (seq_ctrl == mlmeext->action_public_rxseq)
@@ -1705,7 +1836,8 @@ static unsigned int on_action_public_p2p(union recv_frame *precv_frame)
u8 *frame_body;
u8 dialogToken = 0;
- frame_body = (unsigned char *)(pframe + sizeof(struct ieee80211_hdr_3addr));
+ frame_body =
+ (unsigned char *)(pframe + sizeof(struct ieee80211_hdr_3addr));
dialogToken = frame_body[7];
@@ -1727,7 +1859,8 @@ static unsigned int on_action_public_vendor(union recv_frame *precv_frame)
return ret;
}
-static unsigned int on_action_public_default(union recv_frame *precv_frame, u8 action)
+static unsigned int on_action_public_default(union recv_frame *precv_frame,
+ u8 action)
{
unsigned int ret = _FAIL;
u8 *pframe = precv_frame->u.hdr.rx_data;
@@ -1742,7 +1875,8 @@ static unsigned int on_action_public_default(union recv_frame *precv_frame, u8 a
if (rtw_action_public_decache(precv_frame, token) == _FAIL)
goto exit;
- scnprintf(msg, sizeof(msg), "%s(token:%u)", action_public_str(action), token);
+ scnprintf(msg, sizeof(msg), "%s(token:%u)", action_public_str(action),
+ token);
rtw_cfg80211_rx_action(adapter, pframe, frame_len, msg);
ret = _SUCCESS;
@@ -1751,7 +1885,8 @@ static unsigned int on_action_public_default(union recv_frame *precv_frame, u8 a
return ret;
}
-unsigned int on_action_public(struct adapter *padapter, union recv_frame *precv_frame)
+unsigned int on_action_public(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
unsigned int ret = _FAIL;
u8 *pframe = precv_frame->u.hdr.rx_data;
@@ -1759,7 +1894,8 @@ unsigned int on_action_public(struct adapter *padapter, union recv_frame *precv_
u8 category, action;
/* check RA matches or not */
- if (memcmp(myid(&(padapter->eeprompriv)), GetAddr1Ptr(pframe), ETH_ALEN))
+ if (memcmp(myid(&(padapter->eeprompriv)), GetAddr1Ptr(pframe),
+ ETH_ALEN))
goto exit;
category = frame_body[0];
@@ -1780,14 +1916,16 @@ unsigned int on_action_public(struct adapter *padapter, union recv_frame *precv_
return ret;
}
-unsigned int OnAction_ht(struct adapter *padapter, union recv_frame *precv_frame)
+unsigned int OnAction_ht(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
u8 *pframe = precv_frame->u.hdr.rx_data;
u8 *frame_body = pframe + sizeof(struct ieee80211_hdr_3addr);
u8 category, action;
/* check RA matches or not */
- if (memcmp(myid(&(padapter->eeprompriv)), GetAddr1Ptr(pframe), ETH_ALEN))
+ if (memcmp(myid(&(padapter->eeprompriv)), GetAddr1Ptr(pframe),
+ ETH_ALEN))
goto exit;
category = frame_body[0];
@@ -1807,15 +1945,17 @@ unsigned int OnAction_ht(struct adapter *padapter, union recv_frame *precv_frame
return _SUCCESS;
}
-unsigned int OnAction_sa_query(struct adapter *padapter, union recv_frame *precv_frame)
+unsigned int OnAction_sa_query(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
u8 *pframe = precv_frame->u.hdr.rx_data;
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
unsigned short tid;
- switch (pframe[WLAN_HDR_A3_LEN+1]) {
+ switch (pframe[WLAN_HDR_A3_LEN + 1]) {
case 0: /* SA Query req */
- memcpy(&tid, &pframe[WLAN_HDR_A3_LEN+2], sizeof(unsigned short));
+ memcpy(&tid, &pframe[WLAN_HDR_A3_LEN + 2],
+ sizeof(unsigned short));
issue_action_SA_Query(padapter, GetAddr2Ptr(pframe), 1, tid);
break;
@@ -1837,7 +1977,8 @@ unsigned int OnAction(struct adapter *padapter, union recv_frame *precv_frame)
unsigned char *frame_body;
u8 *pframe = precv_frame->u.hdr.rx_data;
- frame_body = (unsigned char *)(pframe + sizeof(struct ieee80211_hdr_3addr));
+ frame_body =
+ (unsigned char *)(pframe + sizeof(struct ieee80211_hdr_3addr));
category = frame_body[0];
@@ -1856,7 +1997,8 @@ unsigned int DoReserved(struct adapter *padapter, union recv_frame *precv_frame)
return _SUCCESS;
}
-static struct xmit_frame *_alloc_mgtxmitframe(struct xmit_priv *pxmitpriv, bool once)
+static struct xmit_frame *_alloc_mgtxmitframe(struct xmit_priv *pxmitpriv,
+ bool once)
{
struct xmit_frame *pmgntframe;
struct xmit_buf *pxmitbuf;
@@ -1899,7 +2041,8 @@ void update_mgnt_tx_rate(struct adapter *padapter, u8 rate)
pmlmeext->tx_rate = rate;
}
-void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattrib)
+void update_mgntframe_attrib(struct adapter *padapter,
+ struct pkt_attrib *pattrib)
{
u8 wireless_mode;
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
@@ -1918,7 +2061,7 @@ void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattri
wireless_mode = WIRELESS_11B;
else
wireless_mode = WIRELESS_11G;
- pattrib->raid = rtw_get_mgntframe_raid(padapter, wireless_mode);
+ pattrib->raid = rtw_get_mgntframe_raid(padapter, wireless_mode);
pattrib->rate = pmlmeext->tx_rate;
pattrib->encrypt = _NO_PRIVACY_;
@@ -1937,10 +2080,11 @@ void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattri
pattrib->mbssid = 0;
}
-void update_mgntframe_attrib_addr(struct adapter *padapter, struct xmit_frame *pmgntframe)
+void update_mgntframe_attrib_addr(struct adapter *padapter,
+ struct xmit_frame *pmgntframe)
{
u8 *pframe;
- struct pkt_attrib *pattrib = &pmgntframe->attrib;
+ struct pkt_attrib *pattrib = &pmgntframe->attrib;
pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET;
@@ -1950,8 +2094,7 @@ void update_mgntframe_attrib_addr(struct adapter *padapter, struct xmit_frame *p
void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe)
{
- if (padapter->bSurpriseRemoved ||
- padapter->bDriverStopped) {
+ if (padapter->bSurpriseRemoved || padapter->bDriverStopped) {
rtw_free_xmitbuf(&padapter->xmitpriv, pmgntframe->pxmitbuf);
rtw_free_xmitframe(&padapter->xmitpriv, pmgntframe);
return;
@@ -1960,7 +2103,8 @@ void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe)
rtw_hal_mgnt_xmit(padapter, pmgntframe);
}
-s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms)
+s32 dump_mgntframe_and_wait(struct adapter *padapter,
+ struct xmit_frame *pmgntframe, int timeout_ms)
{
s32 ret = _FAIL;
unsigned long irqL;
@@ -1968,8 +2112,7 @@ s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntfr
struct xmit_buf *pxmitbuf = pmgntframe->pxmitbuf;
struct submit_ctx sctx;
- if (padapter->bSurpriseRemoved ||
- padapter->bDriverStopped) {
+ if (padapter->bSurpriseRemoved || padapter->bDriverStopped) {
rtw_free_xmitbuf(&padapter->xmitpriv, pmgntframe->pxmitbuf);
rtw_free_xmitframe(&padapter->xmitpriv, pmgntframe);
return ret;
@@ -1990,15 +2133,15 @@ s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntfr
return ret;
}
-s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe)
+s32 dump_mgntframe_and_wait_ack(struct adapter *padapter,
+ struct xmit_frame *pmgntframe)
{
static u8 seq_no;
s32 ret = _FAIL;
- u32 timeout_ms = 500;/* 500ms */
+ u32 timeout_ms = 500; /* 500ms */
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
- if (padapter->bSurpriseRemoved ||
- padapter->bDriverStopped) {
+ if (padapter->bSurpriseRemoved || padapter->bDriverStopped) {
rtw_free_xmitbuf(&padapter->xmitpriv, pmgntframe->pxmitbuf);
rtw_free_xmitframe(&padapter->xmitpriv, pmgntframe);
return -1;
@@ -2024,19 +2167,18 @@ static int update_hidden_ssid(u8 *ies, u32 ies_len, u8 hidden_ssid_mode)
signed int ssid_len_ori;
int len_diff = 0;
- ssid_ie = rtw_get_ie(ies, WLAN_EID_SSID, &ssid_len_ori, ies_len);
+ ssid_ie = rtw_get_ie(ies, WLAN_EID_SSID, &ssid_len_ori, ies_len);
if (ssid_ie && ssid_len_ori > 0) {
switch (hidden_ssid_mode) {
- case 1:
- {
+ case 1: {
u8 *next_ie = ssid_ie + 2 + ssid_len_ori;
u32 remain_len = 0;
- remain_len = ies_len - (next_ie-ies);
+ remain_len = ies_len - (next_ie - ies);
ssid_ie[1] = 0;
- memcpy(ssid_ie+2, next_ie, remain_len);
+ memcpy(ssid_ie + 2, next_ie, remain_len);
len_diff -= ssid_len_ori;
break;
@@ -2046,7 +2188,7 @@ static int update_hidden_ssid(u8 *ies, u32 ies_len, u8 hidden_ssid_mode)
break;
default:
break;
- }
+ }
}
return len_diff;
@@ -2054,17 +2196,17 @@ static int update_hidden_ssid(u8 *ies, u32 ies_len, u8 hidden_ssid_mode)
void issue_beacon(struct adapter *padapter, int timeout_ms)
{
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
- unsigned int rate_len;
+ unsigned int rate_len;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
+ struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
pmgntframe = alloc_mgtxmitframe(pxmitpriv);
if (!pmgntframe)
@@ -2089,23 +2231,25 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
memcpy(pwlanhdr->addr3, get_my_bssid(cur_network), ETH_ALEN);
- SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/);
+ SetSeqNum(pwlanhdr, 0 /*pmlmeext->mgnt_seq*/);
/* pmlmeext->mgnt_seq++; */
SetFrameSubType(pframe, WIFI_BEACON);
pframe += sizeof(struct ieee80211_hdr_3addr);
pattrib->pktlen = sizeof(struct ieee80211_hdr_3addr);
- if ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE) {
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) {
{
int len_diff;
- memcpy(pframe, cur_network->ies, cur_network->ie_length);
- len_diff = update_hidden_ssid(pframe+_BEACON_IE_OFFSET_,
- cur_network->ie_length-_BEACON_IE_OFFSET_,
- pmlmeinfo->hidden_ssid_mode);
- pframe += (cur_network->ie_length+len_diff);
- pattrib->pktlen += (cur_network->ie_length+len_diff);
+ memcpy(pframe, cur_network->ies,
+ cur_network->ie_length);
+ len_diff = update_hidden_ssid(
+ pframe + _BEACON_IE_OFFSET_,
+ cur_network->ie_length - _BEACON_IE_OFFSET_,
+ pmlmeinfo->hidden_ssid_mode);
+ pframe += (cur_network->ie_length + len_diff);
+ pattrib->pktlen += (cur_network->ie_length + len_diff);
}
{
@@ -2113,10 +2257,19 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
uint wps_ielen;
u8 sr = 0;
- wps_ie = rtw_get_wps_ie(pmgntframe->buf_addr+TXDESC_OFFSET+sizeof(struct ieee80211_hdr_3addr)+_BEACON_IE_OFFSET_,
- pattrib->pktlen-sizeof(struct ieee80211_hdr_3addr)-_BEACON_IE_OFFSET_, NULL, &wps_ielen);
+ wps_ie = rtw_get_wps_ie(
+ pmgntframe->buf_addr + TXDESC_OFFSET +
+ sizeof(struct ieee80211_hdr_3addr) +
+ _BEACON_IE_OFFSET_,
+ pattrib->pktlen -
+ sizeof(struct ieee80211_hdr_3addr) -
+ _BEACON_IE_OFFSET_,
+ NULL, &wps_ielen);
if (wps_ie && wps_ielen > 0)
- rtw_get_wps_attr_content(wps_ie, wps_ielen, WPS_ATTR_SELECTED_REGISTRAR, (u8 *)(&sr), NULL);
+ rtw_get_wps_attr_content(
+ wps_ie, wps_ielen,
+ WPS_ATTR_SELECTED_REGISTRAR,
+ (u8 *)(&sr), NULL);
if (sr != 0)
set_fwstate(pmlmepriv, WIFI_UNDER_WPS);
else
@@ -2134,27 +2287,39 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
/* beacon interval: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_beacon_interval_from_ie(cur_network->ies)), 2);
+ memcpy(pframe,
+ (unsigned char *)(rtw_get_beacon_interval_from_ie(
+ cur_network->ies)),
+ 2);
pframe += 2;
pattrib->pktlen += 2;
/* capability info: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_capability_from_ie(cur_network->ies)), 2);
+ memcpy(pframe,
+ (unsigned char *)(rtw_get_capability_from_ie(cur_network->ies)),
+ 2);
pframe += 2;
pattrib->pktlen += 2;
/* SSID */
- pframe = rtw_set_ie(pframe, WLAN_EID_SSID, cur_network->ssid.ssid_length, cur_network->ssid.ssid, &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_SSID,
+ cur_network->ssid.ssid_length,
+ cur_network->ssid.ssid, &pattrib->pktlen);
/* supported rates... */
rate_len = rtw_get_rateset_len(cur_network->supported_rates);
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, ((rate_len > 8) ? 8 : rate_len), cur_network->supported_rates, &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES,
+ ((rate_len > 8) ? 8 : rate_len),
+ cur_network->supported_rates, &pattrib->pktlen);
/* DS parameter set */
- pframe = rtw_set_ie(pframe, WLAN_EID_DS_PARAMS, 1, (unsigned char *)&(cur_network->configuration.ds_config), &pattrib->pktlen);
+ pframe = rtw_set_ie(
+ pframe, WLAN_EID_DS_PARAMS, 1,
+ (unsigned char *)&(cur_network->configuration.ds_config),
+ &pattrib->pktlen);
/* if ((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) */
{
@@ -2163,15 +2328,21 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
/* IBSS Parameter Set... */
/* ATIMWindow = cur->configuration.ATIMWindow; */
ATIMWindow = 0;
- pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2, (unsigned char *)(&ATIMWindow), &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2,
+ (unsigned char *)(&ATIMWindow),
+ &pattrib->pktlen);
/* ERP IE */
- pframe = rtw_set_ie(pframe, WLAN_EID_ERP_INFO, 1, &erpinfo, &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_ERP_INFO, 1, &erpinfo,
+ &pattrib->pktlen);
}
/* EXTERNDED SUPPORTED RATE */
if (rate_len > 8)
- pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (cur_network->supported_rates + 8), &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES,
+ (rate_len - 8),
+ (cur_network->supported_rates + 8),
+ &pattrib->pktlen);
/* todo:HT for adhoc */
@@ -2192,12 +2363,13 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
dump_mgntframe(padapter, pmgntframe);
}
-void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p_probereq)
+void issue_probersp(struct adapter *padapter, unsigned char *da,
+ u8 is_valid_p2p_probereq)
{
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
unsigned char *mac, *bssid;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
@@ -2207,8 +2379,8 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
- unsigned int rate_len;
+ struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
+ unsigned int rate_len;
if (!da)
return;
@@ -2246,8 +2418,11 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
if (cur_network->ie_length > MAX_IE_SZ)
return;
- if ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE) {
- pwps_ie = rtw_get_wps_ie(cur_network->ies+_FIXED_IE_LENGTH_, cur_network->ie_length-_FIXED_IE_LENGTH_, NULL, &wps_ielen);
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) {
+ pwps_ie = rtw_get_wps_ie(cur_network->ies + _FIXED_IE_LENGTH_,
+ cur_network->ie_length -
+ _FIXED_IE_LENGTH_,
+ NULL, &wps_ielen);
/* inerset & update wps_probe_resp_ie */
if (pmlmepriv->wps_probe_resp_ie && pwps_ie && wps_ielen > 0) {
@@ -2258,26 +2433,31 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
premainder_ie = pwps_ie + wps_ielen;
- remainder_ielen = cur_network->ie_length - wps_offset - wps_ielen;
+ remainder_ielen =
+ cur_network->ie_length - wps_offset - wps_ielen;
memcpy(pframe, cur_network->ies, wps_offset);
pframe += wps_offset;
pattrib->pktlen += wps_offset;
- wps_ielen = (uint)pmlmepriv->wps_probe_resp_ie[1];/* to get ie data len */
- if ((wps_offset+wps_ielen+2) <= MAX_IE_SZ) {
- memcpy(pframe, pmlmepriv->wps_probe_resp_ie, wps_ielen+2);
- pframe += wps_ielen+2;
- pattrib->pktlen += wps_ielen+2;
+ wps_ielen = (uint)pmlmepriv->wps_probe_resp_ie
+ [1]; /* to get ie data len */
+ if ((wps_offset + wps_ielen + 2) <= MAX_IE_SZ) {
+ memcpy(pframe, pmlmepriv->wps_probe_resp_ie,
+ wps_ielen + 2);
+ pframe += wps_ielen + 2;
+ pattrib->pktlen += wps_ielen + 2;
}
- if ((wps_offset+wps_ielen+2+remainder_ielen) <= MAX_IE_SZ) {
+ if ((wps_offset + wps_ielen + 2 + remainder_ielen) <=
+ MAX_IE_SZ) {
memcpy(pframe, premainder_ie, remainder_ielen);
pframe += remainder_ielen;
pattrib->pktlen += remainder_ielen;
}
} else {
- memcpy(pframe, cur_network->ies, cur_network->ie_length);
+ memcpy(pframe, cur_network->ies,
+ cur_network->ie_length);
pframe += cur_network->ie_length;
pattrib->pktlen += cur_network->ie_length;
}
@@ -2288,35 +2468,43 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
signed int ssid_ielen;
signed int ssid_ielen_diff;
u8 *buf;
- u8 *ies = pmgntframe->buf_addr+TXDESC_OFFSET+sizeof(struct ieee80211_hdr_3addr);
+ u8 *ies = pmgntframe->buf_addr + TXDESC_OFFSET +
+ sizeof(struct ieee80211_hdr_3addr);
buf = kzalloc(MAX_IE_SZ, GFP_ATOMIC);
if (!buf)
return;
- ssid_ie = rtw_get_ie(ies+_FIXED_IE_LENGTH_, WLAN_EID_SSID, &ssid_ielen,
- (pframe-ies)-_FIXED_IE_LENGTH_);
+ ssid_ie =
+ rtw_get_ie(ies + _FIXED_IE_LENGTH_,
+ WLAN_EID_SSID, &ssid_ielen,
+ (pframe - ies) - _FIXED_IE_LENGTH_);
- ssid_ielen_diff = cur_network->ssid.ssid_length - ssid_ielen;
+ ssid_ielen_diff =
+ cur_network->ssid.ssid_length - ssid_ielen;
- if (ssid_ie && cur_network->ssid.ssid_length) {
+ if (ssid_ie && cur_network->ssid.ssid_length) {
uint remainder_ielen;
u8 *remainder_ie;
- remainder_ie = ssid_ie+2;
- remainder_ielen = (pframe-remainder_ie);
+ remainder_ie = ssid_ie + 2;
+ remainder_ielen = (pframe - remainder_ie);
if (remainder_ielen > MAX_IE_SZ) {
- netdev_warn(padapter->pnetdev,
- FUNC_ADPT_FMT " remainder_ielen > MAX_IE_SZ\n",
- FUNC_ADPT_ARG(padapter));
+ netdev_warn(
+ padapter->pnetdev,
+ FUNC_ADPT_FMT
+ " remainder_ielen > MAX_IE_SZ\n",
+ FUNC_ADPT_ARG(padapter));
remainder_ielen = MAX_IE_SZ;
}
memcpy(buf, remainder_ie, remainder_ielen);
- memcpy(remainder_ie+ssid_ielen_diff, buf, remainder_ielen);
- *(ssid_ie+1) = cur_network->ssid.ssid_length;
- memcpy(ssid_ie+2, cur_network->ssid.ssid, cur_network->ssid.ssid_length);
+ memcpy(remainder_ie + ssid_ielen_diff, buf,
+ remainder_ielen);
+ *(ssid_ie + 1) = cur_network->ssid.ssid_length;
+ memcpy(ssid_ie + 2, cur_network->ssid.ssid,
+ cur_network->ssid.ssid_length);
pframe += ssid_ielen_diff;
pattrib->pktlen += ssid_ielen_diff;
@@ -2330,14 +2518,20 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
/* beacon interval: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_beacon_interval_from_ie(cur_network->ies)), 2);
+ memcpy(pframe,
+ (unsigned char *)(rtw_get_beacon_interval_from_ie(
+ cur_network->ies)),
+ 2);
pframe += 2;
pattrib->pktlen += 2;
/* capability info: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_capability_from_ie(cur_network->ies)), 2);
+ memcpy(pframe,
+ (unsigned char *)(rtw_get_capability_from_ie(
+ cur_network->ies)),
+ 2);
pframe += 2;
pattrib->pktlen += 2;
@@ -2345,30 +2539,45 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
/* below for ad-hoc mode */
/* SSID */
- pframe = rtw_set_ie(pframe, WLAN_EID_SSID, cur_network->ssid.ssid_length, cur_network->ssid.ssid, &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_SSID,
+ cur_network->ssid.ssid_length,
+ cur_network->ssid.ssid, &pattrib->pktlen);
/* supported rates... */
rate_len = rtw_get_rateset_len(cur_network->supported_rates);
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, ((rate_len > 8) ? 8 : rate_len), cur_network->supported_rates, &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES,
+ ((rate_len > 8) ? 8 : rate_len),
+ cur_network->supported_rates,
+ &pattrib->pktlen);
/* DS parameter set */
- pframe = rtw_set_ie(pframe, WLAN_EID_DS_PARAMS, 1, (unsigned char *)&(cur_network->configuration.ds_config), &pattrib->pktlen);
+ pframe = rtw_set_ie(
+ pframe, WLAN_EID_DS_PARAMS, 1,
+ (unsigned char *)&(
+ cur_network->configuration.ds_config),
+ &pattrib->pktlen);
- if ((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) {
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) {
u8 erpinfo = 0;
u32 ATIMWindow;
/* IBSS Parameter Set... */
/* ATIMWindow = cur->configuration.ATIMWindow; */
ATIMWindow = 0;
- pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2, (unsigned char *)(&ATIMWindow), &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2,
+ (unsigned char *)(&ATIMWindow),
+ &pattrib->pktlen);
/* ERP IE */
- pframe = rtw_set_ie(pframe, WLAN_EID_ERP_INFO, 1, &erpinfo, &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_ERP_INFO, 1,
+ &erpinfo, &pattrib->pktlen);
}
/* EXTERNDED SUPPORTED RATE */
if (rate_len > 8)
- pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (cur_network->supported_rates + 8), &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES,
+ (rate_len - 8),
+ (cur_network->supported_rates + 8),
+ &pattrib->pktlen);
/* todo:HT for adhoc */
}
@@ -2379,21 +2588,21 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
}
static int _issue_probereq(struct adapter *padapter,
- struct ndis_802_11_ssid *pssid,
- u8 *da, u8 ch, bool append_wps, bool wait_ack)
+ struct ndis_802_11_ssid *pssid, u8 *da, u8 ch,
+ bool append_wps, bool wait_ack)
{
int ret = _FAIL;
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
unsigned char *mac;
unsigned char bssrate[NumRates];
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
- int bssrate_len = 0;
+ int bssrate_len = 0;
pmgntframe = alloc_mgtxmitframe(pxmitpriv);
if (!pmgntframe)
@@ -2433,26 +2642,35 @@ static int _issue_probereq(struct adapter *padapter,
pattrib->pktlen = sizeof(struct ieee80211_hdr_3addr);
if (pssid)
- pframe = rtw_set_ie(pframe, WLAN_EID_SSID, pssid->ssid_length, pssid->ssid, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SSID, pssid->ssid_length,
+ pssid->ssid, &(pattrib->pktlen));
else
- pframe = rtw_set_ie(pframe, WLAN_EID_SSID, 0, NULL, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SSID, 0, NULL,
+ &(pattrib->pktlen));
get_rate_set(padapter, bssrate, &bssrate_len);
if (bssrate_len > 8) {
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, 8, bssrate, &(pattrib->pktlen));
- pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (bssrate_len - 8), (bssrate + 8), &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, 8, bssrate,
+ &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES,
+ (bssrate_len - 8), (bssrate + 8),
+ &(pattrib->pktlen));
} else {
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, bssrate_len, bssrate, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, bssrate_len,
+ bssrate, &(pattrib->pktlen));
}
if (ch)
- pframe = rtw_set_ie(pframe, WLAN_EID_DS_PARAMS, 1, &ch, &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_DS_PARAMS, 1, &ch,
+ &pattrib->pktlen);
if (append_wps) {
/* add wps_ie for wps2.0 */
- if (pmlmepriv->wps_probe_req_ie_len > 0 && pmlmepriv->wps_probe_req_ie) {
- memcpy(pframe, pmlmepriv->wps_probe_req_ie, pmlmepriv->wps_probe_req_ie_len);
+ if (pmlmepriv->wps_probe_req_ie_len > 0 &&
+ pmlmepriv->wps_probe_req_ie) {
+ memcpy(pframe, pmlmepriv->wps_probe_req_ie,
+ pmlmepriv->wps_probe_req_ie_len);
pframe += pmlmepriv->wps_probe_req_ie_len;
pattrib->pktlen += pmlmepriv->wps_probe_req_ie_len;
}
@@ -2471,13 +2689,14 @@ static int _issue_probereq(struct adapter *padapter,
return ret;
}
-inline void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da)
+inline void issue_probereq(struct adapter *padapter,
+ struct ndis_802_11_ssid *pssid, u8 *da)
{
_issue_probereq(padapter, pssid, da, 0, 1, false);
}
-int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, u8 ch, bool append_wps,
- int try_cnt, int wait_ms)
+int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid,
+ u8 *da, u8 ch, bool append_wps, int try_cnt, int wait_ms)
{
int ret;
int i = 0;
@@ -2498,9 +2717,9 @@ int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid,
if (ret != _FAIL) {
ret = _SUCCESS;
- #ifndef DBG_XMIT_ACK
+#ifndef DBG_XMIT_ACK
goto exit;
- #endif
+#endif
}
exit:
@@ -2508,15 +2727,16 @@ int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid,
}
/* if psta == NULL, indicate we are station(client) now... */
-void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status)
+void issue_auth(struct adapter *padapter, struct sta_info *psta,
+ unsigned short status)
{
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
- unsigned int val32;
- unsigned short val16;
+ unsigned int val32;
+ unsigned short val16;
int use_shared_key = 0;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
@@ -2548,8 +2768,10 @@ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short
if (psta) { /* for AP mode */
memcpy(pwlanhdr->addr1, psta->hwaddr, ETH_ALEN);
- memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
- memcpy(pwlanhdr->addr3, myid(&(padapter->eeprompriv)), ETH_ALEN);
+ memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)),
+ ETH_ALEN);
+ memcpy(pwlanhdr->addr3, myid(&(padapter->eeprompriv)),
+ ETH_ALEN);
/* setting auth algo number */
val16 = (u16)psta->authalg;
@@ -2562,57 +2784,84 @@ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short
le_tmp = cpu_to_le16(val16);
- pframe = rtw_set_fixed_ie(pframe, _AUTH_ALGM_NUM_, (unsigned char *)&le_tmp, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _AUTH_ALGM_NUM_,
+ (unsigned char *)&le_tmp,
+ &(pattrib->pktlen));
/* setting auth seq number */
val16 = (u16)psta->auth_seq;
le_tmp = cpu_to_le16(val16);
- pframe = rtw_set_fixed_ie(pframe, _AUTH_SEQ_NUM_, (unsigned char *)&le_tmp, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _AUTH_SEQ_NUM_,
+ (unsigned char *)&le_tmp,
+ &(pattrib->pktlen));
/* setting status code... */
val16 = status;
le_tmp = cpu_to_le16(val16);
- pframe = rtw_set_fixed_ie(pframe, _STATUS_CODE_, (unsigned char *)&le_tmp, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _STATUS_CODE_,
+ (unsigned char *)&le_tmp,
+ &(pattrib->pktlen));
/* added challenging text... */
- if ((psta->auth_seq == 2) && (psta->state & WIFI_FW_AUTH_STATE) && (use_shared_key == 1))
- pframe = rtw_set_ie(pframe, WLAN_EID_CHALLENGE, 128, psta->chg_txt, &(pattrib->pktlen));
+ if ((psta->auth_seq == 2) &&
+ (psta->state & WIFI_FW_AUTH_STATE) && (use_shared_key == 1))
+ pframe = rtw_set_ie(pframe, WLAN_EID_CHALLENGE, 128,
+ psta->chg_txt, &(pattrib->pktlen));
} else {
- memcpy(pwlanhdr->addr1, get_my_bssid(&pmlmeinfo->network), ETH_ALEN);
+ memcpy(pwlanhdr->addr1, get_my_bssid(&pmlmeinfo->network),
+ ETH_ALEN);
memcpy(pwlanhdr->addr2, myid(&padapter->eeprompriv), ETH_ALEN);
- memcpy(pwlanhdr->addr3, get_my_bssid(&pmlmeinfo->network), ETH_ALEN);
+ memcpy(pwlanhdr->addr3, get_my_bssid(&pmlmeinfo->network),
+ ETH_ALEN);
/* setting auth algo number */
- val16 = (pmlmeinfo->auth_algo == dot11AuthAlgrthm_Shared) ? 1 : 0;/* 0:OPEN System, 1:Shared key */
+ val16 = (pmlmeinfo->auth_algo == dot11AuthAlgrthm_Shared) ?
+ 1 :
+ 0; /* 0:OPEN System, 1:Shared key */
if (val16)
use_shared_key = 1;
le_tmp = cpu_to_le16(val16);
/* setting IV for auth seq #3 */
- if ((pmlmeinfo->auth_seq == 3) && (pmlmeinfo->state & WIFI_FW_AUTH_STATE) && (use_shared_key == 1)) {
+ if ((pmlmeinfo->auth_seq == 3) &&
+ (pmlmeinfo->state & WIFI_FW_AUTH_STATE) &&
+ (use_shared_key == 1)) {
__le32 le_tmp32;
- val32 = ((pmlmeinfo->iv++) | (pmlmeinfo->key_index << 30));
+ val32 = ((pmlmeinfo->iv++) |
+ (pmlmeinfo->key_index << 30));
le_tmp32 = cpu_to_le32(val32);
- pframe = rtw_set_fixed_ie(pframe, 4, (unsigned char *)&le_tmp32, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 4,
+ (unsigned char *)&le_tmp32,
+ &(pattrib->pktlen));
pattrib->iv_len = 4;
}
- pframe = rtw_set_fixed_ie(pframe, _AUTH_ALGM_NUM_, (unsigned char *)&le_tmp, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _AUTH_ALGM_NUM_,
+ (unsigned char *)&le_tmp,
+ &(pattrib->pktlen));
/* setting auth seq number */
le_tmp = cpu_to_le16(pmlmeinfo->auth_seq);
- pframe = rtw_set_fixed_ie(pframe, _AUTH_SEQ_NUM_, (unsigned char *)&le_tmp, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _AUTH_SEQ_NUM_,
+ (unsigned char *)&le_tmp,
+ &(pattrib->pktlen));
/* setting status code... */
le_tmp = cpu_to_le16(status);
- pframe = rtw_set_fixed_ie(pframe, _STATUS_CODE_, (unsigned char *)&le_tmp, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _STATUS_CODE_,
+ (unsigned char *)&le_tmp,
+ &(pattrib->pktlen));
/* then checking to see if sending challenging text... */
- if ((pmlmeinfo->auth_seq == 3) && (pmlmeinfo->state & WIFI_FW_AUTH_STATE) && (use_shared_key == 1)) {
- pframe = rtw_set_ie(pframe, WLAN_EID_CHALLENGE, 128, pmlmeinfo->chg_txt, &(pattrib->pktlen));
+ if ((pmlmeinfo->auth_seq == 3) &&
+ (pmlmeinfo->state & WIFI_FW_AUTH_STATE) &&
+ (use_shared_key == 1)) {
+ pframe = rtw_set_ie(pframe, WLAN_EID_CHALLENGE, 128,
+ pmlmeinfo->chg_txt,
+ &(pattrib->pktlen));
SetPrivacy(fctrl);
@@ -2632,10 +2881,11 @@ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short
dump_mgntframe(padapter, pmgntframe);
}
-void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type)
+void issue_asocrsp(struct adapter *padapter, unsigned short status,
+ struct sta_info *pstat, int pkt_type)
{
- struct xmit_frame *pmgntframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct xmit_frame *pmgntframe;
+ struct ieee80211_hdr *pwlanhdr;
struct pkt_attrib *pattrib;
unsigned char *pbuf, *pframe;
unsigned short val;
@@ -2666,7 +2916,8 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
memcpy(GetAddr1Ptr(pwlanhdr), pstat->hwaddr, ETH_ALEN);
memcpy(GetAddr2Ptr(pwlanhdr), myid(&(padapter->eeprompriv)), ETH_ALEN);
- memcpy(GetAddr3Ptr(pwlanhdr), get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
+ memcpy(GetAddr3Ptr(pwlanhdr), get_my_bssid(&(pmlmeinfo->network)),
+ ETH_ALEN);
SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq);
pmlmeext->mgnt_seq++;
@@ -2682,19 +2933,28 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
/* capability */
val = *(unsigned short *)rtw_get_capability_from_ie(ie);
- pframe = rtw_set_fixed_ie(pframe, _CAPABILITY_, (unsigned char *)&val, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _CAPABILITY_, (unsigned char *)&val,
+ &(pattrib->pktlen));
lestatus = cpu_to_le16(status);
- pframe = rtw_set_fixed_ie(pframe, _STATUS_CODE_, (unsigned char *)&lestatus, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _STATUS_CODE_,
+ (unsigned char *)&lestatus,
+ &(pattrib->pktlen));
le_tmp = cpu_to_le16(pstat->aid | BIT(14) | BIT(15));
- pframe = rtw_set_fixed_ie(pframe, _ASOC_ID_, (unsigned char *)&le_tmp, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _ASOC_ID_, (unsigned char *)&le_tmp,
+ &(pattrib->pktlen));
if (pstat->bssratelen <= 8) {
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, pstat->bssratelen, pstat->bssrateset, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES,
+ pstat->bssratelen, pstat->bssrateset,
+ &(pattrib->pktlen));
} else {
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, 8, pstat->bssrateset, &(pattrib->pktlen));
- pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (pstat->bssratelen-8), pstat->bssrateset+8, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, 8,
+ pstat->bssrateset, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES,
+ (pstat->bssratelen - 8),
+ pstat->bssrateset + 8, &(pattrib->pktlen));
}
if ((pstat->flags & WLAN_STA_HT) && (pmlmepriv->htpriv.ht_option)) {
@@ -2702,34 +2962,42 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
/* FILL HT CAP INFO IE */
/* p = hostapd_eid_ht_capabilities_info(hapd, p); */
- pbuf = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_CAPABILITY, &ie_len, (pnetwork->ie_length - _BEACON_IE_OFFSET_));
+ pbuf = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
+ WLAN_EID_HT_CAPABILITY, &ie_len,
+ (pnetwork->ie_length - _BEACON_IE_OFFSET_));
if (pbuf && ie_len > 0) {
- memcpy(pframe, pbuf, ie_len+2);
- pframe += (ie_len+2);
- pattrib->pktlen += (ie_len+2);
+ memcpy(pframe, pbuf, ie_len + 2);
+ pframe += (ie_len + 2);
+ pattrib->pktlen += (ie_len + 2);
}
/* FILL HT ADD INFO IE */
/* p = hostapd_eid_ht_operation(hapd, p); */
- pbuf = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_OPERATION, &ie_len, (pnetwork->ie_length - _BEACON_IE_OFFSET_));
+ pbuf = rtw_get_ie(ie + _BEACON_IE_OFFSET_,
+ WLAN_EID_HT_OPERATION, &ie_len,
+ (pnetwork->ie_length - _BEACON_IE_OFFSET_));
if (pbuf && ie_len > 0) {
- memcpy(pframe, pbuf, ie_len+2);
- pframe += (ie_len+2);
- pattrib->pktlen += (ie_len+2);
+ memcpy(pframe, pbuf, ie_len + 2);
+ pframe += (ie_len + 2);
+ pattrib->pktlen += (ie_len + 2);
}
}
/* FILL WMM IE */
if ((pstat->flags & WLAN_STA_WME) && (pmlmepriv->qospriv.qos_option)) {
uint ie_len = 0;
- unsigned char WMM_PARA_IE[] = {0x00, 0x50, 0xf2, 0x02, 0x01, 0x01};
-
- for (pbuf = ie + _BEACON_IE_OFFSET_; ; pbuf += (ie_len + 2)) {
- pbuf = rtw_get_ie(pbuf, WLAN_EID_VENDOR_SPECIFIC, &ie_len, (pnetwork->ie_length - _BEACON_IE_OFFSET_ - (ie_len + 2)));
- if (pbuf && !memcmp(pbuf+2, WMM_PARA_IE, 6)) {
- memcpy(pframe, pbuf, ie_len+2);
- pframe += (ie_len+2);
- pattrib->pktlen += (ie_len+2);
+ unsigned char WMM_PARA_IE[] = { 0x00, 0x50, 0xf2,
+ 0x02, 0x01, 0x01 };
+
+ for (pbuf = ie + _BEACON_IE_OFFSET_;; pbuf += (ie_len + 2)) {
+ pbuf = rtw_get_ie(pbuf, WLAN_EID_VENDOR_SPECIFIC,
+ &ie_len,
+ (pnetwork->ie_length -
+ _BEACON_IE_OFFSET_ - (ie_len + 2)));
+ if (pbuf && !memcmp(pbuf + 2, WMM_PARA_IE, 6)) {
+ memcpy(pframe, pbuf, ie_len + 2);
+ pframe += (ie_len + 2);
+ pattrib->pktlen += (ie_len + 2);
break;
}
@@ -2740,11 +3008,14 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
}
if (pmlmeinfo->assoc_AP_vendor == HT_IOT_PEER_REALTEK)
- pframe = rtw_set_ie(pframe, WLAN_EID_VENDOR_SPECIFIC, 6, REALTEK_96B_IE, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_VENDOR_SPECIFIC, 6,
+ REALTEK_96B_IE, &(pattrib->pktlen));
/* add WPS IE ie for wps 2.0 */
- if (pmlmepriv->wps_assoc_resp_ie && pmlmepriv->wps_assoc_resp_ie_len > 0) {
- memcpy(pframe, pmlmepriv->wps_assoc_resp_ie, pmlmepriv->wps_assoc_resp_ie_len);
+ if (pmlmepriv->wps_assoc_resp_ie &&
+ pmlmepriv->wps_assoc_resp_ie_len > 0) {
+ memcpy(pframe, pmlmepriv->wps_assoc_resp_ie,
+ pmlmepriv->wps_assoc_resp_ie_len);
pframe += pmlmepriv->wps_assoc_resp_ie_len;
pattrib->pktlen += pmlmepriv->wps_assoc_resp_ie_len;
@@ -2758,20 +3029,20 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
void issue_assocreq(struct adapter *padapter)
{
int ret = _FAIL;
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
__le16 val16;
- unsigned int i, j, index = 0;
+ unsigned int i, j, index = 0;
unsigned char bssrate[NumRates], sta_bssrate[NumRates];
struct ndis_80211_var_ie *pIE;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- int bssrate_len = 0, sta_bssrate_len = 0;
+ int bssrate_len = 0, sta_bssrate_len = 0;
u8 vs_ie_length = 0;
pmgntframe = alloc_mgtxmitframe(pxmitpriv);
@@ -2814,14 +3085,17 @@ void issue_assocreq(struct adapter *padapter)
pattrib->pktlen += 2;
/* SSID */
- pframe = rtw_set_ie(pframe, WLAN_EID_SSID, pmlmeinfo->network.ssid.ssid_length, pmlmeinfo->network.ssid.ssid, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SSID,
+ pmlmeinfo->network.ssid.ssid_length,
+ pmlmeinfo->network.ssid.ssid, &(pattrib->pktlen));
/* supported rate & extended supported rate */
/* Check if the AP's supported rates are also supported by STA. */
get_rate_set(padapter, sta_bssrate, &sta_bssrate_len);
- if (pmlmeext->cur_channel == 14) /* for JAPAN, channel 14 can only uses B Mode(CCK) */
+ if (pmlmeext->cur_channel ==
+ 14) /* for JAPAN, channel 14 can only uses B Mode(CCK) */
sta_bssrate_len = 4;
/* for (i = 0; i < sta_bssrate_len; i++) { */
@@ -2838,15 +3112,17 @@ void issue_assocreq(struct adapter *padapter)
/* Check if the AP's supported rates are also supported by STA. */
for (j = 0; j < sta_bssrate_len; j++) {
- /* Avoid the proprietary data rate (22Mbps) of Handlink WSG-4000 AP */
- if ((pmlmeinfo->network.supported_rates[i] | IEEE80211_BASIC_RATE_MASK)
- == (sta_bssrate[j] | IEEE80211_BASIC_RATE_MASK))
+ /* Avoid the proprietary data rate (22Mbps) of Handlink WSG-4000 AP */
+ if ((pmlmeinfo->network.supported_rates[i] |
+ IEEE80211_BASIC_RATE_MASK) ==
+ (sta_bssrate[j] | IEEE80211_BASIC_RATE_MASK))
break;
}
if (j != sta_bssrate_len)
/* the rate is supported by STA */
- bssrate[index++] = pmlmeinfo->network.supported_rates[i];
+ bssrate[index++] =
+ pmlmeinfo->network.supported_rates[i];
}
bssrate_len = index;
@@ -2858,26 +3134,33 @@ void issue_assocreq(struct adapter *padapter)
}
if (bssrate_len > 8) {
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, 8, bssrate, &(pattrib->pktlen));
- pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (bssrate_len - 8), (bssrate + 8), &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, 8, bssrate,
+ &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES,
+ (bssrate_len - 8), (bssrate + 8),
+ &(pattrib->pktlen));
} else
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, bssrate_len, bssrate, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, bssrate_len,
+ bssrate, &(pattrib->pktlen));
/* vendor specific IE, such as WPA, WMM, WPS */
- for (i = sizeof(struct ndis_802_11_fix_ie); i < pmlmeinfo->network.ie_length;) {
+ for (i = sizeof(struct ndis_802_11_fix_ie);
+ i < pmlmeinfo->network.ie_length;) {
if (i + sizeof(*pIE) > pmlmeinfo->network.ie_length)
break;
pIE = (struct ndis_80211_var_ie *)(pmlmeinfo->network.ies + i);
- if (i + sizeof(*pIE) + pIE->length > pmlmeinfo->network.ie_length)
+ if (i + sizeof(*pIE) + pIE->length >
+ pmlmeinfo->network.ie_length)
break;
switch (pIE->element_id) {
case WLAN_EID_VENDOR_SPECIFIC:
if ((!memcmp(pIE->data, RTW_WPA_OUI, 4)) ||
- (!memcmp(pIE->data, WMM_OUI, 4)) ||
- (!memcmp(pIE->data, WPS_OUI, 4))) {
+ (!memcmp(pIE->data, WMM_OUI, 4)) ||
+ (!memcmp(pIE->data, WPS_OUI, 4))) {
vs_ie_length = pIE->length;
- if ((!padapter->registrypriv.wifi_spec) && (!memcmp(pIE->data, WPS_OUI, 4))) {
+ if ((!padapter->registrypriv.wifi_spec) &&
+ (!memcmp(pIE->data, WPS_OUI, 4))) {
/* Commented by Kurt 20110629
* In some older APs, WPS handshake
* would be fail if we append vendor
@@ -2887,25 +3170,37 @@ void issue_assocreq(struct adapter *padapter)
vs_ie_length = 14;
}
- pframe = rtw_set_ie(pframe, WLAN_EID_VENDOR_SPECIFIC, vs_ie_length, pIE->data, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe,
+ WLAN_EID_VENDOR_SPECIFIC,
+ vs_ie_length, pIE->data,
+ &(pattrib->pktlen));
}
break;
case WLAN_EID_RSN:
- pframe = rtw_set_ie(pframe, WLAN_EID_RSN, pIE->length, pIE->data, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_RSN, pIE->length,
+ pIE->data, &(pattrib->pktlen));
break;
case WLAN_EID_HT_CAPABILITY:
if (padapter->mlmepriv.htpriv.ht_option) {
if (!(is_ap_in_tkip(padapter))) {
- memcpy(&(pmlmeinfo->HT_caps), pIE->data, sizeof(struct HT_caps_element));
- pframe = rtw_set_ie(pframe, WLAN_EID_HT_CAPABILITY, pIE->length, (u8 *)(&(pmlmeinfo->HT_caps)), &(pattrib->pktlen));
+ memcpy(&(pmlmeinfo->HT_caps), pIE->data,
+ sizeof(struct HT_caps_element));
+ pframe = rtw_set_ie(
+ pframe, WLAN_EID_HT_CAPABILITY,
+ pIE->length,
+ (u8 *)(&(pmlmeinfo->HT_caps)),
+ &(pattrib->pktlen));
}
}
break;
case WLAN_EID_EXT_CAPABILITY:
if (padapter->mlmepriv.htpriv.ht_option)
- pframe = rtw_set_ie(pframe, WLAN_EID_EXT_CAPABILITY, pIE->length, pIE->data, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe,
+ WLAN_EID_EXT_CAPABILITY,
+ pIE->length, pIE->data,
+ &(pattrib->pktlen));
break;
default:
break;
@@ -2915,7 +3210,8 @@ void issue_assocreq(struct adapter *padapter)
}
if (pmlmeinfo->assoc_AP_vendor == HT_IOT_PEER_REALTEK)
- pframe = rtw_set_ie(pframe, WLAN_EID_VENDOR_SPECIFIC, 6, REALTEK_96B_IE, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_VENDOR_SPECIFIC, 6,
+ REALTEK_96B_IE, &(pattrib->pktlen));
pattrib->last_txcmdsz = pattrib->pktlen;
dump_mgntframe(padapter, pmgntframe);
@@ -2924,7 +3220,8 @@ void issue_assocreq(struct adapter *padapter)
exit:
if (ret == _SUCCESS)
- rtw_buf_update(&pmlmepriv->assoc_req, &pmlmepriv->assoc_req_len, (u8 *)pwlanhdr, pattrib->pktlen);
+ rtw_buf_update(&pmlmepriv->assoc_req, &pmlmepriv->assoc_req_len,
+ (u8 *)pwlanhdr, pattrib->pktlen);
else
rtw_buf_free(&pmlmepriv->assoc_req, &pmlmepriv->assoc_req_len);
}
@@ -2934,10 +3231,10 @@ static int _issue_nulldata(struct adapter *padapter, unsigned char *da,
unsigned int power_mode, bool wait_ack)
{
int ret = _FAIL;
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
struct xmit_priv *pxmitpriv;
struct mlme_ext_priv *pmlmeext;
@@ -2967,9 +3264,9 @@ static int _issue_nulldata(struct adapter *padapter, unsigned char *da,
fctrl = &(pwlanhdr->frame_control);
*(fctrl) = 0;
- if ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE)
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)
SetFrDs(fctrl);
- else if ((pmlmeinfo->state&0x03) == WIFI_FW_STATION_STATE)
+ else if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE)
SetToDs(fctrl);
if (power_mode)
@@ -3005,7 +3302,8 @@ static int _issue_nulldata(struct adapter *padapter, unsigned char *da,
* When wait_ms > 0, this function should be called at process context
* da == NULL for station mode
*/
-int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int power_mode, int try_cnt, int wait_ms)
+int issue_nulldata(struct adapter *padapter, unsigned char *da,
+ unsigned int power_mode, int try_cnt, int wait_ms)
{
int ret;
int i = 0;
@@ -3042,9 +3340,9 @@ int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int pow
if (ret != _FAIL) {
ret = _SUCCESS;
- #ifndef DBG_XMIT_ACK
+#ifndef DBG_XMIT_ACK
goto exit;
- #endif
+#endif
}
exit:
@@ -3077,10 +3375,10 @@ static int _issue_qos_nulldata(struct adapter *padapter, unsigned char *da,
u16 tid, bool wait_ack)
{
int ret = _FAIL;
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
u16 *qc;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
@@ -3109,9 +3407,9 @@ static int _issue_qos_nulldata(struct adapter *padapter, unsigned char *da,
fctrl = &(pwlanhdr->frame_control);
*(fctrl) = 0;
- if ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE)
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)
SetFrDs(fctrl);
- else if ((pmlmeinfo->state&0x03) == WIFI_FW_STATION_STATE)
+ else if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE)
SetToDs(fctrl);
qc = (unsigned short *)(pframe + pattrib->hdrlen - 2);
@@ -3148,7 +3446,8 @@ static int _issue_qos_nulldata(struct adapter *padapter, unsigned char *da,
/* when wait_ms >0 , this function should be called at process context */
/* da == NULL for station mode */
-int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int try_cnt, int wait_ms)
+int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid,
+ int try_cnt, int wait_ms)
{
int ret;
int i = 0;
@@ -3174,9 +3473,9 @@ int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int
if (ret != _FAIL) {
ret = _SUCCESS;
- #ifndef DBG_XMIT_ACK
+#ifndef DBG_XMIT_ACK
goto exit;
- #endif
+#endif
}
exit:
@@ -3186,10 +3485,10 @@ int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int
static int _issue_deauth(struct adapter *padapter, unsigned char *da,
unsigned short reason, bool wait_ack)
{
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
@@ -3226,7 +3525,8 @@ static int _issue_deauth(struct adapter *padapter, unsigned char *da,
pattrib->pktlen = sizeof(struct ieee80211_hdr_3addr);
le_tmp = cpu_to_le16(reason);
- pframe = rtw_set_fixed_ie(pframe, _RSON_CODE_, (unsigned char *)&le_tmp, &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, _RSON_CODE_, (unsigned char *)&le_tmp,
+ &(pattrib->pktlen));
pattrib->last_txcmdsz = pattrib->pktlen;
@@ -3241,13 +3541,14 @@ static int _issue_deauth(struct adapter *padapter, unsigned char *da,
return ret;
}
-int issue_deauth(struct adapter *padapter, unsigned char *da, unsigned short reason)
+int issue_deauth(struct adapter *padapter, unsigned char *da,
+ unsigned short reason)
{
return _issue_deauth(padapter, da, reason, false);
}
-int issue_deauth_ex(struct adapter *padapter, u8 *da, unsigned short reason, int try_cnt,
- int wait_ms)
+int issue_deauth_ex(struct adapter *padapter, u8 *da, unsigned short reason,
+ int try_cnt, int wait_ms)
{
int ret;
int i = 0;
@@ -3267,22 +3568,23 @@ int issue_deauth_ex(struct adapter *padapter, u8 *da, unsigned short reason, int
if (ret != _FAIL) {
ret = _SUCCESS;
- #ifndef DBG_XMIT_ACK
+#ifndef DBG_XMIT_ACK
goto exit;
- #endif
+#endif
}
exit:
return ret;
}
-void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short tid)
+void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr,
+ unsigned char action, unsigned short tid)
{
u8 category = RTW_WLAN_CATEGORY_SA_QUERY;
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
u8 *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
@@ -3308,7 +3610,8 @@ void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr, unsig
if (raddr)
memcpy(pwlanhdr->addr1, raddr, ETH_ALEN);
else
- memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
+ memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)),
+ ETH_ALEN);
memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN);
memcpy(pwlanhdr->addr3, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN);
@@ -3324,7 +3627,9 @@ void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr, unsig
switch (action) {
case 0: /* SA Query req */
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&pmlmeext->sa_query_seq, &pattrib->pktlen);
+ pframe = rtw_set_fixed_ie(
+ pframe, 2, (unsigned char *)&pmlmeext->sa_query_seq,
+ &pattrib->pktlen);
pmlmeext->sa_query_seq++;
/* send sa query request to AP, AP should reply sa query response in 1 second */
set_sa_query_timer(pmlmeext, 1000);
@@ -3332,7 +3637,8 @@ void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr, unsig
case 1: /* SA Query rsp */
le_tmp = cpu_to_le16(tid);
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp, &pattrib->pktlen);
+ pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&le_tmp,
+ &pattrib->pktlen);
break;
default:
break;
@@ -3343,7 +3649,8 @@ void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr, unsig
dump_mgntframe(padapter, pmgntframe);
}
-void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short status)
+void issue_action_BA(struct adapter *padapter, unsigned char *raddr,
+ unsigned char action, unsigned short status)
{
u8 category = RTW_WLAN_CATEGORY_BACK;
u16 start_seq;
@@ -3352,10 +3659,10 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch
u16 BA_timeout_value;
u16 BA_starting_seqctrl = 0;
enum ieee80211_max_ampdu_length_exp max_rx_ampdu_factor;
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
u8 *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
@@ -3402,87 +3709,149 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch
do {
pmlmeinfo->dialogToken++;
} while (pmlmeinfo->dialogToken == 0);
- pframe = rtw_set_fixed_ie(pframe, 1, &(pmlmeinfo->dialogToken), &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 1,
+ &(pmlmeinfo->dialogToken),
+ &(pattrib->pktlen));
if (hal_btcoex_IsBTCoexCtrlAMPDUSize(padapter)) {
/* A-MSDU NOT Supported */
BA_para_set = 0;
/* immediate Block Ack */
- BA_para_set |= BIT(1) & IEEE80211_ADDBA_PARAM_POLICY_MASK;
+ BA_para_set |=
+ BIT(1) &
+ IEEE80211_ADDBA_PARAM_POLICY_MASK;
/* TID */
- BA_para_set |= (status << 2) & IEEE80211_ADDBA_PARAM_TID_MASK;
+ BA_para_set |= (status << 2) &
+ IEEE80211_ADDBA_PARAM_TID_MASK;
/* max buffer size is 8 MSDU */
- BA_para_set |= (8 << 6) & IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK;
+ BA_para_set |=
+ (8 << 6) &
+ IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK;
} else {
- BA_para_set = (0x1002 | ((status & 0xf) << 2)); /* immediate ack & 64 buffer size */
+ BA_para_set =
+ (0x1002 |
+ ((status & 0xf)
+ << 2)); /* immediate ack & 64 buffer size */
}
le_tmp = cpu_to_le16(BA_para_set);
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 2,
+ (unsigned char *)(&(le_tmp)),
+ &(pattrib->pktlen));
- BA_timeout_value = 5000;/* 5ms */
+ BA_timeout_value = 5000; /* 5ms */
le_tmp = cpu_to_le16(BA_timeout_value);
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 2,
+ (unsigned char *)(&(le_tmp)),
+ &(pattrib->pktlen));
/* if ((psta = rtw_get_stainfo(pstapriv, pmlmeinfo->network.mac_address)) != NULL) */
psta = rtw_get_stainfo(pstapriv, raddr);
if (psta) {
- start_seq = (psta->sta_xmitpriv.txseq_tid[status & 0x07] % 4096u) + 1;
+ start_seq = (psta->sta_xmitpriv
+ .txseq_tid[status & 0x07] %
+ 4096u) +
+ 1;
- psta->BA_starting_seqctrl[status & 0x07] = start_seq;
+ psta->BA_starting_seqctrl[status & 0x07] =
+ start_seq;
BA_starting_seqctrl = start_seq << 4;
}
le_tmp = cpu_to_le16(BA_starting_seqctrl);
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 2,
+ (unsigned char *)(&(le_tmp)),
+ &(pattrib->pktlen));
break;
case 1: /* ADDBA rsp */
- pframe = rtw_set_fixed_ie(pframe, 1, &(pmlmeinfo->ADDBA_req.dialog_token), &(pattrib->pktlen));
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&status), &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(
+ pframe, 1, &(pmlmeinfo->ADDBA_req.dialog_token),
+ &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 2,
+ (unsigned char *)(&status),
+ &(pattrib->pktlen));
if (padapter->driver_rx_ampdu_factor != 0xFF)
max_rx_ampdu_factor =
- (enum ieee80211_max_ampdu_length_exp)padapter->driver_rx_ampdu_factor;
+ (enum ieee80211_max_ampdu_length_exp)
+ padapter->driver_rx_ampdu_factor;
else
rtw_hal_get_def_var(padapter,
- HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor);
+ HW_VAR_MAX_RX_AMPDU_FACTOR,
+ &max_rx_ampdu_factor);
if (max_rx_ampdu_factor == IEEE80211_HT_MAX_AMPDU_64K)
- BA_para_set = ((le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x1000); /* 64 buffer size */
- else if (max_rx_ampdu_factor == IEEE80211_HT_MAX_AMPDU_32K)
- BA_para_set = ((le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x0800); /* 32 buffer size */
- else if (max_rx_ampdu_factor == IEEE80211_HT_MAX_AMPDU_16K)
- BA_para_set = ((le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x0400); /* 16 buffer size */
- else if (max_rx_ampdu_factor == IEEE80211_HT_MAX_AMPDU_8K)
- BA_para_set = ((le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x0200); /* 8 buffer size */
+ BA_para_set =
+ ((le16_to_cpu(pmlmeinfo->ADDBA_req
+ .BA_para_set) &
+ 0x3f) |
+ 0x1000); /* 64 buffer size */
+ else if (max_rx_ampdu_factor ==
+ IEEE80211_HT_MAX_AMPDU_32K)
+ BA_para_set =
+ ((le16_to_cpu(pmlmeinfo->ADDBA_req
+ .BA_para_set) &
+ 0x3f) |
+ 0x0800); /* 32 buffer size */
+ else if (max_rx_ampdu_factor ==
+ IEEE80211_HT_MAX_AMPDU_16K)
+ BA_para_set =
+ ((le16_to_cpu(pmlmeinfo->ADDBA_req
+ .BA_para_set) &
+ 0x3f) |
+ 0x0400); /* 16 buffer size */
+ else if (max_rx_ampdu_factor ==
+ IEEE80211_HT_MAX_AMPDU_8K)
+ BA_para_set =
+ ((le16_to_cpu(pmlmeinfo->ADDBA_req
+ .BA_para_set) &
+ 0x3f) |
+ 0x0200); /* 8 buffer size */
else
- BA_para_set = ((le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f) | 0x1000); /* 64 buffer size */
+ BA_para_set =
+ ((le16_to_cpu(pmlmeinfo->ADDBA_req
+ .BA_para_set) &
+ 0x3f) |
+ 0x1000); /* 64 buffer size */
if (hal_btcoex_IsBTCoexCtrlAMPDUSize(padapter) &&
padapter->driver_rx_ampdu_factor == 0xFF) {
/* max buffer size is 8 MSDU */
- BA_para_set &= ~IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK;
- BA_para_set |= (8 << 6) & IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK;
+ BA_para_set &=
+ ~IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK;
+ BA_para_set |=
+ (8 << 6) &
+ IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK;
}
- if (pregpriv->ampdu_amsdu == 0)/* disabled */
+ if (pregpriv->ampdu_amsdu == 0) /* disabled */
le_tmp = cpu_to_le16(BA_para_set & ~BIT(0));
- else if (pregpriv->ampdu_amsdu == 1)/* enabled */
+ else if (pregpriv->ampdu_amsdu == 1) /* enabled */
le_tmp = cpu_to_le16(BA_para_set | BIT(0));
else /* auto */
le_tmp = cpu_to_le16(BA_para_set);
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen));
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(pmlmeinfo->ADDBA_req.BA_timeout_value)), &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 2,
+ (unsigned char *)(&(le_tmp)),
+ &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(
+ pframe, 2,
+ (unsigned char *)(&(
+ pmlmeinfo->ADDBA_req.BA_timeout_value)),
+ &(pattrib->pktlen));
break;
- case 2:/* DELBA */
+ case 2: /* DELBA */
BA_para_set = (status & 0x1F) << 3;
le_tmp = cpu_to_le16(BA_para_set);
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 2,
+ (unsigned char *)(&(le_tmp)),
+ &(pattrib->pktlen));
reason_code = 37;
le_tmp = cpu_to_le16(reason_code);
- pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen));
+ pframe = rtw_set_fixed_ie(pframe, 2,
+ (unsigned char *)(&(le_tmp)),
+ &(pattrib->pktlen));
break;
default:
break;
@@ -3496,23 +3865,24 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch
static void issue_action_BSSCoexistPacket(struct adapter *padapter)
{
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
unsigned char category, action;
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
- struct wlan_network *pnetwork = NULL;
+ struct wlan_network *pnetwork = NULL;
struct xmit_priv *pxmitpriv = &(padapter->xmitpriv);
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct __queue *queue = &(pmlmepriv->scanned_queue);
- u8 InfoContent[16] = {0};
+ struct __queue *queue = &(pmlmepriv->scanned_queue);
+ u8 InfoContent[16] = { 0 };
u8 ICS[8][15];
- if ((pmlmepriv->num_FortyMHzIntolerant == 0) || (pmlmepriv->num_sta_no_ht == 0))
+ if ((pmlmepriv->num_FortyMHzIntolerant == 0) ||
+ (pmlmepriv->num_sta_no_ht == 0))
return;
if (true == pmlmeinfo->bwmode_updated)
@@ -3555,9 +3925,10 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter)
if (pmlmepriv->num_FortyMHzIntolerant > 0) {
u8 iedata = 0;
- iedata |= BIT(2);/* 20 MHz BSS Width Request */
+ iedata |= BIT(2); /* 20 MHz BSS Width Request */
- pframe = rtw_set_ie(pframe, WLAN_EID_BSS_COEX_2040, 1, &iedata, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe, WLAN_EID_BSS_COEX_2040, 1, &iedata,
+ &(pattrib->pktlen));
}
/* */
@@ -3578,19 +3949,25 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter)
if (phead == plist)
break;
- pnetwork = container_of(plist, struct wlan_network, list);
+ pnetwork =
+ container_of(plist, struct wlan_network, list);
plist = get_next(plist);
- pbss_network = (struct wlan_bssid_ex *)&pnetwork->network;
+ pbss_network =
+ (struct wlan_bssid_ex *)&pnetwork->network;
- p = rtw_get_ie(pbss_network->ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_CAPABILITY, &len, pbss_network->ie_length - _FIXED_IE_LENGTH_);
- if (!p || len == 0) {/* non-HT */
+ p = rtw_get_ie(pbss_network->ies + _FIXED_IE_LENGTH_,
+ WLAN_EID_HT_CAPABILITY, &len,
+ pbss_network->ie_length -
+ _FIXED_IE_LENGTH_);
+ if (!p || len == 0) { /* non-HT */
if (pbss_network->configuration.ds_config <= 0)
continue;
- ICS[0][pbss_network->configuration.ds_config] = 1;
+ ICS[0][pbss_network->configuration.ds_config] =
+ 1;
if (ICS[0][0] == 0)
ICS[0][0] = 1;
@@ -3620,7 +3997,9 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter)
}
}
- pframe = rtw_set_ie(pframe, WLAN_EID_BSS_INTOLERANT_CHL_REPORT, k, InfoContent, &(pattrib->pktlen));
+ pframe = rtw_set_ie(pframe,
+ WLAN_EID_BSS_INTOLERANT_CHL_REPORT,
+ k, InfoContent, &(pattrib->pktlen));
}
}
@@ -3638,7 +4017,7 @@ unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
u16 tid;
- if ((pmlmeinfo->state&0x03) != WIFI_FW_AP_STATE)
+ if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
if (!(pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS))
return _SUCCESS;
@@ -3646,18 +4025,23 @@ unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
if (!psta)
return _SUCCESS;
- if (initiator == 0) {/* recipient */
+ if (initiator == 0) { /* recipient */
for (tid = 0; tid < MAXTID; tid++) {
if (psta->recvreorder_ctrl[tid].enable) {
- issue_action_BA(padapter, addr, WLAN_ACTION_DELBA, (((tid << 1) | initiator)&0x1F));
+ issue_action_BA(
+ padapter, addr, WLAN_ACTION_DELBA,
+ (((tid << 1) | initiator) & 0x1F));
psta->recvreorder_ctrl[tid].enable = false;
- psta->recvreorder_ctrl[tid].indicate_seq = 0xffff;
+ psta->recvreorder_ctrl[tid].indicate_seq =
+ 0xffff;
}
}
- } else if (initiator == 1) {/* originator */
+ } else if (initiator == 1) { /* originator */
for (tid = 0; tid < MAXTID; tid++) {
if (psta->htpriv.agg_enable_bitmap & BIT(tid)) {
- issue_action_BA(padapter, addr, WLAN_ACTION_DELBA, (((tid << 1) | initiator)&0x1F));
+ issue_action_BA(
+ padapter, addr, WLAN_ACTION_DELBA,
+ (((tid << 1) | initiator) & 0x1F));
psta->htpriv.agg_enable_bitmap &= ~BIT(tid);
psta->htpriv.candidate_tid_bitmap &= ~BIT(tid);
}
@@ -3670,7 +4054,7 @@ unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
unsigned int send_beacon(struct adapter *padapter)
{
u8 bxmitok = false;
- int issue = 0;
+ int issue = 0;
int poll = 0;
rtw_hal_set_hwreg(padapter, HW_VAR_BCN_VALID, NULL);
@@ -3680,11 +4064,15 @@ unsigned int send_beacon(struct adapter *padapter)
issue++;
do {
cond_resched();
- rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID, (u8 *)(&bxmitok));
+ rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID,
+ (u8 *)(&bxmitok));
poll++;
- } while ((poll%10) != 0 && false == bxmitok && !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
+ } while ((poll % 10) != 0 && false == bxmitok &&
+ !padapter->bSurpriseRemoved &&
+ !padapter->bDriverStopped);
- } while (false == bxmitok && issue < 100 && !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
+ } while (false == bxmitok && issue < 100 &&
+ !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
if (padapter->bSurpriseRemoved || padapter->bDriverStopped)
return _FAIL;
@@ -3700,7 +4088,7 @@ unsigned int send_beacon(struct adapter *padapter)
void site_survey(struct adapter *padapter)
{
unsigned char survey_channel = 0, val8;
- enum rt_scan_type ScanType = SCAN_PASSIVE;
+ enum rt_scan_type ScanType = SCAN_PASSIVE;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
u32 initialgain = 0;
@@ -3709,43 +4097,67 @@ void site_survey(struct adapter *padapter)
{
struct rtw_ieee80211_channel *ch;
- if (pmlmeext->sitesurvey_res.channel_idx < pmlmeext->sitesurvey_res.ch_num) {
- ch = &pmlmeext->sitesurvey_res.ch[pmlmeext->sitesurvey_res.channel_idx];
+ if (pmlmeext->sitesurvey_res.channel_idx <
+ pmlmeext->sitesurvey_res.ch_num) {
+ ch = &pmlmeext->sitesurvey_res
+ .ch[pmlmeext->sitesurvey_res.channel_idx];
survey_channel = ch->hw_value;
- ScanType = (ch->flags & RTW_IEEE80211_CHAN_PASSIVE_SCAN) ? SCAN_PASSIVE : SCAN_ACTIVE;
+ ScanType =
+ (ch->flags & RTW_IEEE80211_CHAN_PASSIVE_SCAN) ?
+ SCAN_PASSIVE :
+ SCAN_ACTIVE;
}
}
if (survey_channel != 0) {
if (pmlmeext->sitesurvey_res.channel_idx == 0)
set_channel_bwmode(padapter, survey_channel,
- HAL_PRIME_CHNL_OFFSET_DONT_CARE, CHANNEL_WIDTH_20);
+ HAL_PRIME_CHNL_OFFSET_DONT_CARE,
+ CHANNEL_WIDTH_20);
else
r8723bs_select_channel(padapter, survey_channel);
- if (ScanType == SCAN_ACTIVE) { /* obey the channel plan setting... */
+ if (ScanType ==
+ SCAN_ACTIVE) { /* obey the channel plan setting... */
{
int i;
for (i = 0; i < RTW_SSID_SCAN_AMOUNT; i++) {
- if (!pmlmeext->sitesurvey_res.ssid[i].ssid_length)
+ if (!pmlmeext->sitesurvey_res.ssid[i]
+ .ssid_length)
continue;
/* IOT issue, When wifi_spec is not set, send one probe req without WPS IE. */
if (padapter->registrypriv.wifi_spec)
- issue_probereq(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL);
+ issue_probereq(
+ padapter,
+ &(pmlmeext->sitesurvey_res
+ .ssid[i]),
+ NULL);
else
- issue_probereq_ex(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL, 0, 0, 0, 0);
-
- issue_probereq(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL);
+ issue_probereq_ex(
+ padapter,
+ &(pmlmeext->sitesurvey_res
+ .ssid[i]),
+ NULL, 0, 0, 0, 0);
+
+ issue_probereq(
+ padapter,
+ &(pmlmeext->sitesurvey_res
+ .ssid[i]),
+ NULL);
}
- if (pmlmeext->sitesurvey_res.scan_mode == SCAN_ACTIVE) {
+ if (pmlmeext->sitesurvey_res.scan_mode ==
+ SCAN_ACTIVE) {
/* IOT issue, When wifi_spec is not set, send one probe req without WPS IE. */
if (padapter->registrypriv.wifi_spec)
- issue_probereq(padapter, NULL, NULL);
+ issue_probereq(padapter, NULL,
+ NULL);
else
- issue_probereq_ex(padapter, NULL, NULL, 0, 0, 0, 0);
+ issue_probereq_ex(padapter,
+ NULL, NULL, 0,
+ 0, 0, 0);
issue_probereq(padapter, NULL, NULL);
}
}
@@ -3763,7 +4175,9 @@ void site_survey(struct adapter *padapter)
/* switch back to the original channel */
/* SelectChannel(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset); */
- set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
+ set_channel_bwmode(padapter, pmlmeext->cur_channel,
+ pmlmeext->cur_ch_offset,
+ pmlmeext->cur_bwmode);
/* flush 4-AC Queue after site_survey */
/* val8 = 0; */
@@ -3773,7 +4187,8 @@ void site_survey(struct adapter *padapter)
set_msr(padapter, (pmlmeinfo->state & 0x3));
initialgain = 0xff; /* restore RX GAIN */
- rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain));
+ rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN,
+ (u8 *)(&initialgain));
/* turn on dynamic functions */
Restore_DM_Func_Flag(padapter);
/* Switch_DM_Func(padapter, DYNAMIC_ALL_FUNC_ENABLE, true); */
@@ -3782,7 +4197,8 @@ void site_survey(struct adapter *padapter)
issue_nulldata(padapter, NULL, 0, 3, 500);
val8 = 0; /* survey done */
- rtw_hal_set_hwreg(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
+ rtw_hal_set_hwreg(padapter, HW_VAR_MLME_SITESURVEY,
+ (u8 *)(&val8));
report_surveydone_event(padapter);
@@ -3797,9 +4213,10 @@ void site_survey(struct adapter *padapter)
}
/* collect bss info from Beacon and Probe request/response frames. */
-u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, struct wlan_bssid_ex *bssid)
+u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame,
+ struct wlan_bssid_ex *bssid)
{
- int i;
+ int i;
u32 len;
u8 *p;
u16 val16, subtype;
@@ -3841,15 +4258,22 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str
/* below is to copy the information element */
bssid->ie_length = len;
- memcpy(bssid->ies, (pframe + sizeof(struct ieee80211_hdr_3addr)), bssid->ie_length);
+ memcpy(bssid->ies, (pframe + sizeof(struct ieee80211_hdr_3addr)),
+ bssid->ie_length);
/* get the signal strength */
- bssid->rssi = precv_frame->u.hdr.attrib.phy_info.RecvSignalPower; /* in dBM.raw data */
- bssid->phy_info.signal_quality = precv_frame->u.hdr.attrib.phy_info.SignalQuality;/* in percentage */
- bssid->phy_info.signal_strength = precv_frame->u.hdr.attrib.phy_info.SignalStrength;/* in percentage */
+ bssid->rssi = precv_frame->u.hdr.attrib.phy_info
+ .RecvSignalPower; /* in dBM.raw data */
+ bssid->phy_info.signal_quality =
+ precv_frame->u.hdr.attrib.phy_info
+ .SignalQuality; /* in percentage */
+ bssid->phy_info.signal_strength =
+ precv_frame->u.hdr.attrib.phy_info
+ .SignalStrength; /* in percentage */
/* checking SSID */
- p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_SSID, &len, bssid->ie_length - ie_offset);
+ p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_SSID, &len,
+ bssid->ie_length - ie_offset);
if (!p)
return _FAIL;
@@ -3866,7 +4290,8 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str
/* checking rate info... */
i = 0;
- p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_SUPP_RATES, &len, bssid->ie_length - ie_offset);
+ p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_SUPP_RATES, &len,
+ bssid->ie_length - ie_offset);
if (p) {
if (len > NDIS_802_11_LENGTH_RATES_EX)
return _FAIL;
@@ -3875,9 +4300,10 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str
i = len;
}
- p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_EXT_SUPP_RATES, &len, bssid->ie_length - ie_offset);
+ p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_EXT_SUPP_RATES, &len,
+ bssid->ie_length - ie_offset);
if (p) {
- if (len > (NDIS_802_11_LENGTH_RATES_EX-i))
+ if (len > (NDIS_802_11_LENGTH_RATES_EX - i))
return _FAIL;
memcpy(bssid->supported_rates + i, (p + 2), len);
@@ -3889,7 +4315,8 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str
return _FAIL;
/* Checking for ds_config */
- p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_DS_PARAMS, &len, bssid->ie_length - ie_offset);
+ p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_DS_PARAMS, &len,
+ bssid->ie_length - ie_offset);
bssid->configuration.ds_config = 0;
bssid->configuration.length = 0;
@@ -3899,13 +4326,17 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str
} else {
/* In 5G, some ap do not have DSSET IE */
/* checking HT info for channel */
- p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_HT_OPERATION, &len, bssid->ie_length - ie_offset);
+ p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_HT_OPERATION,
+ &len, bssid->ie_length - ie_offset);
if (p) {
- struct HT_info_element *HT_info = (struct HT_info_element *)(p + 2);
+ struct HT_info_element *HT_info =
+ (struct HT_info_element *)(p + 2);
- bssid->configuration.ds_config = HT_info->primary_channel;
+ bssid->configuration.ds_config =
+ HT_info->primary_channel;
} else { /* use current channel */
- bssid->configuration.ds_config = rtw_get_oper_ch(padapter);
+ bssid->configuration.ds_config =
+ rtw_get_oper_ch(padapter);
}
}
@@ -3930,16 +4361,20 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str
bssid->configuration.atim_window = 0;
/* 20/40 BSS Coexistence check */
- if ((pregistrypriv->wifi_spec == 1) && (false == pmlmeinfo->bwmode_updated)) {
+ if ((pregistrypriv->wifi_spec == 1) &&
+ (false == pmlmeinfo->bwmode_updated)) {
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_HT_CAPABILITY, &len, bssid->ie_length - ie_offset);
+ p = rtw_get_ie(bssid->ies + ie_offset, WLAN_EID_HT_CAPABILITY,
+ &len, bssid->ie_length - ie_offset);
if (p && len > 0) {
- struct HT_caps_element *pHT_caps;
+ struct HT_caps_element *pHT_caps;
- pHT_caps = (struct HT_caps_element *)(p + 2);
+ pHT_caps = (struct HT_caps_element *)(p + 2);
- if (le16_to_cpu(pHT_caps->u.HT_cap_element.HT_caps_info) & BIT(14))
+ if (le16_to_cpu(
+ pHT_caps->u.HT_cap_element.HT_caps_info) &
+ BIT(14))
pmlmepriv->num_FortyMHzIntolerant++;
} else
pmlmepriv->num_sta_no_ht++;
@@ -3954,12 +4389,13 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str
void start_create_ibss(struct adapter *padapter)
{
- unsigned short caps;
+ unsigned short caps;
u8 val8;
u8 join_type;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
+ struct wlan_bssid_ex *pnetwork =
+ (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
pmlmeext->cur_channel = (u8)pnetwork->configuration.ds_config;
pmlmeinfo->bcn_interval = get_beacon_interval(pnetwork);
@@ -3970,7 +4406,7 @@ void start_create_ibss(struct adapter *padapter)
/* update capability */
caps = rtw_get_capability((struct wlan_bssid_ex *)pnetwork);
update_capinfo(padapter, caps);
- if (caps&WLAN_CAPABILITY_IBSS) {/* adhoc master */
+ if (caps & WLAN_CAPABILITY_IBSS) { /* adhoc master */
val8 = 0xcf;
rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
@@ -3978,7 +4414,9 @@ void start_create_ibss(struct adapter *padapter)
/* switch channel */
/* SelectChannel(padapter, pmlmeext->cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE); */
- set_channel_bwmode(padapter, pmlmeext->cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, CHANNEL_WIDTH_20);
+ set_channel_bwmode(padapter, pmlmeext->cur_channel,
+ HAL_PRIME_CHNL_OFFSET_DONT_CARE,
+ CHANNEL_WIDTH_20);
beacon_timing_control(padapter);
@@ -3991,9 +4429,12 @@ void start_create_ibss(struct adapter *padapter)
report_join_res(padapter, -1);
pmlmeinfo->state = WIFI_FW_NULL_STATE;
} else {
- rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, padapter->registrypriv.dev_network.mac_address);
+ rtw_hal_set_hwreg(
+ padapter, HW_VAR_BSSID,
+ padapter->registrypriv.dev_network.mac_address);
join_type = 0;
- rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
+ rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN,
+ (u8 *)(&join_type));
report_join_res(padapter, 1);
pmlmeinfo->state |= WIFI_FW_ASSOC_SUCCESS;
@@ -4008,11 +4449,12 @@ void start_create_ibss(struct adapter *padapter)
void start_clnt_join(struct adapter *padapter)
{
- unsigned short caps;
+ unsigned short caps;
u8 val8;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
+ struct wlan_bssid_ex *pnetwork =
+ (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
int beacon_timeout;
/* update wireless mode */
@@ -4021,10 +4463,11 @@ void start_clnt_join(struct adapter *padapter)
/* update capability */
caps = rtw_get_capability((struct wlan_bssid_ex *)pnetwork);
update_capinfo(padapter, caps);
- if (caps&WLAN_CAPABILITY_ESS) {
+ if (caps & WLAN_CAPABILITY_ESS) {
set_msr(padapter, WIFI_FW_STATION_STATE);
- val8 = (pmlmeinfo->auth_algo == dot11AuthAlgrthm_8021X) ? 0xcc : 0xcf;
+ val8 = (pmlmeinfo->auth_algo == dot11AuthAlgrthm_8021X) ? 0xcc :
+ 0xcf;
rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
@@ -4036,19 +4479,23 @@ void start_clnt_join(struct adapter *padapter)
* For the Win8 P2P connection, it will be hard to have a successful connection if this Wi-Fi doesn't connect to it.
*/
{
- /* To avoid connecting to AP fail during resume process, change retry count from 5 to 1 */
- issue_deauth_ex(padapter, pnetwork->mac_address, WLAN_REASON_DEAUTH_LEAVING, 1, 100);
+ /* To avoid connecting to AP fail during resume process, change retry count from 5 to 1 */
+ issue_deauth_ex(padapter, pnetwork->mac_address,
+ WLAN_REASON_DEAUTH_LEAVING, 1, 100);
}
/* here wait for receiving the beacon to start auth */
/* and enable a timer */
- beacon_timeout = decide_wait_for_beacon_timeout(pmlmeinfo->bcn_interval);
+ beacon_timeout =
+ decide_wait_for_beacon_timeout(pmlmeinfo->bcn_interval);
set_link_timer(pmlmeext, beacon_timeout);
_set_timer(&padapter->mlmepriv.assoc_timer,
- (REAUTH_TO * REAUTH_LIMIT) + (REASSOC_TO*REASSOC_LIMIT) + beacon_timeout);
+ (REAUTH_TO * REAUTH_LIMIT) +
+ (REASSOC_TO * REASSOC_LIMIT) +
+ beacon_timeout);
pmlmeinfo->state = WIFI_FW_AUTH_NULL | WIFI_FW_STATION_STATE;
- } else if (caps&WLAN_CAPABILITY_IBSS) { /* adhoc client */
+ } else if (caps & WLAN_CAPABILITY_IBSS) { /* adhoc client */
set_msr(padapter, WIFI_FW_ADHOC_STATE);
val8 = 0xcf;
@@ -4101,7 +4548,8 @@ void start_clnt_assoc(struct adapter *padapter)
set_link_timer(pmlmeext, REASSOC_TO);
}
-unsigned int receive_disconnect(struct adapter *padapter, unsigned char *MacAddr, unsigned short reason)
+unsigned int receive_disconnect(struct adapter *padapter,
+ unsigned char *MacAddr, unsigned short reason)
{
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
@@ -4110,7 +4558,7 @@ unsigned int receive_disconnect(struct adapter *padapter, unsigned char *MacAddr
if (!(!memcmp(MacAddr, get_my_bssid(&pmlmeinfo->network), ETH_ALEN)))
return _SUCCESS;
- if ((pmlmeinfo->state&0x03) == WIFI_FW_STATION_STATE) {
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE) {
if (pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) {
pmlmeinfo->state = WIFI_FW_NULL_STATE;
report_del_sta_event(padapter, MacAddr, reason);
@@ -4124,7 +4572,8 @@ unsigned int receive_disconnect(struct adapter *padapter, unsigned char *MacAddr
return _SUCCESS;
}
-static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid)
+static void process_80211d(struct adapter *padapter,
+ struct wlan_bssid_ex *bssid)
{
struct registry_priv *pregistrypriv;
struct mlme_ext_priv *pmlmeext;
@@ -4137,7 +4586,7 @@ static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid
/* Adjust channel plan by AP Country IE */
if (pregistrypriv->enable80211d &&
- (!pmlmeext->update_channel_plan_by_ap_done)) {
+ (!pmlmeext->update_channel_plan_by_ap_done)) {
u8 *ie, *p;
u32 len;
struct rt_channel_plan chplan_ap;
@@ -4147,7 +4596,9 @@ static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid
u8 noc; /* number of channel */
u8 j, k;
- ie = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_COUNTRY, &len, bssid->ie_length - _FIXED_IE_LENGTH_);
+ ie = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_,
+ WLAN_EID_COUNTRY, &len,
+ bssid->ie_length - _FIXED_IE_LENGTH_);
if (!ie)
return;
if (len < 6)
@@ -4171,7 +4622,7 @@ static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid
if (fcn <= 14)
channel = fcn + j; /* 2.4 GHz */
else
- channel = fcn + j*4; /* 5 GHz */
+ channel = fcn + j * 4; /* 5 GHz */
chplan_ap.Channel[i++] = channel;
}
@@ -4187,26 +4638,33 @@ static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid
if (pregistrypriv->wireless_mode & WIRELESS_11G) {
do {
if ((i == MAX_CHANNEL_NUM) ||
- (chplan_sta[i].ChannelNum == 0) ||
- (chplan_sta[i].ChannelNum > 14))
+ (chplan_sta[i].ChannelNum == 0) ||
+ (chplan_sta[i].ChannelNum > 14))
break;
- if ((j == chplan_ap.Len) || (chplan_ap.Channel[j] > 14))
+ if ((j == chplan_ap.Len) ||
+ (chplan_ap.Channel[j] > 14))
break;
- if (chplan_sta[i].ChannelNum == chplan_ap.Channel[j]) {
- chplan_new[k].ChannelNum = chplan_ap.Channel[j];
+ if (chplan_sta[i].ChannelNum ==
+ chplan_ap.Channel[j]) {
+ chplan_new[k].ChannelNum =
+ chplan_ap.Channel[j];
chplan_new[k].ScanType = SCAN_ACTIVE;
i++;
j++;
k++;
- } else if (chplan_sta[i].ChannelNum < chplan_ap.Channel[j]) {
- chplan_new[k].ChannelNum = chplan_sta[i].ChannelNum;
+ } else if (chplan_sta[i].ChannelNum <
+ chplan_ap.Channel[j]) {
+ chplan_new[k].ChannelNum =
+ chplan_sta[i].ChannelNum;
chplan_new[k].ScanType = SCAN_PASSIVE;
i++;
k++;
- } else if (chplan_sta[i].ChannelNum > chplan_ap.Channel[j]) {
- chplan_new[k].ChannelNum = chplan_ap.Channel[j];
+ } else if (chplan_sta[i].ChannelNum >
+ chplan_ap.Channel[j]) {
+ chplan_new[k].ChannelNum =
+ chplan_ap.Channel[j];
chplan_new[k].ScanType = SCAN_ACTIVE;
j++;
k++;
@@ -4215,16 +4673,18 @@ static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid
/* change AP not support channel to Passive scan */
while ((i < MAX_CHANNEL_NUM) &&
- (chplan_sta[i].ChannelNum != 0) &&
- (chplan_sta[i].ChannelNum <= 14)) {
- chplan_new[k].ChannelNum = chplan_sta[i].ChannelNum;
+ (chplan_sta[i].ChannelNum != 0) &&
+ (chplan_sta[i].ChannelNum <= 14)) {
+ chplan_new[k].ChannelNum =
+ chplan_sta[i].ChannelNum;
chplan_new[k].ScanType = SCAN_PASSIVE;
i++;
k++;
}
/* add channel AP supported */
- while ((j < chplan_ap.Len) && (chplan_ap.Channel[j] <= 14)) {
+ while ((j < chplan_ap.Len) &&
+ (chplan_ap.Channel[j] <= 14)) {
chplan_new[k].ChannelNum = chplan_ap.Channel[j];
chplan_new[k].ScanType = SCAN_ACTIVE;
j++;
@@ -4233,16 +4693,18 @@ static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid
} else {
/* keep original STA 2.4G channel plan */
while ((i < MAX_CHANNEL_NUM) &&
- (chplan_sta[i].ChannelNum != 0) &&
- (chplan_sta[i].ChannelNum <= 14)) {
- chplan_new[k].ChannelNum = chplan_sta[i].ChannelNum;
+ (chplan_sta[i].ChannelNum != 0) &&
+ (chplan_sta[i].ChannelNum <= 14)) {
+ chplan_new[k].ChannelNum =
+ chplan_sta[i].ChannelNum;
chplan_new[k].ScanType = chplan_sta[i].ScanType;
i++;
k++;
}
/* skip AP 2.4G channel plan */
- while ((j < chplan_ap.Len) && (chplan_ap.Channel[j] <= 14))
+ while ((j < chplan_ap.Len) &&
+ (chplan_ap.Channel[j] <= 14))
j++;
}
@@ -4265,12 +4727,13 @@ static void process_80211d(struct adapter *padapter, struct wlan_bssid_ex *bssid
/* Following are the functions to report events */
-void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame)
+void report_survey_event(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
struct cmd_obj *pcmd_obj;
u8 *pevtcmd;
u32 cmdsz;
- struct survey_event *psurvey_evt;
+ struct survey_event *psurvey_evt;
struct C2HEvent_Header *pc2h_evt_hdr;
struct mlme_ext_priv *pmlmeext;
struct cmd_priv *pcmdpriv;
@@ -4301,16 +4764,19 @@ void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame
pcmd_obj->parmbuf = pevtcmd;
pcmd_obj->rsp = NULL;
- pcmd_obj->rspsz = 0;
+ pcmd_obj->rspsz = 0;
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct survey_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_Survey);
pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);
- psurvey_evt = (struct survey_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
+ psurvey_evt = (struct survey_event *)(pevtcmd +
+ sizeof(struct C2HEvent_Header));
- if (collect_bss_info(padapter, precv_frame, (struct wlan_bssid_ex *)&psurvey_evt->bss) == _FAIL) {
+ if (collect_bss_info(padapter, precv_frame,
+ (struct wlan_bssid_ex *)&psurvey_evt->bss) ==
+ _FAIL) {
kfree(pcmd_obj);
kfree(pevtcmd);
return;
@@ -4329,7 +4795,7 @@ void report_surveydone_event(struct adapter *padapter)
u8 *pevtcmd;
u32 cmdsz;
struct surveydone_event *psurveydone_evt;
- struct C2HEvent_Header *pc2h_evt_hdr;
+ struct C2HEvent_Header *pc2h_evt_hdr;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
@@ -4337,7 +4803,8 @@ void report_surveydone_event(struct adapter *padapter)
if (!pcmd_obj)
return;
- cmdsz = (sizeof(struct surveydone_event) + sizeof(struct C2HEvent_Header));
+ cmdsz = (sizeof(struct surveydone_event) +
+ sizeof(struct C2HEvent_Header));
pevtcmd = kzalloc(cmdsz, GFP_ATOMIC);
if (!pevtcmd) {
kfree(pcmd_obj);
@@ -4351,14 +4818,16 @@ void report_surveydone_event(struct adapter *padapter)
pcmd_obj->parmbuf = pevtcmd;
pcmd_obj->rsp = NULL;
- pcmd_obj->rspsz = 0;
+ pcmd_obj->rspsz = 0;
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct surveydone_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_SurveyDone);
pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);
- psurveydone_evt = (struct surveydone_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
+ psurveydone_evt =
+ (struct surveydone_event *)(pevtcmd +
+ sizeof(struct C2HEvent_Header));
psurveydone_evt->bss_cnt = pmlmeext->sitesurvey_res.bss_cnt;
rtw_enqueue_cmd(pcmdpriv, pcmd_obj);
@@ -4369,8 +4838,8 @@ void report_join_res(struct adapter *padapter, int res)
struct cmd_obj *pcmd_obj;
u8 *pevtcmd;
u32 cmdsz;
- struct joinbss_event *pjoinbss_evt;
- struct C2HEvent_Header *pc2h_evt_hdr;
+ struct joinbss_event *pjoinbss_evt;
+ struct C2HEvent_Header *pc2h_evt_hdr;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
@@ -4393,16 +4862,18 @@ void report_join_res(struct adapter *padapter, int res)
pcmd_obj->parmbuf = pevtcmd;
pcmd_obj->rsp = NULL;
- pcmd_obj->rspsz = 0;
+ pcmd_obj->rspsz = 0;
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct joinbss_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_JoinBss);
pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);
- pjoinbss_evt = (struct joinbss_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
- memcpy((unsigned char *)(&(pjoinbss_evt->network.network)), &(pmlmeinfo->network), sizeof(struct wlan_bssid_ex));
- pjoinbss_evt->network.join_res = pjoinbss_evt->network.aid = res;
+ pjoinbss_evt = (struct joinbss_event *)(pevtcmd +
+ sizeof(struct C2HEvent_Header));
+ memcpy((unsigned char *)(&(pjoinbss_evt->network.network)),
+ &(pmlmeinfo->network), sizeof(struct wlan_bssid_ex));
+ pjoinbss_evt->network.join_res = pjoinbss_evt->network.aid = res;
rtw_joinbss_event_prehandle(padapter, (u8 *)&pjoinbss_evt->network);
@@ -4414,8 +4885,8 @@ void report_wmm_edca_update(struct adapter *padapter)
struct cmd_obj *pcmd_obj;
u8 *pevtcmd;
u32 cmdsz;
- struct wmm_event *pwmm_event;
- struct C2HEvent_Header *pc2h_evt_hdr;
+ struct wmm_event *pwmm_event;
+ struct C2HEvent_Header *pc2h_evt_hdr;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
@@ -4437,28 +4908,30 @@ void report_wmm_edca_update(struct adapter *padapter)
pcmd_obj->parmbuf = pevtcmd;
pcmd_obj->rsp = NULL;
- pcmd_obj->rspsz = 0;
+ pcmd_obj->rspsz = 0;
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct wmm_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_WMM);
pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);
- pwmm_event = (struct wmm_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
+ pwmm_event =
+ (struct wmm_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
pwmm_event->wmm = 0;
rtw_enqueue_cmd(pcmdpriv, pcmd_obj);
}
-void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsigned short reason)
+void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr,
+ unsigned short reason)
{
struct cmd_obj *pcmd_obj;
u8 *pevtcmd;
u32 cmdsz;
struct sta_info *psta;
- int mac_id;
- struct stadel_event *pdel_sta_evt;
- struct C2HEvent_Header *pc2h_evt_hdr;
+ int mac_id;
+ struct stadel_event *pdel_sta_evt;
+ struct C2HEvent_Header *pc2h_evt_hdr;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
@@ -4480,16 +4953,18 @@ void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsi
pcmd_obj->parmbuf = pevtcmd;
pcmd_obj->rsp = NULL;
- pcmd_obj->rspsz = 0;
+ pcmd_obj->rspsz = 0;
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct stadel_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_DelSTA);
pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);
- pdel_sta_evt = (struct stadel_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
+ pdel_sta_evt = (struct stadel_event *)(pevtcmd +
+ sizeof(struct C2HEvent_Header));
memcpy((unsigned char *)(&(pdel_sta_evt->macaddr)), MacAddr, ETH_ALEN);
- memcpy((unsigned char *)(pdel_sta_evt->rsvd), (unsigned char *)(&reason), 2);
+ memcpy((unsigned char *)(pdel_sta_evt->rsvd),
+ (unsigned char *)(&reason), 2);
psta = rtw_get_stainfo(&padapter->stapriv, MacAddr);
if (psta)
@@ -4502,13 +4977,14 @@ void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsi
rtw_enqueue_cmd(pcmdpriv, pcmd_obj);
}
-void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int cam_idx)
+void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr,
+ int cam_idx)
{
struct cmd_obj *pcmd_obj;
u8 *pevtcmd;
u32 cmdsz;
- struct stassoc_event *padd_sta_evt;
- struct C2HEvent_Header *pc2h_evt_hdr;
+ struct stassoc_event *padd_sta_evt;
+ struct C2HEvent_Header *pc2h_evt_hdr;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
@@ -4530,14 +5006,15 @@ void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int
pcmd_obj->parmbuf = pevtcmd;
pcmd_obj->rsp = NULL;
- pcmd_obj->rspsz = 0;
+ pcmd_obj->rspsz = 0;
pc2h_evt_hdr = (struct C2HEvent_Header *)(pevtcmd);
pc2h_evt_hdr->len = sizeof(struct stassoc_event);
pc2h_evt_hdr->ID = GEN_EVT_CODE(_AddSTA);
pc2h_evt_hdr->seq = atomic_inc_return(&pmlmeext->event_seq);
- padd_sta_evt = (struct stassoc_event *)(pevtcmd + sizeof(struct C2HEvent_Header));
+ padd_sta_evt = (struct stassoc_event *)(pevtcmd +
+ sizeof(struct C2HEvent_Header));
memcpy((unsigned char *)(&(padd_sta_evt->macaddr)), MacAddr, ETH_ALEN);
padd_sta_evt->cam_id = cam_idx;
@@ -4562,12 +5039,17 @@ void update_sta_info(struct adapter *padapter, struct sta_info *psta)
psta->htpriv.ampdu_enable = pmlmepriv->htpriv.ampdu_enable;
- psta->htpriv.rx_ampdu_min_spacing = (pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para&IEEE80211_HT_CAP_AMPDU_DENSITY)>>2;
+ psta->htpriv.rx_ampdu_min_spacing =
+ (pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para &
+ IEEE80211_HT_CAP_AMPDU_DENSITY) >>
+ 2;
- if (support_short_GI(padapter, &(pmlmeinfo->HT_caps), CHANNEL_WIDTH_20))
+ if (support_short_GI(padapter, &(pmlmeinfo->HT_caps),
+ CHANNEL_WIDTH_20))
psta->htpriv.sgi_20m = true;
- if (support_short_GI(padapter, &(pmlmeinfo->HT_caps), CHANNEL_WIDTH_40))
+ if (support_short_GI(padapter, &(pmlmeinfo->HT_caps),
+ CHANNEL_WIDTH_40))
psta->htpriv.sgi_40m = true;
psta->qos_option = true;
@@ -4576,7 +5058,8 @@ void update_sta_info(struct adapter *padapter, struct sta_info *psta)
psta->htpriv.stbc_cap = pmlmepriv->htpriv.stbc_cap;
psta->htpriv.beamform_cap = pmlmepriv->htpriv.beamform_cap;
- memcpy(&psta->htpriv.ht_cap, &pmlmeinfo->HT_caps, sizeof(struct ieee80211_ht_cap));
+ memcpy(&psta->htpriv.ht_cap, &pmlmeinfo->HT_caps,
+ sizeof(struct ieee80211_ht_cap));
} else {
psta->htpriv.ht_option = false;
@@ -4589,8 +5072,8 @@ void update_sta_info(struct adapter *padapter, struct sta_info *psta)
psta->htpriv.ch_offset = pmlmeext->cur_ch_offset;
- psta->htpriv.agg_enable_bitmap = 0x0;/* reset */
- psta->htpriv.candidate_tid_bitmap = 0x0;/* reset */
+ psta->htpriv.agg_enable_bitmap = 0x0; /* reset */
+ psta->htpriv.candidate_tid_bitmap = 0x0; /* reset */
psta->bw_mode = pmlmeext->cur_bwmode;
@@ -4610,7 +5093,8 @@ static void rtw_mlmeext_disconnect(struct adapter *padapter)
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
+ struct wlan_bssid_ex *pnetwork =
+ (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
/* set_opmode_cmd(padapter, infra_client_with_mlme); */
@@ -4623,7 +5107,8 @@ static void rtw_mlmeext_disconnect(struct adapter *padapter)
{
struct sta_info *psta;
- psta = rtw_get_stainfo(&padapter->stapriv, get_my_bssid(pnetwork));
+ psta = rtw_get_stainfo(&padapter->stapriv,
+ get_my_bssid(pnetwork));
if (psta)
rtw_hal_macid_wakeup(padapter, psta->mac_id);
}
@@ -4640,7 +5125,8 @@ static void rtw_mlmeext_disconnect(struct adapter *padapter)
pmlmeext->cur_bwmode = CHANNEL_WIDTH_20;
pmlmeext->cur_ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
- set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
+ set_channel_bwmode(padapter, pmlmeext->cur_channel,
+ pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
flush_all_cam_entry(padapter);
@@ -4654,20 +5140,21 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
{
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
+ struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
struct sta_priv *pstapriv = &padapter->stapriv;
u8 join_type;
struct sta_info *psta;
if (join_res < 0) {
join_type = 1;
- rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
+ rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN,
+ (u8 *)(&join_type));
rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, null_addr);
return;
}
- if ((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE)
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE)
/* update bc/mc sta_info */
update_bmc_sta(padapter);
@@ -4677,10 +5164,12 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
/* update IOT-related issue */
update_IOT_info(padapter);
- rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE, cur_network->supported_rates);
+ rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE,
+ cur_network->supported_rates);
/* BCN interval */
- rtw_hal_set_hwreg(padapter, HW_VAR_BEACON_INTERVAL, (u8 *)(&pmlmeinfo->bcn_interval));
+ rtw_hal_set_hwreg(padapter, HW_VAR_BEACON_INTERVAL,
+ (u8 *)(&pmlmeinfo->bcn_interval));
/* update capability */
update_capinfo(padapter, pmlmeinfo->capability);
@@ -4692,7 +5181,8 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
HTOnAssocRsp(padapter);
/* Set cur_channel&cur_bwmode&cur_ch_offset */
- set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
+ set_channel_bwmode(padapter, pmlmeext->cur_channel,
+ pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
psta = rtw_get_stainfo(pstapriv, cur_network->mac_address);
if (psta) { /* only for infra. mode */
@@ -4716,7 +5206,7 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
join_type = 2;
rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
- if ((pmlmeinfo->state&0x03) == WIFI_FW_STATION_STATE) {
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE) {
/* correcting TSF */
correct_TSF(padapter, pmlmeext);
@@ -4727,14 +5217,16 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
}
/* currently only adhoc mode will go here */
-void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *psta)
+void mlmeext_sta_add_event_callback(struct adapter *padapter,
+ struct sta_info *psta)
{
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
u8 join_type;
- if ((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) {
- if (pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) { /* adhoc master or sta_count>1 */
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) {
+ if (pmlmeinfo->state &
+ WIFI_FW_ASSOC_SUCCESS) { /* adhoc master or sta_count>1 */
/* nothing to do */
} else { /* adhoc client */
@@ -4757,13 +5249,17 @@ void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *p
}
join_type = 2;
- rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
+ rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN,
+ (u8 *)(&join_type));
}
pmlmeinfo->FW_sta_info[psta->mac_id].psta = psta;
- psta->bssratelen = rtw_get_rateset_len(pmlmeinfo->FW_sta_info[psta->mac_id].SupportedRates);
- memcpy(psta->bssrateset, pmlmeinfo->FW_sta_info[psta->mac_id].SupportedRates, psta->bssratelen);
+ psta->bssratelen = rtw_get_rateset_len(
+ pmlmeinfo->FW_sta_info[psta->mac_id].SupportedRates);
+ memcpy(psta->bssrateset,
+ pmlmeinfo->FW_sta_info[psta->mac_id].SupportedRates,
+ psta->bssratelen);
/* update adhoc sta_info */
update_sta_info(padapter, psta);
@@ -4771,7 +5267,8 @@ void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *p
rtw_hal_update_sta_rate_mask(padapter, psta);
/* ToDo: HT for Ad-hoc */
- psta->wireless_mode = rtw_check_network_type(psta->bssrateset, pmlmeext->cur_channel);
+ psta->wireless_mode =
+ rtw_check_network_type(psta->bssrateset, pmlmeext->cur_channel);
psta->raid = networktype_to_raid_ex(padapter, psta);
/* rate radaptive */
@@ -4789,13 +5286,13 @@ void mlmeext_sta_del_event_callback(struct adapter *padapter)
void _linked_info_dump(struct adapter *padapter)
{
int i;
- struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
- struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
+ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
+ struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
int UndecoratedSmoothedPWDB;
struct dvobj_priv *pdvobj = adapter_to_dvobj(padapter);
if (padapter->bLinkInfoDump) {
- if ((pmlmeinfo->state&0x03) == WIFI_FW_STATION_STATE)
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE)
rtw_hal_get_def_var(padapter,
HAL_DEF_UNDERCORATEDSMOOTHEDPWDB,
&UndecoratedSmoothedPWDB);
@@ -4804,7 +5301,9 @@ void _linked_info_dump(struct adapter *padapter)
if (pdvobj->macid[i]) {
if (i != 1) /* skip bc/mc sta */
/* tx info ============ */
- rtw_hal_get_def_var(padapter, HW_DEF_RA_INFO_DUMP, &i);
+ rtw_hal_get_def_var(padapter,
+ HW_DEF_RA_INFO_DUMP,
+ &i);
}
}
}
@@ -4814,10 +5313,9 @@ static u8 chk_ap_is_alive(struct adapter *padapter, struct sta_info *psta)
{
u8 ret = false;
- if ((sta_rx_data_pkts(psta) == sta_last_rx_data_pkts(psta))
- && sta_rx_beacon_pkts(psta) == sta_last_rx_beacon_pkts(psta)
- && sta_rx_probersp_pkts(psta) == sta_last_rx_probersp_pkts(psta)
- ) {
+ if ((sta_rx_data_pkts(psta) == sta_last_rx_data_pkts(psta)) &&
+ sta_rx_beacon_pkts(psta) == sta_last_rx_beacon_pkts(psta) &&
+ sta_rx_probersp_pkts(psta) == sta_last_rx_probersp_pkts(psta)) {
ret = false;
} else {
ret = true;
@@ -4844,18 +5342,19 @@ void linked_status_chk(struct adapter *padapter)
int rx_chk_limit;
int link_count_limit;
- #if defined(DBG_ROAMING_TEST)
+#if defined(DBG_ROAMING_TEST)
rx_chk_limit = 1;
- #else
+#else
rx_chk_limit = 8;
- #endif
+#endif
link_count_limit = 7; /* 16 sec */
/* Marked by Kurt 20130715 */
/* For WiDi 3.5 and latered on, they don't ask WiDi sink to do roaming, */
/* so we could not check rx limit that strictly. */
/* todo: To check why we under miracast session, rx_chk would be false */
- psta = rtw_get_stainfo(pstapriv, pmlmeinfo->network.mac_address);
+ psta = rtw_get_stainfo(pstapriv,
+ pmlmeinfo->network.mac_address);
if (psta) {
if (!chk_ap_is_alive(padapter, psta))
rx_chk = _FAIL;
@@ -4866,34 +5365,44 @@ void linked_status_chk(struct adapter *padapter)
{
if (rx_chk != _SUCCESS) {
if (pmlmeext->retry == 0) {
- issue_probereq_ex(padapter,
- &pmlmeinfo->network.ssid,
- pmlmeinfo->network.mac_address,
- 0, 0, 0, 0);
- issue_probereq_ex(padapter,
- &pmlmeinfo->network.ssid,
- pmlmeinfo->network.mac_address,
- 0, 0, 0, 0);
- issue_probereq_ex(padapter,
- &pmlmeinfo->network.ssid,
- pmlmeinfo->network.mac_address,
- 0, 0, 0, 0);
+ issue_probereq_ex(
+ padapter,
+ &pmlmeinfo->network.ssid,
+ pmlmeinfo->network
+ .mac_address,
+ 0, 0, 0, 0);
+ issue_probereq_ex(
+ padapter,
+ &pmlmeinfo->network.ssid,
+ pmlmeinfo->network
+ .mac_address,
+ 0, 0, 0, 0);
+ issue_probereq_ex(
+ padapter,
+ &pmlmeinfo->network.ssid,
+ pmlmeinfo->network
+ .mac_address,
+ 0, 0, 0, 0);
}
}
if (tx_chk != _SUCCESS &&
pmlmeinfo->link_count++ == link_count_limit)
- tx_chk = issue_nulldata_in_interrupt(padapter, NULL);
+ tx_chk = issue_nulldata_in_interrupt(
+ padapter, NULL);
}
if (rx_chk == _FAIL) {
pmlmeext->retry++;
if (pmlmeext->retry > rx_chk_limit) {
netdev_dbg(padapter->pnetdev,
- FUNC_ADPT_FMT " disconnect or roaming\n",
+ FUNC_ADPT_FMT
+ " disconnect or roaming\n",
FUNC_ADPT_ARG(padapter));
- receive_disconnect(padapter, pmlmeinfo->network.mac_address
- , WLAN_REASON_EXPIRATION_CHK);
+ receive_disconnect(
+ padapter,
+ pmlmeinfo->network.mac_address,
+ WLAN_REASON_EXPIRATION_CHK);
return;
}
} else {
@@ -4918,19 +5427,26 @@ void linked_status_chk(struct adapter *padapter)
if (psta == NULL)
continue;
- if (pmlmeinfo->FW_sta_info[i].rx_pkt == sta_rx_pkts(psta)) {
- if (pmlmeinfo->FW_sta_info[i].retry < 3) {
- pmlmeinfo->FW_sta_info[i].retry++;
+ if (pmlmeinfo->FW_sta_info[i].rx_pkt ==
+ sta_rx_pkts(psta)) {
+ if (pmlmeinfo->FW_sta_info[i].retry <
+ 3) {
+ pmlmeinfo->FW_sta_info[i]
+ .retry++;
} else {
- pmlmeinfo->FW_sta_info[i].retry = 0;
- pmlmeinfo->FW_sta_info[i].status = 0;
- report_del_sta_event(padapter, psta->hwaddr
- , 65535/* indicate disconnect caused by no rx */
+ pmlmeinfo->FW_sta_info[i].retry =
+ 0;
+ pmlmeinfo->FW_sta_info[i]
+ .status = 0;
+ report_del_sta_event(
+ padapter, psta->hwaddr,
+ 65535 /* indicate disconnect caused by no rx */
);
}
} else {
pmlmeinfo->FW_sta_info[i].retry = 0;
- pmlmeinfo->FW_sta_info[i].rx_pkt = (u32)sta_rx_pkts(psta);
+ pmlmeinfo->FW_sta_info[i].rx_pkt =
+ (u32)sta_rx_pkts(psta);
}
}
}
@@ -4943,20 +5459,21 @@ void survey_timer_hdl(struct timer_list *t)
{
struct adapter *padapter =
timer_container_of(padapter, t, mlmeextpriv.survey_timer);
- struct cmd_obj *ph2c;
- struct sitesurvey_parm *psurveyPara;
+ struct cmd_obj *ph2c;
+ struct sitesurvey_parm *psurveyPara;
struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
/* issue rtw_sitesurvey_cmd */
if (pmlmeext->sitesurvey_res.state > SCAN_START) {
- if (pmlmeext->sitesurvey_res.state == SCAN_PROCESS)
+ if (pmlmeext->sitesurvey_res.state == SCAN_PROCESS)
pmlmeext->sitesurvey_res.channel_idx++;
if (pmlmeext->scan_abort) {
- pmlmeext->sitesurvey_res.channel_idx = pmlmeext->sitesurvey_res.ch_num;
+ pmlmeext->sitesurvey_res.channel_idx =
+ pmlmeext->sitesurvey_res.ch_num;
- pmlmeext->scan_abort = false;/* reset */
+ pmlmeext->scan_abort = false; /* reset */
}
ph2c = kzalloc_obj(*ph2c, GFP_ATOMIC);
@@ -4969,7 +5486,8 @@ void survey_timer_hdl(struct timer_list *t)
return;
}
- init_h2fwcmd_w_parm_no_rsp(ph2c, psurveyPara, GEN_CMD_CODE(_SiteSurvey));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, psurveyPara,
+ GEN_CMD_CODE(_SiteSurvey));
rtw_enqueue_cmd(pcmdpriv, ph2c);
}
}
@@ -5058,8 +5576,9 @@ u8 setopmode_hdl(struct adapter *padapter, u8 *pbuf)
type = _HW_STATE_AP_;
/* start_ap_mode(padapter); */
} else if (psetop->mode == Ndis802_11Infrastructure) {
- pmlmeinfo->state &= ~(BIT(0) | BIT(1));/* clear state */
- pmlmeinfo->state |= WIFI_FW_STATION_STATE;/* set to STATION_STATE */
+ pmlmeinfo->state &= ~(BIT(0) | BIT(1)); /* clear state */
+ pmlmeinfo->state |=
+ WIFI_FW_STATION_STATE; /* set to STATION_STATE */
type = _HW_STATE_STATION_;
} else if (psetop->mode == Ndis802_11IBSS) {
type = _HW_STATE_ADHOC_;
@@ -5083,7 +5602,8 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf)
{
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
+ struct wlan_bssid_ex *pnetwork =
+ (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
struct joinbss_parm *pparm = (struct joinbss_parm *)pbuf;
/* u32 initialgain; */
@@ -5120,13 +5640,15 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf)
/* clear CAM */
flush_all_cam_entry(padapter);
- memcpy(pnetwork, pbuf, offsetof(struct wlan_bssid_ex, ie_length));
+ memcpy(pnetwork, pbuf,
+ offsetof(struct wlan_bssid_ex, ie_length));
pnetwork->ie_length = ((struct wlan_bssid_ex *)pbuf)->ie_length;
- if (pnetwork->ie_length > MAX_IE_SZ)/* Check pbuf->ie_length */
+ if (pnetwork->ie_length > MAX_IE_SZ) /* Check pbuf->ie_length */
return H2C_PARAMETERS_ERROR;
- memcpy(pnetwork->ies, ((struct wlan_bssid_ex *)pbuf)->ies, pnetwork->ie_length);
+ memcpy(pnetwork->ies, ((struct wlan_bssid_ex *)pbuf)->ies,
+ pnetwork->ie_length);
start_create_ibss(padapter);
}
@@ -5141,7 +5663,8 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
struct registry_priv *pregpriv = &padapter->registrypriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
+ struct wlan_bssid_ex *pnetwork =
+ (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
u32 i;
u8 cbw40_enable = 0;
/* u32 initialgain; */
@@ -5151,7 +5674,8 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
/* check already connecting to AP or not */
if (pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) {
if (pmlmeinfo->state & WIFI_FW_STATION_STATE)
- issue_deauth_ex(padapter, pnetwork->mac_address, WLAN_REASON_DEAUTH_LEAVING, 1, 100);
+ issue_deauth_ex(padapter, pnetwork->mac_address,
+ WLAN_REASON_DEAUTH_LEAVING, 1, 100);
pmlmeinfo->state = WIFI_FW_NULL_STATE;
/* clear CAM */
@@ -5184,10 +5708,11 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
memcpy(pnetwork, pbuf, offsetof(struct wlan_bssid_ex, ie_length));
pnetwork->ie_length = ((struct wlan_bssid_ex *)pbuf)->ie_length;
- if (pnetwork->ie_length > MAX_IE_SZ)/* Check pbuf->ie_length */
+ if (pnetwork->ie_length > MAX_IE_SZ) /* Check pbuf->ie_length */
return H2C_PARAMETERS_ERROR;
- memcpy(pnetwork->ies, ((struct wlan_bssid_ex *)pbuf)->ies, pnetwork->ie_length);
+ memcpy(pnetwork->ies, ((struct wlan_bssid_ex *)pbuf)->ies,
+ pnetwork->ie_length);
pmlmeext->cur_channel = (u8)pnetwork->configuration.ds_config;
pmlmeinfo->bcn_interval = get_beacon_interval(pnetwork);
@@ -5204,42 +5729,49 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
break;
switch (pIE->element_id) {
- case WLAN_EID_VENDOR_SPECIFIC:/* Get WMM IE. */
+ case WLAN_EID_VENDOR_SPECIFIC: /* Get WMM IE. */
if (!memcmp(pIE->data, WMM_OUI, 4))
WMM_param_handler(padapter, pIE);
break;
- case WLAN_EID_HT_CAPABILITY: /* Get HT Cap IE. */
+ case WLAN_EID_HT_CAPABILITY: /* Get HT Cap IE. */
pmlmeinfo->HT_caps_enable = 1;
break;
- case WLAN_EID_HT_OPERATION: /* Get HT Info IE. */
+ case WLAN_EID_HT_OPERATION: /* Get HT Info IE. */
pmlmeinfo->HT_info_enable = 1;
/* spec case only for cisco's ap because cisco's ap issue assoc rsp using mcs rate @40MHz or @20MHz */
{
- struct HT_info_element *pht_info = (struct HT_info_element *)(pIE->data);
+ struct HT_info_element *pht_info =
+ (struct HT_info_element *)(pIE->data);
if (pnetwork->configuration.ds_config <= 14) {
- if ((pregpriv->bw_mode & 0x0f) > CHANNEL_WIDTH_20)
+ if ((pregpriv->bw_mode & 0x0f) >
+ CHANNEL_WIDTH_20)
cbw40_enable = 1;
}
- if ((cbw40_enable) && (pht_info->infos[0] & BIT(2))) {
+ if ((cbw40_enable) &&
+ (pht_info->infos[0] & BIT(2))) {
/* switch to the 40M Hz mode according to the AP */
pmlmeext->cur_bwmode = CHANNEL_WIDTH_40;
switch (pht_info->infos[0] & 0x3) {
case 1:
- pmlmeext->cur_ch_offset = HAL_PRIME_CHNL_OFFSET_LOWER;
+ pmlmeext->cur_ch_offset =
+ HAL_PRIME_CHNL_OFFSET_LOWER;
break;
case 3:
- pmlmeext->cur_ch_offset = HAL_PRIME_CHNL_OFFSET_UPPER;
+ pmlmeext->cur_ch_offset =
+ HAL_PRIME_CHNL_OFFSET_UPPER;
break;
default:
- pmlmeext->cur_ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
- pmlmeext->cur_bwmode = CHANNEL_WIDTH_20;
+ pmlmeext->cur_ch_offset =
+ HAL_PRIME_CHNL_OFFSET_DONT_CARE;
+ pmlmeext->cur_bwmode =
+ CHANNEL_WIDTH_20;
break;
}
}
@@ -5265,7 +5797,8 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
/* initialgain = 0x1E; */
/* rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain)); */
- rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, pmlmeinfo->network.mac_address);
+ rtw_hal_set_hwreg(padapter, HW_VAR_BSSID,
+ pmlmeinfo->network.mac_address);
join_type = 0;
rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
rtw_hal_set_hwreg(padapter, HW_VAR_DO_IQK, NULL);
@@ -5285,13 +5818,17 @@ u8 disconnect_hdl(struct adapter *padapter, unsigned char *pbuf)
struct disconnect_parm *param = (struct disconnect_parm *)pbuf;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
+ struct wlan_bssid_ex *pnetwork =
+ (struct wlan_bssid_ex *)(&(pmlmeinfo->network));
u8 val8;
if (is_client_associated_to_ap(padapter))
- issue_deauth_ex(padapter, pnetwork->mac_address, WLAN_REASON_DEAUTH_LEAVING, param->deauth_timeout_ms/100, 100);
+ issue_deauth_ex(padapter, pnetwork->mac_address,
+ WLAN_REASON_DEAUTH_LEAVING,
+ param->deauth_timeout_ms / 100, 100);
- if (((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) || ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE)) {
+ if (((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) ||
+ ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) {
/* Stop BCN */
val8 = 0;
rtw_hal_set_hwreg(padapter, HW_VAR_BCN_FUNC, (u8 *)(&val8));
@@ -5301,36 +5838,41 @@ u8 disconnect_hdl(struct adapter *padapter, unsigned char *pbuf)
rtw_free_uc_swdec_pending_queue(padapter);
- return H2C_SUCCESS;
+ return H2C_SUCCESS;
}
-static int rtw_scan_ch_decision(struct adapter *padapter, struct rtw_ieee80211_channel *out,
- u32 out_num, struct rtw_ieee80211_channel *in, u32 in_num)
+static int rtw_scan_ch_decision(struct adapter *padapter,
+ struct rtw_ieee80211_channel *out, u32 out_num,
+ struct rtw_ieee80211_channel *in, u32 in_num)
{
int i, j;
int set_idx;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
/* clear first */
- memset(out, 0, sizeof(struct rtw_ieee80211_channel)*out_num);
+ memset(out, 0, sizeof(struct rtw_ieee80211_channel) * out_num);
/* acquire channels from in */
j = 0;
for (i = 0; i < in_num; i++) {
- set_idx = rtw_ch_set_search_ch(pmlmeext->channel_set, in[i].hw_value);
- if (in[i].hw_value && !(in[i].flags & RTW_IEEE80211_CHAN_DISABLED)
- && set_idx >= 0
- ) {
+ set_idx = rtw_ch_set_search_ch(pmlmeext->channel_set,
+ in[i].hw_value);
+ if (in[i].hw_value &&
+ !(in[i].flags & RTW_IEEE80211_CHAN_DISABLED) &&
+ set_idx >= 0) {
if (j >= out_num) {
netdev_dbg(padapter->pnetdev,
- FUNC_ADPT_FMT " out_num:%u not enough\n",
+ FUNC_ADPT_FMT
+ " out_num:%u not enough\n",
FUNC_ADPT_ARG(padapter), out_num);
break;
}
- memcpy(&out[j], &in[i], sizeof(struct rtw_ieee80211_channel));
+ memcpy(&out[j], &in[i],
+ sizeof(struct rtw_ieee80211_channel));
- if (pmlmeext->channel_set[set_idx].ScanType == SCAN_PASSIVE)
+ if (pmlmeext->channel_set[set_idx].ScanType ==
+ SCAN_PASSIVE)
out[j].flags |= RTW_IEEE80211_CHAN_PASSIVE_SCAN;
j++;
@@ -5344,9 +5886,9 @@ static int rtw_scan_ch_decision(struct adapter *padapter, struct rtw_ieee80211_c
for (i = 0; i < pmlmeext->max_chan_nums; i++) {
if (j >= out_num) {
netdev_dbg(padapter->pnetdev,
- FUNC_ADPT_FMT " out_num:%u not enough\n",
- FUNC_ADPT_ARG(padapter),
- out_num);
+ FUNC_ADPT_FMT
+ " out_num:%u not enough\n",
+ FUNC_ADPT_ARG(padapter), out_num);
break;
}
@@ -5365,7 +5907,7 @@ static int rtw_scan_ch_decision(struct adapter *padapter, struct rtw_ieee80211_c
u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf)
{
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
- struct sitesurvey_parm *pparm = (struct sitesurvey_parm *)pbuf;
+ struct sitesurvey_parm *pparm = (struct sitesurvey_parm *)pbuf;
u8 bdelayscan = false;
u8 val8;
u32 initialgain;
@@ -5379,19 +5921,18 @@ u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf)
for (i = 0; i < RTW_SSID_SCAN_AMOUNT; i++) {
if (pparm->ssid[i].ssid_length) {
memcpy(pmlmeext->sitesurvey_res.ssid[i].ssid,
- pparm->ssid[i].ssid,
- IW_ESSID_MAX_SIZE);
+ pparm->ssid[i].ssid, IW_ESSID_MAX_SIZE);
pmlmeext->sitesurvey_res.ssid[i].ssid_length =
pparm->ssid[i].ssid_length;
} else {
- pmlmeext->sitesurvey_res.ssid[i].ssid_length = 0;
+ pmlmeext->sitesurvey_res.ssid[i].ssid_length =
+ 0;
}
}
- pmlmeext->sitesurvey_res.ch_num = rtw_scan_ch_decision(padapter
- , pmlmeext->sitesurvey_res.ch, RTW_CHANNEL_SCAN_AMOUNT
- , pparm->ch, pparm->ch_num
- );
+ pmlmeext->sitesurvey_res.ch_num = rtw_scan_ch_decision(
+ padapter, pmlmeext->sitesurvey_res.ch,
+ RTW_CHANNEL_SCAN_AMOUNT, pparm->ch, pparm->ch_num);
pmlmeext->sitesurvey_res.scan_mode = pparm->scan_mode;
@@ -5421,13 +5962,15 @@ u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf)
*/
initialgain = 0x1e;
- rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain));
+ rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN,
+ (u8 *)(&initialgain));
/* set MSR to no link state */
set_msr(padapter, _HW_STATE_NOLINK_);
val8 = 1; /* under site survey */
- rtw_hal_set_hwreg(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
+ rtw_hal_set_hwreg(padapter, HW_VAR_MLME_SITESURVEY,
+ (u8 *)(&val8));
pmlmeext->sitesurvey_res.state = SCAN_PROCESS;
}
@@ -5439,24 +5982,24 @@ u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf)
u8 setauth_hdl(struct adapter *padapter, unsigned char *pbuf)
{
- struct setauth_parm *pparm = (struct setauth_parm *)pbuf;
+ struct setauth_parm *pparm = (struct setauth_parm *)pbuf;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
if (pparm->mode < 4)
pmlmeinfo->auth_algo = pparm->mode;
- return H2C_SUCCESS;
+ return H2C_SUCCESS;
}
u8 setkey_hdl(struct adapter *padapter, u8 *pbuf)
{
u16 ctrl = 0;
s16 cam_id = 0;
- struct setkey_parm *pparm = (struct setkey_parm *)pbuf;
+ struct setkey_parm *pparm = (struct setkey_parm *)pbuf;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- unsigned char null_addr[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ unsigned char null_addr[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
u8 *addr;
/* main tx key for wep. */
@@ -5472,12 +6015,14 @@ u8 setkey_hdl(struct adapter *padapter, u8 *pbuf)
else
addr = null_addr;
- ctrl = BIT(15) | BIT(6) | ((pparm->algorithm) << 2) | pparm->keyid;
+ ctrl = BIT(15) | BIT(6) | ((pparm->algorithm) << 2) |
+ pparm->keyid;
write_cam(padapter, cam_id, ctrl, addr, pparm->key);
- netdev_dbg(padapter->pnetdev,
- "set group key camid:%d, addr:%pM, kid:%d, type:%s\n",
- cam_id, addr, pparm->keyid,
- security_type_str(pparm->algorithm));
+ netdev_dbg(
+ padapter->pnetdev,
+ "set group key camid:%d, addr:%pM, kid:%d, type:%s\n",
+ cam_id, addr, pparm->keyid,
+ security_type_str(pparm->algorithm));
}
if (cam_id >= 0 && cam_id <= 3)
@@ -5496,7 +6041,7 @@ u8 set_stakey_hdl(struct adapter *padapter, u8 *pbuf)
u8 ret = H2C_SUCCESS;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct set_stakey_parm *pparm = (struct set_stakey_parm *)pbuf;
+ struct set_stakey_parm *pparm = (struct set_stakey_parm *)pbuf;
struct sta_priv *pstapriv = &padapter->stapriv;
struct sta_info *psta;
@@ -5518,7 +6063,8 @@ u8 set_stakey_hdl(struct adapter *padapter, u8 *pbuf)
write_to_cam:
if (pparm->algorithm == _NO_PRIVACY_) {
- while ((cam_id = rtw_camid_search(padapter, pparm->addr, -1)) >= 0) {
+ while ((cam_id = rtw_camid_search(padapter, pparm->addr, -1)) >=
+ 0) {
netdev_dbg(padapter->pnetdev,
"clear key for addr:%pM, camid:%d\n",
pparm->addr, cam_id);
@@ -5526,10 +6072,11 @@ u8 set_stakey_hdl(struct adapter *padapter, u8 *pbuf)
rtw_camid_free(padapter, cam_id);
}
} else {
- netdev_dbg(padapter->pnetdev,
- "set pairwise key camid:%d, addr:%pM, kid:%d, type:%s\n",
- cam_id, pparm->addr, pparm->keyid,
- security_type_str(pparm->algorithm));
+ netdev_dbg(
+ padapter->pnetdev,
+ "set pairwise key camid:%d, addr:%pM, kid:%d, type:%s\n",
+ cam_id, pparm->addr, pparm->keyid,
+ security_type_str(pparm->algorithm));
ctrl = BIT(15) | ((pparm->algorithm) << 2) | pparm->keyid;
write_cam(padapter, cam_id, ctrl, pparm->addr, pparm->key);
}
@@ -5541,27 +6088,30 @@ u8 set_stakey_hdl(struct adapter *padapter, u8 *pbuf)
u8 add_ba_hdl(struct adapter *padapter, unsigned char *pbuf)
{
- struct addBaReq_parm *pparm = (struct addBaReq_parm *)pbuf;
+ struct addBaReq_parm *pparm = (struct addBaReq_parm *)pbuf;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, pparm->addr);
+ struct sta_info *psta =
+ rtw_get_stainfo(&padapter->stapriv, pparm->addr);
if (!psta)
- return H2C_SUCCESS;
+ return H2C_SUCCESS;
- if (((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) && (pmlmeinfo->HT_enable)) ||
- ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE)) {
+ if (((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) &&
+ (pmlmeinfo->HT_enable)) ||
+ ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) {
/* pmlmeinfo->ADDBA_retry_count = 0; */
/* pmlmeinfo->candidate_tid_bitmap |= (0x1 << pparm->tid); */
/* psta->htpriv.candidate_tid_bitmap |= BIT(pparm->tid); */
- issue_action_BA(padapter, pparm->addr, WLAN_ACTION_ADDBA_REQ, (u16)pparm->tid);
+ issue_action_BA(padapter, pparm->addr, WLAN_ACTION_ADDBA_REQ,
+ (u16)pparm->tid);
/* _set_timer(&pmlmeext->ADDBA_timer, ADDBA_TO); */
_set_timer(&psta->addba_retry_timer, ADDBA_TO);
} else {
psta->htpriv.candidate_tid_bitmap &= ~BIT(pparm->tid);
}
- return H2C_SUCCESS;
+ return H2C_SUCCESS;
}
u8 chk_bmc_sleepq_cmd(struct adapter *padapter)
@@ -5586,8 +6136,8 @@ u8 chk_bmc_sleepq_cmd(struct adapter *padapter)
u8 set_tx_beacon_cmd(struct adapter *padapter)
{
- struct cmd_obj *ph2c;
- struct Tx_Beacon_param *ptxBeacon_parm;
+ struct cmd_obj *ph2c;
+ struct Tx_Beacon_param *ptxBeacon_parm;
struct cmd_priv *pcmdpriv = &(padapter->cmdpriv);
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
@@ -5607,14 +6157,17 @@ u8 set_tx_beacon_cmd(struct adapter *padapter)
goto exit;
}
- memcpy(&(ptxBeacon_parm->network), &(pmlmeinfo->network), sizeof(struct wlan_bssid_ex));
+ memcpy(&(ptxBeacon_parm->network), &(pmlmeinfo->network),
+ sizeof(struct wlan_bssid_ex));
- len_diff = update_hidden_ssid(ptxBeacon_parm->network.ies + _BEACON_IE_OFFSET_,
- ptxBeacon_parm->network.ie_length - _BEACON_IE_OFFSET_,
- pmlmeinfo->hidden_ssid_mode);
+ len_diff = update_hidden_ssid(
+ ptxBeacon_parm->network.ies + _BEACON_IE_OFFSET_,
+ ptxBeacon_parm->network.ie_length - _BEACON_IE_OFFSET_,
+ pmlmeinfo->hidden_ssid_mode);
ptxBeacon_parm->network.ie_length += len_diff;
- init_h2fwcmd_w_parm_no_rsp(ph2c, ptxBeacon_parm, GEN_CMD_CODE(_TX_Beacon));
+ init_h2fwcmd_w_parm_no_rsp(ph2c, ptxBeacon_parm,
+ GEN_CMD_CODE(_TX_Beacon));
res = rtw_enqueue_cmd(pcmdpriv, ph2c);
@@ -5623,33 +6176,34 @@ u8 set_tx_beacon_cmd(struct adapter *padapter)
}
static struct fwevent wlanevents[] = {
- {0, rtw_dummy_event_callback}, /*0*/
- {0, NULL},
- {0, NULL},
- {0, NULL},
- {0, NULL},
- {0, NULL},
- {0, NULL},
- {0, NULL},
- {0, &rtw_survey_event_callback}, /*8*/
- {sizeof(struct surveydone_event), &rtw_surveydone_event_callback}, /*9*/
-
- {0, &rtw_joinbss_event_callback}, /*10*/
- {sizeof(struct stassoc_event), &rtw_stassoc_event_callback},
- {sizeof(struct stadel_event), &rtw_stadel_event_callback},
- {0, &rtw_atimdone_event_callback},
- {0, rtw_dummy_event_callback},
- {0, NULL}, /*15*/
- {0, NULL},
- {0, NULL},
- {0, NULL},
- {0, rtw_fwdbg_event_callback},
- {0, NULL}, /*20*/
- {0, NULL},
- {0, NULL},
- {0, &rtw_cpwm_event_callback},
- {0, NULL},
- {0, &rtw_wmm_event_callback},
+ { 0, rtw_dummy_event_callback }, /*0*/
+ { 0, NULL },
+ { 0, NULL },
+ { 0, NULL },
+ { 0, NULL },
+ { 0, NULL },
+ { 0, NULL },
+ { 0, NULL },
+ { 0, &rtw_survey_event_callback }, /*8*/
+ { sizeof(struct surveydone_event),
+ &rtw_surveydone_event_callback }, /*9*/
+
+ { 0, &rtw_joinbss_event_callback }, /*10*/
+ { sizeof(struct stassoc_event), &rtw_stassoc_event_callback },
+ { sizeof(struct stadel_event), &rtw_stadel_event_callback },
+ { 0, &rtw_atimdone_event_callback },
+ { 0, rtw_dummy_event_callback },
+ { 0, NULL }, /*15*/
+ { 0, NULL },
+ { 0, NULL },
+ { 0, NULL },
+ { 0, rtw_fwdbg_event_callback },
+ { 0, NULL }, /*20*/
+ { 0, NULL },
+ { 0, NULL },
+ { 0, &rtw_cpwm_event_callback },
+ { 0, NULL },
+ { 0, &rtw_wmm_event_callback },
};
@@ -5657,7 +6211,7 @@ u8 mlme_evt_hdl(struct adapter *padapter, unsigned char *pbuf)
{
u8 evt_code;
u16 evt_sz;
- uint *peventbuf;
+ uint *peventbuf;
void (*event_callback)(struct adapter *dev, u8 *pbuf);
struct evt_priv *pevt_priv = &(padapter->evtpriv);
@@ -5706,7 +6260,7 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf)
struct list_head *xmitframe_plist, *xmitframe_phead, *tmp;
struct xmit_frame *pxmitframe = NULL;
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
- struct sta_priv *pstapriv = &padapter->stapriv;
+ struct sta_priv *pstapriv = &padapter->stapriv;
/* for BC/MC Frames */
psta_bmc = rtw_get_bcmc_stainfo(padapter);
@@ -5714,7 +6268,7 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf)
return H2C_SUCCESS;
if ((pstapriv->tim_bitmap & BIT(0)) && (psta_bmc->sleepq_len > 0)) {
- msleep(10);/* 10ms, ATIM(HIQ) Windows */
+ msleep(10); /* 10ms, ATIM(HIQ) Windows */
/* spin_lock_bh(&psta_bmc->sleep_q.lock); */
spin_lock_bh(&pxmitpriv->lock);
@@ -5735,7 +6289,7 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf)
pxmitframe->attrib.triggered = 1;
if (xmitframe_hiq_filter(pxmitframe))
- pxmitframe->attrib.qsel = 0x11;/* HIQ */
+ pxmitframe->attrib.qsel = 0x11; /* HIQ */
rtw_hal_xmitframe_enqueue(padapter, pxmitframe);
}
@@ -5761,7 +6315,8 @@ u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf)
return H2C_SUCCESS;
}
-int rtw_chk_start_clnt_join(struct adapter *padapter, u8 *ch, u8 *bw, u8 *offset)
+int rtw_chk_start_clnt_join(struct adapter *padapter, u8 *ch, u8 *bw,
+ u8 *offset)
{
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
unsigned char cur_ch = pmlmeext->cur_channel;
@@ -5797,9 +6352,10 @@ u8 set_ch_hdl(struct adapter *padapter, u8 *pbuf)
pmlmeext->cur_ch_offset = set_ch_parm->ch_offset;
pmlmeext->cur_bwmode = set_ch_parm->bw;
- set_channel_bwmode(padapter, set_ch_parm->ch, set_ch_parm->ch_offset, set_ch_parm->bw);
+ set_channel_bwmode(padapter, set_ch_parm->ch, set_ch_parm->ch_offset,
+ set_ch_parm->bw);
- return H2C_SUCCESS;
+ return H2C_SUCCESS;
}
u8 set_chplan_hdl(struct adapter *padapter, unsigned char *pbuf)
@@ -5812,13 +6368,11 @@ u8 set_chplan_hdl(struct adapter *padapter, unsigned char *pbuf)
setChannelPlan_param = (struct SetChannelPlan_param *)pbuf;
- pmlmeext->max_chan_nums = init_channel_set(padapter,
- setChannelPlan_param->channel_plan,
- pmlmeext->channel_set);
- init_channel_list(padapter,
- pmlmeext->channel_set,
- pmlmeext->max_chan_nums,
- &pmlmeext->channel_list);
+ pmlmeext->max_chan_nums =
+ init_channel_set(padapter, setChannelPlan_param->channel_plan,
+ pmlmeext->channel_set);
+ init_channel_list(padapter, pmlmeext->channel_set,
+ pmlmeext->max_chan_nums, &pmlmeext->channel_list);
if (padapter->rtw_wdev && padapter->rtw_wdev->wiphy) {
struct regulatory_request request;
@@ -5827,12 +6381,12 @@ u8 set_chplan_hdl(struct adapter *padapter, unsigned char *pbuf)
rtw_reg_notifier(padapter->rtw_wdev->wiphy, &request);
}
- return H2C_SUCCESS;
+ return H2C_SUCCESS;
}
u8 set_csa_hdl(struct adapter *padapter, unsigned char *pbuf)
{
- return H2C_REJECTED;
+ return H2C_REJECTED;
}
/* TDLS_ESTABLISHED : write RCR DATA BIT */
diff --git a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
index b9f8cf1014ede..d62dc1daa1f87 100644
--- a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
+++ b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c
@@ -96,19 +96,21 @@ static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
if (check_fwstate(pmlmepriv, WIFI_ASOC_STATE | WIFI_SITE_MONITOR) ||
check_fwstate(pmlmepriv, WIFI_UNDER_LINKING | WIFI_UNDER_WPS) ||
check_fwstate(pmlmepriv, WIFI_AP_STATE) ||
- check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE)
- )
+ check_fwstate(pmlmepriv,
+ WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE))
goto exit;
/* consider buddy, if exist */
if (buddy) {
struct mlme_priv *b_pmlmepriv = &buddy->mlmepriv;
- if (check_fwstate(b_pmlmepriv, WIFI_ASOC_STATE | WIFI_SITE_MONITOR) ||
- check_fwstate(b_pmlmepriv, WIFI_UNDER_LINKING | WIFI_UNDER_WPS) ||
+ if (check_fwstate(b_pmlmepriv,
+ WIFI_ASOC_STATE | WIFI_SITE_MONITOR) ||
+ check_fwstate(b_pmlmepriv,
+ WIFI_UNDER_LINKING | WIFI_UNDER_WPS) ||
check_fwstate(b_pmlmepriv, WIFI_AP_STATE) ||
- check_fwstate(b_pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE)
- )
+ check_fwstate(b_pmlmepriv,
+ WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE))
goto exit;
}
@@ -155,7 +157,8 @@ void rtw_ps_processor(struct adapter *padapter)
if (!rtw_pwr_unassociated_idle(padapter))
goto exit;
- if ((pwrpriv->rf_pwrstate == rf_on) && ((pwrpriv->pwr_state_check_cnts % 4) == 0)) {
+ if ((pwrpriv->rf_pwrstate == rf_on) &&
+ ((pwrpriv->pwr_state_check_cnts % 4) == 0)) {
pwrpriv->change_rfpwrstate = rf_off;
{
ips_enter(padapter);
@@ -174,7 +177,8 @@ static void pwr_state_check_handler(struct timer_list *t)
rtw_ps_cmd(padapter);
}
-void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets)
+void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx,
+ u32 tx_packets)
{
static unsigned long start_time;
static u32 xmit_cnt;
@@ -187,10 +191,12 @@ void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets
if (start_time == 0)
start_time = jiffies;
- if (jiffies_to_msecs(jiffies - start_time) > 2000) { /* 2 sec == watch dog timer */
+ if (jiffies_to_msecs(jiffies - start_time) >
+ 2000) { /* 2 sec == watch dog timer */
if (xmit_cnt > 8) {
if (adapter_to_pwrctl(padapter)->bLeisurePs &&
- (adapter_to_pwrctl(padapter)->pwr_mode != PS_MODE_ACTIVE) &&
+ (adapter_to_pwrctl(padapter)->pwr_mode !=
+ PS_MODE_ACTIVE) &&
!(hal_btcoex_IsBtControlLps(padapter))) {
bLeaveLPS = true;
}
@@ -201,9 +207,11 @@ void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets
}
} else { /* from rx path */
- if (pmlmepriv->link_detect_info.num_rx_unicast_ok_in_period > 4) {
+ if (pmlmepriv->link_detect_info.num_rx_unicast_ok_in_period >
+ 4) {
if (adapter_to_pwrctl(padapter)->bLeisurePs &&
- (adapter_to_pwrctl(padapter)->pwr_mode != PS_MODE_ACTIVE) &&
+ (adapter_to_pwrctl(padapter)->pwr_mode !=
+ PS_MODE_ACTIVE) &&
!(hal_btcoex_IsBtControlLps(padapter)))
bLeaveLPS = true;
}
@@ -281,7 +289,8 @@ void rtw_set_rpwm(struct adapter *padapter, u8 pslv)
break;
}
- if (jiffies_to_msecs(jiffies - start_time) > LPS_RPWM_WAIT_MS) {
+ if (jiffies_to_msecs(jiffies - start_time) >
+ LPS_RPWM_WAIT_MS) {
_set_timer(&pwrpriv->pwr_rpwm_timer, 1);
break;
}
@@ -310,9 +319,9 @@ static u8 PS_RDY_CHECK(struct adapter *padapter)
if (check_fwstate(pmlmepriv, WIFI_SITE_MONITOR) ||
check_fwstate(pmlmepriv, WIFI_UNDER_LINKING | WIFI_UNDER_WPS) ||
check_fwstate(pmlmepriv, WIFI_AP_STATE) ||
- check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE) ||
- rtw_is_scan_deny(padapter)
- )
+ check_fwstate(pmlmepriv,
+ WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE) ||
+ rtw_is_scan_deny(padapter))
return false;
if (padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X &&
@@ -325,8 +334,8 @@ static u8 PS_RDY_CHECK(struct adapter *padapter)
return true;
}
-void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode,
- u8 smart_ps, u8 bcn_ant_mode, const char *msg)
+void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps,
+ u8 bcn_ant_mode, const char *msg)
{
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
@@ -343,11 +352,12 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode,
if (ps_mode == PS_MODE_ACTIVE) {
if (!(hal_btcoex_IsBtControlLps(padapter)) ||
(hal_btcoex_IsBtControlLps(padapter) &&
- !(hal_btcoex_IsLpsOn(padapter)))) {
+ !(hal_btcoex_IsLpsOn(padapter)))) {
pwrpriv->pwr_mode = ps_mode;
rtw_set_rpwm(padapter, PS_STATE_S4);
- rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
+ rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE,
+ (u8 *)(&ps_mode));
pwrpriv->fw_current_in_ps_mode = false;
hal_btcoex_LpsNotify(padapter, ps_mode);
@@ -355,8 +365,8 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode,
} else {
if ((PS_RDY_CHECK(padapter) &&
check_fwstate(&padapter->mlmepriv, WIFI_ASOC_STATE)) ||
- ((hal_btcoex_IsBtControlLps(padapter)) && (hal_btcoex_IsLpsOn(padapter)))
- ) {
+ ((hal_btcoex_IsBtControlLps(padapter)) &&
+ (hal_btcoex_IsLpsOn(padapter)))) {
u8 pslv;
hal_btcoex_LpsNotify(padapter, ps_mode);
@@ -365,7 +375,8 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode,
pwrpriv->pwr_mode = ps_mode;
pwrpriv->smart_ps = smart_ps;
pwrpriv->bcn_ant_mode = bcn_ant_mode;
- rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
+ rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE,
+ (u8 *)(&ps_mode));
pslv = PS_STATE_S2;
if (pwrpriv->alives == 0)
@@ -426,7 +437,7 @@ void LPS_Enter(struct adapter *padapter, const char *msg)
struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
struct pwrctrl_priv *pwrpriv = dvobj_to_pwrctl(dvobj);
int n_assoc_iface = 0;
- char buf[32] = {0};
+ char buf[32] = { 0 };
if (hal_btcoex_IsBtControlLps(padapter))
return;
@@ -447,7 +458,8 @@ void LPS_Enter(struct adapter *padapter, const char *msg)
scnprintf(buf, sizeof(buf), "WIFI-%s", msg);
pwrpriv->bpower_saving = true;
rtw_set_ps_mode(padapter, pwrpriv->power_mgnt,
- padapter->registrypriv.smart_ps, 0, buf);
+ padapter->registrypriv.smart_ps,
+ 0, buf);
}
} else {
pwrpriv->LpsIdleCount++;
@@ -462,7 +474,7 @@ void LPS_Leave(struct adapter *padapter, const char *msg)
struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
struct pwrctrl_priv *pwrpriv = dvobj_to_pwrctl(dvobj);
- char buf[32] = {0};
+ char buf[32] = { 0 };
if (hal_btcoex_IsBtControlLps(padapter))
return;
@@ -541,7 +553,7 @@ void LeaveAllPowerSaveMode(struct adapter *Adapter)
void LPS_Leave_check(struct adapter *padapter)
{
struct pwrctrl_priv *pwrpriv;
- unsigned long start_time;
+ unsigned long start_time;
u8 bReady;
pwrpriv = adapter_to_pwrctl(padapter);
@@ -578,7 +590,8 @@ void LPS_Leave_check(struct adapter *padapter)
*
* using to update cpwn of drv; and drv will make a decision to up or down pwr level
*/
-void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportpwrstate)
+void cpwm_int_hdl(struct adapter *padapter,
+ struct reportpwrstate_parm *preportpwrstate)
{
struct pwrctrl_priv *pwrpriv;
@@ -606,7 +619,8 @@ void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportp
static void cpwm_event_callback(struct work_struct *work)
{
- struct pwrctrl_priv *pwrpriv = container_of(work, struct pwrctrl_priv, cpwm_event);
+ struct pwrctrl_priv *pwrpriv =
+ container_of(work, struct pwrctrl_priv, cpwm_event);
struct dvobj_priv *dvobj = pwrctl_to_dvobj(pwrpriv);
struct adapter *adapter = dvobj->if1;
struct reportpwrstate_parm report;
@@ -658,8 +672,8 @@ static void rpwmtimeout_workitem_callback(struct work_struct *work)
*/
static void pwr_rpwm_timeout_handler(struct timer_list *t)
{
- struct pwrctrl_priv *pwrpriv = timer_container_of(pwrpriv, t,
- pwr_rpwm_timer);
+ struct pwrctrl_priv *pwrpriv =
+ timer_container_of(pwrpriv, t, pwr_rpwm_timer);
if ((pwrpriv->rpwm == pwrpriv->cpwm) || (pwrpriv->cpwm >= PS_STATE_S2))
return;
@@ -742,7 +756,8 @@ void rtw_unregister_task_alive(struct adapter *padapter, u32 task)
pwrctrl = adapter_to_pwrctl(padapter);
pslv = PS_STATE_S0;
- if (!(hal_btcoex_IsBtDisabled(padapter)) && hal_btcoex_IsBtControlLps(padapter)) {
+ if (!(hal_btcoex_IsBtDisabled(padapter)) &&
+ hal_btcoex_IsBtControlLps(padapter)) {
u8 val8;
val8 = hal_btcoex_LpsVal(padapter);
@@ -754,7 +769,8 @@ void rtw_unregister_task_alive(struct adapter *padapter, u32 task)
unregister_task_alive(pwrctrl, task);
- if ((pwrctrl->pwr_mode != PS_MODE_ACTIVE) && pwrctrl->fw_current_in_ps_mode) {
+ if ((pwrctrl->pwr_mode != PS_MODE_ACTIVE) &&
+ pwrctrl->fw_current_in_ps_mode) {
if (pwrctrl->cpwm > pslv) {
if ((pslv >= PS_STATE_S2) || (pwrctrl->alives == 0))
rtw_set_rpwm(padapter, pslv);
@@ -869,7 +885,8 @@ void rtw_unregister_tx_alive(struct adapter *padapter)
pwrctrl = adapter_to_pwrctl(padapter);
pslv = PS_STATE_S0;
- if (!(hal_btcoex_IsBtDisabled(padapter)) && hal_btcoex_IsBtControlLps(padapter)) {
+ if (!(hal_btcoex_IsBtDisabled(padapter)) &&
+ hal_btcoex_IsBtControlLps(padapter)) {
u8 val8;
val8 = hal_btcoex_LpsVal(padapter);
@@ -881,7 +898,8 @@ void rtw_unregister_tx_alive(struct adapter *padapter)
unregister_task_alive(pwrctrl, XMIT_ALIVE);
- if ((pwrctrl->pwr_mode != PS_MODE_ACTIVE) && pwrctrl->fw_current_in_ps_mode) {
+ if ((pwrctrl->pwr_mode != PS_MODE_ACTIVE) &&
+ pwrctrl->fw_current_in_ps_mode) {
if (pwrctrl->cpwm > pslv)
if ((pslv >= PS_STATE_S2) || (pwrctrl->alives == 0))
rtw_set_rpwm(padapter, pslv);
@@ -905,7 +923,8 @@ void rtw_unregister_cmd_alive(struct adapter *padapter)
pwrctrl = adapter_to_pwrctl(padapter);
pslv = PS_STATE_S0;
- if (!(hal_btcoex_IsBtDisabled(padapter)) && hal_btcoex_IsBtControlLps(padapter)) {
+ if (!(hal_btcoex_IsBtDisabled(padapter)) &&
+ hal_btcoex_IsBtControlLps(padapter)) {
u8 val8;
val8 = hal_btcoex_LpsVal(padapter);
@@ -917,7 +936,8 @@ void rtw_unregister_cmd_alive(struct adapter *padapter)
unregister_task_alive(pwrctrl, CMD_ALIVE);
- if ((pwrctrl->pwr_mode != PS_MODE_ACTIVE) && pwrctrl->fw_current_in_ps_mode) {
+ if ((pwrctrl->pwr_mode != PS_MODE_ACTIVE) &&
+ pwrctrl->fw_current_in_ps_mode) {
if (pwrctrl->cpwm > pslv) {
if ((pslv >= PS_STATE_S2) || (pwrctrl->alives == 0))
rtw_set_rpwm(padapter, pslv);
@@ -947,7 +967,8 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
pwrctrlpriv->bkeepfwalive = false;
pwrctrlpriv->LpsIdleCount = 0;
- pwrctrlpriv->power_mgnt = padapter->registrypriv.power_mgnt;/* PS_MODE_MIN; */
+ pwrctrlpriv->power_mgnt =
+ padapter->registrypriv.power_mgnt; /* PS_MODE_MIN; */
pwrctrlpriv->bLeisurePs = pwrctrlpriv->power_mgnt != PS_MODE_ACTIVE;
pwrctrlpriv->fw_current_in_ps_mode = false;
@@ -962,13 +983,15 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
pwrctrlpriv->tog = 0x80;
- rtw_hal_set_hwreg(padapter, HW_VAR_SET_RPWM, (u8 *)(&pwrctrlpriv->rpwm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_SET_RPWM,
+ (u8 *)(&pwrctrlpriv->rpwm));
_init_workitem(&pwrctrlpriv->cpwm_event, cpwm_event_callback, NULL);
pwrctrlpriv->brpwmtimeout = false;
pwrctrlpriv->adapter = padapter;
- _init_workitem(&pwrctrlpriv->rpwmtimeoutwi, rpwmtimeout_workitem_callback, NULL);
+ _init_workitem(&pwrctrlpriv->rpwmtimeoutwi,
+ rpwmtimeout_workitem_callback, NULL);
timer_setup(&pwrctrlpriv->pwr_rpwm_timer, pwr_rpwm_timeout_handler, 0);
timer_setup(&pwrctrlpriv->pwr_state_check_timer,
pwr_state_check_handler, 0);
@@ -995,7 +1018,8 @@ inline void rtw_set_ips_deny(struct adapter *padapter, u32 ms)
* Return _SUCCESS or _FAIL
*/
-int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *caller)
+int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms,
+ const char *caller)
{
struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
struct pwrctrl_priv *pwrpriv = dvobj_to_pwrctl(dvobj);
@@ -1015,12 +1039,13 @@ int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *cal
pwrpriv->ips_deny_time = deny_time;
if (pwrpriv->ps_processing)
- while (pwrpriv->ps_processing && jiffies_to_msecs(jiffies - start) <= 3000)
+ while (pwrpriv->ps_processing &&
+ jiffies_to_msecs(jiffies - start) <= 3000)
mdelay(10);
if (!(pwrpriv->bInternalAutoSuspend) && pwrpriv->bInSuspend)
- while (pwrpriv->bInSuspend && jiffies_to_msecs(jiffies - start) <= 3000
- )
+ while (pwrpriv->bInSuspend &&
+ jiffies_to_msecs(jiffies - start) <= 3000)
mdelay(10);
/* System suspend is not allowed to wakeup */
@@ -1030,7 +1055,7 @@ int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *cal
}
/* block??? */
- if (pwrpriv->bInternalAutoSuspend && padapter->net_closed) {
+ if (pwrpriv->bInternalAutoSuspend && padapter->net_closed) {
ret = _FAIL;
goto exit;
}
@@ -1051,7 +1076,8 @@ int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *cal
}
/* TODO: the following checking need to be merged... */
- if (padapter->bDriverStopped || !padapter->bup || !padapter->hw_init_completed) {
+ if (padapter->bDriverStopped || !padapter->bup ||
+ !padapter->hw_init_completed) {
ret = false;
goto exit;
}
@@ -1065,7 +1091,7 @@ int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *cal
int rtw_pm_set_lps(struct adapter *padapter, u8 mode)
{
- int ret = 0;
+ int ret = 0;
struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(padapter);
if (mode < PS_MODE_NUM) {
@@ -1076,8 +1102,8 @@ int rtw_pm_set_lps(struct adapter *padapter, u8 mode)
pwrctrlpriv->LpsIdleCount = 2;
pwrctrlpriv->power_mgnt = mode;
- pwrctrlpriv->bLeisurePs =
- pwrctrlpriv->power_mgnt != PS_MODE_ACTIVE;
+ pwrctrlpriv->bLeisurePs = pwrctrlpriv->power_mgnt !=
+ PS_MODE_ACTIVE;
}
} else {
ret = -EINVAL;
@@ -1095,7 +1121,8 @@ int rtw_pm_set_ips(struct adapter *padapter, u8 mode)
return 0;
} else if (mode == IPS_NONE) {
rtw_ips_mode_req(pwrctrlpriv, mode);
- if ((padapter->bSurpriseRemoved == 0) && (rtw_pwr_wakeup(padapter) == _FAIL))
+ if ((padapter->bSurpriseRemoved == 0) &&
+ (rtw_pwr_wakeup(padapter) == _FAIL))
return -EFAULT;
} else {
return -EINVAL;
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 86c5e2c4e7ddd..19d5af75cc95e 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -10,8 +10,8 @@
#include <net/cfg80211.h>
#include <linux/unaligned.h>
-static u8 SNAP_ETH_TYPE_IPX[2] = {0x81, 0x37};
-static u8 SNAP_ETH_TYPE_APPLETALK_AARP[2] = {0x80, 0xf3};
+static u8 SNAP_ETH_TYPE_IPX[2] = { 0x81, 0x37 };
+static u8 SNAP_ETH_TYPE_APPLETALK_AARP[2] = { 0x80, 0xf3 };
static void rtw_signal_stat_timer_hdl(struct timer_list *t);
@@ -25,11 +25,12 @@ void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv)
spin_lock_init(&psta_recvpriv->defrag_q.lock);
}
-signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)
+signed int _rtw_init_recv_priv(struct recv_priv *precvpriv,
+ struct adapter *padapter)
{
signed int i;
union recv_frame *precvframe;
- signed int res = _SUCCESS;
+ signed int res = _SUCCESS;
spin_lock_init(&precvpriv->lock);
@@ -44,23 +45,26 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada
precvpriv->free_recvframe_cnt = NR_RECVFRAME;
- precvpriv->pallocated_frame_buf = vzalloc(NR_RECVFRAME * sizeof(union recv_frame) + RXFRAME_ALIGN_SZ);
+ precvpriv->pallocated_frame_buf = vzalloc(
+ NR_RECVFRAME * sizeof(union recv_frame) + RXFRAME_ALIGN_SZ);
if (!precvpriv->pallocated_frame_buf) {
res = _FAIL;
goto exit;
}
- precvpriv->precv_frame_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(precvpriv->pallocated_frame_buf), RXFRAME_ALIGN_SZ);
+ precvpriv->precv_frame_buf = (u8 *)N_BYTE_ALIGMENT(
+ (SIZE_PTR)(precvpriv->pallocated_frame_buf), RXFRAME_ALIGN_SZ);
/* precvpriv->precv_frame_buf = precvpriv->pallocated_frame_buf + RXFRAME_ALIGN_SZ - */
/* ((SIZE_PTR) (precvpriv->pallocated_frame_buf) &(RXFRAME_ALIGN_SZ-1)); */
- precvframe = (union recv_frame *) precvpriv->precv_frame_buf;
+ precvframe = (union recv_frame *)precvpriv->precv_frame_buf;
for (i = 0; i < NR_RECVFRAME; i++) {
INIT_LIST_HEAD(&(precvframe->u.list));
- list_add_tail(&(precvframe->u.list), &(precvpriv->free_recv_queue.queue));
+ list_add_tail(&(precvframe->u.list),
+ &(precvpriv->free_recv_queue.queue));
precvframe->u.hdr.pkt_newalloc = NULL;
precvframe->u.hdr.pkt = NULL;
@@ -88,7 +92,7 @@ void _rtw_free_recv_priv(struct recv_priv *precvpriv)
{
signed int i;
union recv_frame *precvframe;
- struct adapter *padapter = precvpriv->adapter;
+ struct adapter *padapter = precvpriv->adapter;
rtw_free_uc_swdec_pending_queue(padapter);
@@ -110,8 +114,8 @@ void _rtw_free_recv_priv(struct recv_priv *precvpriv)
union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue)
{
- union recv_frame *precvframe;
- struct list_head *plist, *phead;
+ union recv_frame *precvframe;
+ struct list_head *plist, *phead;
struct adapter *padapter;
struct recv_priv *precvpriv;
@@ -137,7 +141,7 @@ union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue)
union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue)
{
- union recv_frame *precvframe;
+ union recv_frame *precvframe;
spin_lock_bh(&pfree_recv_queue->lock);
@@ -148,13 +152,15 @@ union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue)
return precvframe;
}
-int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue)
+int rtw_free_recvframe(union recv_frame *precvframe,
+ struct __queue *pfree_recv_queue)
{
struct adapter *padapter = precvframe->u.hdr.adapter;
struct recv_priv *precvpriv = &padapter->recvpriv;
if (precvframe->u.hdr.pkt) {
- dev_kfree_skb_any(precvframe->u.hdr.pkt);/* free skb by driver */
+ dev_kfree_skb_any(
+ precvframe->u.hdr.pkt); /* free skb by driver */
precvframe->u.hdr.pkt = NULL;
}
@@ -164,7 +170,8 @@ int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_
precvframe->u.hdr.len = 0;
- list_add_tail(&(precvframe->u.hdr.list), get_list_head(pfree_recv_queue));
+ list_add_tail(&(precvframe->u.hdr.list),
+ get_list_head(pfree_recv_queue));
if (padapter) {
if (pfree_recv_queue == &precvpriv->free_recv_queue)
@@ -174,7 +181,8 @@ int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_
return _SUCCESS;
}
-signed int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue)
+signed int _rtw_enqueue_recvframe(union recv_frame *precvframe,
+ struct __queue *queue)
{
struct adapter *padapter = precvframe->u.hdr.adapter;
struct recv_priv *precvpriv = &padapter->recvpriv;
@@ -191,7 +199,8 @@ signed int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *
return _SUCCESS;
}
-signed int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue)
+signed int rtw_enqueue_recvframe(union recv_frame *precvframe,
+ struct __queue *queue)
{
signed int ret;
@@ -212,10 +221,11 @@ signed int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *q
*
*/
-void rtw_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue)
+void rtw_free_recvframe_queue(struct __queue *pframequeue,
+ struct __queue *pfree_recv_queue)
{
- union recv_frame *precvframe;
- struct list_head *plist, *phead;
+ union recv_frame *precvframe;
+ struct list_head *plist, *phead;
spin_lock(&pframequeue->lock);
@@ -238,15 +248,18 @@ u32 rtw_free_uc_swdec_pending_queue(struct adapter *adapter)
u32 cnt = 0;
union recv_frame *pending_frame;
- while ((pending_frame = rtw_alloc_recvframe(&adapter->recvpriv.uc_swdec_pending_queue))) {
- rtw_free_recvframe(pending_frame, &adapter->recvpriv.free_recv_queue);
+ while ((pending_frame = rtw_alloc_recvframe(
+ &adapter->recvpriv.uc_swdec_pending_queue))) {
+ rtw_free_recvframe(pending_frame,
+ &adapter->recvpriv.free_recv_queue);
cnt++;
}
return cnt;
}
-signed int rtw_enqueue_recvbuf_to_head(struct recv_buf *precvbuf, struct __queue *queue)
+signed int rtw_enqueue_recvbuf_to_head(struct recv_buf *precvbuf,
+ struct __queue *queue)
{
spin_lock_bh(&queue->lock);
@@ -272,7 +285,7 @@ signed int rtw_enqueue_recvbuf(struct recv_buf *precvbuf, struct __queue *queue)
struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue)
{
struct recv_buf *precvbuf;
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
spin_lock_bh(&queue->lock);
@@ -297,7 +310,7 @@ static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup)
{
enum nl80211_key_type key_type = 0;
union iwreq_data wrqu;
- struct iw_michaelmicfailure ev;
+ struct iw_michaelmicfailure ev;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct security_priv *psecuritypriv = &padapter->securitypriv;
unsigned long cur_time = 0;
@@ -321,8 +334,9 @@ static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup)
else
key_type |= NL80211_KEYTYPE_PAIRWISE;
- cfg80211_michael_mic_failure(padapter->pnetdev, (u8 *)&pmlmepriv->assoc_bssid[0], key_type, -1,
- NULL, GFP_ATOMIC);
+ cfg80211_michael_mic_failure(padapter->pnetdev,
+ (u8 *)&pmlmepriv->assoc_bssid[0], key_type,
+ -1, NULL, GFP_ATOMIC);
memset(&ev, 0x00, sizeof(ev));
if (bgroup)
@@ -337,9 +351,10 @@ static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup)
wrqu.data.length = sizeof(ev);
}
-static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe)
+static signed int recvframe_chkmic(struct adapter *adapter,
+ union recv_frame *precvframe)
{
- signed int i, res = _SUCCESS;
+ signed int i, res = _SUCCESS;
u32 datalen;
u8 miccode[8];
u8 bmic_err = false, brpt_micerror = true;
@@ -362,7 +377,10 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p
/* mickey =&psecuritypriv->dot118021XGrprxmickey.skey[0]; */
/* iv = precvframe->u.hdr.rx_data+prxattrib->hdrlen; */
/* rxdata_key_idx =(((iv[3])>>6)&0x3) ; */
- mickey = &psecuritypriv->dot118021XGrprxmickey[prxattrib->key_index].skey[0];
+ mickey = &psecuritypriv
+ ->dot118021XGrprxmickey
+ [prxattrib->key_index]
+ .skey[0];
/* psecuritypriv->dot118021XGrpKeyid, pmlmeinfo->key_index, rxdata_key_idx); */
@@ -374,11 +392,17 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p
mickey = &stainfo->dot11tkiprxmickey.skey[0];
}
- datalen = precvframe->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len - prxattrib->icv_len - 8;/* icv_len included the mic code */
+ datalen = precvframe->u.hdr.len - prxattrib->hdrlen -
+ prxattrib->iv_len - prxattrib->icv_len -
+ 8; /* icv_len included the mic code */
pframe = precvframe->u.hdr.rx_data;
- payload = pframe + prxattrib->hdrlen + prxattrib->iv_len;
+ payload =
+ pframe + prxattrib->hdrlen + prxattrib->iv_len;
- rtw_seccalctkipmic(mickey, pframe, payload, datalen, &miccode[0], (unsigned char)prxattrib->priority); /* care the length of the data */
+ rtw_seccalctkipmic(
+ mickey, pframe, payload, datalen, &miccode[0],
+ (unsigned char)prxattrib
+ ->priority); /* care the length of the data */
pframemic = payload + datalen;
@@ -393,11 +417,15 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p
/* double check key_index for some timing issue , */
/* cannot compare with psecuritypriv->dot118021XGrpKeyid also cause timing issue */
if (is_multicast_ether_addr(prxattrib->ra) &&
- (prxattrib->key_index != pmlmeinfo->key_index))
+ (prxattrib->key_index !=
+ pmlmeinfo->key_index))
brpt_micerror = false;
if (prxattrib->bdecrypted && brpt_micerror)
- rtw_handle_tkip_mic_err(adapter, (u8)is_multicast_ether_addr(prxattrib->ra));
+ rtw_handle_tkip_mic_err(
+ adapter,
+ (u8)is_multicast_ether_addr(
+ prxattrib->ra));
res = _FAIL;
@@ -417,12 +445,13 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p
}
/* decrypt and set the ivlen, icvlen of the recv_frame */
-static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *precv_frame)
+static union recv_frame *decryptor(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
struct rx_pkt_attrib *prxattrib = &precv_frame->u.hdr.attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv;
union recv_frame *return_packet = precv_frame;
- u32 res = _SUCCESS;
+ u32 res = _SUCCESS;
if (prxattrib->encrypt > 0) {
u8 *iv = precv_frame->u.hdr.rx_data + prxattrib->hdrlen;
@@ -433,18 +462,21 @@ static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *p
switch (prxattrib->encrypt) {
case _WEP40_:
case _WEP104_:
- prxattrib->key_index = psecuritypriv->dot11PrivacyKeyIndex;
+ prxattrib->key_index =
+ psecuritypriv->dot11PrivacyKeyIndex;
break;
case _TKIP_:
case _AES_:
default:
- prxattrib->key_index = psecuritypriv->dot118021XGrpKeyid;
+ prxattrib->key_index =
+ psecuritypriv->dot118021XGrpKeyid;
break;
}
}
}
- if ((prxattrib->encrypt > 0) && ((prxattrib->bdecrypted == 0) || psecuritypriv->sw_decrypt)) {
+ if ((prxattrib->encrypt > 0) &&
+ ((prxattrib->bdecrypted == 0) || psecuritypriv->sw_decrypt)) {
psecuritypriv->hw_decrypted = false;
switch (prxattrib->encrypt) {
@@ -459,17 +491,18 @@ static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *p
res = rtw_aes_decrypt(padapter, (u8 *)precv_frame);
break;
default:
- break;
+ break;
}
} else if (prxattrib->bdecrypted == 1 && prxattrib->encrypt > 0 &&
- (psecuritypriv->busetkipkey == 1 || prxattrib->encrypt != _TKIP_)
- ) {
+ (psecuritypriv->busetkipkey == 1 ||
+ prxattrib->encrypt != _TKIP_)) {
psecuritypriv->hw_decrypted = true;
} else {
}
if (res == _FAIL) {
- rtw_free_recvframe(return_packet, &padapter->recvpriv.free_recv_queue);
+ rtw_free_recvframe(return_packet,
+ &padapter->recvpriv.free_recv_queue);
return_packet = NULL;
} else {
prxattrib->bdecrypted = true;
@@ -479,7 +512,8 @@ static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *p
}
/* set the security information in the recv_frame */
-static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *precv_frame)
+static union recv_frame *portctrl(struct adapter *adapter,
+ union recv_frame *precv_frame)
{
u8 *psta_addr = NULL;
u8 *ptr;
@@ -489,7 +523,7 @@ static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *pre
struct sta_priv *pstapriv;
union recv_frame *prtnframe;
u16 ether_type = 0;
- u16 eapol_type = 0x888e;/* for Funia BD's WPA issue */
+ u16 eapol_type = 0x888e; /* for Funia BD's WPA issue */
struct rx_pkt_attrib *pattrib;
pstapriv = &adapter->stapriv;
@@ -515,7 +549,8 @@ static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *pre
prtnframe = precv_frame;
/* get ether_type */
- ptr = ptr + pfhdr->attrib.hdrlen + pfhdr->attrib.iv_len + LLC_HEADER_LENGTH;
+ ptr = ptr + pfhdr->attrib.hdrlen +
+ pfhdr->attrib.iv_len + LLC_HEADER_LENGTH;
memcpy(&be_tmp, ptr, 2);
ether_type = ntohs(be_tmp);
@@ -523,7 +558,9 @@ static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *pre
prtnframe = precv_frame;
} else {
/* free this frame */
- rtw_free_recvframe(precv_frame, &adapter->recvpriv.free_recv_queue);
+ rtw_free_recvframe(
+ precv_frame,
+ &adapter->recvpriv.free_recv_queue);
prtnframe = NULL;
}
} else {
@@ -533,7 +570,7 @@ static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *pre
prtnframe = precv_frame;
/* check is the EAPOL frame or not (Rekey) */
/* if (ether_type == eapol_type) { */
- /* check Rekey */
+ /* check Rekey */
/* prtnframe =precv_frame; */
/* */
@@ -547,12 +584,13 @@ static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *pre
return prtnframe;
}
-static signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct stainfo_rxcache *prxcache)
+static signed int recv_decache(union recv_frame *precv_frame, u8 bretry,
+ struct stainfo_rxcache *prxcache)
{
signed int tid = precv_frame->u.hdr.attrib.priority;
u16 seq_ctrl = ((precv_frame->u.hdr.attrib.seq_num & 0xffff) << 4) |
- (precv_frame->u.hdr.attrib.frag_num & 0xf);
+ (precv_frame->u.hdr.attrib.frag_num & 0xf);
if (tid > 15)
return _FAIL;
@@ -567,7 +605,8 @@ static signed int recv_decache(union recv_frame *precv_frame, u8 bretry, struct
return _SUCCESS;
}
-static void process_pwrbit_data(struct adapter *padapter, union recv_frame *precv_frame)
+static void process_pwrbit_data(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
unsigned char pwrbit;
u8 *ptr = precv_frame->u.hdr.rx_data;
@@ -598,7 +637,8 @@ static void process_pwrbit_data(struct adapter *padapter, union recv_frame *prec
}
}
-static void process_wmmps_data(struct adapter *padapter, union recv_frame *precv_frame)
+static void process_wmmps_data(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
struct sta_priv *pstapriv = &padapter->stapriv;
@@ -644,12 +684,15 @@ static void process_wmmps_data(struct adapter *padapter, union recv_frame *precv
xmit_delivery_enabled_frames(padapter, psta);
else
/* issue one qos null frame with More data bit = 0 and the EOSP bit set (= 1) */
- issue_qos_nulldata(padapter, psta->hwaddr, (u16)pattrib->priority, 0, 0);
+ issue_qos_nulldata(padapter, psta->hwaddr,
+ (u16)pattrib->priority, 0,
+ 0);
}
}
}
-static void count_rx_stats(struct adapter *padapter, union recv_frame *prframe, struct sta_info *sta)
+static void count_rx_stats(struct adapter *padapter, union recv_frame *prframe,
+ struct sta_info *sta)
{
int sz;
struct sta_info *psta = NULL;
@@ -662,8 +705,10 @@ static void count_rx_stats(struct adapter *padapter, union recv_frame *prframe,
padapter->mlmepriv.link_detect_info.num_rx_ok_in_period++;
- if ((!is_broadcast_ether_addr(pattrib->dst)) && (!is_multicast_ether_addr(pattrib->dst)))
- padapter->mlmepriv.link_detect_info.num_rx_unicast_ok_in_period++;
+ if ((!is_broadcast_ether_addr(pattrib->dst)) &&
+ (!is_multicast_ether_addr(pattrib->dst)))
+ padapter->mlmepriv.link_detect_info
+ .num_rx_unicast_ok_in_period++;
if (sta)
psta = sta;
@@ -680,15 +725,16 @@ static void count_rx_stats(struct adapter *padapter, union recv_frame *prframe,
traffic_check_for_leave_lps(padapter, false, 0);
}
-static signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
- struct sta_info **psta)
+static signed int sta2sta_data_frame(struct adapter *adapter,
+ union recv_frame *precv_frame,
+ struct sta_info **psta)
{
u8 *ptr = precv_frame->u.hdr.rx_data;
signed int ret = _SUCCESS;
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
struct sta_priv *pstapriv = &adapter->stapriv;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- u8 *mybssid = get_bssid(pmlmepriv);
+ u8 *mybssid = get_bssid(pmlmepriv);
u8 *myhwaddr = myid(&adapter->eeprompriv);
u8 *sta_addr = NULL;
signed int bmcast = is_multicast_ether_addr(pattrib->dst);
@@ -701,7 +747,7 @@ static signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *
goto exit;
}
- if ((memcmp(myhwaddr, pattrib->dst, ETH_ALEN)) && (!bmcast)) {
+ if ((memcmp(myhwaddr, pattrib->dst, ETH_ALEN)) && (!bmcast)) {
ret = _FAIL;
goto exit;
}
@@ -749,7 +795,7 @@ static signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *
sta_addr = mybssid;
} else {
- ret = _FAIL;
+ ret = _FAIL;
}
if (bmcast)
@@ -766,15 +812,16 @@ static signed int sta2sta_data_frame(struct adapter *adapter, union recv_frame *
return ret;
}
-static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
- struct sta_info **psta)
+static signed int ap2sta_data_frame(struct adapter *adapter,
+ union recv_frame *precv_frame,
+ struct sta_info **psta)
{
u8 *ptr = precv_frame->u.hdr.rx_data;
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
signed int ret = _SUCCESS;
struct sta_priv *pstapriv = &adapter->stapriv;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- u8 *mybssid = get_bssid(pmlmepriv);
+ u8 *mybssid = get_bssid(pmlmepriv);
u8 *myhwaddr = myid(&adapter->eeprompriv);
signed int bmcast = is_multicast_ether_addr(pattrib->dst);
@@ -798,7 +845,9 @@ static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *p
is_zero_ether_addr(mybssid) ||
(memcmp(pattrib->bssid, mybssid, ETH_ALEN))) {
if (!bmcast)
- issue_deauth(adapter, pattrib->bssid, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
+ issue_deauth(
+ adapter, pattrib->bssid,
+ WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
ret = _FAIL;
goto exit;
@@ -807,7 +856,8 @@ static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *p
if (bmcast)
*psta = rtw_get_bcmc_stainfo(adapter);
else
- *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /* get ap_info */
+ *psta = rtw_get_stainfo(
+ pstapriv, pattrib->bssid); /* get ap_info */
if (!*psta) {
ret = _FAIL;
@@ -830,9 +880,10 @@ static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *p
memcpy(pattrib->ta, pattrib->src, ETH_ALEN);
/* */
- memcpy(pattrib->bssid, mybssid, ETH_ALEN);
+ memcpy(pattrib->bssid, mybssid, ETH_ALEN);
- *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /* get sta_info */
+ *psta = rtw_get_stainfo(pstapriv,
+ pattrib->bssid); /* get sta_info */
if (!*psta) {
ret = _FAIL;
goto exit;
@@ -844,15 +895,21 @@ static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *p
goto exit;
} else {
if (!memcmp(myhwaddr, pattrib->dst, ETH_ALEN) && (!bmcast)) {
- *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /* get sta_info */
+ *psta = rtw_get_stainfo(
+ pstapriv, pattrib->bssid); /* get sta_info */
if (!*psta) {
/* for AP multicast issue , modify by yiwei */
static unsigned long send_issue_deauth_time;
- if (jiffies_to_msecs(jiffies - send_issue_deauth_time) > 10000 || send_issue_deauth_time == 0) {
+ if (jiffies_to_msecs(jiffies -
+ send_issue_deauth_time) >
+ 10000 ||
+ send_issue_deauth_time == 0) {
send_issue_deauth_time = jiffies;
- issue_deauth(adapter, pattrib->bssid, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
+ issue_deauth(
+ adapter, pattrib->bssid,
+ WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
}
}
}
@@ -864,14 +921,15 @@ static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *p
return ret;
}
-static signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *precv_frame,
- struct sta_info **psta)
+static signed int sta2ap_data_frame(struct adapter *adapter,
+ union recv_frame *precv_frame,
+ struct sta_info **psta)
{
u8 *ptr = precv_frame->u.hdr.rx_data;
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
struct sta_priv *pstapriv = &adapter->stapriv;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
- unsigned char *mybssid = get_bssid(pmlmepriv);
+ unsigned char *mybssid = get_bssid(pmlmepriv);
signed int ret = _SUCCESS;
if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
@@ -883,7 +941,9 @@ static signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *p
*psta = rtw_get_stainfo(pstapriv, pattrib->src);
if (!*psta) {
- issue_deauth(adapter, pattrib->src, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
+ issue_deauth(
+ adapter, pattrib->src,
+ WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
ret = RTW_RX_HANDLED;
goto exit;
@@ -891,7 +951,8 @@ static signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *p
process_pwrbit_data(adapter, precv_frame);
- if ((GetFrameSubType(ptr) & WIFI_QOS_DATA_TYPE) == WIFI_QOS_DATA_TYPE)
+ if ((GetFrameSubType(ptr) & WIFI_QOS_DATA_TYPE) ==
+ WIFI_QOS_DATA_TYPE)
process_wmmps_data(adapter, precv_frame);
if (GetFrameSubType(ptr) & BIT(6)) {
@@ -907,7 +968,8 @@ static signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *p
ret = RTW_RX_HANDLED;
goto exit;
}
- issue_deauth(adapter, pattrib->src, WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
+ issue_deauth(adapter, pattrib->src,
+ WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA);
ret = RTW_RX_HANDLED;
goto exit;
}
@@ -916,7 +978,8 @@ static signed int sta2ap_data_frame(struct adapter *adapter, union recv_frame *p
return ret;
}
-static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_frame *precv_frame)
+static signed int validate_recv_ctrl_frame(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
struct sta_priv *pstapriv = &padapter->stapriv;
@@ -975,8 +1038,9 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_
psta->state ^= WIFI_STA_ALIVE_CHK_STATE;
}
- if ((psta->state & WIFI_SLEEP_STATE) && (pstapriv->sta_dz_bitmap & BIT(psta->aid))) {
- struct list_head *xmitframe_plist, *xmitframe_phead;
+ if ((psta->state & WIFI_SLEEP_STATE) &&
+ (pstapriv->sta_dz_bitmap & BIT(psta->aid))) {
+ struct list_head *xmitframe_plist, *xmitframe_phead;
struct xmit_frame *pxmitframe = NULL;
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
@@ -987,7 +1051,9 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_
xmitframe_plist = get_next(xmitframe_phead);
if (xmitframe_phead != xmitframe_plist) {
- pxmitframe = container_of(xmitframe_plist, struct xmit_frame, list);
+ pxmitframe = container_of(xmitframe_plist,
+ struct xmit_frame,
+ list);
xmitframe_plist = get_next(xmitframe_plist);
@@ -1009,7 +1075,8 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_
/* update BCN for TIM IE */
/* update_BCNTIM(padapter); */
- update_beacon(padapter, WLAN_EID_TIM, NULL, true);
+ update_beacon(padapter, WLAN_EID_TIM,
+ NULL, true);
}
/* spin_unlock_bh(&psta->sleep_q.lock); */
@@ -1022,7 +1089,8 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_
if (pstapriv->tim_bitmap & BIT(psta->aid)) {
if (psta->sleepq_len == 0) {
/* issue nulldata with More data bit = 0 to indicate we have no buffered packets */
- issue_nulldata_in_interrupt(padapter, psta->hwaddr);
+ issue_nulldata_in_interrupt(
+ padapter, psta->hwaddr);
} else {
psta->sleepq_len = 0;
}
@@ -1031,7 +1099,8 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_
/* update BCN for TIM IE */
/* update_BCNTIM(padapter); */
- update_beacon(padapter, WLAN_EID_TIM, NULL, true);
+ update_beacon(padapter, WLAN_EID_TIM,
+ NULL, true);
}
}
}
@@ -1044,12 +1113,12 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_
static union recv_frame *recvframe_defrag(struct adapter *adapter,
struct __queue *defrag_q)
{
- struct list_head *plist, *phead;
- u8 wlanhdr_offset;
+ struct list_head *plist, *phead;
+ u8 wlanhdr_offset;
u8 curfragnum;
struct recv_frame_hdr *pfhdr, *pnfhdr;
union recv_frame *prframe, *pnextrframe;
- struct __queue *pfree_recv_queue;
+ struct __queue *pfree_recv_queue;
curfragnum = 0;
pfree_recv_queue = &adapter->recvpriv.free_recv_queue;
@@ -1117,7 +1186,8 @@ static union recv_frame *recvframe_defrag(struct adapter *adapter,
}
/* check if need to defrag, if needed queue the frame to defrag_q */
-static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union recv_frame *precv_frame)
+static union recv_frame *recvframe_chk_defrag(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
u8 ismfrag;
u8 fragnum;
@@ -1155,7 +1225,7 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re
}
if ((ismfrag == 0) && (fragnum == 0))
- prtnframe = precv_frame;/* isn't a fragment frame */
+ prtnframe = precv_frame; /* isn't a fragment frame */
if (ismfrag == 1) {
/* 0~(n-1) fragment frame */
@@ -1165,7 +1235,8 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re
/* the first fragment */
if (!list_empty(&pdefrag_q->queue))
/* free current defrag_q */
- rtw_free_recvframe_queue(pdefrag_q, pfree_recv_queue);
+ rtw_free_recvframe_queue(
+ pdefrag_q, pfree_recv_queue);
/* Then enqueue the 0~(n-1) fragment into the defrag_q */
@@ -1205,7 +1276,7 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re
if ((prtnframe) && (prtnframe->u.hdr.attrib.privacy)) {
/* after defrag we must check tkip mic code */
- if (recvframe_chkmic(padapter, prtnframe) == _FAIL) {
+ if (recvframe_chkmic(padapter, prtnframe) == _FAIL) {
rtw_free_recvframe(prtnframe, pfree_recv_queue);
prtnframe = NULL;
}
@@ -1213,7 +1284,8 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re
return prtnframe;
}
-static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame)
+static signed int validate_recv_mgnt_frame(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
struct sta_info *psta;
@@ -1222,7 +1294,8 @@ static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_
return _SUCCESS;
/* for rx pkt statistics */
- psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
+ psta = rtw_get_stainfo(&padapter->stapriv,
+ GetAddr2Ptr(precv_frame->u.hdr.rx_data));
if (!psta)
goto exit;
@@ -1237,11 +1310,12 @@ static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_
break;
case WIFI_PROBERSP:
if (!memcmp(padapter->eeprompriv.mac_addr,
- GetAddr1Ptr(precv_frame->u.hdr.rx_data),
- ETH_ALEN))
+ GetAddr1Ptr(precv_frame->u.hdr.rx_data), ETH_ALEN))
psta->sta_stats.rx_probersp_pkts++;
- else if (is_broadcast_ether_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
- is_multicast_ether_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
+ else if (is_broadcast_ether_addr(
+ GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
+ is_multicast_ether_addr(
+ GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
psta->sta_stats.rx_probersp_bm_pkts++;
else
psta->sta_stats.rx_probersp_uo_pkts++;
@@ -1255,13 +1329,14 @@ static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_
return _SUCCESS;
}
-static signed int validate_recv_data_frame(struct adapter *adapter, union recv_frame *precv_frame)
+static signed int validate_recv_data_frame(struct adapter *adapter,
+ union recv_frame *precv_frame)
{
u8 bretry;
u8 *psa, *pda, *pbssid;
struct sta_info *psta = NULL;
u8 *ptr = precv_frame->u.hdr.rx_data;
- struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
+ struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
struct security_priv *psecuritypriv = &adapter->securitypriv;
signed int ret = _SUCCESS;
@@ -1339,21 +1414,25 @@ static signed int validate_recv_data_frame(struct adapter *adapter, union recv_f
pattrib->hdrlen = pattrib->to_fr_ds == 3 ? 30 : 24;
}
- if (pattrib->order)/* HT-CTRL 11n */
+ if (pattrib->order) /* HT-CTRL 11n */
pattrib->hdrlen += 4;
- precv_frame->u.hdr.preorder_ctrl = &psta->recvreorder_ctrl[pattrib->priority];
+ precv_frame->u.hdr.preorder_ctrl =
+ &psta->recvreorder_ctrl[pattrib->priority];
/* decache, drop duplicate recv packets */
- if (recv_decache(precv_frame, bretry, &psta->sta_recvpriv.rxcache) == _FAIL) {
+ if (recv_decache(precv_frame, bretry, &psta->sta_recvpriv.rxcache) ==
+ _FAIL) {
ret = _FAIL;
goto exit;
}
if (pattrib->privacy) {
- GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt, is_multicast_ether_addr(pattrib->ra));
+ GET_ENCRY_ALGO(psecuritypriv, psta, pattrib->encrypt,
+ is_multicast_ether_addr(pattrib->ra));
- SET_ICE_IV_LEN(pattrib->iv_len, pattrib->icv_len, pattrib->encrypt);
+ SET_ICE_IV_LEN(pattrib->iv_len, pattrib->icv_len,
+ pattrib->encrypt);
} else {
pattrib->encrypt = 0;
pattrib->iv_len = pattrib->icv_len = 0;
@@ -1363,7 +1442,8 @@ static signed int validate_recv_data_frame(struct adapter *adapter, union recv_f
return ret;
}
-static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame *precv_frame)
+static signed int validate_80211w_mgmt(struct adapter *adapter,
+ union recv_frame *precv_frame)
{
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
@@ -1373,11 +1453,14 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame
subtype = GetFrameSubType(ptr); /* bit(7)~bit(2) */
/* only support station mode */
- if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) && check_fwstate(pmlmepriv, _FW_LINKED) &&
+ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) &&
+ check_fwstate(pmlmepriv, _FW_LINKED) &&
adapter->securitypriv.binstallBIPkey) {
/* unicast management frame decrypt */
- if (pattrib->privacy && !(is_multicast_ether_addr(GetAddr1Ptr(ptr))) &&
- (subtype == WIFI_DEAUTH || subtype == WIFI_DISASSOC || subtype == WIFI_ACTION)) {
+ if (pattrib->privacy &&
+ !(is_multicast_ether_addr(GetAddr1Ptr(ptr))) &&
+ (subtype == WIFI_DEAUTH || subtype == WIFI_DISASSOC ||
+ subtype == WIFI_ACTION)) {
u8 *mgmt_DATA;
u32 data_len = 0;
@@ -1385,26 +1468,32 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame
pattrib->encrypt = _AES_;
pattrib->hdrlen = sizeof(struct ieee80211_hdr_3addr);
/* set iv and icv length */
- SET_ICE_IV_LEN(pattrib->iv_len, pattrib->icv_len, pattrib->encrypt);
+ SET_ICE_IV_LEN(pattrib->iv_len, pattrib->icv_len,
+ pattrib->encrypt);
memcpy(pattrib->ra, GetAddr1Ptr(ptr), ETH_ALEN);
memcpy(pattrib->ta, GetAddr2Ptr(ptr), ETH_ALEN);
/* actual management data frame body */
- data_len = pattrib->pkt_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
+ data_len = pattrib->pkt_len - pattrib->hdrlen -
+ pattrib->iv_len - pattrib->icv_len;
mgmt_DATA = kzalloc(data_len, GFP_ATOMIC);
if (!mgmt_DATA)
goto validate_80211w_fail;
precv_frame = decryptor(adapter, precv_frame);
/* save actual management data frame body */
- memcpy(mgmt_DATA, ptr + pattrib->hdrlen + pattrib->iv_len, data_len);
+ memcpy(mgmt_DATA,
+ ptr + pattrib->hdrlen + pattrib->iv_len,
+ data_len);
/* overwrite the iv field */
memcpy(ptr + pattrib->hdrlen, mgmt_DATA, data_len);
/* remove the iv and icv length */
- pattrib->pkt_len = pattrib->pkt_len - pattrib->iv_len - pattrib->icv_len;
+ pattrib->pkt_len = pattrib->pkt_len - pattrib->iv_len -
+ pattrib->icv_len;
kfree(mgmt_DATA);
if (!precv_frame)
goto validate_80211w_fail;
} else if (is_multicast_ether_addr(GetAddr1Ptr(ptr)) &&
- (subtype == WIFI_DEAUTH || subtype == WIFI_DISASSOC)) {
+ (subtype == WIFI_DEAUTH ||
+ subtype == WIFI_DISASSOC)) {
signed int BIP_ret = _SUCCESS;
/* verify BIP MME IE of broadcast/multicast de-auth/disassoc packet */
BIP_ret = rtw_BIP_verify(adapter, (u8 *)precv_frame);
@@ -1418,14 +1507,20 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame
} else { /* 802.11w protect */
if (subtype == WIFI_ACTION) {
/* according 802.11-2012 standard, these five types are not robust types */
- if (ptr[WLAN_HDR_A3_LEN] != RTW_WLAN_CATEGORY_PUBLIC &&
- ptr[WLAN_HDR_A3_LEN] != RTW_WLAN_CATEGORY_HT &&
- ptr[WLAN_HDR_A3_LEN] != RTW_WLAN_CATEGORY_UNPROTECTED_WNM &&
- ptr[WLAN_HDR_A3_LEN] != RTW_WLAN_CATEGORY_SELF_PROTECTED &&
- ptr[WLAN_HDR_A3_LEN] != RTW_WLAN_CATEGORY_P2P) {
+ if (ptr[WLAN_HDR_A3_LEN] !=
+ RTW_WLAN_CATEGORY_PUBLIC &&
+ ptr[WLAN_HDR_A3_LEN] !=
+ RTW_WLAN_CATEGORY_HT &&
+ ptr[WLAN_HDR_A3_LEN] !=
+ RTW_WLAN_CATEGORY_UNPROTECTED_WNM &&
+ ptr[WLAN_HDR_A3_LEN] !=
+ RTW_WLAN_CATEGORY_SELF_PROTECTED &&
+ ptr[WLAN_HDR_A3_LEN] !=
+ RTW_WLAN_CATEGORY_P2P) {
goto validate_80211w_fail;
}
- } else if (subtype == WIFI_DEAUTH || subtype == WIFI_DISASSOC) {
+ } else if (subtype == WIFI_DEAUTH ||
+ subtype == WIFI_DISASSOC) {
/* issue sa query request */
issue_action_SA_Query(adapter, NULL, 0, 0);
goto validate_80211w_fail;
@@ -1438,7 +1533,8 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame
return _FAIL;
}
-static signed int validate_recv_frame(struct adapter *adapter, union recv_frame *precv_frame)
+static signed int validate_recv_frame(struct adapter *adapter,
+ union recv_frame *precv_frame)
{
/* shall check frame subtype, to / from ds, da, bssid */
@@ -1452,7 +1548,7 @@ static signed int validate_recv_frame(struct adapter *adapter, union recv_frame
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
u8 *ptr = precv_frame->u.hdr.rx_data;
- u8 ver = (unsigned char) (*ptr) & 0x3;
+ u8 ver = (unsigned char)(*ptr) & 0x3;
/* add version chk */
if (ver != 0) {
@@ -1460,7 +1556,7 @@ static signed int validate_recv_frame(struct adapter *adapter, union recv_frame
goto exit;
}
- type = GetFrameType(ptr);
+ type = GetFrameType(ptr);
subtype = GetFrameSubType(ptr); /* bit(7)~bit(2) */
pattrib->to_fr_ds = get_tofr_ds(ptr);
@@ -1510,13 +1606,13 @@ static signed int validate_recv_frame(struct adapter *adapter, union recv_frame
/* remove the wlanhdr and add the eth_hdr */
static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe)
{
- signed int rmv_len;
+ signed int rmv_len;
u16 eth_type, len;
u8 bsnaphdr;
u8 *psnap_type;
- struct ieee80211_snap_hdr *psnap;
+ struct ieee80211_snap_hdr *psnap;
__be16 be_tmp;
- struct adapter *adapter = precvframe->u.hdr.adapter;
+ struct adapter *adapter = precvframe->u.hdr.adapter;
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
u8 *ptr = precvframe->u.hdr.rx_data; /* point to frame_ctrl field */
struct rx_pkt_attrib *pattrib = &precvframe->u.hdr.attrib;
@@ -1524,15 +1620,16 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe)
if (pattrib->encrypt)
recvframe_pull_tail(precvframe, pattrib->icv_len);
- psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen + pattrib->iv_len);
+ psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen +
+ pattrib->iv_len);
psnap_type = ptr + pattrib->hdrlen + pattrib->iv_len + SNAP_SIZE;
/* convert hdr + possible LLC headers into Ethernet header */
/* eth_type = (psnap_type[0] << 8) | psnap_type[1]; */
if ((!memcmp(psnap, rfc1042_header, SNAP_SIZE) &&
- (memcmp(psnap_type, SNAP_ETH_TYPE_IPX, 2)) &&
- (memcmp(psnap_type, SNAP_ETH_TYPE_APPLETALK_AARP, 2))) ||
- /* eth_type != ETH_P_AARP && eth_type != ETH_P_IPX) || */
- !memcmp(psnap, bridge_tunnel_header, SNAP_SIZE)) {
+ (memcmp(psnap_type, SNAP_ETH_TYPE_IPX, 2)) &&
+ (memcmp(psnap_type, SNAP_ETH_TYPE_APPLETALK_AARP, 2))) ||
+ /* eth_type != ETH_P_AARP && eth_type != ETH_P_IPX) || */
+ !memcmp(psnap, bridge_tunnel_header, SNAP_SIZE)) {
/* remove RFC1042 or Bridge-Tunnel encapsulation and replace EtherType */
bsnaphdr = true;
} else {
@@ -1540,7 +1637,8 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe)
bsnaphdr = false;
}
- rmv_len = pattrib->hdrlen + pattrib->iv_len + (bsnaphdr ? SNAP_SIZE : 0);
+ rmv_len =
+ pattrib->hdrlen + pattrib->iv_len + (bsnaphdr ? SNAP_SIZE : 0);
len = precvframe->u.hdr.len - rmv_len;
memcpy(&be_tmp, ptr + rmv_len, 2);
@@ -1554,13 +1652,16 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe)
eth_type = 0x8712;
/* append rx status for mp test packets */
- ptr = recvframe_pull(precvframe, (rmv_len - sizeof(struct ethhdr) + 2) - 24);
+ ptr = recvframe_pull(
+ precvframe, (rmv_len - sizeof(struct ethhdr) + 2) - 24);
if (!ptr)
return _FAIL;
memcpy(ptr, get_rxmem(precvframe), 24);
ptr += 24;
} else {
- ptr = recvframe_pull(precvframe, (rmv_len - sizeof(struct ethhdr) + (bsnaphdr ? 2 : 0)));
+ ptr = recvframe_pull(
+ precvframe,
+ (rmv_len - sizeof(struct ethhdr) + (bsnaphdr ? 2 : 0)));
if (!ptr)
return _FAIL;
}
@@ -1576,7 +1677,8 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe)
return _SUCCESS;
}
-static struct sk_buff *rtw_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubframe_Length, u8 *pdata)
+static struct sk_buff *rtw_alloc_msdu_pkt(union recv_frame *prframe,
+ u16 nSubframe_Length, u8 *pdata)
{
u16 eth_type;
struct sk_buff *sub_skb;
@@ -1594,9 +1696,9 @@ static struct sk_buff *rtw_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubfra
eth_type = get_unaligned_be16(&sub_skb->data[6]);
if (sub_skb->len >= 8 &&
- ((!memcmp(sub_skb->data, rfc1042_header, SNAP_SIZE) &&
- eth_type != ETH_P_AARP && eth_type != ETH_P_IPX) ||
- !memcmp(sub_skb->data, bridge_tunnel_header, SNAP_SIZE))) {
+ ((!memcmp(sub_skb->data, rfc1042_header, SNAP_SIZE) &&
+ eth_type != ETH_P_AARP && eth_type != ETH_P_IPX) ||
+ !memcmp(sub_skb->data, bridge_tunnel_header, SNAP_SIZE))) {
/*
* remove RFC1042 or Bridge-Tunnel encapsulation and replace
* EtherType
@@ -1616,7 +1718,8 @@ static struct sk_buff *rtw_alloc_msdu_pkt(union recv_frame *prframe, u16 nSubfra
return sub_skb;
}
-static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, struct rx_pkt_attrib *pattrib)
+static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt,
+ struct rx_pkt_attrib *pattrib)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
@@ -1628,19 +1731,25 @@ static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt,
struct sta_priv *pstapriv = &padapter->stapriv;
int bmcast = is_multicast_ether_addr(pattrib->dst);
- if (memcmp(pattrib->dst, myid(&padapter->eeprompriv), ETH_ALEN)) {
+ if (memcmp(pattrib->dst, myid(&padapter->eeprompriv),
+ ETH_ALEN)) {
if (bmcast) {
psta = rtw_get_bcmc_stainfo(padapter);
pskb2 = skb_clone(pkt, GFP_ATOMIC);
} else {
- psta = rtw_get_stainfo(pstapriv, pattrib->dst);
+ psta = rtw_get_stainfo(pstapriv,
+ pattrib->dst);
}
if (psta) {
- struct net_device *pnetdev = (struct net_device *)padapter->pnetdev;
+ struct net_device *pnetdev =
+ (struct net_device *)
+ padapter->pnetdev;
/* skb->ip_summed = CHECKSUM_NONE; */
pkt->dev = pnetdev;
- skb_set_queue_mapping(pkt, rtw_recv_select_queue(pkt));
+ skb_set_queue_mapping(
+ pkt,
+ rtw_recv_select_queue(pkt));
_rtw_xmit_entry(pkt, pnetdev);
@@ -1665,7 +1774,7 @@ static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt,
static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
{
- int a_len, padding_len;
+ int a_len, padding_len;
u16 nSubframe_Length;
u8 nr_subframes, i;
u8 *pdata;
@@ -1707,7 +1816,8 @@ static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
pdata += nSubframe_Length;
a_len -= nSubframe_Length;
if (a_len != 0) {
- padding_len = 4 - ((nSubframe_Length + ETH_HLEN) & (4 - 1));
+ padding_len =
+ 4 - ((nSubframe_Length + ETH_HLEN) & (4 - 1));
if (padding_len == 4)
padding_len = 0;
@@ -1724,16 +1834,19 @@ static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe)
/* Indicate the packets to upper layer */
if (sub_pkt)
- rtw_recv_indicate_pkt(padapter, sub_pkt, &prframe->u.hdr.attrib);
+ rtw_recv_indicate_pkt(padapter, sub_pkt,
+ &prframe->u.hdr.attrib);
}
prframe->u.hdr.len = 0;
- rtw_free_recvframe(prframe, pfree_recv_queue);/* free this recv_frame */
+ rtw_free_recvframe(prframe,
+ pfree_recv_queue); /* free this recv_frame */
- return _SUCCESS;
+ return _SUCCESS;
}
-static int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_num)
+static int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl,
+ u16 seq_num)
{
u8 wsize = preorder_ctrl->wsize_b;
u16 wend = (preorder_ctrl->indicate_seq + wsize - 1) % 4096u;
@@ -1752,24 +1865,28 @@ static int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_n
/* 2. Incoming SeqNum is larger than the WinEnd => Window shift N */
/* */
if (SN_EQUAL(seq_num, preorder_ctrl->indicate_seq)) {
- preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096u;
+ preorder_ctrl->indicate_seq =
+ (preorder_ctrl->indicate_seq + 1) % 4096u;
} else if (SN_LESS(wend, seq_num)) {
/* boundary situation, when seq_num cross 0xFFF */
if (seq_num >= (wsize - 1))
preorder_ctrl->indicate_seq = seq_num + 1 - wsize;
else
- preorder_ctrl->indicate_seq = 0xFFF - (wsize - (seq_num + 1)) + 1;
+ preorder_ctrl->indicate_seq =
+ 0xFFF - (wsize - (seq_num + 1)) + 1;
}
return true;
}
-static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, union recv_frame *prframe)
+static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl,
+ union recv_frame *prframe)
{
struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib;
- struct __queue *ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue;
- struct list_head *phead, *plist;
+ struct __queue *ppending_recvframe_queue =
+ &preorder_ctrl->pending_recvframe_queue;
+ struct list_head *phead, *plist;
union recv_frame *pnextrframe;
struct rx_pkt_attrib *pnextattrib;
@@ -1806,10 +1923,11 @@ static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, un
return true;
}
-static int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *precv_frame)
+static int rtw_recv_indicatepkt(struct adapter *padapter,
+ union recv_frame *precv_frame)
{
struct recv_priv *precvpriv;
- struct __queue *pfree_recv_queue;
+ struct __queue *pfree_recv_queue;
struct sk_buff *skb;
struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib;
@@ -1843,20 +1961,23 @@ static int rtw_recv_indicatepkt(struct adapter *padapter, union recv_frame *prec
return _FAIL;
}
-static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced)
+static int recv_indicatepkts_in_order(struct adapter *padapter,
+ struct recv_reorder_ctrl *preorder_ctrl,
+ int bforced)
{
- struct list_head *phead, *plist;
+ struct list_head *phead, *plist;
union recv_frame *prframe;
struct rx_pkt_attrib *pattrib;
/* u8 index = 0; */
int bPktInBuf = false;
struct recv_priv *precvpriv = &padapter->recvpriv;
- struct __queue *ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue;
+ struct __queue *ppending_recvframe_queue =
+ &preorder_ctrl->pending_recvframe_queue;
/* spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); */
/* spin_lock(&ppending_recvframe_queue->lock); */
- phead = get_list_head(ppending_recvframe_queue);
+ phead = get_list_head(ppending_recvframe_queue);
plist = get_next(phead);
/* Handling some condition for forced indicate case. */
@@ -1883,8 +2004,11 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor
plist = get_next(plist);
list_del_init(&(prframe->u.hdr.list));
- if (SN_EQUAL(preorder_ctrl->indicate_seq, pattrib->seq_num))
- preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096u;
+ if (SN_EQUAL(preorder_ctrl->indicate_seq,
+ pattrib->seq_num))
+ preorder_ctrl->indicate_seq =
+ (preorder_ctrl->indicate_seq + 1) %
+ 4096u;
/* Set this as a lock to make sure that only one thread is indicating packet. */
/* pTS->RxIndicateState = RXTS_INDICATE_PROCESSING; */
@@ -1895,11 +2019,16 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor
if (!pattrib->amsdu) {
if (!padapter->bDriverStopped &&
!padapter->bSurpriseRemoved)
- rtw_recv_indicatepkt(padapter, prframe);/* indicate this recv_frame */
+ rtw_recv_indicatepkt(
+ padapter,
+ prframe); /* indicate this recv_frame */
} else if (pattrib->amsdu == 1) {
- if (amsdu_to_msdu(padapter, prframe) != _SUCCESS)
- rtw_free_recvframe(prframe, &precvpriv->free_recv_queue);
+ if (amsdu_to_msdu(padapter, prframe) !=
+ _SUCCESS)
+ rtw_free_recvframe(
+ prframe,
+ &precvpriv->free_recv_queue);
} else {
/* error condition; */
@@ -1920,12 +2049,14 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor
return bPktInBuf;
}
-static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *prframe)
+static int recv_indicatepkt_reorder(struct adapter *padapter,
+ union recv_frame *prframe)
{
int retval = _SUCCESS;
struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib;
struct recv_reorder_ctrl *preorder_ctrl = prframe->u.hdr.preorder_ctrl;
- struct __queue *ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue;
+ struct __queue *ppending_recvframe_queue =
+ &preorder_ctrl->pending_recvframe_queue;
if (!pattrib->amsdu) {
/* s1. */
@@ -1947,17 +2078,20 @@ static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *
rtw_recv_indicatepkt(padapter, prframe);
- preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096;
+ preorder_ctrl->indicate_seq =
+ (preorder_ctrl->indicate_seq + 1) % 4096;
return _SUCCESS;
}
- } else if (pattrib->amsdu == 1) { /* temp filter -> means didn't support A-MSDUs in a A-MPDU */
+ } else if (pattrib->amsdu ==
+ 1) { /* temp filter -> means didn't support A-MSDUs in a A-MPDU */
if (!preorder_ctrl->enable) {
preorder_ctrl->indicate_seq = pattrib->seq_num;
retval = amsdu_to_msdu(padapter, prframe);
- preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096;
+ preorder_ctrl->indicate_seq =
+ (preorder_ctrl->indicate_seq + 1) % 4096;
return retval;
}
@@ -1988,7 +2122,8 @@ static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame *
/* recv_indicatepkts_in_order(padapter, preorder_ctrl, true); */
if (recv_indicatepkts_in_order(padapter, preorder_ctrl, false)) {
- _set_timer(&preorder_ctrl->reordering_ctrl_timer, REORDER_WAIT_TIME);
+ _set_timer(&preorder_ctrl->reordering_ctrl_timer,
+ REORDER_WAIT_TIME);
spin_unlock_bh(&ppending_recvframe_queue->lock);
} else {
spin_unlock_bh(&ppending_recvframe_queue->lock);
@@ -2008,7 +2143,8 @@ void rtw_reordering_ctrl_timeout_handler(struct timer_list *t)
struct recv_reorder_ctrl *preorder_ctrl =
timer_container_of(preorder_ctrl, t, reordering_ctrl_timer);
struct adapter *padapter = preorder_ctrl->padapter;
- struct __queue *ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue;
+ struct __queue *ppending_recvframe_queue =
+ &preorder_ctrl->pending_recvframe_queue;
if (padapter->bDriverStopped || padapter->bSurpriseRemoved)
return;
@@ -2016,12 +2152,14 @@ void rtw_reordering_ctrl_timeout_handler(struct timer_list *t)
spin_lock_bh(&ppending_recvframe_queue->lock);
if (recv_indicatepkts_in_order(padapter, preorder_ctrl, true))
- _set_timer(&preorder_ctrl->reordering_ctrl_timer, REORDER_WAIT_TIME);
+ _set_timer(&preorder_ctrl->reordering_ctrl_timer,
+ REORDER_WAIT_TIME);
spin_unlock_bh(&ppending_recvframe_queue->lock);
}
-static int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe)
+static int process_recv_indicatepkts(struct adapter *padapter,
+ union recv_frame *prframe)
{
int retval = _SUCCESS;
/* struct recv_priv *precvpriv = &padapter->recvpriv; */
@@ -2032,7 +2170,8 @@ static int process_recv_indicatepkts(struct adapter *padapter, union recv_frame
if (phtpriv->ht_option) { /* B/G/N Mode */
/* prframe->u.hdr.preorder_ctrl = &precvpriv->recvreorder_ctrl[pattrib->priority]; */
- if (recv_indicatepkt_reorder(padapter, prframe) != _SUCCESS) { /* including perform A-MPDU Rx Ordering Buffer Control */
+ if (recv_indicatepkt_reorder(padapter, prframe) !=
+ _SUCCESS) { /* including perform A-MPDU Rx Ordering Buffer Control */
if (!padapter->bDriverStopped &&
!padapter->bSurpriseRemoved) {
@@ -2057,7 +2196,8 @@ static int process_recv_indicatepkts(struct adapter *padapter, union recv_frame
return retval;
}
-static int recv_func_prehandle(struct adapter *padapter, union recv_frame *rframe)
+static int recv_func_prehandle(struct adapter *padapter,
+ union recv_frame *rframe)
{
int ret = _SUCCESS;
struct __queue *pfree_recv_queue = &padapter->recvpriv.free_recv_queue;
@@ -2065,7 +2205,8 @@ static int recv_func_prehandle(struct adapter *padapter, union recv_frame *rfram
/* check the frame crtl field and decache */
ret = validate_recv_frame(padapter, rframe);
if (ret != _SUCCESS) {
- rtw_free_recvframe(rframe, pfree_recv_queue);/* free this recv_frame */
+ rtw_free_recvframe(rframe,
+ pfree_recv_queue); /* free this recv_frame */
goto exit;
}
@@ -2073,7 +2214,8 @@ static int recv_func_prehandle(struct adapter *padapter, union recv_frame *rfram
return ret;
}
-static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prframe)
+static int recv_func_posthandle(struct adapter *padapter,
+ union recv_frame *prframe)
{
int ret = _SUCCESS;
union recv_frame *orig_prframe = prframe;
@@ -2100,7 +2242,8 @@ static int recv_func_posthandle(struct adapter *padapter, union recv_frame *prfr
ret = process_recv_indicatepkts(padapter, prframe);
if (ret != _SUCCESS) {
- rtw_free_recvframe(orig_prframe, pfree_recv_queue);/* free this recv_frame */
+ rtw_free_recvframe(orig_prframe,
+ pfree_recv_queue); /* free this recv_frame */
goto _recv_data_drop;
}
@@ -2118,10 +2261,12 @@ static int recv_func(struct adapter *padapter, union recv_frame *rframe)
struct mlme_priv *mlmepriv = &padapter->mlmepriv;
/* check if need to handle uc_swdec_pending_queue*/
- if (check_fwstate(mlmepriv, WIFI_STATION_STATE) && psecuritypriv->busetkipkey) {
+ if (check_fwstate(mlmepriv, WIFI_STATION_STATE) &&
+ psecuritypriv->busetkipkey) {
union recv_frame *pending_frame;
- while ((pending_frame = rtw_alloc_recvframe(&padapter->recvpriv.uc_swdec_pending_queue)))
+ while ((pending_frame = rtw_alloc_recvframe(
+ &padapter->recvpriv.uc_swdec_pending_queue)))
recv_func_posthandle(padapter, pending_frame);
}
@@ -2135,11 +2280,15 @@ static int recv_func(struct adapter *padapter, union recv_frame *rframe)
(prxattrib->bdecrypted == 0 || psecuritypriv->sw_decrypt) &&
psecuritypriv->ndisauthtype == Ndis802_11AuthModeWPAPSK &&
!psecuritypriv->busetkipkey) {
- rtw_enqueue_recvframe(rframe, &padapter->recvpriv.uc_swdec_pending_queue);
+ rtw_enqueue_recvframe(
+ rframe,
+ &padapter->recvpriv.uc_swdec_pending_queue);
if (recvpriv->free_recvframe_cnt < NR_RECVFRAME / 4) {
/* to prevent from recvframe starvation, get recvframe from uc_swdec_pending_queue to free_recvframe_cnt */
- rframe = rtw_alloc_recvframe(&padapter->recvpriv.uc_swdec_pending_queue);
+ rframe = rtw_alloc_recvframe(
+ &padapter->recvpriv
+ .uc_swdec_pending_queue);
if (rframe)
goto do_posthandle;
}
@@ -2188,21 +2337,28 @@ static void rtw_signal_stat_timer_hdl(struct timer_list *t)
u8 avg_signal_qual = 0;
u32 num_signal_strength = 0;
u32 __maybe_unused num_signal_qual = 0;
- u8 _alpha = 5; /* this value is based on converging_constant = 5000 and sampling_interval = 1000 */
+ u8 _alpha =
+ 5; /* this value is based on converging_constant = 5000 and sampling_interval = 1000 */
if (adapter->recvpriv.is_signal_dbg) {
/* update the user specific value, signal_strength_dbg, to signal_strength, rssi */
- adapter->recvpriv.signal_strength = adapter->recvpriv.signal_strength_dbg;
- adapter->recvpriv.rssi = (s8)translate_percentage_to_dbm((u8)adapter->recvpriv.signal_strength_dbg);
+ adapter->recvpriv.signal_strength =
+ adapter->recvpriv.signal_strength_dbg;
+ adapter->recvpriv.rssi = (s8)translate_percentage_to_dbm(
+ (u8)adapter->recvpriv.signal_strength_dbg);
} else {
- if (recvpriv->signal_strength_data.update_req == 0) {/* update_req is clear, means we got rx */
- avg_signal_strength = recvpriv->signal_strength_data.avg_val;
- num_signal_strength = recvpriv->signal_strength_data.total_num;
+ if (recvpriv->signal_strength_data.update_req ==
+ 0) { /* update_req is clear, means we got rx */
+ avg_signal_strength =
+ recvpriv->signal_strength_data.avg_val;
+ num_signal_strength =
+ recvpriv->signal_strength_data.total_num;
/* after avg_vals are acquired, we can re-stat the signal values */
recvpriv->signal_strength_data.update_req = 1;
}
- if (recvpriv->signal_qual_data.update_req == 0) {/* update_req is clear, means we got rx */
+ if (recvpriv->signal_qual_data.update_req ==
+ 0) { /* update_req is clear, means we got rx */
avg_signal_qual = recvpriv->signal_qual_data.avg_val;
num_signal_qual = recvpriv->signal_qual_data.total_num;
/* after avg_vals are acquired, we can re-stat the signal values */
@@ -2211,20 +2367,22 @@ static void rtw_signal_stat_timer_hdl(struct timer_list *t)
if (num_signal_strength == 0) {
if (rtw_get_on_cur_ch_time(adapter) == 0 ||
- jiffies_to_msecs(jiffies - rtw_get_on_cur_ch_time(adapter)) < 2 * adapter->mlmeextpriv.mlmext_info.bcn_interval
- ) {
+ jiffies_to_msecs(jiffies -
+ rtw_get_on_cur_ch_time(adapter)) <
+ 2 * adapter->mlmeextpriv.mlmext_info
+ .bcn_interval) {
goto set_timer;
}
}
if (check_fwstate(&adapter->mlmepriv, _FW_UNDER_SURVEY) ||
- !check_fwstate(&adapter->mlmepriv, _FW_LINKED)
- ) {
+ !check_fwstate(&adapter->mlmepriv, _FW_LINKED)) {
goto set_timer;
}
/* update value of signal_strength, rssi, signal_qual */
- tmp_s = (avg_signal_strength + (_alpha - 1) * recvpriv->signal_strength);
+ tmp_s = (avg_signal_strength +
+ (_alpha - 1) * recvpriv->signal_strength);
if (tmp_s % _alpha)
tmp_s = tmp_s / _alpha + 1;
else
@@ -2232,7 +2390,8 @@ static void rtw_signal_stat_timer_hdl(struct timer_list *t)
if (tmp_s > 100)
tmp_s = 100;
- tmp_q = (avg_signal_qual + (_alpha - 1) * recvpriv->signal_qual);
+ tmp_q = (avg_signal_qual +
+ (_alpha - 1) * recvpriv->signal_qual);
if (tmp_q % _alpha)
tmp_q = tmp_q / _alpha + 1;
else
diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index 0cfd7734c1749..5dad30f6b86a1 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -10,16 +10,9 @@
#include <crypto/aes.h>
#include <crypto/utils.h>
-static const char * const _security_type_str[] = {
- "N/A",
- "WEP40",
- "TKIP",
- "TKIP_WM",
- "AES",
- "WEP104",
- "SMS4",
- "WEP_WPA",
- "BIP",
+static const char *const _security_type_str[] = {
+ "N/A", "WEP40", "TKIP", "TKIP_WM", "AES",
+ "WEP104", "SMS4", "WEP_WPA", "BIP",
};
const char *security_type_str(u8 value)
@@ -33,16 +26,16 @@ const char *security_type_str(u8 value)
/* Need to consider the fragment situation */
void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
-{ /* exclude ICV */
+{ /* exclude ICV */
union {
__le32 f0;
unsigned char f1[4];
} crc;
- signed int curfragnum, length;
+ signed int curfragnum, length;
u32 keylength;
- u8 *pframe, *payload, *iv; /* wepkey */
+ u8 *pframe, *payload, *iv; /* wepkey */
u8 wepkey[16];
u8 hw_hdr_offset = 0;
struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib;
@@ -58,27 +51,41 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
/* start to encrypt each fragment */
if ((pattrib->encrypt == _WEP40_) || (pattrib->encrypt == _WEP104_)) {
- keylength = psecuritypriv->dot11DefKeylen[psecuritypriv->dot11PrivacyKeyIndex];
+ keylength = psecuritypriv->dot11DefKeylen
+ [psecuritypriv->dot11PrivacyKeyIndex];
- for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) {
+ for (curfragnum = 0; curfragnum < pattrib->nr_frags;
+ curfragnum++) {
iv = pframe + pattrib->hdrlen;
memcpy(&wepkey[0], iv, 3);
- memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[psecuritypriv->dot11PrivacyKeyIndex].skey[0], keylength);
+ memcpy(&wepkey[3],
+ &psecuritypriv
+ ->dot11DefKey
+ [psecuritypriv
+ ->dot11PrivacyKeyIndex]
+ .skey[0],
+ keylength);
payload = pframe + pattrib->iv_len + pattrib->hdrlen;
- if ((curfragnum + 1) == pattrib->nr_frags) { /* the last fragment */
+ if ((curfragnum + 1) ==
+ pattrib->nr_frags) { /* the last fragment */
- length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
+ length = pattrib->last_txcmdsz -
+ pattrib->hdrlen - pattrib->iv_len -
+ pattrib->icv_len;
- crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
+ crc.f0 = cpu_to_le32(
+ ~crc32_le(~0, payload, length));
arc4_setkey(ctx, wepkey, 3 + keylength);
arc4_crypt(ctx, payload, payload, length);
arc4_crypt(ctx, payload + length, crc.f1, 4);
} else {
- length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
- crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
+ length = pxmitpriv->frag_len - pattrib->hdrlen -
+ pattrib->iv_len - pattrib->icv_len;
+ crc.f0 = cpu_to_le32(
+ ~crc32_le(~0, payload, length));
arc4_setkey(ctx, wepkey, 3 + keylength);
arc4_crypt(ctx, payload, payload, length);
arc4_crypt(ctx, payload + length, crc.f1, 4);
@@ -90,36 +97,42 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
}
}
-void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe)
+void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe)
{
/* exclude ICV */
u8 crc[4];
- signed int length;
+ signed int length;
u32 keylength;
u8 *pframe, *payload, *iv, wepkey[16];
- u8 keyindex;
- struct rx_pkt_attrib *prxattrib = &(((union recv_frame *)precvframe)->u.hdr.attrib);
- struct security_priv *psecuritypriv = &padapter->securitypriv;
+ u8 keyindex;
+ struct rx_pkt_attrib *prxattrib =
+ &(((union recv_frame *)precvframe)->u.hdr.attrib);
+ struct security_priv *psecuritypriv = &padapter->securitypriv;
struct arc4_ctx *ctx = &psecuritypriv->recv_arc4_ctx;
- pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
+ pframe =
+ (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
/* start to decrypt recvframe */
- if ((prxattrib->encrypt == _WEP40_) || (prxattrib->encrypt == _WEP104_)) {
+ if ((prxattrib->encrypt == _WEP40_) ||
+ (prxattrib->encrypt == _WEP104_)) {
iv = pframe + prxattrib->hdrlen;
/* keyindex =(iv[3]&0x3); */
keyindex = prxattrib->key_index;
keylength = psecuritypriv->dot11DefKeylen[keyindex];
memcpy(&wepkey[0], iv, 3);
/* memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[psecuritypriv->dot11PrivacyKeyIndex].skey[0], keylength); */
- memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[keyindex].skey[0], keylength);
- length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
+ memcpy(&wepkey[3],
+ &psecuritypriv->dot11DefKey[keyindex].skey[0],
+ keylength);
+ length = ((union recv_frame *)precvframe)->u.hdr.len -
+ prxattrib->hdrlen - prxattrib->iv_len;
payload = pframe + prxattrib->iv_len + prxattrib->hdrlen;
/* decrypt payload include icv */
arc4_setkey(ctx, wepkey, 3 + keylength);
- arc4_crypt(ctx, payload, payload, length);
+ arc4_crypt(ctx, payload, payload, length);
/* calculate icv and compare the icv */
*((u32 *)crc) = ~crc32_le(~0, payload, length - 4);
@@ -130,7 +143,7 @@ void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe)
static void secmicclear(struct mic_data *pmicdata)
{
-/* Reset the state to the empty message. */
+ /* Reset the state to the empty message. */
pmicdata->L = pmicdata->K0;
pmicdata->R = pmicdata->K1;
pmicdata->nBytesInM = 0;
@@ -156,7 +169,8 @@ void rtw_secmicappendbyte(struct mic_data *pmicdata, u8 b)
pmicdata->L ^= pmicdata->M;
pmicdata->R ^= ROL32(pmicdata->L, 17);
pmicdata->L += pmicdata->R;
- pmicdata->R ^= ((pmicdata->L & 0xff00ff00) >> 8) | ((pmicdata->L & 0x00ff00ff) << 8);
+ pmicdata->R ^= ((pmicdata->L & 0xff00ff00) >> 8) |
+ ((pmicdata->L & 0x00ff00ff) << 8);
pmicdata->L += pmicdata->R;
pmicdata->R ^= ROL32(pmicdata->L, 3);
pmicdata->L += pmicdata->R;
@@ -195,24 +209,25 @@ void rtw_secgetmic(struct mic_data *pmicdata, u8 *dst)
secmicclear(pmicdata);
}
-void rtw_seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len, u8 *mic_code, u8 pri)
+void rtw_seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len,
+ u8 *mic_code, u8 pri)
{
- struct mic_data micdata;
- u8 priority[4] = {0x0, 0x0, 0x0, 0x0};
+ struct mic_data micdata;
+ u8 priority[4] = { 0x0, 0x0, 0x0, 0x0 };
rtw_secmicsetkey(&micdata, key);
priority[0] = pri;
/* Michael MIC pseudo header: DA, SA, 3 x 0, Priority */
- if (header[1] & 1) { /* ToDS == 1 */
- rtw_secmicappend(&micdata, &header[16], 6); /* DA */
- if (header[1] & 2) /* From Ds == 1 */
+ if (header[1] & 1) { /* ToDS == 1 */
+ rtw_secmicappend(&micdata, &header[16], 6); /* DA */
+ if (header[1] & 2) /* From Ds == 1 */
rtw_secmicappend(&micdata, &header[24], 6);
else
rtw_secmicappend(&micdata, &header[10], 6);
- } else { /* ToDS == 0 */
- rtw_secmicappend(&micdata, &header[4], 6); /* DA */
- if (header[1] & 2) /* From Ds == 1 */
+ } else { /* ToDS == 0 */
+ rtw_secmicappend(&micdata, &header[4], 6); /* DA */
+ if (header[1] & 2) /* From Ds == 1 */
rtw_secmicappend(&micdata, &header[16], 6);
else
rtw_secmicappend(&micdata, &header[10], 6);
@@ -225,94 +240,119 @@ void rtw_seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len, u8 *mic_cod
}
/* macros for extraction/creation of unsigned char/unsigned short values */
-#define RotR1(v16) ((((v16) >> 1) & 0x7FFF) ^ (((v16) & 1) << 15))
-#define Lo8(v16) ((u8)((v16) & 0x00FF))
-#define Hi8(v16) ((u8)(((v16) >> 8) & 0x00FF))
-#define Lo16(v32) ((u16)((v32) & 0xFFFF))
-#define Hi16(v32) ((u16)(((v32) >> 16) & 0xFFFF))
-#define Mk16(hi, lo) ((lo) ^ (((u16)(hi)) << 8))
+#define RotR1(v16) ((((v16) >> 1) & 0x7FFF) ^ (((v16) & 1) << 15))
+#define Lo8(v16) ((u8)((v16) & 0x00FF))
+#define Hi8(v16) ((u8)(((v16) >> 8) & 0x00FF))
+#define Lo16(v32) ((u16)((v32) & 0xFFFF))
+#define Hi16(v32) ((u16)(((v32) >> 16) & 0xFFFF))
+#define Mk16(hi, lo) ((lo) ^ (((u16)(hi)) << 8))
/* select the Nth 16-bit word of the temporal key unsigned char array TK[] */
-#define TK16(N) Mk16(tk[2 * (N) + 1], tk[2 * (N)])
+#define TK16(N) Mk16(tk[2 * (N) + 1], tk[2 * (N)])
/* S-box lookup: 16 bits --> 16 bits */
-#define _S_(v16) (Sbox1[0][Lo8(v16)] ^ Sbox1[1][Hi8(v16)])
+#define _S_(v16) (Sbox1[0][Lo8(v16)] ^ Sbox1[1][Hi8(v16)])
/* fixed algorithm "parameters" */
-#define PHASE1_LOOP_CNT 8 /* this needs to be "big enough" */
+#define PHASE1_LOOP_CNT 8 /* this needs to be "big enough" */
/* 2-unsigned char by 2-unsigned char subset of the full AES S-box table */
-static const unsigned short Sbox1[2][256] = { /* Sbox for hash (can be in ROM) */
-{
- 0xC6A5, 0xF884, 0xEE99, 0xF68D, 0xFF0D, 0xD6BD, 0xDEB1, 0x9154,
- 0x6050, 0x0203, 0xCEA9, 0x567D, 0xE719, 0xB562, 0x4DE6, 0xEC9A,
- 0x8F45, 0x1F9D, 0x8940, 0xFA87, 0xEF15, 0xB2EB, 0x8EC9, 0xFB0B,
- 0x41EC, 0xB367, 0x5FFD, 0x45EA, 0x23BF, 0x53F7, 0xE496, 0x9B5B,
- 0x75C2, 0xE11C, 0x3DAE, 0x4C6A, 0x6C5A, 0x7E41, 0xF502, 0x834F,
- 0x685C, 0x51F4, 0xD134, 0xF908, 0xE293, 0xAB73, 0x6253, 0x2A3F,
- 0x080C, 0x9552, 0x4665, 0x9D5E, 0x3028, 0x37A1, 0x0A0F, 0x2FB5,
- 0x0E09, 0x2436, 0x1B9B, 0xDF3D, 0xCD26, 0x4E69, 0x7FCD, 0xEA9F,
- 0x121B, 0x1D9E, 0x5874, 0x342E, 0x362D, 0xDCB2, 0xB4EE, 0x5BFB,
- 0xA4F6, 0x764D, 0xB761, 0x7DCE, 0x527B, 0xDD3E, 0x5E71, 0x1397,
- 0xA6F5, 0xB968, 0x0000, 0xC12C, 0x4060, 0xE31F, 0x79C8, 0xB6ED,
- 0xD4BE, 0x8D46, 0x67D9, 0x724B, 0x94DE, 0x98D4, 0xB0E8, 0x854A,
- 0xBB6B, 0xC52A, 0x4FE5, 0xED16, 0x86C5, 0x9AD7, 0x6655, 0x1194,
- 0x8ACF, 0xE910, 0x0406, 0xFE81, 0xA0F0, 0x7844, 0x25BA, 0x4BE3,
- 0xA2F3, 0x5DFE, 0x80C0, 0x058A, 0x3FAD, 0x21BC, 0x7048, 0xF104,
- 0x63DF, 0x77C1, 0xAF75, 0x4263, 0x2030, 0xE51A, 0xFD0E, 0xBF6D,
- 0x814C, 0x1814, 0x2635, 0xC32F, 0xBEE1, 0x35A2, 0x88CC, 0x2E39,
- 0x9357, 0x55F2, 0xFC82, 0x7A47, 0xC8AC, 0xBAE7, 0x322B, 0xE695,
- 0xC0A0, 0x1998, 0x9ED1, 0xA37F, 0x4466, 0x547E, 0x3BAB, 0x0B83,
- 0x8CCA, 0xC729, 0x6BD3, 0x283C, 0xA779, 0xBCE2, 0x161D, 0xAD76,
- 0xDB3B, 0x6456, 0x744E, 0x141E, 0x92DB, 0x0C0A, 0x486C, 0xB8E4,
- 0x9F5D, 0xBD6E, 0x43EF, 0xC4A6, 0x39A8, 0x31A4, 0xD337, 0xF28B,
- 0xD532, 0x8B43, 0x6E59, 0xDAB7, 0x018C, 0xB164, 0x9CD2, 0x49E0,
- 0xD8B4, 0xACFA, 0xF307, 0xCF25, 0xCAAF, 0xF48E, 0x47E9, 0x1018,
- 0x6FD5, 0xF088, 0x4A6F, 0x5C72, 0x3824, 0x57F1, 0x73C7, 0x9751,
- 0xCB23, 0xA17C, 0xE89C, 0x3E21, 0x96DD, 0x61DC, 0x0D86, 0x0F85,
- 0xE090, 0x7C42, 0x71C4, 0xCCAA, 0x90D8, 0x0605, 0xF701, 0x1C12,
- 0xC2A3, 0x6A5F, 0xAEF9, 0x69D0, 0x1791, 0x9958, 0x3A27, 0x27B9,
- 0xD938, 0xEB13, 0x2BB3, 0x2233, 0xD2BB, 0xA970, 0x0789, 0x33A7,
- 0x2DB6, 0x3C22, 0x1592, 0xC920, 0x8749, 0xAAFF, 0x5078, 0xA57A,
- 0x038F, 0x59F8, 0x0980, 0x1A17, 0x65DA, 0xD731, 0x84C6, 0xD0B8,
- 0x82C3, 0x29B0, 0x5A77, 0x1E11, 0x7BCB, 0xA8FC, 0x6DD6, 0x2C3A,
- },
-
- { /* second half of table is unsigned char-reversed version of first! */
- 0xA5C6, 0x84F8, 0x99EE, 0x8DF6, 0x0DFF, 0xBDD6, 0xB1DE, 0x5491,
- 0x5060, 0x0302, 0xA9CE, 0x7D56, 0x19E7, 0x62B5, 0xE64D, 0x9AEC,
- 0x458F, 0x9D1F, 0x4089, 0x87FA, 0x15EF, 0xEBB2, 0xC98E, 0x0BFB,
- 0xEC41, 0x67B3, 0xFD5F, 0xEA45, 0xBF23, 0xF753, 0x96E4, 0x5B9B,
- 0xC275, 0x1CE1, 0xAE3D, 0x6A4C, 0x5A6C, 0x417E, 0x02F5, 0x4F83,
- 0x5C68, 0xF451, 0x34D1, 0x08F9, 0x93E2, 0x73AB, 0x5362, 0x3F2A,
- 0x0C08, 0x5295, 0x6546, 0x5E9D, 0x2830, 0xA137, 0x0F0A, 0xB52F,
- 0x090E, 0x3624, 0x9B1B, 0x3DDF, 0x26CD, 0x694E, 0xCD7F, 0x9FEA,
- 0x1B12, 0x9E1D, 0x7458, 0x2E34, 0x2D36, 0xB2DC, 0xEEB4, 0xFB5B,
- 0xF6A4, 0x4D76, 0x61B7, 0xCE7D, 0x7B52, 0x3EDD, 0x715E, 0x9713,
- 0xF5A6, 0x68B9, 0x0000, 0x2CC1, 0x6040, 0x1FE3, 0xC879, 0xEDB6,
- 0xBED4, 0x468D, 0xD967, 0x4B72, 0xDE94, 0xD498, 0xE8B0, 0x4A85,
- 0x6BBB, 0x2AC5, 0xE54F, 0x16ED, 0xC586, 0xD79A, 0x5566, 0x9411,
- 0xCF8A, 0x10E9, 0x0604, 0x81FE, 0xF0A0, 0x4478, 0xBA25, 0xE34B,
- 0xF3A2, 0xFE5D, 0xC080, 0x8A05, 0xAD3F, 0xBC21, 0x4870, 0x04F1,
- 0xDF63, 0xC177, 0x75AF, 0x6342, 0x3020, 0x1AE5, 0x0EFD, 0x6DBF,
- 0x4C81, 0x1418, 0x3526, 0x2FC3, 0xE1BE, 0xA235, 0xCC88, 0x392E,
- 0x5793, 0xF255, 0x82FC, 0x477A, 0xACC8, 0xE7BA, 0x2B32, 0x95E6,
- 0xA0C0, 0x9819, 0xD19E, 0x7FA3, 0x6644, 0x7E54, 0xAB3B, 0x830B,
- 0xCA8C, 0x29C7, 0xD36B, 0x3C28, 0x79A7, 0xE2BC, 0x1D16, 0x76AD,
- 0x3BDB, 0x5664, 0x4E74, 0x1E14, 0xDB92, 0x0A0C, 0x6C48, 0xE4B8,
- 0x5D9F, 0x6EBD, 0xEF43, 0xA6C4, 0xA839, 0xA431, 0x37D3, 0x8BF2,
- 0x32D5, 0x438B, 0x596E, 0xB7DA, 0x8C01, 0x64B1, 0xD29C, 0xE049,
- 0xB4D8, 0xFAAC, 0x07F3, 0x25CF, 0xAFCA, 0x8EF4, 0xE947, 0x1810,
- 0xD56F, 0x88F0, 0x6F4A, 0x725C, 0x2438, 0xF157, 0xC773, 0x5197,
- 0x23CB, 0x7CA1, 0x9CE8, 0x213E, 0xDD96, 0xDC61, 0x860D, 0x850F,
- 0x90E0, 0x427C, 0xC471, 0xAACC, 0xD890, 0x0506, 0x01F7, 0x121C,
- 0xA3C2, 0x5F6A, 0xF9AE, 0xD069, 0x9117, 0x5899, 0x273A, 0xB927,
- 0x38D9, 0x13EB, 0xB32B, 0x3322, 0xBBD2, 0x70A9, 0x8907, 0xA733,
- 0xB62D, 0x223C, 0x9215, 0x20C9, 0x4987, 0xFFAA, 0x7850, 0x7AA5,
- 0x8F03, 0xF859, 0x8009, 0x171A, 0xDA65, 0x31D7, 0xC684, 0xB8D0,
- 0xC382, 0xB029, 0x775A, 0x111E, 0xCB7B, 0xFCA8, 0xD66D, 0x3A2C,
- }
-};
+static const unsigned short Sbox1
+ [2]
+ [256] = { /* Sbox for hash (can be in ROM) */
+ {
+ 0xC6A5, 0xF884, 0xEE99, 0xF68D, 0xFF0D, 0xD6BD,
+ 0xDEB1, 0x9154, 0x6050, 0x0203, 0xCEA9, 0x567D,
+ 0xE719, 0xB562, 0x4DE6, 0xEC9A, 0x8F45, 0x1F9D,
+ 0x8940, 0xFA87, 0xEF15, 0xB2EB, 0x8EC9, 0xFB0B,
+ 0x41EC, 0xB367, 0x5FFD, 0x45EA, 0x23BF, 0x53F7,
+ 0xE496, 0x9B5B, 0x75C2, 0xE11C, 0x3DAE, 0x4C6A,
+ 0x6C5A, 0x7E41, 0xF502, 0x834F, 0x685C, 0x51F4,
+ 0xD134, 0xF908, 0xE293, 0xAB73, 0x6253, 0x2A3F,
+ 0x080C, 0x9552, 0x4665, 0x9D5E, 0x3028, 0x37A1,
+ 0x0A0F, 0x2FB5, 0x0E09, 0x2436, 0x1B9B, 0xDF3D,
+ 0xCD26, 0x4E69, 0x7FCD, 0xEA9F, 0x121B, 0x1D9E,
+ 0x5874, 0x342E, 0x362D, 0xDCB2, 0xB4EE, 0x5BFB,
+ 0xA4F6, 0x764D, 0xB761, 0x7DCE, 0x527B, 0xDD3E,
+ 0x5E71, 0x1397, 0xA6F5, 0xB968, 0x0000, 0xC12C,
+ 0x4060, 0xE31F, 0x79C8, 0xB6ED, 0xD4BE, 0x8D46,
+ 0x67D9, 0x724B, 0x94DE, 0x98D4, 0xB0E8, 0x854A,
+ 0xBB6B, 0xC52A, 0x4FE5, 0xED16, 0x86C5, 0x9AD7,
+ 0x6655, 0x1194, 0x8ACF, 0xE910, 0x0406, 0xFE81,
+ 0xA0F0, 0x7844, 0x25BA, 0x4BE3, 0xA2F3, 0x5DFE,
+ 0x80C0, 0x058A, 0x3FAD, 0x21BC, 0x7048, 0xF104,
+ 0x63DF, 0x77C1, 0xAF75, 0x4263, 0x2030, 0xE51A,
+ 0xFD0E, 0xBF6D, 0x814C, 0x1814, 0x2635, 0xC32F,
+ 0xBEE1, 0x35A2, 0x88CC, 0x2E39, 0x9357, 0x55F2,
+ 0xFC82, 0x7A47, 0xC8AC, 0xBAE7, 0x322B, 0xE695,
+ 0xC0A0, 0x1998, 0x9ED1, 0xA37F, 0x4466, 0x547E,
+ 0x3BAB, 0x0B83, 0x8CCA, 0xC729, 0x6BD3, 0x283C,
+ 0xA779, 0xBCE2, 0x161D, 0xAD76, 0xDB3B, 0x6456,
+ 0x744E, 0x141E, 0x92DB, 0x0C0A, 0x486C, 0xB8E4,
+ 0x9F5D, 0xBD6E, 0x43EF, 0xC4A6, 0x39A8, 0x31A4,
+ 0xD337, 0xF28B, 0xD532, 0x8B43, 0x6E59, 0xDAB7,
+ 0x018C, 0xB164, 0x9CD2, 0x49E0, 0xD8B4, 0xACFA,
+ 0xF307, 0xCF25, 0xCAAF, 0xF48E, 0x47E9, 0x1018,
+ 0x6FD5, 0xF088, 0x4A6F, 0x5C72, 0x3824, 0x57F1,
+ 0x73C7, 0x9751, 0xCB23, 0xA17C, 0xE89C, 0x3E21,
+ 0x96DD, 0x61DC, 0x0D86, 0x0F85, 0xE090, 0x7C42,
+ 0x71C4, 0xCCAA, 0x90D8, 0x0605, 0xF701, 0x1C12,
+ 0xC2A3, 0x6A5F, 0xAEF9, 0x69D0, 0x1791, 0x9958,
+ 0x3A27, 0x27B9, 0xD938, 0xEB13, 0x2BB3, 0x2233,
+ 0xD2BB, 0xA970, 0x0789, 0x33A7, 0x2DB6, 0x3C22,
+ 0x1592, 0xC920, 0x8749, 0xAAFF, 0x5078, 0xA57A,
+ 0x038F, 0x59F8, 0x0980, 0x1A17, 0x65DA, 0xD731,
+ 0x84C6, 0xD0B8, 0x82C3, 0x29B0, 0x5A77, 0x1E11,
+ 0x7BCB, 0xA8FC, 0x6DD6, 0x2C3A,
+ },
+
+ {
+ /* second half of table is unsigned char-reversed version of first! */
+ 0xA5C6, 0x84F8, 0x99EE, 0x8DF6, 0x0DFF, 0xBDD6,
+ 0xB1DE, 0x5491, 0x5060, 0x0302, 0xA9CE, 0x7D56,
+ 0x19E7, 0x62B5, 0xE64D, 0x9AEC, 0x458F, 0x9D1F,
+ 0x4089, 0x87FA, 0x15EF, 0xEBB2, 0xC98E, 0x0BFB,
+ 0xEC41, 0x67B3, 0xFD5F, 0xEA45, 0xBF23, 0xF753,
+ 0x96E4, 0x5B9B, 0xC275, 0x1CE1, 0xAE3D, 0x6A4C,
+ 0x5A6C, 0x417E, 0x02F5, 0x4F83, 0x5C68, 0xF451,
+ 0x34D1, 0x08F9, 0x93E2, 0x73AB, 0x5362, 0x3F2A,
+ 0x0C08, 0x5295, 0x6546, 0x5E9D, 0x2830, 0xA137,
+ 0x0F0A, 0xB52F, 0x090E, 0x3624, 0x9B1B, 0x3DDF,
+ 0x26CD, 0x694E, 0xCD7F, 0x9FEA, 0x1B12, 0x9E1D,
+ 0x7458, 0x2E34, 0x2D36, 0xB2DC, 0xEEB4, 0xFB5B,
+ 0xF6A4, 0x4D76, 0x61B7, 0xCE7D, 0x7B52, 0x3EDD,
+ 0x715E, 0x9713, 0xF5A6, 0x68B9, 0x0000, 0x2CC1,
+ 0x6040, 0x1FE3, 0xC879, 0xEDB6, 0xBED4, 0x468D,
+ 0xD967, 0x4B72, 0xDE94, 0xD498, 0xE8B0, 0x4A85,
+ 0x6BBB, 0x2AC5, 0xE54F, 0x16ED, 0xC586, 0xD79A,
+ 0x5566, 0x9411, 0xCF8A, 0x10E9, 0x0604, 0x81FE,
+ 0xF0A0, 0x4478, 0xBA25, 0xE34B, 0xF3A2, 0xFE5D,
+ 0xC080, 0x8A05, 0xAD3F, 0xBC21, 0x4870, 0x04F1,
+ 0xDF63, 0xC177, 0x75AF, 0x6342, 0x3020, 0x1AE5,
+ 0x0EFD, 0x6DBF, 0x4C81, 0x1418, 0x3526, 0x2FC3,
+ 0xE1BE, 0xA235, 0xCC88, 0x392E, 0x5793, 0xF255,
+ 0x82FC, 0x477A, 0xACC8, 0xE7BA, 0x2B32, 0x95E6,
+ 0xA0C0, 0x9819, 0xD19E, 0x7FA3, 0x6644, 0x7E54,
+ 0xAB3B, 0x830B, 0xCA8C, 0x29C7, 0xD36B, 0x3C28,
+ 0x79A7, 0xE2BC, 0x1D16, 0x76AD, 0x3BDB, 0x5664,
+ 0x4E74, 0x1E14, 0xDB92, 0x0A0C, 0x6C48, 0xE4B8,
+ 0x5D9F, 0x6EBD, 0xEF43, 0xA6C4, 0xA839, 0xA431,
+ 0x37D3, 0x8BF2, 0x32D5, 0x438B, 0x596E, 0xB7DA,
+ 0x8C01, 0x64B1, 0xD29C, 0xE049, 0xB4D8, 0xFAAC,
+ 0x07F3, 0x25CF, 0xAFCA, 0x8EF4, 0xE947, 0x1810,
+ 0xD56F, 0x88F0, 0x6F4A, 0x725C, 0x2438, 0xF157,
+ 0xC773, 0x5197, 0x23CB, 0x7CA1, 0x9CE8, 0x213E,
+ 0xDD96, 0xDC61, 0x860D, 0x850F, 0x90E0, 0x427C,
+ 0xC471, 0xAACC, 0xD890, 0x0506, 0x01F7, 0x121C,
+ 0xA3C2, 0x5F6A, 0xF9AE, 0xD069, 0x9117, 0x5899,
+ 0x273A, 0xB927, 0x38D9, 0x13EB, 0xB32B, 0x3322,
+ 0xBBD2, 0x70A9, 0x8907, 0xA733, 0xB62D, 0x223C,
+ 0x9215, 0x20C9, 0x4987, 0xFFAA, 0x7850, 0x7AA5,
+ 0x8F03, 0xF859, 0x8009, 0x171A, 0xDA65, 0x31D7,
+ 0xC684, 0xB8D0, 0xC382, 0xB029, 0x775A, 0x111E,
+ 0xCB7B, 0xFCA8, 0xD66D, 0x3A2C,
+ }
+ };
/*
* Routine: Phase 1 -- generate P1K, given TA, TK, IV32
@@ -330,14 +370,14 @@ static const unsigned short Sbox1[2][256] = { /* Sbox for hash (can be in R
*/
static void phase1(u16 *p1k, const u8 *tk, const u8 *ta, u32 iv32)
{
- signed int i;
+ signed int i;
/* Initialize the 80 bits of P1K[] from IV32 and TA[0..5] */
- p1k[0] = Lo16(iv32);
- p1k[1] = Hi16(iv32);
- p1k[2] = Mk16(ta[1], ta[0]); /* use TA[] as little-endian */
- p1k[3] = Mk16(ta[3], ta[2]);
- p1k[4] = Mk16(ta[5], ta[4]);
+ p1k[0] = Lo16(iv32);
+ p1k[1] = Hi16(iv32);
+ p1k[2] = Mk16(ta[1], ta[0]); /* use TA[] as little-endian */
+ p1k[3] = Mk16(ta[3], ta[2]);
+ p1k[4] = Mk16(ta[5], ta[4]);
/* Now compute an unbalanced Feistel cipher with 80-bit block */
/* size on the 80-bit block P1K[], using the 128-bit key TK[] */
@@ -348,7 +388,7 @@ static void phase1(u16 *p1k, const u8 *tk, const u8 *ta, u32 iv32)
p1k[2] += _S_(p1k[1] ^ TK16((i & 1) + 4));
p1k[3] += _S_(p1k[2] ^ TK16((i & 1) + 6));
p1k[4] += _S_(p1k[3] ^ TK16((i & 1) + 0));
- p1k[4] += (unsigned short)i; /* avoid "slide attacks" */
+ p1k[4] += (unsigned short)i; /* avoid "slide attacks" */
}
}
@@ -374,42 +414,41 @@ static void phase1(u16 *p1k, const u8 *tk, const u8 *ta, u32 iv32)
*/
static void phase2(u8 *rc4key, const u8 *tk, const u16 *p1k, u16 iv16)
{
- signed int i;
- u16 PPK[6]; /* temporary key for mixing */
+ signed int i;
+ u16 PPK[6]; /* temporary key for mixing */
/* Note: all adds in the PPK[] equations below are mod 2**16 */
for (i = 0; i < 5; i++)
- PPK[i] = p1k[i]; /* first, copy P1K to PPK */
+ PPK[i] = p1k[i]; /* first, copy P1K to PPK */
- PPK[5] = p1k[4] + iv16; /* next, add in IV16 */
+ PPK[5] = p1k[4] + iv16; /* next, add in IV16 */
/* Bijective non-linear mixing of the 96 bits of PPK[0..5] */
- PPK[0] += _S_(PPK[5] ^ TK16(0)); /* Mix key in each "round" */
- PPK[1] += _S_(PPK[0] ^ TK16(1));
- PPK[2] += _S_(PPK[1] ^ TK16(2));
- PPK[3] += _S_(PPK[2] ^ TK16(3));
- PPK[4] += _S_(PPK[3] ^ TK16(4));
- PPK[5] += _S_(PPK[4] ^ TK16(5)); /* Total # S-box lookups == 6 */
+ PPK[0] += _S_(PPK[5] ^ TK16(0)); /* Mix key in each "round" */
+ PPK[1] += _S_(PPK[0] ^ TK16(1));
+ PPK[2] += _S_(PPK[1] ^ TK16(2));
+ PPK[3] += _S_(PPK[2] ^ TK16(3));
+ PPK[4] += _S_(PPK[3] ^ TK16(4));
+ PPK[5] += _S_(PPK[4] ^ TK16(5)); /* Total # S-box lookups == 6 */
/* Final sweep: bijective, "linear". Rotates kill LSB correlations */
- PPK[0] += RotR1(PPK[5] ^ TK16(6));
- PPK[1] += RotR1(PPK[0] ^ TK16(7)); /* Use all of TK[] in Phase2 */
- PPK[2] += RotR1(PPK[1]);
- PPK[3] += RotR1(PPK[2]);
- PPK[4] += RotR1(PPK[3]);
- PPK[5] += RotR1(PPK[4]);
+ PPK[0] += RotR1(PPK[5] ^ TK16(6));
+ PPK[1] += RotR1(PPK[0] ^ TK16(7)); /* Use all of TK[] in Phase2 */
+ PPK[2] += RotR1(PPK[1]);
+ PPK[3] += RotR1(PPK[2]);
+ PPK[4] += RotR1(PPK[3]);
+ PPK[5] += RotR1(PPK[4]);
/* Note: At this point, for a given key TK[0..15], the 96-bit output */
/* value PPK[0..5] is guaranteed to be unique, as a function */
/* of the 96-bit "input" value {TA, IV32, IV16}. That is, P1K */
/* is now a keyed permutation of {TA, IV32, IV16}. */
/* Set RC4KEY[0..3], which includes "cleartext" portion of RC4 key */
- rc4key[0] = Hi8(iv16); /* RC4KEY[0..2] is the WEP IV */
+ rc4key[0] = Hi8(iv16); /* RC4KEY[0..2] is the WEP IV */
rc4key[1] = (Hi8(iv16) | 0x20) & 0x7F; /* Help avoid weak (FMS) keys */
rc4key[2] = Lo8(iv16);
rc4key[3] = Lo8((PPK[5] ^ TK16(0)) >> 1);
-
/* Copy 96 bits of PPK[0..5] to RC4KEY[4..15] (little-endian) */
for (i = 0; i < 6; i++) {
rc4key[4 + 2 * i] = Lo8(PPK[i]);
@@ -417,20 +456,19 @@ static void phase2(u8 *rc4key, const u8 *tk, const u16 *p1k, u16 iv16)
}
}
-
/* The hlen isn't include the IV */
u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
-{ /* exclude ICV */
+{ /* exclude ICV */
u16 pnl;
u32 pnh;
u8 rc4key[16];
- u8 ttkey[16];
+ u8 ttkey[16];
union {
__le32 f0;
u8 f1[4];
} crc;
- u8 hw_hdr_offset = 0;
- signed int curfragnum, length;
+ u8 hw_hdr_offset = 0;
+ signed int curfragnum, length;
u8 *pframe, *payload, *iv, *prwskey;
union pn48 dot11txpn;
@@ -451,7 +489,11 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
return _SUCCESS;
if (is_multicast_ether_addr(pattrib->ra))
- prwskey = psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey;
+ prwskey =
+ psecuritypriv
+ ->dot118021XGrpKey[psecuritypriv
+ ->dot118021XGrpKeyid]
+ .skey;
else
prwskey = pattrib->dot118021x_UncstKey.skey;
@@ -468,8 +510,10 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
phase2(&rc4key[0], prwskey, (u16 *)&ttkey[0], pnl);
- if ((curfragnum + 1) == pattrib->nr_frags) { /* 4 the last fragment */
- length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
+ if ((curfragnum + 1) ==
+ pattrib->nr_frags) { /* 4 the last fragment */
+ length = pattrib->last_txcmdsz - pattrib->hdrlen -
+ pattrib->iv_len - pattrib->icv_len;
crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
arc4_setkey(ctx, rc4key, 16);
@@ -477,7 +521,8 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
arc4_crypt(ctx, payload + length, crc.f1, 4);
} else {
- length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
+ length = pxmitpriv->frag_len - pattrib->hdrlen -
+ pattrib->iv_len - pattrib->icv_len;
crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
arc4_setkey(ctx, rc4key, 16);
@@ -491,26 +536,27 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
return res;
}
-
/* The hlen isn't include the IV */
u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
-{ /* exclude ICV */
+{ /* exclude ICV */
u16 pnl;
u32 pnh;
- u8 rc4key[16];
- u8 ttkey[16];
+ u8 rc4key[16];
+ u8 ttkey[16];
u8 crc[4];
- signed int length;
+ signed int length;
u8 *pframe, *payload, *iv, *prwskey;
union pn48 dot11txpn;
struct sta_info *stainfo;
- struct rx_pkt_attrib *prxattrib = &((union recv_frame *)precvframe)->u.hdr.attrib;
+ struct rx_pkt_attrib *prxattrib =
+ &((union recv_frame *)precvframe)->u.hdr.attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv;
struct arc4_ctx *ctx = &psecuritypriv->recv_arc4_ctx;
u32 res = _SUCCESS;
- pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
+ pframe =
+ (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
/* 4 start to decrypt recvframe */
if (prxattrib->encrypt != _TKIP_)
@@ -538,11 +584,12 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
if (jiffies_to_msecs(jiffies - start) > 1000) {
if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
- netdev_dbg(padapter->pnetdev,
- FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
- FUNC_ADPT_ARG(padapter),
- no_gkey_bc_cnt,
- no_gkey_mc_cnt);
+ netdev_dbg(
+ padapter->pnetdev,
+ FUNC_ADPT_FMT
+ " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+ FUNC_ADPT_ARG(padapter),
+ no_gkey_bc_cnt, no_gkey_mc_cnt);
}
start = jiffies;
no_gkey_bc_cnt = 0;
@@ -552,24 +599,27 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
}
if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
- netdev_dbg(padapter->pnetdev,
- FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
- FUNC_ADPT_ARG(padapter),
- no_gkey_bc_cnt,
- no_gkey_mc_cnt);
+ netdev_dbg(
+ padapter->pnetdev,
+ FUNC_ADPT_FMT
+ " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+ FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
+ no_gkey_mc_cnt);
}
start = 0;
no_gkey_bc_cnt = 0;
no_gkey_mc_cnt = 0;
- prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
+ prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index]
+ .skey;
} else {
prwskey = &stainfo->dot118021x_UncstKey.skey[0];
}
iv = pframe + prxattrib->hdrlen;
payload = pframe + prxattrib->iv_len + prxattrib->hdrlen;
- length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
+ length = ((union recv_frame *)precvframe)->u.hdr.len -
+ prxattrib->hdrlen - prxattrib->iv_len;
GET_TKIP_PN(iv, dot11txpn);
@@ -593,12 +643,9 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
return res;
}
-
/* 3 =====AES related ===== */
-
-
-#define MAX_MSG_SIZE 2048
+#define MAX_MSG_SIZE 2048
/****************************************/
/* aes128k128d() */
@@ -620,37 +667,35 @@ static void aes128k128d(u8 *key, u8 *data, u8 *ciphertext)
/* Baron think the function is construct CCM */
/* nonce */
/************************************************/
-static void construct_mic_iv(u8 *mic_iv,
- signed int qc_exists,
- signed int a4_exists,
- u8 *mpdu,
- uint payload_length,
- u8 *pn_vector,
- uint frtype) /* add for CONFIG_IEEE80211W, none 11w also can use */
+static void construct_mic_iv(
+ u8 *mic_iv, signed int qc_exists, signed int a4_exists, u8 *mpdu,
+ uint payload_length, u8 *pn_vector,
+ uint frtype) /* add for CONFIG_IEEE80211W, none 11w also can use */
{
- signed int i;
+ signed int i;
- mic_iv[0] = 0x59;
+ mic_iv[0] = 0x59;
- if (qc_exists && a4_exists)
- mic_iv[1] = mpdu[30] & 0x0f; /* QoS_TC */
+ if (qc_exists && a4_exists)
+ mic_iv[1] = mpdu[30] & 0x0f; /* QoS_TC */
- if (qc_exists && !a4_exists)
- mic_iv[1] = mpdu[24] & 0x0f; /* mute bits 7-4 */
+ if (qc_exists && !a4_exists)
+ mic_iv[1] = mpdu[24] & 0x0f; /* mute bits 7-4 */
- if (!qc_exists)
- mic_iv[1] = 0x00;
+ if (!qc_exists)
+ mic_iv[1] = 0x00;
- /* 802.11w management frame should set management bit(4) */
- if (frtype == WIFI_MGT_TYPE)
- mic_iv[1] |= BIT(4);
+ /* 802.11w management frame should set management bit(4) */
+ if (frtype == WIFI_MGT_TYPE)
+ mic_iv[1] |= BIT(4);
- for (i = 2; i < 8; i++)
- mic_iv[i] = mpdu[i + 8]; /* mic_iv[2:7] = A2[0:5] = mpdu[10:15] */
- for (i = 8; i < 14; i++)
- mic_iv[i] = pn_vector[13 - i]; /* mic_iv[8:13] = PN[5:0] */
- mic_iv[14] = (unsigned char)(payload_length / 256);
- mic_iv[15] = (unsigned char)(payload_length % 256);
+ for (i = 2; i < 8; i++)
+ mic_iv[i] =
+ mpdu[i + 8]; /* mic_iv[2:7] = A2[0:5] = mpdu[10:15] */
+ for (i = 8; i < 14; i++)
+ mic_iv[i] = pn_vector[13 - i]; /* mic_iv[8:13] = PN[5:0] */
+ mic_iv[14] = (unsigned char)(payload_length / 256);
+ mic_iv[15] = (unsigned char)(payload_length % 256);
}
/************************************************/
@@ -659,33 +704,34 @@ static void construct_mic_iv(u8 *mic_iv,
/* header fields. */
/* Build AAD SC, A1, A2 */
/************************************************/
-static void construct_mic_header1(u8 *mic_header1,
- signed int header_length,
- u8 *mpdu,
- uint frtype) /* for CONFIG_IEEE80211W, none 11w also can use */
+static void construct_mic_header1(
+ u8 *mic_header1, signed int header_length, u8 *mpdu,
+ uint frtype) /* for CONFIG_IEEE80211W, none 11w also can use */
{
- mic_header1[0] = (u8)((header_length - 2) / 256);
- mic_header1[1] = (u8)((header_length - 2) % 256);
+ mic_header1[0] = (u8)((header_length - 2) / 256);
+ mic_header1[1] = (u8)((header_length - 2) % 256);
- /* 802.11w management frame don't AND subtype bits 4, 5, 6 of frame control field */
- if (frtype == WIFI_MGT_TYPE)
- mic_header1[2] = mpdu[0];
- else
- mic_header1[2] = mpdu[0] & 0xcf; /* Mute CF poll & CF ack bits */
-
- mic_header1[3] = mpdu[1] & 0xc7; /* Mute retry, more data and pwr mgt bits */
- mic_header1[4] = mpdu[4]; /* A1 */
- mic_header1[5] = mpdu[5];
- mic_header1[6] = mpdu[6];
- mic_header1[7] = mpdu[7];
- mic_header1[8] = mpdu[8];
- mic_header1[9] = mpdu[9];
- mic_header1[10] = mpdu[10]; /* A2 */
- mic_header1[11] = mpdu[11];
- mic_header1[12] = mpdu[12];
- mic_header1[13] = mpdu[13];
- mic_header1[14] = mpdu[14];
- mic_header1[15] = mpdu[15];
+ /* 802.11w management frame don't AND subtype bits 4, 5, 6 of frame control field */
+ if (frtype == WIFI_MGT_TYPE)
+ mic_header1[2] = mpdu[0];
+ else
+ mic_header1[2] = mpdu[0] &
+ 0xcf; /* Mute CF poll & CF ack bits */
+
+ mic_header1[3] = mpdu[1] &
+ 0xc7; /* Mute retry, more data and pwr mgt bits */
+ mic_header1[4] = mpdu[4]; /* A1 */
+ mic_header1[5] = mpdu[5];
+ mic_header1[6] = mpdu[6];
+ mic_header1[7] = mpdu[7];
+ mic_header1[8] = mpdu[8];
+ mic_header1[9] = mpdu[9];
+ mic_header1[10] = mpdu[10]; /* A2 */
+ mic_header1[11] = mpdu[11];
+ mic_header1[12] = mpdu[12];
+ mic_header1[13] = mpdu[13];
+ mic_header1[14] = mpdu[14];
+ mic_header1[15] = mpdu[15];
}
/************************************************/
@@ -693,43 +739,41 @@ static void construct_mic_header1(u8 *mic_header1,
/* Builds the last MIC header block from */
/* header fields. */
/************************************************/
-static void construct_mic_header2(u8 *mic_header2,
- u8 *mpdu,
- signed int a4_exists,
- signed int qc_exists)
+static void construct_mic_header2(u8 *mic_header2, u8 *mpdu,
+ signed int a4_exists, signed int qc_exists)
{
- signed int i;
+ signed int i;
- for (i = 0; i < 16; i++)
- mic_header2[i] = 0x00;
+ for (i = 0; i < 16; i++)
+ mic_header2[i] = 0x00;
- mic_header2[0] = mpdu[16]; /* A3 */
- mic_header2[1] = mpdu[17];
- mic_header2[2] = mpdu[18];
- mic_header2[3] = mpdu[19];
- mic_header2[4] = mpdu[20];
- mic_header2[5] = mpdu[21];
+ mic_header2[0] = mpdu[16]; /* A3 */
+ mic_header2[1] = mpdu[17];
+ mic_header2[2] = mpdu[18];
+ mic_header2[3] = mpdu[19];
+ mic_header2[4] = mpdu[20];
+ mic_header2[5] = mpdu[21];
- mic_header2[6] = 0x00;
- mic_header2[7] = 0x00; /* mpdu[23]; */
+ mic_header2[6] = 0x00;
+ mic_header2[7] = 0x00; /* mpdu[23]; */
- if (!qc_exists && a4_exists) {
- for (i = 0; i < 6; i++)
- mic_header2[8 + i] = mpdu[24 + i]; /* A4 */
- }
+ if (!qc_exists && a4_exists) {
+ for (i = 0; i < 6; i++)
+ mic_header2[8 + i] = mpdu[24 + i]; /* A4 */
+ }
- if (qc_exists && !a4_exists) {
- mic_header2[8] = mpdu[24] & 0x0f; /* mute bits 15 - 4 */
- mic_header2[9] = mpdu[25] & 0x00;
- }
+ if (qc_exists && !a4_exists) {
+ mic_header2[8] = mpdu[24] & 0x0f; /* mute bits 15 - 4 */
+ mic_header2[9] = mpdu[25] & 0x00;
+ }
- if (qc_exists && a4_exists) {
- for (i = 0; i < 6; i++)
- mic_header2[8 + i] = mpdu[24 + i]; /* A4 */
+ if (qc_exists && a4_exists) {
+ for (i = 0; i < 6; i++)
+ mic_header2[8 + i] = mpdu[24 + i]; /* A4 */
- mic_header2[14] = mpdu[30] & 0x0f;
- mic_header2[15] = mpdu[31] & 0x00;
- }
+ mic_header2[14] = mpdu[30] & 0x0f;
+ mic_header2[15] = mpdu[31] & 0x00;
+ }
}
/************************************************/
@@ -739,13 +783,10 @@ static void construct_mic_header2(u8 *mic_header2,
/* Baron think the function is construct CCM */
/* nonce */
/************************************************/
-static void construct_ctr_preload(u8 *ctr_preload,
- signed int a4_exists,
- signed int qc_exists,
- u8 *mpdu,
- u8 *pn_vector,
- signed int c,
- uint frtype) /* for CONFIG_IEEE80211W, none 11w also can use */
+static void construct_ctr_preload(
+ u8 *ctr_preload, signed int a4_exists, signed int qc_exists, u8 *mpdu,
+ u8 *pn_vector, signed int c,
+ uint frtype) /* for CONFIG_IEEE80211W, none 11w also can use */
{
signed int i = 0;
@@ -753,9 +794,9 @@ static void construct_ctr_preload(u8 *ctr_preload,
ctr_preload[i] = 0x00;
i = 0;
- ctr_preload[0] = 0x01; /* flag */
+ ctr_preload[0] = 0x01; /* flag */
if (qc_exists && a4_exists)
- ctr_preload[1] = mpdu[30] & 0x0f; /* QoC_Control */
+ ctr_preload[1] = mpdu[30] & 0x0f; /* QoC_Control */
if (qc_exists && !a4_exists)
ctr_preload[1] = mpdu[24] & 0x0f;
@@ -764,18 +805,20 @@ static void construct_ctr_preload(u8 *ctr_preload,
ctr_preload[1] |= BIT(4);
for (i = 2; i < 8; i++)
- ctr_preload[i] = mpdu[i + 8]; /* ctr_preload[2:7] = A2[0:5] = mpdu[10:15] */
+ ctr_preload[i] =
+ mpdu[i +
+ 8]; /* ctr_preload[2:7] = A2[0:5] = mpdu[10:15] */
for (i = 8; i < 14; i++)
- ctr_preload[i] = pn_vector[13 - i]; /* ctr_preload[8:13] = PN[5:0] */
+ ctr_preload[i] =
+ pn_vector[13 - i]; /* ctr_preload[8:13] = PN[5:0] */
ctr_preload[14] = (unsigned char)(c / 256); /* Ctr */
ctr_preload[15] = (unsigned char)(c % 256);
}
-static signed int aes_cipher(u8 *key, uint hdrlen,
- u8 *pframe, uint plen)
+static signed int aes_cipher(u8 *key, uint hdrlen, u8 *pframe, uint plen)
{
- uint qc_exists, a4_exists, i, j, payload_remainder,
- num_blocks, payload_index;
+ uint qc_exists, a4_exists, i, j, payload_remainder, num_blocks,
+ payload_index;
u8 pn_vector[6];
u8 mic_iv[16] = {};
@@ -788,12 +831,12 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
u8 aes_out[16] = {};
u8 padded_buffer[16] = {};
u8 mic[8];
- uint frtype = GetFrameType(pframe);
- uint frsubtype = GetFrameSubType(pframe);
+ uint frtype = GetFrameType(pframe);
+ uint frsubtype = GetFrameSubType(pframe);
frsubtype = frsubtype >> 4;
- if ((hdrlen == WLAN_HDR_A3_LEN) || (hdrlen == WLAN_HDR_A3_QOS_LEN))
+ if ((hdrlen == WLAN_HDR_A3_LEN) || (hdrlen == WLAN_HDR_A3_QOS_LEN))
a4_exists = 0;
else
a4_exists = 1;
@@ -802,15 +845,14 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
((frtype | frsubtype) == WIFI_DATA_CFPOLL) ||
((frtype | frsubtype) == WIFI_DATA_CFACKPOLL)) {
qc_exists = 1;
- if (hdrlen != WLAN_HDR_A3_QOS_LEN)
+ if (hdrlen != WLAN_HDR_A3_QOS_LEN)
hdrlen += 2;
- } else if ((frtype == WIFI_DATA) && /* add for CONFIG_IEEE80211W, none 11w also can use */
- ((frsubtype == 0x08) ||
- (frsubtype == 0x09) ||
- (frsubtype == 0x0a) ||
- (frsubtype == 0x0b))) {
- if (hdrlen != WLAN_HDR_A3_QOS_LEN)
+ } else if ((frtype ==
+ WIFI_DATA) && /* add for CONFIG_IEEE80211W, none 11w also can use */
+ ((frsubtype == 0x08) || (frsubtype == 0x09) ||
+ (frsubtype == 0x0a) || (frsubtype == 0x0b))) {
+ if (hdrlen != WLAN_HDR_A3_QOS_LEN)
hdrlen += 2;
qc_exists = 1;
@@ -825,23 +867,17 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
pn_vector[4] = pframe[hdrlen + 6];
pn_vector[5] = pframe[hdrlen + 7];
- construct_mic_iv(mic_iv,
- qc_exists,
- a4_exists,
- pframe, /* message, */
- plen,
- pn_vector,
- frtype); /* add for CONFIG_IEEE80211W, none 11w also can use */
+ construct_mic_iv(
+ mic_iv, qc_exists, a4_exists, pframe, /* message, */
+ plen, pn_vector,
+ frtype); /* add for CONFIG_IEEE80211W, none 11w also can use */
- construct_mic_header1(mic_header1,
- hdrlen,
- pframe, /* message */
- frtype); /* add for CONFIG_IEEE80211W, none 11w also can use */
+ construct_mic_header1(
+ mic_header1, hdrlen, pframe, /* message */
+ frtype); /* add for CONFIG_IEEE80211W, none 11w also can use */
- construct_mic_header2(mic_header2,
- pframe, /* message, */
- a4_exists,
- qc_exists);
+ construct_mic_header2(mic_header2, pframe, /* message, */
+ a4_exists, qc_exists);
payload_remainder = plen % 16;
num_blocks = plen / 16;
@@ -857,7 +893,8 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
aes128k128d(key, chain_buffer, aes_out);
for (i = 0; i < num_blocks; i++) {
- crypto_xor_cpy(chain_buffer, aes_out, &pframe[payload_index], 16);
+ crypto_xor_cpy(chain_buffer, aes_out, &pframe[payload_index],
+ 16);
payload_index += 16;
aes128k128d(key, chain_buffer, aes_out);
@@ -874,7 +911,7 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
aes128k128d(key, chain_buffer, aes_out);
}
- for (j = 0 ; j < 8; j++)
+ for (j = 0; j < 8; j++)
mic[j] = aes_out[j];
/* Insert MIC into payload */
@@ -883,11 +920,13 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
payload_index = hdrlen + 8;
for (i = 0; i < num_blocks; i++) {
- construct_ctr_preload(ctr_preload, a4_exists, qc_exists, pframe, /* message, */
+ construct_ctr_preload(ctr_preload, a4_exists, qc_exists,
+ pframe, /* message, */
pn_vector, i + 1, frtype);
/* add for CONFIG_IEEE80211W, none 11w also can use */
aes128k128d(key, ctr_preload, aes_out);
- crypto_xor_cpy(chain_buffer, aes_out, &pframe[payload_index], 16);
+ crypto_xor_cpy(chain_buffer, aes_out, &pframe[payload_index],
+ 16);
for (j = 0; j < 16; j++)
pframe[payload_index++] = chain_buffer[j];
}
@@ -895,7 +934,8 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
if (payload_remainder > 0) {
/* If there is a short final block, then pad it,*/
/* encrypt it and copy the unpadded part back */
- construct_ctr_preload(ctr_preload, a4_exists, qc_exists, pframe, /* message, */
+ construct_ctr_preload(ctr_preload, a4_exists, qc_exists,
+ pframe, /* message, */
pn_vector, num_blocks + 1, frtype);
/* add for CONFIG_IEEE80211W, none 11w also can use */
@@ -911,7 +951,8 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
}
/* Encrypt the MIC */
- construct_ctr_preload(ctr_preload, a4_exists, qc_exists, pframe, /* message, */
+ construct_ctr_preload(ctr_preload, a4_exists, qc_exists,
+ pframe, /* message, */
pn_vector, 0, frtype);
/* add for CONFIG_IEEE80211W, none 11w also can use */
@@ -929,14 +970,14 @@ static signed int aes_cipher(u8 *key, uint hdrlen,
}
u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
-{ /* exclude ICV */
+{ /* exclude ICV */
/*static*/
/* unsigned char message[MAX_MSG_SIZE]; */
/* Intermediate Buffers */
signed int curfragnum, length;
- u8 *pframe, *prwskey; /* *payload,*iv */
+ u8 *pframe, *prwskey; /* *payload,*iv */
u8 hw_hdr_offset = 0;
struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv;
@@ -955,17 +996,24 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
return _SUCCESS;
if (is_multicast_ether_addr(pattrib->ra))
- prwskey = psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey;
+ prwskey =
+ psecuritypriv
+ ->dot118021XGrpKey[psecuritypriv
+ ->dot118021XGrpKeyid]
+ .skey;
else
prwskey = pattrib->dot118021x_UncstKey.skey;
for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) {
- if ((curfragnum + 1) == pattrib->nr_frags) { /* 4 the last fragment */
- length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
+ if ((curfragnum + 1) ==
+ pattrib->nr_frags) { /* 4 the last fragment */
+ length = pattrib->last_txcmdsz - pattrib->hdrlen -
+ pattrib->iv_len - pattrib->icv_len;
aes_cipher(prwskey, pattrib->hdrlen, pframe, length);
} else {
- length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
+ length = pxmitpriv->frag_len - pattrib->hdrlen -
+ pattrib->iv_len - pattrib->icv_len;
aes_cipher(prwskey, pattrib->hdrlen, pframe, length);
pframe += pxmitpriv->frag_len;
@@ -975,12 +1023,11 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
return res;
}
-static signed int aes_decipher(u8 *key, uint hdrlen,
- u8 *pframe, uint plen)
+static signed int aes_decipher(u8 *key, uint hdrlen, u8 *pframe, uint plen)
{
static u8 message[MAX_MSG_SIZE];
- uint qc_exists, a4_exists, i, j, payload_remainder,
- num_blocks, payload_index;
+ uint qc_exists, a4_exists, i, j, payload_remainder, num_blocks,
+ payload_index;
signed int res = _SUCCESS;
u8 pn_vector[6];
u8 mic_iv[16] = {};
@@ -988,31 +1035,32 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
u8 mic_header2[16] = {};
u8 ctr_preload[16] = {};
- /* Intermediate Buffers */
+ /* Intermediate Buffers */
u8 chain_buffer[16] = {};
u8 aes_out[16] = {};
u8 padded_buffer[16] = {};
u8 mic[8];
- uint frtype = GetFrameType(pframe);
- uint frsubtype = GetFrameSubType(pframe);
+ uint frtype = GetFrameType(pframe);
+ uint frsubtype = GetFrameSubType(pframe);
frsubtype = frsubtype >> 4;
/* start to decrypt the payload */
- num_blocks = (plen - 8) / 16; /* plen including LLC, payload_length and mic) */
+ num_blocks = (plen - 8) /
+ 16; /* plen including LLC, payload_length and mic) */
payload_remainder = (plen - 8) % 16;
- pn_vector[0] = pframe[hdrlen];
- pn_vector[1] = pframe[hdrlen + 1];
- pn_vector[2] = pframe[hdrlen + 4];
- pn_vector[3] = pframe[hdrlen + 5];
- pn_vector[4] = pframe[hdrlen + 6];
- pn_vector[5] = pframe[hdrlen + 7];
+ pn_vector[0] = pframe[hdrlen];
+ pn_vector[1] = pframe[hdrlen + 1];
+ pn_vector[2] = pframe[hdrlen + 4];
+ pn_vector[3] = pframe[hdrlen + 5];
+ pn_vector[4] = pframe[hdrlen + 6];
+ pn_vector[5] = pframe[hdrlen + 7];
- if ((hdrlen == WLAN_HDR_A3_LEN) || (hdrlen == WLAN_HDR_A3_QOS_LEN))
+ if ((hdrlen == WLAN_HDR_A3_LEN) || (hdrlen == WLAN_HDR_A3_QOS_LEN))
a4_exists = 0;
else
a4_exists = 1;
@@ -1021,15 +1069,14 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
((frtype | frsubtype) == WIFI_DATA_CFPOLL) ||
((frtype | frsubtype) == WIFI_DATA_CFACKPOLL)) {
qc_exists = 1;
- if (hdrlen != WLAN_HDR_A3_QOS_LEN)
+ if (hdrlen != WLAN_HDR_A3_QOS_LEN)
hdrlen += 2;
- } else if ((frtype == WIFI_DATA) && /* only for data packet . add for CONFIG_IEEE80211W, none 11w also can use */
- ((frsubtype == 0x08) ||
- (frsubtype == 0x09) ||
- (frsubtype == 0x0a) ||
- (frsubtype == 0x0b))) {
- if (hdrlen != WLAN_HDR_A3_QOS_LEN)
+ } else if ((frtype ==
+ WIFI_DATA) && /* only for data packet . add for CONFIG_IEEE80211W, none 11w also can use */
+ ((frsubtype == 0x08) || (frsubtype == 0x09) ||
+ (frsubtype == 0x0a) || (frsubtype == 0x0b))) {
+ if (hdrlen != WLAN_HDR_A3_QOS_LEN)
hdrlen += 2;
qc_exists = 1;
@@ -1042,13 +1089,14 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
payload_index = hdrlen + 8; /* 8 is for extiv */
for (i = 0; i < num_blocks; i++) {
- construct_ctr_preload(ctr_preload, a4_exists,
- qc_exists, pframe,
- pn_vector, i + 1,
- frtype); /* add for CONFIG_IEEE80211W, none 11w also can use */
+ construct_ctr_preload(
+ ctr_preload, a4_exists, qc_exists, pframe, pn_vector,
+ i + 1,
+ frtype); /* add for CONFIG_IEEE80211W, none 11w also can use */
aes128k128d(key, ctr_preload, aes_out);
- crypto_xor_cpy(chain_buffer, aes_out, &pframe[payload_index], 16);
+ crypto_xor_cpy(chain_buffer, aes_out, &pframe[payload_index],
+ 16);
for (j = 0; j < 16; j++)
pframe[payload_index++] = chain_buffer[j];
@@ -1057,8 +1105,8 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
if (payload_remainder > 0) {
/* If there is a short final block, then pad it,*/
/* encrypt it and copy the unpadded part back */
- construct_ctr_preload(ctr_preload, a4_exists, qc_exists, pframe, pn_vector,
- num_blocks + 1, frtype);
+ construct_ctr_preload(ctr_preload, a4_exists, qc_exists, pframe,
+ pn_vector, num_blocks + 1, frtype);
/* add for CONFIG_IEEE80211W, none 11w also can use */
for (j = 0; j < 16; j++)
@@ -1074,7 +1122,8 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
/* start to calculate the mic */
if ((hdrlen + plen + 8) <= MAX_MSG_SIZE)
- memcpy(message, pframe, (hdrlen + plen + 8)); /* 8 is for ext iv len */
+ memcpy(message, pframe,
+ (hdrlen + plen + 8)); /* 8 is for ext iv len */
pn_vector[0] = pframe[hdrlen];
pn_vector[1] = pframe[hdrlen + 1];
@@ -1083,7 +1132,8 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
pn_vector[4] = pframe[hdrlen + 6];
pn_vector[5] = pframe[hdrlen + 7];
- construct_mic_iv(mic_iv, qc_exists, a4_exists, message, plen - 8, pn_vector, frtype);
+ construct_mic_iv(mic_iv, qc_exists, a4_exists, message, plen - 8,
+ pn_vector, frtype);
/* add for CONFIG_IEEE80211W, none 11w also can use */
construct_mic_header1(mic_header1, hdrlen, message, frtype);
@@ -1104,7 +1154,8 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
aes128k128d(key, chain_buffer, aes_out);
for (i = 0; i < num_blocks; i++) {
- crypto_xor_cpy(chain_buffer, aes_out, &message[payload_index], 16);
+ crypto_xor_cpy(chain_buffer, aes_out, &message[payload_index],
+ 16);
payload_index += 16;
aes128k128d(key, chain_buffer, aes_out);
@@ -1130,11 +1181,12 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
payload_index = hdrlen + 8;
for (i = 0; i < num_blocks; i++) {
- construct_ctr_preload(ctr_preload, a4_exists, qc_exists, message, pn_vector, i + 1,
- frtype);
+ construct_ctr_preload(ctr_preload, a4_exists, qc_exists,
+ message, pn_vector, i + 1, frtype);
/* add for CONFIG_IEEE80211W, none 11w also can use */
aes128k128d(key, ctr_preload, aes_out);
- crypto_xor_cpy(chain_buffer, aes_out, &message[payload_index], 16);
+ crypto_xor_cpy(chain_buffer, aes_out, &message[payload_index],
+ 16);
for (j = 0; j < 16; j++)
message[payload_index++] = chain_buffer[j];
}
@@ -1142,8 +1194,9 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
if (payload_remainder > 0) {
/* If there is a short final block, then pad it,*/
/* encrypt it and copy the unpadded part back */
- construct_ctr_preload(ctr_preload, a4_exists, qc_exists, message, pn_vector,
- num_blocks + 1, frtype);
+ construct_ctr_preload(ctr_preload, a4_exists, qc_exists,
+ message, pn_vector, num_blocks + 1,
+ frtype);
/* add for CONFIG_IEEE80211W, none 11w also can use */
for (j = 0; j < 16; j++)
@@ -1158,7 +1211,8 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
}
/* Encrypt the MIC */
- construct_ctr_preload(ctr_preload, a4_exists, qc_exists, message, pn_vector, 0, frtype);
+ construct_ctr_preload(ctr_preload, a4_exists, qc_exists, message,
+ pn_vector, 0, frtype);
/* add for CONFIG_IEEE80211W, none 11w also can use */
for (j = 0; j < 16; j++)
@@ -1173,14 +1227,15 @@ static signed int aes_decipher(u8 *key, uint hdrlen,
/* compare the mic */
for (i = 0; i < 8; i++) {
- if (pframe[hdrlen + 8 + plen - 8 + i] != message[hdrlen + 8 + plen - 8 + i])
+ if (pframe[hdrlen + 8 + plen - 8 + i] !=
+ message[hdrlen + 8 + plen - 8 + i])
res = _FAIL;
}
return res;
}
u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
-{ /* exclude ICV */
+{ /* exclude ICV */
/*static*/
/* unsigned char message[MAX_MSG_SIZE]; */
@@ -1188,13 +1243,15 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
/* Intermediate Buffers */
signed int length;
- u8 *pframe, *prwskey; /* *payload,*iv */
+ u8 *pframe, *prwskey; /* *payload,*iv */
struct sta_info *stainfo;
- struct rx_pkt_attrib *prxattrib = &((union recv_frame *)precvframe)->u.hdr.attrib;
+ struct rx_pkt_attrib *prxattrib =
+ &((union recv_frame *)precvframe)->u.hdr.attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv;
u32 res = _SUCCESS;
- pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
+ pframe =
+ (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
/* 4 start to encrypt each fragment */
if (prxattrib->encrypt != _AES_)
return _SUCCESS;
@@ -1219,11 +1276,12 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
if (jiffies_to_msecs(jiffies - start) > 1000) {
if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
- netdev_dbg(padapter->pnetdev,
- FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
- FUNC_ADPT_ARG(padapter),
- no_gkey_bc_cnt,
- no_gkey_mc_cnt);
+ netdev_dbg(
+ padapter->pnetdev,
+ FUNC_ADPT_FMT
+ " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+ FUNC_ADPT_ARG(padapter),
+ no_gkey_bc_cnt, no_gkey_mc_cnt);
}
start = jiffies;
no_gkey_bc_cnt = 0;
@@ -1234,17 +1292,19 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
}
if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
- netdev_dbg(padapter->pnetdev,
- FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
- FUNC_ADPT_ARG(padapter),
- no_gkey_bc_cnt,
- no_gkey_mc_cnt);
+ netdev_dbg(
+ padapter->pnetdev,
+ FUNC_ADPT_FMT
+ " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+ FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
+ no_gkey_mc_cnt);
}
start = 0;
no_gkey_bc_cnt = 0;
no_gkey_mc_cnt = 0;
- prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
+ prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index]
+ .skey;
if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
res = _FAIL;
goto exit;
@@ -1253,7 +1313,8 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
prwskey = &stainfo->dot118021x_UncstKey.skey[0];
}
- length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
+ length = ((union recv_frame *)precvframe)->u.hdr.len -
+ prxattrib->hdrlen - prxattrib->iv_len;
res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
@@ -1263,7 +1324,8 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe)
{
- struct rx_pkt_attrib *pattrib = &((union recv_frame *)precvframe)->u.hdr.attrib;
+ struct rx_pkt_attrib *pattrib =
+ &((union recv_frame *)precvframe)->u.hdr.attrib;
u8 *pframe;
u8 *BIP_AAD, *p;
u32 res = _FAIL;
@@ -1280,13 +1342,16 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe)
return _FAIL;
/* PKT start */
- pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
+ pframe =
+ (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
/* mapping to wlan header */
pwlanhdr = (struct ieee80211_hdr *)pframe;
/* save the frame body + MME */
- memcpy(BIP_AAD + BIP_AAD_SIZE, pframe + WLAN_HDR_A3_LEN, pattrib->pkt_len - WLAN_HDR_A3_LEN);
+ memcpy(BIP_AAD + BIP_AAD_SIZE, pframe + WLAN_HDR_A3_LEN,
+ pattrib->pkt_len - WLAN_HDR_A3_LEN);
/* find MME IE pointer */
- p = rtw_get_ie(BIP_AAD + BIP_AAD_SIZE, WLAN_EID_MMIE, &len, pattrib->pkt_len - WLAN_HDR_A3_LEN);
+ p = rtw_get_ie(BIP_AAD + BIP_AAD_SIZE, WLAN_EID_MMIE, &len,
+ pattrib->pkt_len - WLAN_HDR_A3_LEN);
/* Baron */
if (p) {
u16 keyid = 0;
@@ -1315,8 +1380,11 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe)
/* conscruct AAD, copy address 1 to address 3 */
memcpy(BIP_AAD + 2, &pwlanhdr->addrs, sizeof(pwlanhdr->addrs));
- if (omac1_aes_128(padapter->securitypriv.dot11wBIPKey[padapter->securitypriv.dot11wBIPKeyid].skey
- , BIP_AAD, ori_len, mic))
+ if (omac1_aes_128(padapter->securitypriv
+ .dot11wBIPKey[padapter->securitypriv
+ .dot11wBIPKeyid]
+ .skey,
+ BIP_AAD, ori_len, mic))
goto BIP_exit;
/* MIC field should be last 8 bytes of packet (packet without FCS) */
@@ -1361,8 +1429,8 @@ static void gf_mulx(u8 *pad)
* OMAC1 was standardized with the name CMAC by NIST in a Special Publication
* (SP) 800-38B.
*/
-static int omac1_aes_128_vector(u8 *key, size_t num_elem,
- u8 *addr[], size_t *len, u8 *mac)
+static int omac1_aes_128_vector(u8 *key, size_t num_elem, u8 *addr[],
+ size_t *len, u8 *mac)
{
struct aes_enckey aes;
u8 cbc[AES_BLOCK_SIZE], pad[AES_BLOCK_SIZE];
@@ -1446,13 +1514,16 @@ void rtw_sec_restore_wep_key(struct adapter *adapter)
struct security_priv *securitypriv = &adapter->securitypriv;
signed int keyid;
- if ((securitypriv->dot11PrivacyAlgrthm == _WEP40_) || (securitypriv->dot11PrivacyAlgrthm == _WEP104_)) {
+ if ((securitypriv->dot11PrivacyAlgrthm == _WEP40_) ||
+ (securitypriv->dot11PrivacyAlgrthm == _WEP104_)) {
for (keyid = 0; keyid < 4; keyid++) {
if (securitypriv->key_mask & BIT(keyid)) {
if (keyid == securitypriv->dot11PrivacyKeyIndex)
- rtw_set_key(adapter, securitypriv, keyid, 1, false);
+ rtw_set_key(adapter, securitypriv,
+ keyid, 1, false);
else
- rtw_set_key(adapter, securitypriv, keyid, 0, false);
+ rtw_set_key(adapter, securitypriv,
+ keyid, 0, false);
}
}
}
@@ -1464,7 +1535,8 @@ u8 rtw_handle_tkip_countermeasure(struct adapter *adapter, const char *caller)
u8 status = _SUCCESS;
if (securitypriv->btkip_countermeasure) {
- unsigned long passing_ms = jiffies_to_msecs(jiffies - securitypriv->btkip_countermeasure_time);
+ unsigned long passing_ms = jiffies_to_msecs(
+ jiffies - securitypriv->btkip_countermeasure_time);
if (passing_ms > 60 * 1000) {
netdev_dbg(adapter->pnetdev,
diff --git a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
index a1b7fe843979e..566797a1595d2 100644
--- a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
+++ b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
@@ -49,17 +49,19 @@ void _rtw_init_stainfo(struct sta_info *psta)
psta->keep_alive_trycnt = 0;
}
-u32 _rtw_init_sta_priv(struct sta_priv *pstapriv)
+u32 _rtw_init_sta_priv(struct sta_priv *pstapriv)
{
struct sta_info *psta;
s32 i;
- pstapriv->pallocated_stainfo_buf = vzalloc(sizeof(struct sta_info) * NUM_STA + 4);
+ pstapriv->pallocated_stainfo_buf =
+ vzalloc(sizeof(struct sta_info) * NUM_STA + 4);
if (!pstapriv->pallocated_stainfo_buf)
return _FAIL;
- pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 -
+ pstapriv->pstainfo_buf =
+ pstapriv->pallocated_stainfo_buf + 4 -
((SIZE_PTR)(pstapriv->pallocated_stainfo_buf) & 3);
INIT_LIST_HEAD(&pstapriv->free_sta_queue.queue);
@@ -80,7 +82,8 @@ u32 _rtw_init_sta_priv(struct sta_priv *pstapriv)
INIT_LIST_HEAD(&pstapriv->sta_hash[i]);
- list_add_tail(&psta->list, get_list_head(&pstapriv->free_sta_queue));
+ list_add_tail(&psta->list,
+ get_list_head(&pstapriv->free_sta_queue));
psta++;
}
@@ -104,21 +107,24 @@ u32 _rtw_init_sta_priv(struct sta_priv *pstapriv)
inline int rtw_stainfo_offset(struct sta_priv *stapriv, struct sta_info *sta)
{
- int offset = (((u8 *)sta) - stapriv->pstainfo_buf) / sizeof(struct sta_info);
+ int offset =
+ (((u8 *)sta) - stapriv->pstainfo_buf) / sizeof(struct sta_info);
return offset;
}
-inline struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv, int offset)
+inline struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv,
+ int offset)
{
- return (struct sta_info *)(stapriv->pstainfo_buf + offset * sizeof(struct sta_info));
+ return (struct sta_info *)(stapriv->pstainfo_buf +
+ offset * sizeof(struct sta_info));
}
/* this function is used to free the memory of lock || sema for all stainfos */
void kfree_all_stainfo(struct sta_priv *pstapriv);
void kfree_all_stainfo(struct sta_priv *pstapriv)
{
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
spin_lock_bh(&pstapriv->sta_hash_lock);
@@ -131,18 +137,18 @@ void kfree_all_stainfo(struct sta_priv *pstapriv)
spin_unlock_bh(&pstapriv->sta_hash_lock);
}
-void kfree_sta_priv_lock(struct sta_priv *pstapriv);
-void kfree_sta_priv_lock(struct sta_priv *pstapriv)
+void kfree_sta_priv_lock(struct sta_priv *pstapriv);
+void kfree_sta_priv_lock(struct sta_priv *pstapriv)
{
- kfree_all_stainfo(pstapriv); /* be done before free sta_hash_lock */
+ kfree_all_stainfo(pstapriv); /* be done before free sta_hash_lock */
}
-u32 _rtw_free_sta_priv(struct sta_priv *pstapriv)
+u32 _rtw_free_sta_priv(struct sta_priv *pstapriv)
{
- struct list_head *phead, *plist;
+ struct list_head *phead, *plist;
struct sta_info *psta = NULL;
struct recv_reorder_ctrl *preorder_ctrl;
- int index;
+ int index;
if (pstapriv) {
/*delete all reordering_ctrl_timer */
@@ -155,9 +161,12 @@ u32 _rtw_free_sta_priv(struct sta_priv *pstapriv)
psta = list_entry(plist, struct sta_info,
hash_list);
- for (i = 0; i < 16 ; i++) {
- preorder_ctrl = &psta->recvreorder_ctrl[i];
- timer_delete_sync(&preorder_ctrl->reordering_ctrl_timer);
+ for (i = 0; i < 16; i++) {
+ preorder_ctrl =
+ &psta->recvreorder_ctrl[i];
+ timer_delete_sync(
+ &preorder_ctrl
+ ->reordering_ctrl_timer);
}
}
}
@@ -172,15 +181,15 @@ u32 _rtw_free_sta_priv(struct sta_priv *pstapriv)
}
/* struct sta_info *rtw_alloc_stainfo(_queue *pfree_sta_queue, unsigned char *hwaddr) */
-struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
+struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
{
- s32 index;
- struct list_head *phash_list;
+ s32 index;
+ struct list_head *phash_list;
struct sta_info *psta;
struct __queue *pfree_sta_queue;
struct recv_reorder_ctrl *preorder_ctrl;
int i = 0;
- u16 wRxSeqInitialValue = 0xffff;
+ u16 wRxSeqInitialValue = 0xffff;
pfree_sta_queue = &pstapriv->free_sta_queue;
@@ -191,7 +200,8 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
spin_unlock_bh(&pstapriv->sta_hash_lock);
return NULL;
}
- psta = container_of(get_next(&pfree_sta_queue->queue), struct sta_info, list);
+ psta = container_of(get_next(&pfree_sta_queue->queue), struct sta_info,
+ list);
list_del_init(&psta->list);
@@ -226,12 +236,13 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
/* So, we initialize the tid_rxseq variable as the 0xffff. */
for (i = 0; i < 16; i++)
- memcpy(&psta->sta_recvpriv.rxcache.tid_rxseq[i], &wRxSeqInitialValue, 2);
+ memcpy(&psta->sta_recvpriv.rxcache.tid_rxseq[i],
+ &wRxSeqInitialValue, 2);
timer_setup(&psta->addba_retry_timer, addba_timer_hdl, 0);
/* for A-MPDU Rx reordering buffer control */
- for (i = 0; i < 16 ; i++) {
+ for (i = 0; i < 16; i++) {
preorder_ctrl = &psta->recvreorder_ctrl[i];
preorder_ctrl->padapter = pstapriv->padapter;
@@ -241,14 +252,14 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
preorder_ctrl->indicate_seq = 0xffff;
preorder_ctrl->wend_b = 0xffff;
/* preorder_ctrl->wsize_b = (NR_RECVBUFF-2); */
- preorder_ctrl->wsize_b = 64;/* 64; */
+ preorder_ctrl->wsize_b = 64; /* 64; */
INIT_LIST_HEAD(&preorder_ctrl->pending_recvframe_queue.queue);
spin_lock_init(&preorder_ctrl->pending_recvframe_queue.lock);
/* init recv timer */
timer_setup(&preorder_ctrl->reordering_ctrl_timer,
- rtw_reordering_ctrl_timeout_handler, 0);
+ rtw_reordering_ctrl_timeout_handler, 0);
}
/* init for DM */
@@ -271,9 +282,9 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta)
int i;
struct __queue *pfree_sta_queue;
struct recv_reorder_ctrl *preorder_ctrl;
- struct sta_xmit_priv *pstaxmitpriv;
- struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
- struct sta_priv *pstapriv = &padapter->stapriv;
+ struct sta_xmit_priv *pstaxmitpriv;
+ struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
+ struct sta_priv *pstapriv = &padapter->stapriv;
struct hw_xmit *phwxmit;
if (!psta)
@@ -346,21 +357,23 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta)
timer_delete_sync(&psta->addba_retry_timer);
/* for A-MPDU Rx reordering buffer control, cancel reordering_ctrl_timer */
- for (i = 0; i < 16 ; i++) {
- struct list_head *phead, *plist;
+ for (i = 0; i < 16; i++) {
+ struct list_head *phead, *plist;
union recv_frame *prframe;
struct __queue *ppending_recvframe_queue;
- struct __queue *pfree_recv_queue = &padapter->recvpriv.free_recv_queue;
+ struct __queue *pfree_recv_queue =
+ &padapter->recvpriv.free_recv_queue;
preorder_ctrl = &psta->recvreorder_ctrl[i];
timer_delete_sync(&preorder_ctrl->reordering_ctrl_timer);
- ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue;
+ ppending_recvframe_queue =
+ &preorder_ctrl->pending_recvframe_queue;
spin_lock_bh(&ppending_recvframe_queue->lock);
- phead = get_list_head(ppending_recvframe_queue);
+ phead = get_list_head(ppending_recvframe_queue);
plist = get_next(phead);
while (!list_empty(phead)) {
@@ -422,9 +435,9 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta)
void rtw_free_all_stainfo(struct adapter *padapter)
{
struct list_head *plist, *phead, *tmp;
- s32 index;
+ s32 index;
struct sta_info *psta = NULL;
- struct sta_priv *pstapriv = &padapter->stapriv;
+ struct sta_priv *pstapriv = &padapter->stapriv;
struct sta_info *pbcmc_stainfo = rtw_get_bcmc_stainfo(padapter);
LIST_HEAD(stainfo_free_list);
@@ -454,11 +467,11 @@ void rtw_free_all_stainfo(struct adapter *padapter)
/* any station allocated can be searched by hash list */
struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
{
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
struct sta_info *psta = NULL;
u32 index;
u8 *addr;
- u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+ u8 bc_addr[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
if (!hwaddr)
return NULL;
@@ -477,7 +490,7 @@ struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
psta = list_entry(plist, struct sta_info, hash_list);
if ((!memcmp(psta->hwaddr, addr, ETH_ALEN)))
- /* if found the matched address */
+ /* if found the matched address */
break;
psta = NULL;
@@ -490,9 +503,9 @@ struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
u32 rtw_init_bcmc_stainfo(struct adapter *padapter)
{
struct sta_info *psta;
- u8 bcast_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+ u8 bcast_addr[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
- struct sta_priv *pstapriv = &padapter->stapriv;
+ struct sta_priv *pstapriv = &padapter->stapriv;
/* struct __queue *pstapending = &padapter->xmitpriv.bm_pending; */
psta = rtw_alloc_stainfo(pstapriv, bcast_addr);
@@ -509,7 +522,7 @@ u32 rtw_init_bcmc_stainfo(struct adapter *padapter)
struct sta_info *rtw_get_bcmc_stainfo(struct adapter *padapter)
{
struct sta_priv *pstapriv = &padapter->stapriv;
- u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+ u8 bc_addr[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
return rtw_get_stainfo(pstapriv, bc_addr);
}
@@ -517,12 +530,12 @@ struct sta_info *rtw_get_bcmc_stainfo(struct adapter *padapter)
u8 rtw_access_ctrl(struct adapter *padapter, u8 *mac_addr)
{
bool res = true;
- struct list_head *plist, *phead;
+ struct list_head *plist, *phead;
struct rtw_wlan_acl_node *paclnode;
bool match = false;
struct sta_priv *pstapriv = &padapter->stapriv;
struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
- struct __queue *pacl_node_q = &pacl_list->acl_node_q;
+ struct __queue *pacl_node_q = &pacl_list->acl_node_q;
spin_lock_bh(&pacl_node_q->lock);
phead = get_list_head(pacl_node_q);
@@ -540,7 +553,7 @@ u8 rtw_access_ctrl(struct adapter *padapter, u8 *mac_addr)
if (pacl_list->mode == 1) /* accept unless in deny list */
res = !match;
- else if (pacl_list->mode == 2)/* deny unless in accept list */
+ else if (pacl_list->mode == 2) /* deny unless in accept list */
res = match;
else
res = true;
diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
index a4de538722b56..06104e054fab6 100644
--- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
+++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
@@ -8,24 +8,24 @@
#include <drv_types.h>
#include <hal_com_h2c.h>
-static unsigned char ARTHEROS_OUI1[] = {0x00, 0x03, 0x7f};
-static unsigned char ARTHEROS_OUI2[] = {0x00, 0x13, 0x74};
+static unsigned char ARTHEROS_OUI1[] = { 0x00, 0x03, 0x7f };
+static unsigned char ARTHEROS_OUI2[] = { 0x00, 0x13, 0x74 };
-static unsigned char BROADCOM_OUI1[] = {0x00, 0x10, 0x18};
-static unsigned char BROADCOM_OUI2[] = {0x00, 0x0a, 0xf7};
-static unsigned char BROADCOM_OUI3[] = {0x00, 0x05, 0xb5};
+static unsigned char BROADCOM_OUI1[] = { 0x00, 0x10, 0x18 };
+static unsigned char BROADCOM_OUI2[] = { 0x00, 0x0a, 0xf7 };
+static unsigned char BROADCOM_OUI3[] = { 0x00, 0x05, 0xb5 };
-static unsigned char CISCO_OUI[] = {0x00, 0x40, 0x96};
-static unsigned char MARVELL_OUI[] = {0x00, 0x50, 0x43};
-static unsigned char RALINK_OUI[] = {0x00, 0x0c, 0x43};
-static unsigned char REALTEK_OUI[] = {0x00, 0xe0, 0x4c};
-static unsigned char AIRGOCAP_OUI[] = {0x00, 0x0a, 0xf5};
-static unsigned char RSN_TKIP_CIPHER[4] = {0x00, 0x0f, 0xac, 0x02};
-static unsigned char WPA_TKIP_CIPHER[4] = {0x00, 0x50, 0xf2, 0x02};
+static unsigned char CISCO_OUI[] = { 0x00, 0x40, 0x96 };
+static unsigned char MARVELL_OUI[] = { 0x00, 0x50, 0x43 };
+static unsigned char RALINK_OUI[] = { 0x00, 0x0c, 0x43 };
+static unsigned char REALTEK_OUI[] = { 0x00, 0xe0, 0x4c };
+static unsigned char AIRGOCAP_OUI[] = { 0x00, 0x0a, 0xf5 };
+static unsigned char RSN_TKIP_CIPHER[4] = { 0x00, 0x0f, 0xac, 0x02 };
+static unsigned char WPA_TKIP_CIPHER[4] = { 0x00, 0x50, 0xf2, 0x02 };
/* define WAIT_FOR_BCN_TO_MIN (3000) */
-#define WAIT_FOR_BCN_TO_MIN (6000)
-#define WAIT_FOR_BCN_TO_MAX (20000)
+#define WAIT_FOR_BCN_TO_MIN (6000)
+#define WAIT_FOR_BCN_TO_MAX (20000)
#define DISCONNECT_BY_CHK_BCN_FAIL_OBSERV_PERIOD_IN_MS 1000
#define DISCONNECT_BY_CHK_BCN_FAIL_THRESHOLD 3
@@ -131,7 +131,7 @@ unsigned int ratetbl2rateset(struct adapter *padapter, unsigned char *rateset)
{
int i;
unsigned char rate;
- unsigned int len = 0;
+ unsigned int len = 0;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
for (i = 0; i < NumRates; i++) {
@@ -158,7 +158,8 @@ unsigned int ratetbl2rateset(struct adapter *padapter, unsigned char *rateset)
return len;
}
-void get_rate_set(struct adapter *padapter, unsigned char *pbssrate, int *bssrate_len)
+void get_rate_set(struct adapter *padapter, unsigned char *pbssrate,
+ int *bssrate_len)
{
unsigned char supportedrates[NumRates];
@@ -289,7 +290,8 @@ u8 rtw_get_center_ch(u8 channel, u8 chnl_bw, u8 chnl_offset)
inline unsigned long rtw_get_on_cur_ch_time(struct adapter *adapter)
{
- if (adapter->mlmeextpriv.cur_channel == adapter_to_dvobj(adapter)->oper_channel)
+ if (adapter->mlmeextpriv.cur_channel ==
+ adapter_to_dvobj(adapter)->oper_channel)
return adapter_to_dvobj(adapter)->on_oper_ch_time;
else
return 0;
@@ -297,7 +299,8 @@ inline unsigned long rtw_get_on_cur_ch_time(struct adapter *adapter)
void r8723bs_select_channel(struct adapter *padapter, unsigned char channel)
{
- if (mutex_lock_interruptible(&(adapter_to_dvobj(padapter)->setch_mutex)))
+ if (mutex_lock_interruptible(
+ &(adapter_to_dvobj(padapter)->setch_mutex)))
return;
/* saved channel info */
@@ -308,14 +311,16 @@ void r8723bs_select_channel(struct adapter *padapter, unsigned char channel)
mutex_unlock(&(adapter_to_dvobj(padapter)->setch_mutex));
}
-void set_channel_bwmode(struct adapter *padapter, unsigned char channel, unsigned char channel_offset, unsigned short bwmode)
+void set_channel_bwmode(struct adapter *padapter, unsigned char channel,
+ unsigned char channel_offset, unsigned short bwmode)
{
u8 center_ch, chnl_offset80 = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
center_ch = rtw_get_center_ch(channel, bwmode, channel_offset);
/* set Channel */
- if (mutex_lock_interruptible(&(adapter_to_dvobj(padapter)->setch_mutex)))
+ if (mutex_lock_interruptible(
+ &(adapter_to_dvobj(padapter)->setch_mutex)))
return;
/* saved channel/bw info */
@@ -323,7 +328,8 @@ void set_channel_bwmode(struct adapter *padapter, unsigned char channel, unsigne
rtw_set_oper_bw(padapter, bwmode);
rtw_set_oper_choffset(padapter, channel_offset);
- rtw_hal_set_chnl_bw(padapter, center_ch, bwmode, channel_offset, chnl_offset80); /* set center channel */
+ rtw_hal_set_chnl_bw(padapter, center_ch, bwmode, channel_offset,
+ chnl_offset80); /* set center channel */
mutex_unlock(&(adapter_to_dvobj(padapter)->setch_mutex));
}
@@ -337,7 +343,8 @@ u16 get_beacon_interval(struct wlan_bssid_ex *bss)
{
__le16 val;
- memcpy((unsigned char *)&val, rtw_get_beacon_interval_from_ie(bss->ies), 2);
+ memcpy((unsigned char *)&val, rtw_get_beacon_interval_from_ie(bss->ies),
+ 2);
return le16_to_cpu(val);
}
@@ -353,7 +360,8 @@ int is_client_associated_to_ap(struct adapter *padapter)
pmlmeext = &padapter->mlmeextpriv;
pmlmeinfo = &(pmlmeext->mlmext_info);
- if ((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) && ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE))
+ if ((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) &&
+ ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE))
return true;
else
return _FAIL;
@@ -364,7 +372,8 @@ int is_client_associated_to_ibss(struct adapter *padapter)
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
- if ((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) && ((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE))
+ if ((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) &&
+ ((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE))
return true;
else
return _FAIL;
@@ -403,7 +412,8 @@ void invalidate_cam_all(struct adapter *padapter)
spin_lock_bh(&cam_ctl->lock);
cam_ctl->bitmap = 0;
- memset(dvobj->cam_cache, 0, sizeof(struct cam_entry_cache) * TOTAL_CAM_ENTRY);
+ memset(dvobj->cam_cache, 0,
+ sizeof(struct cam_entry_cache) * TOTAL_CAM_ENTRY);
spin_unlock_bh(&cam_ctl->lock);
}
@@ -421,11 +431,13 @@ void _write_cam(struct adapter *padapter, u8 entry, u16 ctrl, u8 *mac, u8 *key)
val = (ctrl | (mac[0] << 16) | (mac[1] << 24));
break;
case 1:
- val = (mac[2] | (mac[3] << 8) | (mac[4] << 16) | (mac[5] << 24));
+ val = (mac[2] | (mac[3] << 8) | (mac[4] << 16) |
+ (mac[5] << 24));
break;
default:
i = (j - 2) << 2;
- val = (key[i] | (key[i + 1] << 8) | (key[i + 2] << 16) | (key[i + 3] << 24));
+ val = (key[i] | (key[i + 1] << 8) | (key[i + 2] << 16) |
+ (key[i + 3] << 24));
break;
}
@@ -438,13 +450,16 @@ void _write_cam(struct adapter *padapter, u8 entry, u16 ctrl, u8 *mac, u8 *key)
void _clear_cam_entry(struct adapter *padapter, u8 entry)
{
- unsigned char null_sta[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
- unsigned char null_key[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ unsigned char null_sta[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+ unsigned char null_key[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00 };
_write_cam(padapter, entry, 0, null_sta, null_key);
}
-inline void write_cam(struct adapter *adapter, u8 id, u16 ctrl, u8 *mac, u8 *key)
+inline void write_cam(struct adapter *adapter, u8 id, u16 ctrl, u8 *mac,
+ u8 *key)
{
_write_cam(adapter, id, ctrl, mac, key);
write_cam_cache(adapter, id, ctrl, mac, key);
@@ -543,12 +558,14 @@ s16 rtw_camid_alloc(struct adapter *adapter, struct sta_info *sta, u8 kid)
mlmeinfo = &adapter->mlmeextpriv.mlmext_info;
- if ((((mlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) || ((mlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE))
- && !sta) {
+ if ((((mlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) ||
+ ((mlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE)) &&
+ !sta) {
/* AP/Ad-hoc mode group key: static allocation to default key by key ID */
if (kid > 3) {
netdev_dbg(adapter->pnetdev,
- FUNC_ADPT_FMT " group key with invalid key id:%u\n",
+ FUNC_ADPT_FMT
+ " group key with invalid key id:%u\n",
FUNC_ADPT_ARG(adapter), kid);
WARN_ON(1);
goto bitmap_handle;
@@ -576,9 +593,11 @@ s16 rtw_camid_alloc(struct adapter *adapter, struct sta_info *sta, u8 kid)
if (sta || _rtw_camid_is_gk(adapter, i))
cam_id = i;
else
- netdev_dbg(adapter->pnetdev,
- FUNC_ADPT_FMT " group key id:%u the same key id as pairwise key\n",
- FUNC_ADPT_ARG(adapter), kid);
+ netdev_dbg(
+ adapter->pnetdev,
+ FUNC_ADPT_FMT
+ " group key id:%u the same key id as pairwise key\n",
+ FUNC_ADPT_ARG(adapter), kid);
goto bitmap_handle;
}
@@ -588,13 +607,16 @@ s16 rtw_camid_alloc(struct adapter *adapter, struct sta_info *sta, u8 kid)
if (i == TOTAL_CAM_ENTRY) {
if (sta)
- netdev_dbg(adapter->pnetdev,
- FUNC_ADPT_FMT " pairwise key with %pM id:%u no room\n",
- FUNC_ADPT_ARG(adapter),
- sta->hwaddr, kid);
+ netdev_dbg(
+ adapter->pnetdev,
+ FUNC_ADPT_FMT
+ " pairwise key with %pM id:%u no room\n",
+ FUNC_ADPT_ARG(adapter), sta->hwaddr,
+ kid);
else
netdev_dbg(adapter->pnetdev,
- FUNC_ADPT_FMT " group key id:%u no room\n",
+ FUNC_ADPT_FMT
+ " group key id:%u no room\n",
FUNC_ADPT_ARG(adapter), kid);
WARN_ON(1);
goto bitmap_handle;
@@ -651,7 +673,8 @@ void flush_all_cam_entry(struct adapter *padapter)
/* clear default key related key search setting */
rtw_hal_set_hwreg(padapter, HW_VAR_SEC_DK_CFG, (u8 *)false);
- memset((u8 *)(pmlmeinfo->FW_sta_info), 0, sizeof(pmlmeinfo->FW_sta_info));
+ memset((u8 *)(pmlmeinfo->FW_sta_info), 0,
+ sizeof(pmlmeinfo->FW_sta_info));
}
int WMM_param_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
@@ -666,10 +689,12 @@ int WMM_param_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
return false;
}
- if (!memcmp(&(pmlmeinfo->WMM_param), (pIE->data + 6), sizeof(struct WMM_para_element)))
+ if (!memcmp(&(pmlmeinfo->WMM_param), (pIE->data + 6),
+ sizeof(struct WMM_para_element)))
return false;
- memcpy(&(pmlmeinfo->WMM_param), (pIE->data + 6), sizeof(struct WMM_para_element));
+ memcpy(&(pmlmeinfo->WMM_param), (pIE->data + 6),
+ sizeof(struct WMM_para_element));
pmlmeinfo->WMM_enable = 1;
return true;
@@ -738,52 +763,69 @@ void WMMOnAssocRsp(struct adapter *padapter)
TXOP = 0;
acParm = AIFS | (ECWMin << 8) | (ECWMax << 12) | (TXOP << 16);
- rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BE, (u8 *)(&acParm));
- rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK, (u8 *)(&acParm));
- rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VI, (u8 *)(&acParm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BE,
+ (u8 *)(&acParm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK,
+ (u8 *)(&acParm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VI,
+ (u8 *)(&acParm));
ECWMin = 2;
ECWMax = 3;
TXOP = 0x2f;
acParm = AIFS | (ECWMin << 8) | (ECWMax << 12) | (TXOP << 16);
- rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VO, (u8 *)(&acParm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VO,
+ (u8 *)(&acParm));
} else {
edca[0] = edca[1] = edca[2] = edca[3] = 0;
for (i = 0; i < 4; i++) {
- ACI = (pmlmeinfo->WMM_param.ac_param[i].ACI_AIFSN >> 5) & 0x03;
- ACM = (pmlmeinfo->WMM_param.ac_param[i].ACI_AIFSN >> 4) & 0x01;
+ ACI = (pmlmeinfo->WMM_param.ac_param[i].ACI_AIFSN >>
+ 5) &
+ 0x03;
+ ACM = (pmlmeinfo->WMM_param.ac_param[i].ACI_AIFSN >>
+ 4) &
+ 0x01;
/* AIFS = AIFSN * slot time + SIFS - r2t phy delay */
- AIFS = (pmlmeinfo->WMM_param.ac_param[i].ACI_AIFSN & 0x0f) * pmlmeinfo->slotTime + aSifsTime;
+ AIFS = (pmlmeinfo->WMM_param.ac_param[i].ACI_AIFSN &
+ 0x0f) * pmlmeinfo->slotTime +
+ aSifsTime;
ECWMin = (pmlmeinfo->WMM_param.ac_param[i].CW & 0x0f);
- ECWMax = (pmlmeinfo->WMM_param.ac_param[i].CW & 0xf0) >> 4;
- TXOP = le16_to_cpu(pmlmeinfo->WMM_param.ac_param[i].TXOP_limit);
+ ECWMax = (pmlmeinfo->WMM_param.ac_param[i].CW & 0xf0) >>
+ 4;
+ TXOP = le16_to_cpu(
+ pmlmeinfo->WMM_param.ac_param[i].TXOP_limit);
- acParm = AIFS | (ECWMin << 8) | (ECWMax << 12) | (TXOP << 16);
+ acParm = AIFS | (ECWMin << 8) | (ECWMax << 12) |
+ (TXOP << 16);
switch (ACI) {
case 0x0:
- rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BE, (u8 *)(&acParm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BE,
+ (u8 *)(&acParm));
acm_mask |= (ACM ? BIT(1) : 0);
edca[XMIT_BE_QUEUE] = acParm;
break;
case 0x1:
- rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK, (u8 *)(&acParm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK,
+ (u8 *)(&acParm));
/* acm_mask |= (ACM? BIT(0):0); */
edca[XMIT_BK_QUEUE] = acParm;
break;
case 0x2:
- rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VI, (u8 *)(&acParm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VI,
+ (u8 *)(&acParm));
acm_mask |= (ACM ? BIT(2) : 0);
edca[XMIT_VI_QUEUE] = acParm;
break;
case 0x3:
- rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VO, (u8 *)(&acParm));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VO,
+ (u8 *)(&acParm));
acm_mask |= (ACM ? BIT(3) : 0);
edca[XMIT_VO_QUEUE] = acParm;
break;
@@ -791,11 +833,15 @@ void WMMOnAssocRsp(struct adapter *padapter)
}
if (padapter->registrypriv.acm_method == 1)
- rtw_hal_set_hwreg(padapter, HW_VAR_ACM_CTRL, (u8 *)(&acm_mask));
+ rtw_hal_set_hwreg(padapter, HW_VAR_ACM_CTRL,
+ (u8 *)(&acm_mask));
else
padapter->mlmepriv.acm_mask = acm_mask;
- inx[0] = 0; inx[1] = 1; inx[2] = 2; inx[3] = 3;
+ inx[0] = 0;
+ inx[1] = 1;
+ inx[2] = 2;
+ inx[3] = 3;
if (pregpriv->wifi_spec == 1)
sort_wmm_ac_params(inx, edca);
@@ -805,11 +851,12 @@ void WMMOnAssocRsp(struct adapter *padapter)
}
}
-static void bwmode_update_check(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
+static void bwmode_update_check(struct adapter *padapter,
+ struct ndis_80211_var_ie *pIE)
{
- unsigned char new_bwmode;
- unsigned char new_ch_offset;
- struct HT_info_element *pHT_info;
+ unsigned char new_bwmode;
+ unsigned char new_ch_offset;
+ struct HT_info_element *pHT_info;
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
@@ -853,7 +900,8 @@ static void bwmode_update_check(struct adapter *padapter, struct ndis_80211_var_
new_ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
}
- if ((new_bwmode != pmlmeext->cur_bwmode) || (new_ch_offset != pmlmeext->cur_ch_offset)) {
+ if ((new_bwmode != pmlmeext->cur_bwmode) ||
+ (new_ch_offset != pmlmeext->cur_ch_offset)) {
pmlmeinfo->bwmode_updated = true;
pmlmeext->cur_bwmode = new_bwmode;
@@ -867,7 +915,7 @@ static void bwmode_update_check(struct adapter *padapter, struct ndis_80211_var_
if (true == pmlmeinfo->bwmode_updated) {
struct sta_info *psta;
- struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
+ struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
struct sta_priv *pstapriv = &padapter->stapriv;
/* set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); */
@@ -880,10 +928,12 @@ static void bwmode_update_check(struct adapter *padapter, struct ndis_80211_var_
if (phtpriv_sta->ht_option) {
/* bwmode */
psta->bw_mode = pmlmeext->cur_bwmode;
- phtpriv_sta->ch_offset = pmlmeext->cur_ch_offset;
+ phtpriv_sta->ch_offset =
+ pmlmeext->cur_ch_offset;
} else {
psta->bw_mode = CHANNEL_WIDTH_20;
- phtpriv_sta->ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
+ phtpriv_sta->ch_offset =
+ HAL_PRIME_CHNL_OFFSET_DONT_CARE;
}
rtw_dm_ra_mask_wk_cmd(padapter, (u8 *)psta);
@@ -893,7 +943,7 @@ static void bwmode_update_check(struct adapter *padapter, struct ndis_80211_var_
void HT_caps_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
{
- unsigned int i;
+ unsigned int i;
u8 max_AMPDU_len, min_MPDU_spacing;
u8 cur_ldpc_cap = 0, cur_stbc_cap = 0;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
@@ -909,30 +959,37 @@ void HT_caps_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
pmlmeinfo->HT_caps_enable = 1;
- for (i = 0; i < umin(pIE->length,
- sizeof(pmlmeinfo->HT_caps.u.HT_cap)); i++) {
+ for (i = 0; i < umin(pIE->length, sizeof(pmlmeinfo->HT_caps.u.HT_cap));
+ i++) {
if (i != 2) {
/* Commented by Albert 2010/07/12 */
/* Got the endian issue here. */
pmlmeinfo->HT_caps.u.HT_cap[i] &= (pIE->data[i]);
} else {
/* modify from fw by Thomas 2010/11/17 */
- max_AMPDU_len = min(pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x3,
- pIE->data[i] & 0x3);
-
- min_MPDU_spacing = max(pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x1c,
- pIE->data[i] & 0x1c);
-
- pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para = max_AMPDU_len | min_MPDU_spacing;
+ max_AMPDU_len = min(
+ pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para &
+ 0x3,
+ pIE->data[i] & 0x3);
+
+ min_MPDU_spacing = max(
+ pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para &
+ 0x1c,
+ pIE->data[i] & 0x1c);
+
+ pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para =
+ max_AMPDU_len | min_MPDU_spacing;
}
}
/* update the MCS set */
for (i = 0; i < 16; i++)
- pmlmeinfo->HT_caps.u.HT_cap_element.MCS_rate[i] &= pmlmeext->default_supported_mcs_set[i];
+ pmlmeinfo->HT_caps.u.HT_cap_element.MCS_rate[i] &=
+ pmlmeext->default_supported_mcs_set[i];
/* update the MCS rates */
- set_mcs_rate_by_mask(pmlmeinfo->HT_caps.u.HT_cap_element.MCS_rate, MCS_RATE_1R);
+ set_mcs_rate_by_mask(pmlmeinfo->HT_caps.u.HT_cap_element.MCS_rate,
+ MCS_RATE_1R);
if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
/* Config STBC setting */
@@ -945,14 +1002,16 @@ void HT_caps_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
/* Config LDPC Coding Capability */
if (TEST_FLAG(phtpriv->ldpc_cap, LDPC_HT_ENABLE_TX) &&
GET_HT_CAPABILITY_ELE_LDPC_CAP(pIE->data))
- SET_FLAG(cur_ldpc_cap, (LDPC_HT_ENABLE_TX | LDPC_HT_CAP_TX));
+ SET_FLAG(cur_ldpc_cap,
+ (LDPC_HT_ENABLE_TX | LDPC_HT_CAP_TX));
phtpriv->ldpc_cap = cur_ldpc_cap;
/* Config STBC setting */
if (TEST_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_TX) &&
GET_HT_CAPABILITY_ELE_RX_STBC(pIE->data))
- SET_FLAG(cur_stbc_cap, (STBC_HT_ENABLE_TX | STBC_HT_CAP_TX));
+ SET_FLAG(cur_stbc_cap,
+ (STBC_HT_ENABLE_TX | STBC_HT_CAP_TX));
phtpriv->stbc_cap = cur_stbc_cap;
}
@@ -1001,11 +1060,14 @@ void HTOnAssocRsp(struct adapter *padapter)
*/
max_AMPDU_len = pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x03;
- min_MPDU_spacing = (pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x1c) >> 2;
+ min_MPDU_spacing =
+ (pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x1c) >> 2;
- rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_MIN_SPACE, (u8 *)(&min_MPDU_spacing));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_MIN_SPACE,
+ (u8 *)(&min_MPDU_spacing));
- rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_FACTOR, (u8 *)(&max_AMPDU_len));
+ rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_FACTOR,
+ (u8 *)(&max_AMPDU_len));
}
void ERP_IE_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
@@ -1022,11 +1084,11 @@ void ERP_IE_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE)
void VCS_update(struct adapter *padapter, struct sta_info *psta)
{
- struct registry_priv *pregpriv = &padapter->registrypriv;
+ struct registry_priv *pregpriv = &padapter->registrypriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
- switch (pregpriv->vrtl_carrier_sense) {/* 0:off 1:on 2:auto */
+ switch (pregpriv->vrtl_carrier_sense) { /* 0:off 1:on 2:auto */
case 0: /* off */
psta->rtsen = 0;
psta->cts2self = 0;
@@ -1078,7 +1140,7 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
{
unsigned int len;
unsigned char *p;
- unsigned short val16, subtype;
+ unsigned short val16, subtype;
struct wlan_network *cur_network = &(Adapter->mlmepriv.cur_network);
/* u8 wpa_ie[255], rsn_ie[255]; */
u16 wpa_len = 0, rsn_len = 0;
@@ -1091,7 +1153,7 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
struct HT_info_element *pht_info = NULL;
struct ieee80211_ht_cap *pht_cap = NULL;
u32 bcn_channel;
- unsigned short ht_cap_info;
+ unsigned short ht_cap_info;
unsigned char ht_info_infos_0;
struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
int ssid_len;
@@ -1111,7 +1173,9 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
if (!bssid)
return true;
- if ((pmlmepriv->timeBcnInfoChkStart != 0) && (jiffies_to_msecs(jiffies - pmlmepriv->timeBcnInfoChkStart) > DISCONNECT_BY_CHK_BCN_FAIL_OBSERV_PERIOD_IN_MS)) {
+ if ((pmlmepriv->timeBcnInfoChkStart != 0) &&
+ (jiffies_to_msecs(jiffies - pmlmepriv->timeBcnInfoChkStart) >
+ DISCONNECT_BY_CHK_BCN_FAIL_OBSERV_PERIOD_IN_MS)) {
pmlmepriv->timeBcnInfoChkStart = 0;
pmlmepriv->NumOfBcnInfoChkFail = 0;
}
@@ -1125,11 +1189,13 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
/* below is to copy the information element */
bssid->ie_length = len;
- memcpy(bssid->ies, (pframe + sizeof(struct ieee80211_hdr_3addr)), bssid->ie_length);
+ memcpy(bssid->ies, (pframe + sizeof(struct ieee80211_hdr_3addr)),
+ bssid->ie_length);
/* check bw and channel offset */
/* parsing HT_CAP_IE */
- p = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_CAPABILITY, &len, bssid->ie_length - _FIXED_IE_LENGTH_);
+ p = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_CAPABILITY,
+ &len, bssid->ie_length - _FIXED_IE_LENGTH_);
if (p && len > 0) {
pht_cap = (struct ieee80211_ht_cap *)(p + 2);
ht_cap_info = le16_to_cpu(pht_cap->cap_info);
@@ -1137,7 +1203,8 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
ht_cap_info = 0;
}
/* parsing HT_INFO_IE */
- p = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_OPERATION, &len, bssid->ie_length - _FIXED_IE_LENGTH_);
+ p = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_OPERATION,
+ &len, bssid->ie_length - _FIXED_IE_LENGTH_);
if (p && len > 0) {
pht_info = (struct HT_info_element *)(p + 2);
ht_info_infos_0 = pht_info->infos[0];
@@ -1145,7 +1212,8 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
ht_info_infos_0 = 0;
}
if (ht_cap_info != cur_network->bcn_info.ht_cap_info ||
- ((ht_info_infos_0 & 0x03) != (cur_network->bcn_info.ht_info_infos_0 & 0x03))) {
+ ((ht_info_infos_0 & 0x03) !=
+ (cur_network->bcn_info.ht_info_infos_0 & 0x03))) {
{
/* bcn_info_update */
cur_network->bcn_info.ht_cap_info = ht_cap_info;
@@ -1156,12 +1224,14 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
}
/* Checking for channel */
- p = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_DS_PARAMS, &len, bssid->ie_length - _FIXED_IE_LENGTH_);
+ p = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_DS_PARAMS, &len,
+ bssid->ie_length - _FIXED_IE_LENGTH_);
if (p) {
bcn_channel = *(p + 2);
- } else {/* In 5G, some ap do not have DSSET IE checking HT info for channel */
- rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_OPERATION,
- &len, bssid->ie_length - _FIXED_IE_LENGTH_);
+ } else { /* In 5G, some ap do not have DSSET IE checking HT info for channel */
+ rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_,
+ WLAN_EID_HT_OPERATION, &len,
+ bssid->ie_length - _FIXED_IE_LENGTH_);
if (pht_info)
bcn_channel = pht_info->primary_channel;
else /* we don't find channel IE, so don't check it */
@@ -1173,7 +1243,8 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
/* checking SSID */
ssid_len = 0;
- p = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_SSID, &len, bssid->ie_length - _FIXED_IE_LENGTH_);
+ p = rtw_get_ie(bssid->ies + _FIXED_IE_LENGTH_, WLAN_EID_SSID, &len,
+ bssid->ie_length - _FIXED_IE_LENGTH_);
if (p) {
ssid_len = *(p + 1);
if (ssid_len > NDIS_802_11_LENGTH_SSID)
@@ -1183,7 +1254,7 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
bssid->ssid.ssid_length = ssid_len;
if (memcmp(bssid->ssid.ssid, cur_network->network.ssid.ssid, 32) ||
- bssid->ssid.ssid_length != cur_network->network.ssid.ssid_length)
+ bssid->ssid.ssid_length != cur_network->network.ssid.ssid_length)
if (bssid->ssid.ssid[0] != '\0' &&
bssid->ssid.ssid_length != 0) /* not hidden ssid */
goto _mismatch;
@@ -1199,29 +1270,33 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
if (cur_network->network.privacy != bssid->privacy)
goto _mismatch;
- rtw_get_sec_ie(bssid->ies, bssid->ie_length, NULL, &rsn_len, NULL, &wpa_len);
+ rtw_get_sec_ie(bssid->ies, bssid->ie_length, NULL, &rsn_len, NULL,
+ &wpa_len);
if (rsn_len > 0)
encryp_protocol = ENCRYP_PROTOCOL_WPA2;
else if (wpa_len > 0)
encryp_protocol = ENCRYP_PROTOCOL_WPA;
- else
- if (bssid->privacy)
- encryp_protocol = ENCRYP_PROTOCOL_WEP;
+ else if (bssid->privacy)
+ encryp_protocol = ENCRYP_PROTOCOL_WEP;
if (cur_network->bcn_info.encryp_protocol != encryp_protocol)
goto _mismatch;
- if (encryp_protocol == ENCRYP_PROTOCOL_WPA || encryp_protocol == ENCRYP_PROTOCOL_WPA2) {
- pbuf = rtw_get_wpa_ie(&bssid->ies[12], &wpa_ielen, bssid->ie_length - 12);
+ if (encryp_protocol == ENCRYP_PROTOCOL_WPA ||
+ encryp_protocol == ENCRYP_PROTOCOL_WPA2) {
+ pbuf = rtw_get_wpa_ie(&bssid->ies[12], &wpa_ielen,
+ bssid->ie_length - 12);
if (pbuf && (wpa_ielen > 0)) {
rtw_parse_wpa_ie(pbuf, wpa_ielen + 2, &group_cipher,
&pairwise_cipher, &is_8021x);
} else {
- pbuf = rtw_get_wpa2_ie(&bssid->ies[12], &wpa_ielen, bssid->ie_length - 12);
+ pbuf = rtw_get_wpa2_ie(&bssid->ies[12], &wpa_ielen,
+ bssid->ie_length - 12);
if (pbuf && (wpa_ielen > 0))
- rtw_parse_wpa2_ie(pbuf, wpa_ielen + 2, &group_cipher,
+ rtw_parse_wpa2_ie(pbuf, wpa_ielen + 2,
+ &group_cipher,
&pairwise_cipher, &is_8021x);
}
@@ -1244,8 +1319,11 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
pmlmepriv->NumOfBcnInfoChkFail++;
- if ((pmlmepriv->timeBcnInfoChkStart != 0) && (jiffies_to_msecs(jiffies - pmlmepriv->timeBcnInfoChkStart) <= DISCONNECT_BY_CHK_BCN_FAIL_OBSERV_PERIOD_IN_MS)
- && (pmlmepriv->NumOfBcnInfoChkFail >= DISCONNECT_BY_CHK_BCN_FAIL_THRESHOLD)) {
+ if ((pmlmepriv->timeBcnInfoChkStart != 0) &&
+ (jiffies_to_msecs(jiffies - pmlmepriv->timeBcnInfoChkStart) <=
+ DISCONNECT_BY_CHK_BCN_FAIL_OBSERV_PERIOD_IN_MS) &&
+ (pmlmepriv->NumOfBcnInfoChkFail >=
+ DISCONNECT_BY_CHK_BCN_FAIL_THRESHOLD)) {
pmlmepriv->timeBcnInfoChkStart = 0;
pmlmepriv->NumOfBcnInfoChkFail = 0;
return _FAIL;
@@ -1254,7 +1332,8 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len)
return _SUCCESS;
}
-void update_beacon_info(struct adapter *padapter, u8 *pframe, uint pkt_len, struct sta_info *psta)
+void update_beacon_info(struct adapter *padapter, u8 *pframe, uint pkt_len,
+ struct sta_info *psta)
{
unsigned int i;
unsigned int len;
@@ -1265,20 +1344,24 @@ void update_beacon_info(struct adapter *padapter, u8 *pframe, uint pkt_len, stru
for (i = 0; i < len;) {
if (i + sizeof(*pIE) > len)
break;
- pIE = (struct ndis_80211_var_ie *)(pframe + (_BEACON_IE_OFFSET_ + WLAN_HDR_A3_LEN) + i);
+ pIE = (struct ndis_80211_var_ie *)(pframe +
+ (_BEACON_IE_OFFSET_ +
+ WLAN_HDR_A3_LEN) +
+ i);
if (i + sizeof(*pIE) + pIE->length > len)
break;
switch (pIE->element_id) {
case WLAN_EID_VENDOR_SPECIFIC:
/* to update WMM parameter set while receiving beacon */
- if (!memcmp(pIE->data, WMM_PARA_OUI, 6) && pIE->length == WLAN_WMM_LEN) /* WMM */
+ if (!memcmp(pIE->data, WMM_PARA_OUI, 6) &&
+ pIE->length == WLAN_WMM_LEN) /* WMM */
if (WMM_param_handler(padapter, pIE))
report_wmm_edca_update(padapter);
break;
- case WLAN_EID_HT_OPERATION: /* HT info */
+ case WLAN_EID_HT_OPERATION: /* HT info */
/* HT_info_handler(padapter, pIE); */
bwmode_update_check(padapter, pIE);
break;
@@ -1302,29 +1385,35 @@ unsigned int is_ap_in_tkip(struct adapter *padapter)
struct ndis_80211_var_ie *pIE;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
- struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
+ struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network);
- if (rtw_get_capability((struct wlan_bssid_ex *)cur_network) & WLAN_CAPABILITY_PRIVACY) {
- for (i = sizeof(struct ndis_802_11_fix_ie); i < pmlmeinfo->network.ie_length;) {
- pIE = (struct ndis_80211_var_ie *)(pmlmeinfo->network.ies + i);
+ if (rtw_get_capability((struct wlan_bssid_ex *)cur_network) &
+ WLAN_CAPABILITY_PRIVACY) {
+ for (i = sizeof(struct ndis_802_11_fix_ie);
+ i < pmlmeinfo->network.ie_length;) {
+ pIE = (struct ndis_80211_var_ie
+ *)(pmlmeinfo->network.ies + i);
if (i + sizeof(*pIE) > pmlmeinfo->network.ie_length)
break;
- if (i + sizeof(*pIE) + pIE->length > pmlmeinfo->network.ie_length)
+ if (i + sizeof(*pIE) + pIE->length >
+ pmlmeinfo->network.ie_length)
break;
switch (pIE->element_id) {
case WLAN_EID_VENDOR_SPECIFIC:
if (pIE->length >= 16 &&
!memcmp(pIE->data, RTW_WPA_OUI, 4) &&
- !memcmp((pIE->data + 12), WPA_TKIP_CIPHER, 4))
+ !memcmp((pIE->data + 12), WPA_TKIP_CIPHER,
+ 4))
return true;
break;
case WLAN_EID_RSN:
if (pIE->length >= 12 &&
- !memcmp((pIE->data + 8), RSN_TKIP_CIPHER, 4))
+ !memcmp((pIE->data + 8), RSN_TKIP_CIPHER,
+ 4))
return true;
break;
@@ -1341,7 +1430,8 @@ unsigned int is_ap_in_tkip(struct adapter *padapter)
}
}
-int support_short_GI(struct adapter *padapter, struct HT_caps_element *pHT_caps, u8 bwmode)
+int support_short_GI(struct adapter *padapter, struct HT_caps_element *pHT_caps,
+ u8 bwmode)
{
unsigned char bit_offset;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
@@ -1352,7 +1442,8 @@ int support_short_GI(struct adapter *padapter, struct HT_caps_element *pHT_caps,
bit_offset = (bwmode & CHANNEL_WIDTH_40) ? 6 : 5;
- if (le16_to_cpu(pHT_caps->u.HT_cap_element.HT_caps_info) & (0x1 << bit_offset))
+ if (le16_to_cpu(pHT_caps->u.HT_cap_element.HT_caps_info) &
+ (0x1 << bit_offset))
return _SUCCESS;
else
return _FAIL;
@@ -1413,7 +1504,7 @@ static u32 get_realtek_assoc_AP_vender(struct ndis_80211_var_ie *pIE)
unsigned char check_assoc_AP(u8 *pframe, uint len)
{
- unsigned int i;
+ unsigned int i;
struct ndis_80211_var_ie *pIE;
for (i = sizeof(struct ndis_802_11_fix_ie); i < len;) {
@@ -1421,7 +1512,8 @@ unsigned char check_assoc_AP(u8 *pframe, uint len)
switch (pIE->element_id) {
case WLAN_EID_VENDOR_SPECIFIC:
- if ((!memcmp(pIE->data, ARTHEROS_OUI1, 3)) || (!memcmp(pIE->data, ARTHEROS_OUI2, 3)))
+ if ((!memcmp(pIE->data, ARTHEROS_OUI1, 3)) ||
+ (!memcmp(pIE->data, ARTHEROS_OUI2, 3)))
return HT_IOT_PEER_ATHEROS;
else if ((!memcmp(pIE->data, BROADCOM_OUI1, 3)) ||
(!memcmp(pIE->data, BROADCOM_OUI2, 3)) ||
@@ -1463,13 +1555,15 @@ void update_IOT_info(struct adapter *padapter)
pmlmeinfo->turboMode_cts2self = 0;
pmlmeinfo->turboMode_rtsen = 1;
/* disable high power */
- Switch_DM_Func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)), false);
+ Switch_DM_Func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)),
+ false);
break;
case HT_IOT_PEER_REALTEK:
/* rtw_write16(padapter, 0x4cc, 0xffff); */
/* rtw_write16(padapter, 0x546, 0x01c0); */
/* disable high power */
- Switch_DM_Func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)), false);
+ Switch_DM_Func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)),
+ false);
break;
default:
pmlmeinfo->turboMode_cts2self = 0;
@@ -1482,7 +1576,7 @@ void update_capinfo(struct adapter *Adapter, u16 updateCap)
{
struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
- bool ShortPreamble;
+ bool ShortPreamble;
/* Check preamble mode, 2005.01.06, by rcnjko. */
/* Mark to update preamble value forever, 2008.03.18 by lanhsin */
@@ -1490,17 +1584,21 @@ void update_capinfo(struct adapter *Adapter, u16 updateCap)
{
if (updateCap & cShortPreamble) {
/* Short Preamble */
- if (pmlmeinfo->preamble_mode != PREAMBLE_SHORT) { /* PREAMBLE_LONG or PREAMBLE_AUTO */
+ if (pmlmeinfo->preamble_mode !=
+ PREAMBLE_SHORT) { /* PREAMBLE_LONG or PREAMBLE_AUTO */
ShortPreamble = true;
pmlmeinfo->preamble_mode = PREAMBLE_SHORT;
- rtw_hal_set_hwreg(Adapter, HW_VAR_ACK_PREAMBLE, (u8 *)&ShortPreamble);
+ rtw_hal_set_hwreg(Adapter, HW_VAR_ACK_PREAMBLE,
+ (u8 *)&ShortPreamble);
}
} else {
/* Long Preamble */
- if (pmlmeinfo->preamble_mode != PREAMBLE_LONG) { /* PREAMBLE_SHORT or PREAMBLE_AUTO */
+ if (pmlmeinfo->preamble_mode !=
+ PREAMBLE_LONG) { /* PREAMBLE_SHORT or PREAMBLE_AUTO */
ShortPreamble = false;
pmlmeinfo->preamble_mode = PREAMBLE_LONG;
- rtw_hal_set_hwreg(Adapter, HW_VAR_ACK_PREAMBLE, (u8 *)&ShortPreamble);
+ rtw_hal_set_hwreg(Adapter, HW_VAR_ACK_PREAMBLE,
+ (u8 *)&ShortPreamble);
}
}
}
@@ -1513,7 +1611,8 @@ void update_capinfo(struct adapter *Adapter, u16 updateCap)
if (pmlmeext->cur_wireless_mode & (WIRELESS_11_24N)) {
pmlmeinfo->slotTime = SHORT_SLOT_TIME;
} else if (pmlmeext->cur_wireless_mode & (WIRELESS_11G)) {
- if ((updateCap & cShortSlotTime) /* && (!(pMgntInfo->pHTInfo->RT2RT_HT_Mode & RT_HT_CAP_USE_LONG_PREAMBLE)) */)
+ if ((updateCap &
+ cShortSlotTime) /* && (!(pMgntInfo->pHTInfo->RT2RT_HT_Mode & RT_HT_CAP_USE_LONG_PREAMBLE)) */)
/* Short Slot Time */
pmlmeinfo->slotTime = SHORT_SLOT_TIME;
else
@@ -1550,14 +1649,16 @@ void update_wireless_mode(struct adapter *padapter)
else
network_type |= WIRELESS_11G;
- pmlmeext->cur_wireless_mode = network_type & padapter->registrypriv.wireless_mode;
+ pmlmeext->cur_wireless_mode = network_type &
+ padapter->registrypriv.wireless_mode;
SIFS_Timer = 0x0a0a0808; /* 0x0808 -> for CCK, 0x0a0a -> for OFDM */
- /* change this value if having IOT issues. */
+ /* change this value if having IOT issues. */
- SetHwReg8723BS(padapter, HW_VAR_RESP_SIFS, (u8 *)&SIFS_Timer);
+ SetHwReg8723BS(padapter, HW_VAR_RESP_SIFS, (u8 *)&SIFS_Timer);
- SetHwReg8723BS(padapter, HW_VAR_WIRELESS_MODE, (u8 *)&(pmlmeext->cur_wireless_mode));
+ SetHwReg8723BS(padapter, HW_VAR_WIRELESS_MODE,
+ (u8 *)&(pmlmeext->cur_wireless_mode));
if (pmlmeext->cur_wireless_mode & WIRELESS_11B)
update_mgnt_tx_rate(padapter, IEEE80211_CCK_RATE_1MB);
@@ -1577,26 +1678,34 @@ void update_sta_basic_rate(struct sta_info *psta, u8 wireless_mode)
}
}
-int update_sta_support_rate(struct adapter *padapter, u8 *pvar_ie, uint var_ie_len, int cam_idx)
+int update_sta_support_rate(struct adapter *padapter, u8 *pvar_ie,
+ uint var_ie_len, int cam_idx)
{
- unsigned int ie_len;
+ unsigned int ie_len;
struct ndis_80211_var_ie *pIE;
- int support_rate_num = 0;
+ int support_rate_num = 0;
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
- pIE = (struct ndis_80211_var_ie *)rtw_get_ie(pvar_ie, WLAN_EID_SUPP_RATES, &ie_len, var_ie_len);
+ pIE = (struct ndis_80211_var_ie *)rtw_get_ie(
+ pvar_ie, WLAN_EID_SUPP_RATES, &ie_len, var_ie_len);
if (!pIE)
return _FAIL;
if (ie_len > sizeof(pmlmeinfo->FW_sta_info[cam_idx].SupportedRates))
return _FAIL;
- memcpy(pmlmeinfo->FW_sta_info[cam_idx].SupportedRates, pIE->data, ie_len);
+ memcpy(pmlmeinfo->FW_sta_info[cam_idx].SupportedRates, pIE->data,
+ ie_len);
support_rate_num = ie_len;
- pIE = (struct ndis_80211_var_ie *)rtw_get_ie(pvar_ie, WLAN_EID_EXT_SUPP_RATES, &ie_len, var_ie_len);
- if (pIE && (ie_len <= sizeof(pmlmeinfo->FW_sta_info[cam_idx].SupportedRates) - support_rate_num))
- memcpy((pmlmeinfo->FW_sta_info[cam_idx].SupportedRates + support_rate_num), pIE->data, ie_len);
+ pIE = (struct ndis_80211_var_ie *)rtw_get_ie(
+ pvar_ie, WLAN_EID_EXT_SUPP_RATES, &ie_len, var_ie_len);
+ if (pIE &&
+ (ie_len <= sizeof(pmlmeinfo->FW_sta_info[cam_idx].SupportedRates) -
+ support_rate_num))
+ memcpy((pmlmeinfo->FW_sta_info[cam_idx].SupportedRates +
+ support_rate_num),
+ pIE->data, ie_len);
return _SUCCESS;
}
@@ -1670,10 +1779,10 @@ void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len)
if (delay_ms >= 8)
pmlmeext->bcn_delay_cnt[8]++;
- /* pmlmeext->bcn_delay_ratio[8] = (pmlmeext->bcn_delay_cnt[8] * 100) /pmlmeext->bcn_cnt; */
+ /* pmlmeext->bcn_delay_ratio[8] = (pmlmeext->bcn_delay_cnt[8] * 100) /pmlmeext->bcn_cnt; */
else
pmlmeext->bcn_delay_cnt[delay_ms]++;
- /* pmlmeext->bcn_delay_ratio[delay_ms] = (pmlmeext->bcn_delay_cnt[delay_ms] * 100) /pmlmeext->bcn_cnt; */
+ /* pmlmeext->bcn_delay_ratio[delay_ms] = (pmlmeext->bcn_delay_cnt[delay_ms] * 100) /pmlmeext->bcn_cnt; */
/* dump for adaptive_early_32k */
if (pmlmeext->bcn_cnt > 100 && pmlmeext->adaptive_tsf_done) {
u8 ratio_20_delay, ratio_80_delay;
@@ -1685,7 +1794,9 @@ void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len)
DrvBcnTimeOut = 0xff;
for (i = 0; i < 9; i++) {
- pmlmeext->bcn_delay_ratio[i] = (pmlmeext->bcn_delay_cnt[i] * 100) / pmlmeext->bcn_cnt;
+ pmlmeext->bcn_delay_ratio[i] =
+ (pmlmeext->bcn_delay_cnt[i] * 100) /
+ pmlmeext->bcn_cnt;
ratio_20_delay += pmlmeext->bcn_delay_ratio[i];
ratio_80_delay += pmlmeext->bcn_delay_ratio[i];
@@ -1724,7 +1835,7 @@ void rtw_alloc_macid(struct adapter *padapter, struct sta_info *psta)
spin_lock_bh(&pdvobj->lock);
for (i = 0; i < NUM_STA; i++) {
if (!pdvobj->macid[i]) {
- pdvobj->macid[i] = true;
+ pdvobj->macid[i] = true;
break;
}
}
diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c
index 444966c0de7f3..8bc6fb9f31eb9 100644
--- a/drivers/staging/rtl8723bs/core/rtw_xmit.c
+++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c
@@ -42,45 +42,48 @@ static s32 rtw_alloc_hwxmits(struct adapter *padapter)
pxmitpriv->hwxmits = NULL;
- pxmitpriv->hwxmits = kzalloc_objs(*hwxmits, pxmitpriv->hwxmit_entry,
- GFP_ATOMIC);
+ pxmitpriv->hwxmits =
+ kzalloc_objs(*hwxmits, pxmitpriv->hwxmit_entry, GFP_ATOMIC);
if (!pxmitpriv->hwxmits)
return -ENOMEM;
hwxmits = pxmitpriv->hwxmits;
if (pxmitpriv->hwxmit_entry == 5) {
- hwxmits[0] .sta_queue = &pxmitpriv->bm_pending;
+ hwxmits[0].sta_queue = &pxmitpriv->bm_pending;
- hwxmits[1] .sta_queue = &pxmitpriv->vo_pending;
+ hwxmits[1].sta_queue = &pxmitpriv->vo_pending;
- hwxmits[2] .sta_queue = &pxmitpriv->vi_pending;
+ hwxmits[2].sta_queue = &pxmitpriv->vi_pending;
- hwxmits[3] .sta_queue = &pxmitpriv->bk_pending;
+ hwxmits[3].sta_queue = &pxmitpriv->bk_pending;
- hwxmits[4] .sta_queue = &pxmitpriv->be_pending;
+ hwxmits[4].sta_queue = &pxmitpriv->be_pending;
} else if (pxmitpriv->hwxmit_entry == 4) {
- hwxmits[0] .sta_queue = &pxmitpriv->vo_pending;
+ hwxmits[0].sta_queue = &pxmitpriv->vo_pending;
- hwxmits[1] .sta_queue = &pxmitpriv->vi_pending;
+ hwxmits[1].sta_queue = &pxmitpriv->vi_pending;
- hwxmits[2] .sta_queue = &pxmitpriv->be_pending;
+ hwxmits[2].sta_queue = &pxmitpriv->be_pending;
- hwxmits[3] .sta_queue = &pxmitpriv->bk_pending;
+ hwxmits[3].sta_queue = &pxmitpriv->bk_pending;
} else {
}
return 0;
}
-static int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 alloc_sz, u8 flag)
+static int rtw_os_xmit_resource_alloc(struct adapter *padapter,
+ struct xmit_buf *pxmitbuf, u32 alloc_sz,
+ u8 flag)
{
if (alloc_sz > 0) {
pxmitbuf->pallocated_buf = kzalloc(alloc_sz, GFP_KERNEL);
if (!pxmitbuf->pallocated_buf)
return -ENOMEM;
- pxmitbuf->pbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitbuf->pallocated_buf), XMITBUF_ALIGN_SZ);
+ pxmitbuf->pbuf = (u8 *)N_BYTE_ALIGMENT(
+ (SIZE_PTR)(pxmitbuf->pallocated_buf), XMITBUF_ALIGN_SZ);
}
return 0;
@@ -120,13 +123,15 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
* Please also apply free_txobj to link_up all the xmit_frames...
*/
- pxmitpriv->pallocated_frame_buf = vzalloc(NR_XMITFRAME * sizeof(struct xmit_frame) + 4);
+ pxmitpriv->pallocated_frame_buf =
+ vzalloc(NR_XMITFRAME * sizeof(struct xmit_frame) + 4);
if (!pxmitpriv->pallocated_frame_buf) {
pxmitpriv->pxmit_frame_buf = NULL;
return -ENOMEM;
}
- pxmitpriv->pxmit_frame_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_frame_buf), 4);
+ pxmitpriv->pxmit_frame_buf = (u8 *)N_BYTE_ALIGMENT(
+ (SIZE_PTR)(pxmitpriv->pallocated_frame_buf), 4);
pxframe = (struct xmit_frame *)pxmitpriv->pxmit_frame_buf;
@@ -157,12 +162,14 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
INIT_LIST_HEAD(&pxmitpriv->pending_xmitbuf_queue.queue);
spin_lock_init(&pxmitpriv->pending_xmitbuf_queue.lock);
- pxmitpriv->pallocated_xmitbuf = vzalloc(NR_XMITBUFF * sizeof(struct xmit_buf) + 4);
+ pxmitpriv->pallocated_xmitbuf =
+ vzalloc(NR_XMITBUFF * sizeof(struct xmit_buf) + 4);
if (!pxmitpriv->pallocated_xmitbuf)
return -ENOMEM;
- pxmitpriv->pxmitbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmitbuf), 4);
+ pxmitpriv->pxmitbuf = (u8 *)N_BYTE_ALIGMENT(
+ (SIZE_PTR)(pxmitpriv->pallocated_xmitbuf), 4);
pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmitbuf;
@@ -174,10 +181,14 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitbuf->buf_tag = XMITBUF_DATA;
/* Tx buf allocation may fail sometimes, so sleep and retry. */
- res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ), true);
+ res = rtw_os_xmit_resource_alloc(
+ padapter, pxmitbuf, (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ),
+ true);
if (res) {
fsleep(10 * USEC_PER_MSEC);
- res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ), true);
+ res = rtw_os_xmit_resource_alloc(
+ padapter, pxmitbuf,
+ (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ), true);
if (res)
return res;
}
@@ -200,13 +211,15 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
INIT_LIST_HEAD(&pxmitpriv->free_xframe_ext_queue.queue);
spin_lock_init(&pxmitpriv->free_xframe_ext_queue.lock);
- pxmitpriv->xframe_ext_alloc_addr = vzalloc(NR_XMIT_EXTBUFF * sizeof(struct xmit_frame) + 4);
+ pxmitpriv->xframe_ext_alloc_addr =
+ vzalloc(NR_XMIT_EXTBUFF * sizeof(struct xmit_frame) + 4);
if (!pxmitpriv->xframe_ext_alloc_addr) {
pxmitpriv->xframe_ext = NULL;
return -ENOMEM;
}
- pxmitpriv->xframe_ext = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->xframe_ext_alloc_addr), 4);
+ pxmitpriv->xframe_ext = (u8 *)N_BYTE_ALIGMENT(
+ (SIZE_PTR)(pxmitpriv->xframe_ext_alloc_addr), 4);
pxframe = (struct xmit_frame *)pxmitpriv->xframe_ext;
for (i = 0; i < NR_XMIT_EXTBUFF; i++) {
@@ -233,12 +246,14 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
INIT_LIST_HEAD(&pxmitpriv->free_xmit_extbuf_queue.queue);
spin_lock_init(&pxmitpriv->free_xmit_extbuf_queue.lock);
- pxmitpriv->pallocated_xmit_extbuf = vzalloc(NR_XMIT_EXTBUFF * sizeof(struct xmit_buf) + 4);
+ pxmitpriv->pallocated_xmit_extbuf =
+ vzalloc(NR_XMIT_EXTBUFF * sizeof(struct xmit_buf) + 4);
if (!pxmitpriv->pallocated_xmit_extbuf)
return -ENOMEM;
- pxmitpriv->pxmit_extbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmit_extbuf), 4);
+ pxmitpriv->pxmit_extbuf = (u8 *)N_BYTE_ALIGMENT(
+ (SIZE_PTR)(pxmitpriv->pallocated_xmit_extbuf), 4);
pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmit_extbuf;
@@ -249,7 +264,9 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitbuf->padapter = padapter;
pxmitbuf->buf_tag = XMITBUF_MGNT;
- res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, MAX_XMIT_EXTBUF_SZ + XMITBUF_ALIGN_SZ, true);
+ res = rtw_os_xmit_resource_alloc(
+ padapter, pxmitbuf,
+ MAX_XMIT_EXTBUF_SZ + XMITBUF_ALIGN_SZ, true);
if (res)
return res;
@@ -274,9 +291,9 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
pxmitbuf->padapter = padapter;
pxmitbuf->buf_tag = XMITBUF_CMD;
- res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf,
- MAX_CMDBUF_SZ + XMITBUF_ALIGN_SZ,
- true);
+ res = rtw_os_xmit_resource_alloc(
+ padapter, pxmitbuf,
+ MAX_CMDBUF_SZ + XMITBUF_ALIGN_SZ, true);
if (res)
return res;
@@ -309,7 +326,8 @@ void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv)
{
int i;
struct adapter *padapter = pxmitpriv->adapter;
- struct xmit_frame *pxmitframe = (struct xmit_frame *)pxmitpriv->pxmit_frame_buf;
+ struct xmit_frame *pxmitframe =
+ (struct xmit_frame *)pxmitpriv->pxmit_frame_buf;
struct xmit_buf *pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmitbuf;
rtw_hal_free_xmit_priv(padapter);
@@ -324,7 +342,9 @@ void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv)
}
for (i = 0; i < NR_XMITBUFF; i++) {
- rtw_os_xmit_resource_free(padapter, pxmitbuf, (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ), true);
+ rtw_os_xmit_resource_free(padapter, pxmitbuf,
+ (MAX_XMITBUF_SZ + XMITBUF_ALIGN_SZ),
+ true);
pxmitbuf++;
}
@@ -346,7 +366,9 @@ void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv)
/* free xmit extension buff */
pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmit_extbuf;
for (i = 0; i < NR_XMIT_EXTBUFF; i++) {
- rtw_os_xmit_resource_free(padapter, pxmitbuf, (MAX_XMIT_EXTBUF_SZ + XMITBUF_ALIGN_SZ), true);
+ rtw_os_xmit_resource_free(
+ padapter, pxmitbuf,
+ (MAX_XMIT_EXTBUF_SZ + XMITBUF_ALIGN_SZ), true);
pxmitbuf++;
}
@@ -356,9 +378,9 @@ void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv)
for (i = 0; i < CMDBUF_MAX; i++) {
pxmitbuf = &pxmitpriv->pcmd_xmitbuf[i];
if (pxmitbuf)
- rtw_os_xmit_resource_free(padapter, pxmitbuf,
- MAX_CMDBUF_SZ + XMITBUF_ALIGN_SZ,
- true);
+ rtw_os_xmit_resource_free(
+ padapter, pxmitbuf,
+ MAX_CMDBUF_SZ + XMITBUF_ALIGN_SZ, true);
}
rtw_free_hwxmits(padapter);
@@ -386,10 +408,11 @@ u8 query_ra_short_GI(struct sta_info *psta)
return sgi;
}
-static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame *pxmitframe)
+static void update_attrib_vcs_info(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
u32 sz;
- struct pkt_attrib *pattrib = &pxmitframe->attrib;
+ struct pkt_attrib *pattrib = &pxmitframe->attrib;
/* struct sta_info *psta = pattrib->psta; */
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
@@ -403,7 +426,8 @@ static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame *
/* (2) If there are more than one frag in this MSDU, only the first frag uses protection frame. */
/* Other fragments are protected by previous fragment. */
/* So we only need to check the length of first fragment. */
- if (pmlmeext->cur_wireless_mode < WIRELESS_11_24N || padapter->registrypriv.wifi_spec) {
+ if (pmlmeext->cur_wireless_mode < WIRELESS_11_24N ||
+ padapter->registrypriv.wifi_spec) {
if (sz > padapter->registrypriv.rts_thresh) {
pattrib->vcs_mode = RTS_CTS;
} else {
@@ -417,9 +441,11 @@ static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame *
} else {
while (true) {
/* IOT action */
- if ((pmlmeinfo->assoc_AP_vendor == HT_IOT_PEER_ATHEROS) &&
+ if ((pmlmeinfo->assoc_AP_vendor ==
+ HT_IOT_PEER_ATHEROS) &&
pattrib->ampdu_en &&
- (padapter->securitypriv.dot11PrivacyAlgrthm == _AES_)) {
+ (padapter->securitypriv.dot11PrivacyAlgrthm ==
+ _AES_)) {
pattrib->vcs_mode = CTS_TO_SELF;
break;
}
@@ -438,8 +464,9 @@ static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame *
if (pattrib->ht_en) {
u8 HTOpMode = pmlmeinfo->HT_protection;
- if ((pmlmeext->cur_bwmode && (HTOpMode == 2 || HTOpMode == 3)) ||
- (!pmlmeext->cur_bwmode && HTOpMode == 3)) {
+ if ((pmlmeext->cur_bwmode &&
+ (HTOpMode == 2 || HTOpMode == 3)) ||
+ (!pmlmeext->cur_bwmode && HTOpMode == 3)) {
pattrib->vcs_mode = RTS_CTS;
break;
}
@@ -469,7 +496,9 @@ static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame *
pattrib->vcs_mode = padapter->driver_vcs_type;
}
-static void update_attrib_phy_info(struct adapter *padapter, struct pkt_attrib *pattrib, struct sta_info *psta)
+static void update_attrib_phy_info(struct adapter *padapter,
+ struct pkt_attrib *pattrib,
+ struct sta_info *psta)
{
struct mlme_ext_priv *mlmeext = &padapter->mlmeextpriv;
@@ -497,7 +526,8 @@ static void update_attrib_phy_info(struct adapter *padapter, struct pkt_attrib *
pattrib->ch_offset = psta->htpriv.ch_offset;
pattrib->ampdu_en = false;
- if (padapter->driver_ampdu_spacing != 0xFF) /* driver control AMPDU Density for peer sta's rx */
+ if (padapter->driver_ampdu_spacing !=
+ 0xFF) /* driver control AMPDU Density for peer sta's rx */
pattrib->ampdu_spacing = padapter->driver_ampdu_spacing;
else
pattrib->ampdu_spacing = psta->htpriv.rx_ampdu_min_spacing;
@@ -505,21 +535,24 @@ static void update_attrib_phy_info(struct adapter *padapter, struct pkt_attrib *
pattrib->retry_ctrl = false;
}
-static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *pattrib, struct sta_info *psta)
+static s32 update_attrib_sec_info(struct adapter *padapter,
+ struct pkt_attrib *pattrib,
+ struct sta_info *psta)
{
signed int res = _SUCCESS;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct security_priv *psecuritypriv = &padapter->securitypriv;
signed int bmcast = is_multicast_ether_addr(pattrib->ra);
- memset(pattrib->dot118021x_UncstKey.skey, 0, 16);
- memset(pattrib->dot11tkiptxmickey.skey, 0, 16);
+ memset(pattrib->dot118021x_UncstKey.skey, 0, 16);
+ memset(pattrib->dot11tkiptxmickey.skey, 0, 16);
pattrib->mac_id = psta->mac_id;
if (psta->ieee8021x_blocked) {
pattrib->encrypt = 0;
- if ((pattrib->ether_type != 0x888e) && !check_fwstate(pmlmepriv, WIFI_MP_STATE)) {
+ if ((pattrib->ether_type != 0x888e) &&
+ !check_fwstate(pmlmepriv, WIFI_MP_STATE)) {
res = _FAIL;
goto exit;
}
@@ -530,11 +563,13 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
case dot11AuthAlgrthm_Open:
case dot11AuthAlgrthm_Shared:
case dot11AuthAlgrthm_Auto:
- pattrib->key_idx = (u8)psecuritypriv->dot11PrivacyKeyIndex;
+ pattrib->key_idx =
+ (u8)psecuritypriv->dot11PrivacyKeyIndex;
break;
case dot11AuthAlgrthm_8021X:
if (bmcast)
- pattrib->key_idx = (u8)psecuritypriv->dot118021XGrpKeyid;
+ pattrib->key_idx =
+ (u8)psecuritypriv->dot118021XGrpKeyid;
else
pattrib->key_idx = 0;
break;
@@ -544,7 +579,9 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
}
/* For WPS 1.0 WEP, driver should not encrypt EAPOL Packet for WPS handshake. */
- if (((pattrib->encrypt == _WEP40_) || (pattrib->encrypt == _WEP104_)) && (pattrib->ether_type == 0x888e))
+ if (((pattrib->encrypt == _WEP40_) ||
+ (pattrib->encrypt == _WEP104_)) &&
+ (pattrib->ether_type == 0x888e))
pattrib->encrypt = _NO_PRIVACY_;
}
@@ -570,7 +607,8 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
else
TKIP_IV(pattrib->iv, psta->dot11txpn, 0);
- memcpy(pattrib->dot11tkiptxmickey.skey, psta->dot11tkiptxmickey.skey, 16);
+ memcpy(pattrib->dot11tkiptxmickey.skey,
+ psta->dot11tkiptxmickey.skey, 16);
break;
@@ -593,10 +631,11 @@ static s32 update_attrib_sec_info(struct adapter *padapter, struct pkt_attrib *p
}
if (pattrib->encrypt > 0)
- memcpy(pattrib->dot118021x_UncstKey.skey, psta->dot118021x_UncstKey.skey, 16);
+ memcpy(pattrib->dot118021x_UncstKey.skey,
+ psta->dot118021x_UncstKey.skey, 16);
- if (pattrib->encrypt &&
- ((padapter->securitypriv.sw_encrypt) || (!psecuritypriv->hw_decrypted)))
+ if (pattrib->encrypt && ((padapter->securitypriv.sw_encrypt) ||
+ (!psecuritypriv->hw_decrypted)))
pattrib->bswenc = true;
else
pattrib->bswenc = false;
@@ -648,7 +687,8 @@ static int set_qos(struct pkt_file *ppktfile, struct pkt_attrib *pattrib)
/* get UserPriority from IP hdr */
if (pattrib->ether_type == 0x0800) {
- ret = _rtw_pktfile_read(ppktfile, (u8 *)&ip_hdr, sizeof(ip_hdr));
+ ret = _rtw_pktfile_read(ppktfile, (u8 *)&ip_hdr,
+ sizeof(ip_hdr));
if (ret < 0)
return ret;
@@ -661,7 +701,8 @@ static int set_qos(struct pkt_file *ppktfile, struct pkt_attrib *pattrib)
return 0;
}
-static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct pkt_attrib *pattrib)
+static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt,
+ struct pkt_attrib *pattrib)
{
struct pkt_file pktfile;
struct sta_info *psta = NULL;
@@ -709,10 +750,10 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
return ret;
pattrib->dhcp_pkt = 0;
- if (pktfile.pkt_len > 282) {/* MINIMUM_DHCP_PACKET_SIZE) { */
- if (pattrib->ether_type == ETH_P_IP) {/* IP header */
+ if (pktfile.pkt_len > 282) { /* MINIMUM_DHCP_PACKET_SIZE) { */
+ if (pattrib->ether_type == ETH_P_IP) { /* IP header */
if (((tmp[21] == 68) && (tmp[23] == 67)) ||
- ((tmp[21] == 67) && (tmp[23] == 68))) {
+ ((tmp[21] == 67) && (tmp[23] == 68))) {
/* 68 : UDP BOOTP client */
/* 67 : UDP BOOTP server */
pattrib->dhcp_pkt = 1;
@@ -725,7 +766,8 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
struct iphdr *piphdr = (struct iphdr *)tmp;
pattrib->icmp_pkt = 0;
- if (piphdr->protocol == 0x1) /* protocol type in ip header 0x1 is ICMP */
+ if (piphdr->protocol ==
+ 0x1) /* protocol type in ip header 0x1 is ICMP */
pattrib->icmp_pkt = 1;
}
} else if (pattrib->ether_type == 0x888e) {
@@ -748,10 +790,11 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
psta = rtw_get_bcmc_stainfo(padapter);
} else {
psta = rtw_get_stainfo(pstapriv, pattrib->ra);
- if (!psta) { /* if we cannot get psta => drop the pkt */
+ if (!psta) { /* if we cannot get psta => drop the pkt */
res = _FAIL;
goto exit;
- } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE) && !(psta->state & _FW_LINKED)) {
+ } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE) &&
+ !(psta->state & _FW_LINKED)) {
res = _FAIL;
goto exit;
}
@@ -782,13 +825,15 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
pattrib->ack_policy = 0;
/* get ether_hdr_len */
- pattrib->pkt_hdrlen = ETH_HLEN;/* pattrib->ether_type == 0x8100) ? (14 + 4): 14; vlan tag */
+ pattrib->pkt_hdrlen =
+ ETH_HLEN; /* pattrib->ether_type == 0x8100) ? (14 + 4): 14; vlan tag */
pattrib->hdrlen = WLAN_HDR_A3_LEN;
pattrib->subtype = WIFI_DATA_TYPE;
pattrib->priority = 0;
- if (check_fwstate(pmlmepriv, WIFI_AP_STATE | WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) {
+ if (check_fwstate(pmlmepriv, WIFI_AP_STATE | WIFI_ADHOC_STATE |
+ WIFI_ADHOC_MASTER_STATE)) {
if (pattrib->qos_en) {
ret = set_qos(&pktfile, pattrib);
if (ret < 0)
@@ -801,7 +846,8 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
return ret;
if (pmlmepriv->acm_mask != 0)
- pattrib->priority = qos_acm(pmlmepriv->acm_mask, pattrib->priority);
+ pattrib->priority = qos_acm(pmlmepriv->acm_mask,
+ pattrib->priority);
}
}
@@ -811,15 +857,16 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
return res;
}
-static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitframe)
+static s32 xmitframe_addmic(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
- signed int curfragnum, length;
+ signed int curfragnum, length;
u8 *pframe, *payload, mic[8];
struct mic_data micdata;
struct pkt_attrib *pattrib = &pxmitframe->attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv;
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
- u8 priority[4] = {0x0, 0x0, 0x0, 0x0};
+ u8 priority[4] = { 0x0, 0x0, 0x0, 0x0 };
u8 hw_hdr_offset = 0;
signed int bmcst = is_multicast_ether_addr(pattrib->ra);
@@ -828,34 +875,56 @@ static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr
if (pattrib->encrypt == _TKIP_) {
/* encode mic code */
{
- u8 null_key[16] = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
+ u8 null_key[16] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+ 0x0, 0x0, 0x0, 0x0 };
pframe = pxmitframe->buf_addr + hw_hdr_offset;
if (bmcst) {
- if (!memcmp(psecuritypriv->dot118021XGrptxmickey[psecuritypriv->dot118021XGrpKeyid].skey, null_key, 16))
+ if (!memcmp(psecuritypriv
+ ->dot118021XGrptxmickey
+ [psecuritypriv
+ ->dot118021XGrpKeyid]
+ .skey,
+ null_key, 16))
return _FAIL;
/* start to calculate the mic code */
- rtw_secmicsetkey(&micdata, psecuritypriv->dot118021XGrptxmickey[psecuritypriv->dot118021XGrpKeyid].skey);
+ rtw_secmicsetkey(
+ &micdata,
+ psecuritypriv
+ ->dot118021XGrptxmickey
+ [psecuritypriv
+ ->dot118021XGrpKeyid]
+ .skey);
} else {
- if (!memcmp(&pattrib->dot11tkiptxmickey.skey[0], null_key, 16))
+ if (!memcmp(&pattrib->dot11tkiptxmickey.skey[0],
+ null_key, 16))
return _FAIL;
/* start to calculate the mic code */
- rtw_secmicsetkey(&micdata, &pattrib->dot11tkiptxmickey.skey[0]);
+ rtw_secmicsetkey(
+ &micdata,
+ &pattrib->dot11tkiptxmickey.skey[0]);
}
- if (pframe[1] & 1) { /* ToDS == 1 */
- rtw_secmicappend(&micdata, &pframe[16], 6); /* DA */
- if (pframe[1] & 2) /* From Ds == 1 */
- rtw_secmicappend(&micdata, &pframe[24], 6);
+ if (pframe[1] & 1) { /* ToDS == 1 */
+ rtw_secmicappend(&micdata, &pframe[16],
+ 6); /* DA */
+ if (pframe[1] & 2) /* From Ds == 1 */
+ rtw_secmicappend(&micdata, &pframe[24],
+ 6);
else
- rtw_secmicappend(&micdata, &pframe[10], 6);
- } else { /* ToDS == 0 */
- rtw_secmicappend(&micdata, &pframe[4], 6); /* DA */
- if (pframe[1] & 2) /* From Ds == 1 */
- rtw_secmicappend(&micdata, &pframe[16], 6);
+ rtw_secmicappend(&micdata, &pframe[10],
+ 6);
+ } else { /* ToDS == 0 */
+ rtw_secmicappend(&micdata, &pframe[4],
+ 6); /* DA */
+ if (pframe[1] & 2) /* From Ds == 1 */
+ rtw_secmicappend(&micdata, &pframe[16],
+ 6);
else
- rtw_secmicappend(&micdata, &pframe[10], 6);
+ rtw_secmicappend(&micdata, &pframe[10],
+ 6);
}
if (pattrib->qos_en)
@@ -865,22 +934,34 @@ static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr
payload = pframe;
- for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) {
- payload = (u8 *)round_up((SIZE_PTR)(payload), 4);
- payload = payload + pattrib->hdrlen + pattrib->iv_len;
+ for (curfragnum = 0; curfragnum < pattrib->nr_frags;
+ curfragnum++) {
+ payload =
+ (u8 *)round_up((SIZE_PTR)(payload), 4);
+ payload = payload + pattrib->hdrlen +
+ pattrib->iv_len;
if ((curfragnum + 1) == pattrib->nr_frags) {
- length = pattrib->last_txcmdsz - pattrib->hdrlen -
+ length = pattrib->last_txcmdsz -
+ pattrib->hdrlen -
pattrib->iv_len -
- ((pattrib->bswenc) ? pattrib->icv_len : 0);
- rtw_secmicappend(&micdata, payload, length);
+ ((pattrib->bswenc) ?
+ pattrib->icv_len :
+ 0);
+ rtw_secmicappend(&micdata, payload,
+ length);
payload = payload + length;
} else {
- length = pxmitpriv->frag_len - pattrib->hdrlen -
+ length = pxmitpriv->frag_len -
+ pattrib->hdrlen -
pattrib->iv_len -
- ((pattrib->bswenc) ? pattrib->icv_len : 0);
- rtw_secmicappend(&micdata, payload, length);
- payload = payload + length + pattrib->icv_len;
+ ((pattrib->bswenc) ?
+ pattrib->icv_len :
+ 0);
+ rtw_secmicappend(&micdata, payload,
+ length);
+ payload = payload + length +
+ pattrib->icv_len;
}
}
rtw_secgetmic(&micdata, &mic[0]);
@@ -888,14 +969,15 @@ static s32 xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr
memcpy(payload, &mic[0], 8);
pattrib->last_txcmdsz += 8;
- }
+ }
}
return _SUCCESS;
}
-static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
+static s32 xmitframe_swencrypt(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
- struct pkt_attrib *pattrib = &pxmitframe->attrib;
+ struct pkt_attrib *pattrib = &pxmitframe->attrib;
if (pattrib->bswenc) {
switch (pattrib->encrypt) {
@@ -910,14 +992,15 @@ static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmi
rtw_aes_encrypt(padapter, (u8 *)pxmitframe);
break;
default:
- break;
+ break;
}
}
return _SUCCESS;
}
-s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib)
+s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr,
+ struct pkt_attrib *pattrib)
{
u16 *qc;
@@ -940,7 +1023,8 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
/* 1.Data transfer to AP */
/* 2.Arp pkt will relayed by AP */
SetToDs(fctrl);
- memcpy(pwlanhdr->addr1, get_bssid(pmlmepriv), ETH_ALEN);
+ memcpy(pwlanhdr->addr1, get_bssid(pmlmepriv),
+ ETH_ALEN);
memcpy(pwlanhdr->addr2, pattrib->src, ETH_ALEN);
memcpy(pwlanhdr->addr3, pattrib->dst, ETH_ALEN);
}
@@ -1003,36 +1087,52 @@ s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr
return _FAIL;
if (psta) {
- psta->sta_xmitpriv.txseq_tid[pattrib->priority]++;
- psta->sta_xmitpriv.txseq_tid[pattrib->priority] %= 4096u;
- pattrib->seqnum = psta->sta_xmitpriv.txseq_tid[pattrib->priority];
+ psta->sta_xmitpriv
+ .txseq_tid[pattrib->priority]++;
+ psta->sta_xmitpriv
+ .txseq_tid[pattrib->priority] %= 4096u;
+ pattrib->seqnum =
+ psta->sta_xmitpriv
+ .txseq_tid[pattrib->priority];
SetSeqNum(hdr, pattrib->seqnum);
/* check if enable ampdu */
if (pattrib->ht_en && psta->htpriv.ampdu_enable)
- if (psta->htpriv.agg_enable_bitmap & BIT(pattrib->priority))
+ if (psta->htpriv.agg_enable_bitmap &
+ BIT(pattrib->priority))
pattrib->ampdu_en = true;
/* re-check if enable ampdu by BA_starting_seqctrl */
if (pattrib->ampdu_en) {
u16 tx_seq;
- tx_seq = psta->BA_starting_seqctrl[pattrib->priority & 0x0f];
+ tx_seq = psta->BA_starting_seqctrl
+ [pattrib->priority &
+ 0x0f];
/* check BA_starting_seqctrl */
if (SN_LESS(pattrib->seqnum, tx_seq)) {
- pattrib->ampdu_en = false;/* AGG BK */
- } else if (SN_EQUAL(pattrib->seqnum, tx_seq)) {
- psta->BA_starting_seqctrl[pattrib->priority & 0x0f] =
+ pattrib->ampdu_en =
+ false; /* AGG BK */
+ } else if (SN_EQUAL(pattrib->seqnum,
+ tx_seq)) {
+ psta->BA_starting_seqctrl
+ [pattrib->priority &
+ 0x0f] =
(tx_seq + 1) % 4096u;
- pattrib->ampdu_en = true;/* AGG EN */
+ pattrib->ampdu_en =
+ true; /* AGG EN */
} else {
- psta->BA_starting_seqctrl[pattrib->priority & 0x0f] =
- (pattrib->seqnum + 1) % 4096u;
-
- pattrib->ampdu_en = true;/* AGG EN */
+ psta->BA_starting_seqctrl
+ [pattrib->priority &
+ 0x0f] =
+ (pattrib->seqnum + 1) %
+ 4096u;
+
+ pattrib->ampdu_en =
+ true; /* AGG EN */
}
}
}
@@ -1049,9 +1149,9 @@ s32 rtw_txframes_pending(struct adapter *padapter)
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
return ((!list_empty(&pxmitpriv->be_pending.queue)) ||
- (!list_empty(&pxmitpriv->bk_pending.queue)) ||
- (!list_empty(&pxmitpriv->vi_pending.queue)) ||
- (!list_empty(&pxmitpriv->vo_pending.queue)));
+ (!list_empty(&pxmitpriv->bk_pending.queue)) ||
+ (!list_empty(&pxmitpriv->vi_pending.queue)) ||
+ (!list_empty(&pxmitpriv->vo_pending.queue)));
}
/*
@@ -1081,7 +1181,8 @@ u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib)
* 5. move frag chunk from pframe to pxmitframe->mem
* 6. apply sw-encrypt, if necessary.
*/
-s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe)
+s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt,
+ struct xmit_frame *pxmitframe)
{
struct pkt_file pktfile;
@@ -1094,7 +1195,7 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
- struct pkt_attrib *pattrib = &pxmitframe->attrib;
+ struct pkt_attrib *pattrib = &pxmitframe->attrib;
u8 *pbuf_start;
@@ -1108,7 +1209,7 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
pbuf_start = pxmitframe->buf_addr;
hw_hdr_offset = TXDESC_OFFSET;
- mem_start = pbuf_start + hw_hdr_offset;
+ mem_start = pbuf_start + hw_hdr_offset;
if (rtw_make_wlanhdr(padapter, mem_start, pattrib) == _FAIL) {
res = _FAIL;
@@ -1121,7 +1222,7 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
return ret;
frg_inx = 0;
- frg_len = pxmitpriv->frag_len - 4;/* 2346-4 = 2342 */
+ frg_len = pxmitpriv->frag_len - 4; /* 2346-4 = 2342 */
while (1) {
llc_sz = 0;
@@ -1155,7 +1256,8 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
if (bmcst) {
/* don't do fragment to broadcast/multicast packets */
- mem_sz = _rtw_pktfile_read(&pktfile, pframe, pattrib->pktlen);
+ mem_sz = _rtw_pktfile_read(&pktfile, pframe,
+ pattrib->pktlen);
} else {
mem_sz = _rtw_pktfile_read(&pktfile, pframe, mpdu_len);
}
@@ -1175,10 +1277,11 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
if (bmcst || rtw_endofpktfile(&pktfile)) {
pattrib->nr_frags = frg_inx;
- pattrib->last_txcmdsz = pattrib->hdrlen + pattrib->iv_len +
- ((pattrib->nr_frags == 1) ? llc_sz : 0) +
- ((pattrib->bswenc) ? pattrib->icv_len : 0) +
- mem_sz;
+ pattrib->last_txcmdsz =
+ pattrib->hdrlen + pattrib->iv_len +
+ ((pattrib->nr_frags == 1) ? llc_sz : 0) +
+ ((pattrib->bswenc) ? pattrib->icv_len : 0) +
+ mem_sz;
ClearMFrag(mem_start);
@@ -1208,7 +1311,8 @@ s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct
}
/* broadcast or multicast management pkt use BIP, unicast management pkt use CCMP encryption */
-s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe)
+s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt,
+ struct xmit_frame *pxmitframe)
{
u8 *pframe, *mem_start = NULL, *tmp_buf = NULL;
u8 subtype;
@@ -1220,7 +1324,7 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct ieee80211_hdr *pwlanhdr;
+ struct ieee80211_hdr *pwlanhdr;
u8 MME[_MME_IE_LENGTH_];
u32 ori_len;
@@ -1238,7 +1342,8 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s
spin_lock_bh(&padapter->security_key_mutex);
/* only support station mode */
- if (!check_fwstate(pmlmepriv, WIFI_STATION_STATE) || !check_fwstate(pmlmepriv, _FW_LINKED))
+ if (!check_fwstate(pmlmepriv, WIFI_STATION_STATE) ||
+ !check_fwstate(pmlmepriv, _FW_LINKED))
goto xmitframe_coalesce_success;
/* IGTK key is not install, it may not support 802.11w */
@@ -1253,7 +1358,8 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s
memset(MME, 0, 18);
/* other types doesn't need the BIP */
- if (GetFrameSubType(pframe) != WIFI_DEAUTH && GetFrameSubType(pframe) != WIFI_DISASSOC)
+ if (GetFrameSubType(pframe) != WIFI_DEAUTH &&
+ GetFrameSubType(pframe) != WIFI_DISASSOC)
goto xmitframe_coalesce_fail;
MGMT_body = pframe + sizeof(struct ieee80211_hdr_3addr);
@@ -1267,11 +1373,12 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s
pmlmeext->mgnt_80211w_IPN++;
/* add MME IE with MIC all zero, MME string doesn't include element id and length */
- pframe = rtw_set_ie(pframe, WLAN_EID_MMIE, 16,
- MME, &pattrib->pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_MMIE, 16, MME,
+ &pattrib->pktlen);
pattrib->last_txcmdsz = pattrib->pktlen;
/* total frame length - header length */
- frame_body_len = pattrib->pktlen - sizeof(struct ieee80211_hdr_3addr);
+ frame_body_len =
+ pattrib->pktlen - sizeof(struct ieee80211_hdr_3addr);
/* conscruct AAD, copy frame control field */
memcpy(BIP_AAD, &pwlanhdr->frame_control, 2);
@@ -1283,8 +1390,11 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s
/* copy management fram body */
memcpy(BIP_AAD + BIP_AAD_SIZE, MGMT_body, frame_body_len);
/* calculate mic */
- if (omac1_aes_128(padapter->securitypriv.dot11wBIPKey[padapter->securitypriv.dot11wBIPKeyid].skey
- , BIP_AAD, BIP_AAD_SIZE + frame_body_len, mic))
+ if (omac1_aes_128(padapter->securitypriv
+ .dot11wBIPKey[padapter->securitypriv
+ .dot11wBIPKeyid]
+ .skey,
+ BIP_AAD, BIP_AAD_SIZE + frame_body_len, mic))
goto xmitframe_coalesce_fail;
/* copy right BIP mic value, total is 128bits, we use the 0~63 bits */
@@ -1292,29 +1402,35 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s
} else { /* unicast mgmt frame TX */
/* start to encrypt mgmt frame */
if (subtype == WIFI_DEAUTH || subtype == WIFI_DISASSOC ||
- subtype == WIFI_REASSOCREQ || subtype == WIFI_ACTION) {
+ subtype == WIFI_REASSOCREQ || subtype == WIFI_ACTION) {
if (pattrib->psta)
psta = pattrib->psta;
else
- psta = rtw_get_stainfo(&padapter->stapriv, pattrib->ra);
+ psta = rtw_get_stainfo(&padapter->stapriv,
+ pattrib->ra);
if (!psta)
goto xmitframe_coalesce_fail;
- if (!(psta->state & _FW_LINKED) || !pxmitframe->buf_addr)
+ if (!(psta->state & _FW_LINKED) ||
+ !pxmitframe->buf_addr)
goto xmitframe_coalesce_fail;
/* according 802.11-2012 standard, these five types are not robust types */
if (subtype == WIFI_ACTION &&
- (pframe[WLAN_HDR_A3_LEN] == RTW_WLAN_CATEGORY_PUBLIC ||
- pframe[WLAN_HDR_A3_LEN] == RTW_WLAN_CATEGORY_HT ||
- pframe[WLAN_HDR_A3_LEN] == RTW_WLAN_CATEGORY_UNPROTECTED_WNM ||
- pframe[WLAN_HDR_A3_LEN] == RTW_WLAN_CATEGORY_SELF_PROTECTED ||
- pframe[WLAN_HDR_A3_LEN] == RTW_WLAN_CATEGORY_P2P))
+ (pframe[WLAN_HDR_A3_LEN] ==
+ RTW_WLAN_CATEGORY_PUBLIC ||
+ pframe[WLAN_HDR_A3_LEN] == RTW_WLAN_CATEGORY_HT ||
+ pframe[WLAN_HDR_A3_LEN] ==
+ RTW_WLAN_CATEGORY_UNPROTECTED_WNM ||
+ pframe[WLAN_HDR_A3_LEN] ==
+ RTW_WLAN_CATEGORY_SELF_PROTECTED ||
+ pframe[WLAN_HDR_A3_LEN] == RTW_WLAN_CATEGORY_P2P))
goto xmitframe_coalesce_fail;
/* before encrypt dump the management packet content */
if (pattrib->encrypt > 0)
- memcpy(pattrib->dot118021x_UncstKey.skey, psta->dot118021x_UncstKey.skey, 16);
+ memcpy(pattrib->dot118021x_UncstKey.skey,
+ psta->dot118021x_UncstKey.skey, 16);
/* bakeup original management packet */
memcpy(tmp_buf, pframe, pattrib->pktlen);
/* move to data portion */
@@ -1327,8 +1443,8 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s
switch (pattrib->encrypt) {
case _AES_:
- /* set AES IV header */
- AES_IV(pattrib->iv, psta->dot11wtxpn, 0);
+ /* set AES IV header */
+ AES_IV(pattrib->iv, psta->dot11wtxpn, 0);
break;
default:
goto xmitframe_coalesce_fail;
@@ -1403,11 +1519,11 @@ s32 rtw_put_snap(u8 *data, u16 h_proto)
void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len)
{
- uint protection;
+ uint protection;
u8 *perp;
- signed int erp_len;
- struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
- struct registry_priv *pregistrypriv = &padapter->registrypriv;
+ signed int erp_len;
+ struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
+ struct registry_priv *pregistrypriv = &padapter->registrypriv;
switch (pxmitpriv->vcs_setting) {
case DISABLE_VCS:
@@ -1438,7 +1554,8 @@ void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len)
}
}
-void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz)
+void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe,
+ int sz)
{
struct sta_info *psta = NULL;
struct stainfo_stats *pstats = NULL;
@@ -1467,9 +1584,9 @@ void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe,
}
static struct xmit_buf *__rtw_alloc_cmd_xmitbuf(struct xmit_priv *pxmitpriv,
- enum cmdbuf_type buf_type)
+ enum cmdbuf_type buf_type)
{
- struct xmit_buf *pxmitbuf = NULL;
+ struct xmit_buf *pxmitbuf = NULL;
pxmitbuf = &pxmitpriv->pcmd_xmitbuf[buf_type];
if (pxmitbuf) {
@@ -1481,17 +1598,18 @@ static struct xmit_buf *__rtw_alloc_cmd_xmitbuf(struct xmit_priv *pxmitpriv,
pxmitbuf->pg_num = 0;
if (pxmitbuf->sctx)
- rtw_sctx_done_err(&pxmitbuf->sctx, RTW_SCTX_DONE_BUF_ALLOC);
+ rtw_sctx_done_err(&pxmitbuf->sctx,
+ RTW_SCTX_DONE_BUF_ALLOC);
}
return pxmitbuf;
}
struct xmit_frame *__rtw_alloc_cmdxmitframe(struct xmit_priv *pxmitpriv,
- enum cmdbuf_type buf_type)
+ enum cmdbuf_type buf_type)
{
- struct xmit_frame *pcmdframe;
- struct xmit_buf *pxmitbuf;
+ struct xmit_frame *pcmdframe;
+ struct xmit_buf *pxmitbuf;
pcmdframe = rtw_alloc_xmitframe(pxmitpriv);
if (!pcmdframe)
@@ -1517,7 +1635,7 @@ struct xmit_frame *__rtw_alloc_cmdxmitframe(struct xmit_priv *pxmitpriv,
struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv)
{
unsigned long irqL;
- struct xmit_buf *pxmitbuf = NULL;
+ struct xmit_buf *pxmitbuf = NULL;
struct list_head *plist, *phead;
struct __queue *pfree_queue = &pxmitpriv->free_xmit_extbuf_queue;
@@ -1546,7 +1664,8 @@ struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv)
pxmitbuf->agg_num = 1;
if (pxmitbuf->sctx)
- rtw_sctx_done_err(&pxmitbuf->sctx, RTW_SCTX_DONE_BUF_ALLOC);
+ rtw_sctx_done_err(&pxmitbuf->sctx,
+ RTW_SCTX_DONE_BUF_ALLOC);
}
spin_unlock_irqrestore(&pfree_queue->lock, irqL);
@@ -1577,7 +1696,7 @@ s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf)
struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv)
{
unsigned long irqL;
- struct xmit_buf *pxmitbuf = NULL;
+ struct xmit_buf *pxmitbuf = NULL;
struct list_head *plist, *phead;
struct __queue *pfree_xmitbuf_queue = &pxmitpriv->free_xmitbuf_queue;
@@ -1607,7 +1726,8 @@ struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv)
pxmitbuf->pg_num = 0;
if (pxmitbuf->sctx)
- rtw_sctx_done_err(&pxmitbuf->sctx, RTW_SCTX_DONE_BUF_ALLOC);
+ rtw_sctx_done_err(&pxmitbuf->sctx,
+ RTW_SCTX_DONE_BUF_ALLOC);
}
spin_unlock_irqrestore(&pfree_xmitbuf_queue->lock, irqL);
@@ -1669,7 +1789,8 @@ static void rtw_init_xmitframe(struct xmit_frame *pxframe)
*
* Must be very, very cautious...
*/
-struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv)/* _queue *pfree_xmit_queue) */
+struct xmit_frame *
+rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv) /* _queue *pfree_xmit_queue) */
{
/*
* Please remember to use all the osdep_service api,
@@ -1684,7 +1805,7 @@ struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv)/* _queue *pf
spin_lock_bh(&pfree_xmit_queue->lock);
if (list_empty(&pfree_xmit_queue->queue)) {
- pxframe = NULL;
+ pxframe = NULL;
} else {
phead = get_list_head(pfree_xmit_queue);
@@ -1711,7 +1832,7 @@ struct xmit_frame *rtw_alloc_xmitframe_ext(struct xmit_priv *pxmitpriv)
spin_lock_bh(&queue->lock);
if (list_empty(&queue->queue)) {
- pxframe = NULL;
+ pxframe = NULL;
} else {
phead = get_list_head(queue);
plist = get_next(phead);
@@ -1737,7 +1858,8 @@ struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv)
if (!alloc_addr)
goto exit;
- pxframe = (struct xmit_frame *)N_BYTE_ALIGMENT((SIZE_PTR)(alloc_addr), 4);
+ pxframe =
+ (struct xmit_frame *)N_BYTE_ALIGMENT((SIZE_PTR)(alloc_addr), 4);
pxframe->alloc_addr = alloc_addr;
pxframe->padapter = pxmitpriv->adapter;
@@ -1754,7 +1876,8 @@ struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv)
return pxframe;
}
-s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe)
+s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv,
+ struct xmit_frame *pxmitframe)
{
struct __queue *queue = NULL;
struct adapter *padapter = pxmitpriv->adapter;
@@ -1798,10 +1921,11 @@ s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitfram
return _SUCCESS;
}
-void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue)
+void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv,
+ struct __queue *pframequeue)
{
struct list_head *plist, *phead, *tmp;
- struct xmit_frame *pxmitframe;
+ struct xmit_frame *pxmitframe;
spin_lock_bh(&pframequeue->lock);
@@ -1818,13 +1942,14 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pfram
* Will enqueue pxmitframe to the proper queue,
* and indicate it to xx_pending list.....
*/
-static int rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe)
+static int rtw_xmit_classifier(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
u8 ac_index;
struct sta_info *psta;
- struct tx_servq *ptxservq;
- struct pkt_attrib *pattrib = &pxmitframe->attrib;
- struct hw_xmit *phwxmits = padapter->xmitpriv.hwxmits;
+ struct tx_servq *ptxservq;
+ struct pkt_attrib *pattrib = &pxmitframe->attrib;
+ struct hw_xmit *phwxmits = padapter->xmitpriv.hwxmits;
psta = rtw_get_stainfo(&padapter->stapriv, pattrib->ra);
if (pattrib->psta != psta)
@@ -1836,10 +1961,12 @@ static int rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmi
if (!(psta->state & _FW_LINKED))
return -ENETDOWN;
- ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *)(&ac_index));
+ ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority,
+ (u8 *)(&ac_index));
if (list_empty(&ptxservq->tx_pending))
- list_add_tail(&ptxservq->tx_pending, get_list_head(phwxmits[ac_index].sta_queue));
+ list_add_tail(&ptxservq->tx_pending,
+ get_list_head(phwxmits[ac_index].sta_queue));
list_add_tail(&pxmitframe->list, get_list_head(&ptxservq->sta_pending));
ptxservq->qcnt++;
@@ -1848,7 +1975,8 @@ static int rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmi
return 0;
}
-int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe)
+int rtw_xmitframe_enqueue(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
int res;
@@ -1859,7 +1987,9 @@ int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitfram
return 0;
}
-struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac)
+struct tx_servq *rtw_get_sta_pending(struct adapter *padapter,
+ struct sta_info *psta, signed int up,
+ u8 *ac)
{
struct tx_servq *ptxservq = NULL;
@@ -1887,7 +2017,7 @@ struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *
default:
ptxservq = &psta->sta_xmitpriv.be_q;
*(ac) = 2;
- break;
+ break;
}
return ptxservq;
@@ -1933,7 +2063,7 @@ u32 rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe)
case 0x10:
addr = BCN_QUEUE_INX;
break;
- case 0x11:/* BC/MC in PS (HIQ) */
+ case 0x11: /* BC/MC in PS (HIQ) */
addr = HIGH_QUEUE_INX;
break;
case 0x12:
@@ -1945,7 +2075,8 @@ u32 rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe)
return addr;
}
-static void do_queue_select(struct adapter *padapter, struct pkt_attrib *pattrib)
+static void do_queue_select(struct adapter *padapter,
+ struct pkt_attrib *pattrib)
{
u8 qsel;
@@ -2020,9 +2151,7 @@ inline bool xmitframe_hiq_filter(struct xmit_frame *xmitframe)
struct pkt_attrib *attrib = &xmitframe->attrib;
if (attrib->ether_type == ETH_P_ARP ||
- attrib->ether_type == ETH_P_PAE ||
- attrib->dhcp_pkt
- )
+ attrib->ether_type == ETH_P_PAE || attrib->dhcp_pkt)
allow = true;
} else if (registry->hiq_filter == RTW_HIQ_FILTER_ALLOW_ALL)
@@ -2035,7 +2164,8 @@ inline bool xmitframe_hiq_filter(struct xmit_frame *xmitframe)
return allow;
}
-signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xmit_frame *pxmitframe)
+signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
signed int ret = false;
struct sta_info *psta = NULL;
@@ -2059,7 +2189,7 @@ signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct x
if (pattrib->triggered == 1) {
if (bmcst && xmitframe_hiq_filter(pxmitframe))
- pattrib->qsel = 0x11;/* HIQ */
+ pattrib->qsel = 0x11; /* HIQ */
return ret;
}
@@ -2072,7 +2202,8 @@ signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct x
list_del_init(&pxmitframe->list);
- list_add_tail(&pxmitframe->list, get_list_head(&psta->sleep_q));
+ list_add_tail(&pxmitframe->list,
+ get_list_head(&psta->sleep_q));
psta->sleepq_len++;
@@ -2083,7 +2214,8 @@ signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct x
pstapriv->sta_dz_bitmap |= BIT(0);
if (update_tim)
- update_beacon(padapter, WLAN_EID_TIM, NULL, true);
+ update_beacon(padapter, WLAN_EID_TIM, NULL,
+ true);
else
chk_bmc_sleepq_cmd(padapter);
@@ -2103,7 +2235,8 @@ signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct x
if (pstapriv->sta_dz_bitmap & BIT(psta->aid)) {
list_del_init(&pxmitframe->list);
- list_add_tail(&pxmitframe->list, get_list_head(&psta->sleep_q));
+ list_add_tail(&pxmitframe->list,
+ get_list_head(&psta->sleep_q));
psta->sleepq_len++;
@@ -2130,7 +2263,8 @@ signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct x
if (wmmps_ac)
psta->sleepq_ac_len++;
- if (((psta->has_legacy_ac) && (!wmmps_ac)) || ((!psta->has_legacy_ac) && (wmmps_ac))) {
+ if (((psta->has_legacy_ac) && (!wmmps_ac)) ||
+ ((!psta->has_legacy_ac) && (wmmps_ac))) {
if (!(pstapriv->tim_bitmap & BIT(psta->aid)))
update_tim = true;
@@ -2138,7 +2272,8 @@ signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct x
if (update_tim)
/* update BCN for TIM IE */
- update_beacon(padapter, WLAN_EID_TIM, NULL, true);
+ update_beacon(padapter, WLAN_EID_TIM,
+ NULL, true);
}
ret = true;
@@ -2150,15 +2285,17 @@ signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct x
return ret;
}
-static void dequeue_xmitframes_to_sleeping_queue(struct adapter *padapter, struct sta_info *psta, struct __queue *pframequeue)
+static void dequeue_xmitframes_to_sleeping_queue(struct adapter *padapter,
+ struct sta_info *psta,
+ struct __queue *pframequeue)
{
signed int ret;
struct list_head *plist, *phead, *tmp;
u8 ac_index;
- struct tx_servq *ptxservq;
- struct pkt_attrib *pattrib;
- struct xmit_frame *pxmitframe;
- struct hw_xmit *phwxmits = padapter->xmitpriv.hwxmits;
+ struct tx_servq *ptxservq;
+ struct pkt_attrib *pattrib;
+ struct xmit_frame *pxmitframe;
+ struct hw_xmit *phwxmits = padapter->xmitpriv.hwxmits;
phead = get_list_head(pframequeue);
list_for_each_safe(plist, tmp, phead) {
@@ -2171,7 +2308,9 @@ static void dequeue_xmitframes_to_sleeping_queue(struct adapter *padapter, struc
ret = xmitframe_enqueue_for_sleeping_sta(padapter, pxmitframe);
if (true == ret) {
- ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *)(&ac_index));
+ ptxservq = rtw_get_sta_pending(padapter, psta,
+ pattrib->priority,
+ (u8 *)(&ac_index));
ptxservq->qcnt--;
phwxmits[ac_index].accnt--;
@@ -2198,21 +2337,26 @@ void stop_sta_xmit(struct adapter *padapter, struct sta_info *psta)
pstapriv->sta_dz_bitmap |= BIT(psta->aid);
- dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->vo_q.sta_pending);
+ dequeue_xmitframes_to_sleeping_queue(padapter, psta,
+ &pstaxmitpriv->vo_q.sta_pending);
list_del_init(&pstaxmitpriv->vo_q.tx_pending);
- dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->vi_q.sta_pending);
+ dequeue_xmitframes_to_sleeping_queue(padapter, psta,
+ &pstaxmitpriv->vi_q.sta_pending);
list_del_init(&pstaxmitpriv->vi_q.tx_pending);
- dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->be_q.sta_pending);
+ dequeue_xmitframes_to_sleeping_queue(padapter, psta,
+ &pstaxmitpriv->be_q.sta_pending);
list_del_init(&pstaxmitpriv->be_q.tx_pending);
- dequeue_xmitframes_to_sleeping_queue(padapter, psta, &pstaxmitpriv->bk_q.sta_pending);
+ dequeue_xmitframes_to_sleeping_queue(padapter, psta,
+ &pstaxmitpriv->bk_q.sta_pending);
list_del_init(&pstaxmitpriv->bk_q.tx_pending);
/* for BC/MC Frames */
pstaxmitpriv = &psta_bmc->sta_xmitpriv;
- dequeue_xmitframes_to_sleeping_queue(padapter, psta_bmc, &pstaxmitpriv->be_q.sta_pending);
+ dequeue_xmitframes_to_sleeping_queue(padapter, psta_bmc,
+ &pstaxmitpriv->be_q.sta_pending);
list_del_init(&pstaxmitpriv->be_q.tx_pending);
spin_unlock_bh(&pxmitpriv->lock);
@@ -2233,8 +2377,8 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
xmitframe_phead = get_list_head(&psta->sleep_q);
list_for_each_safe(xmitframe_plist, tmp, xmitframe_phead) {
- pxmitframe = list_entry(xmitframe_plist, struct xmit_frame,
- list);
+ pxmitframe =
+ list_entry(xmitframe_plist, struct xmit_frame, list);
list_del_init(&pxmitframe->list);
@@ -2301,7 +2445,8 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
if (!psta_bmc)
goto _exit;
- if ((pstapriv->sta_dz_bitmap & 0xfffe) == 0x0) { /* no any sta in ps mode */
+ if ((pstapriv->sta_dz_bitmap & 0xfffe) ==
+ 0x0) { /* no any sta in ps mode */
xmitframe_phead = get_list_head(&psta_bmc->sleep_q);
list_for_each_safe(xmitframe_plist, tmp, xmitframe_phead) {
pxmitframe = list_entry(xmitframe_plist,
@@ -2336,7 +2481,8 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
update_beacon(padapter, WLAN_EID_TIM, NULL, true);
}
-void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *psta)
+void xmit_delivery_enabled_frames(struct adapter *padapter,
+ struct sta_info *psta)
{
u8 wmmps_ac = 0;
struct list_head *xmitframe_plist, *xmitframe_phead, *tmp;
@@ -2348,8 +2494,8 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
xmitframe_phead = get_list_head(&psta->sleep_q);
list_for_each_safe(xmitframe_plist, tmp, xmitframe_phead) {
- pxmitframe = list_entry(xmitframe_plist, struct xmit_frame,
- list);
+ pxmitframe =
+ list_entry(xmitframe_plist, struct xmit_frame, list);
switch (pxmitframe->attrib.priority) {
case 1:
@@ -2390,7 +2536,8 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
pxmitframe->attrib.triggered = 1;
rtw_hal_xmitframe_enqueue(padapter, pxmitframe);
- if ((psta->sleepq_ac_len == 0) && (!psta->has_legacy_ac) && (wmmps_ac)) {
+ if ((psta->sleepq_ac_len == 0) && (!psta->has_legacy_ac) &&
+ (wmmps_ac)) {
pstapriv->tim_bitmap &= ~BIT(psta->aid);
update_beacon(padapter, WLAN_EID_TIM, NULL, true);
@@ -2400,7 +2547,8 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
spin_unlock_bh(&pxmitpriv->lock);
}
-void enqueue_pending_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf)
+void enqueue_pending_xmitbuf(struct xmit_priv *pxmitpriv,
+ struct xmit_buf *pxmitbuf)
{
struct __queue *pqueue;
struct adapter *pri_adapter = pxmitpriv->adapter;
@@ -2415,7 +2563,8 @@ void enqueue_pending_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmit
complete(&pri_adapter->xmitpriv.xmit_comp);
}
-void enqueue_pending_xmitbuf_to_head(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf)
+void enqueue_pending_xmitbuf_to_head(struct xmit_priv *pxmitpriv,
+ struct xmit_buf *pxmitbuf)
{
struct __queue *pqueue;
@@ -2451,7 +2600,8 @@ struct xmit_buf *dequeue_pending_xmitbuf(struct xmit_priv *pxmitpriv)
return pxmitbuf;
}
-struct xmit_buf *dequeue_pending_xmitbuf_under_survey(struct xmit_priv *pxmitpriv)
+struct xmit_buf *
+dequeue_pending_xmitbuf_under_survey(struct xmit_priv *pxmitpriv)
{
struct xmit_buf *pxmitbuf;
struct __queue *pqueue;
@@ -2477,8 +2627,8 @@ struct xmit_buf *dequeue_pending_xmitbuf_under_survey(struct xmit_priv *pxmitpri
type = GetFrameSubType(pxmitbuf->pbuf + TXDESC_OFFSET);
if ((type == WIFI_PROBEREQ) ||
- (type == WIFI_DATA_NULL) ||
- (type == WIFI_QOS_DATA_NULL)) {
+ (type == WIFI_DATA_NULL) ||
+ (type == WIFI_QOS_DATA_NULL)) {
list_del_init(&pxmitbuf->list);
break;
}
@@ -2494,7 +2644,7 @@ struct xmit_buf *dequeue_pending_xmitbuf_under_survey(struct xmit_priv *pxmitpri
signed int check_pending_xmitbuf(struct xmit_priv *pxmitpriv)
{
struct __queue *pqueue;
- signed int ret = false;
+ signed int ret = false;
pqueue = &pxmitpriv->pending_xmitbuf_queue;
@@ -2542,7 +2692,8 @@ int rtw_sctx_wait(struct submit_ctx *sctx)
unsigned long expire;
int status = 0;
- expire = sctx->timeout_ms ? msecs_to_jiffies(sctx->timeout_ms) : MAX_SCHEDULE_TIMEOUT;
+ expire = sctx->timeout_ms ? msecs_to_jiffies(sctx->timeout_ms) :
+ MAX_SCHEDULE_TIMEOUT;
if (!wait_for_completion_timeout(&sctx->done, expire))
/* timeout, do something?? */
status = RTW_SCTX_DONE_TIMEOUT;
diff --git a/drivers/staging/rtl8723bs/hal/Hal8723BReg.h b/drivers/staging/rtl8723bs/hal/Hal8723BReg.h
index 0b327a70aa15c..26954c5a4a34d 100644
--- a/drivers/staging/rtl8723bs/hal/Hal8723BReg.h
+++ b/drivers/staging/rtl8723bs/hal/Hal8723BReg.h
@@ -24,15 +24,15 @@
/* 0x0100h ~ 0x01FFh MACTOP General Configuration */
/* */
/* */
-#define REG_C2HEVT_CMD_SEQ_88XX 0x01A1
-#define REG_C2HEVT_CMD_LEN_88XX 0x01AE
+#define REG_C2HEVT_CMD_SEQ_88XX 0x01A1
+#define REG_C2HEVT_CMD_LEN_88XX 0x01AE
/* */
/* */
/* 0x0200h ~ 0x027Fh TXDMA Configuration */
/* */
/* */
-#define REG_DWBCN1_CTRL_8723B 0x0228
+#define REG_DWBCN1_CTRL_8723B 0x0228
/* spec version 11 */
/* */
@@ -40,26 +40,26 @@
/* 0x0400h ~ 0x047Fh Protocol Configuration */
/* */
/* */
-#define REG_FWHW_TXQ_CTRL_8723B 0x0420
-#define REG_ARFR0_8723B 0x0444
-#define REG_ARFR1_8723B 0x044C
-#define REG_CCK_CHECK_8723B 0x0454
-#define REG_AMPDU_MAX_TIME_8723B 0x0456
+#define REG_FWHW_TXQ_CTRL_8723B 0x0420
+#define REG_ARFR0_8723B 0x0444
+#define REG_ARFR1_8723B 0x044C
+#define REG_CCK_CHECK_8723B 0x0454
+#define REG_AMPDU_MAX_TIME_8723B 0x0456
-#define REG_AMPDU_MAX_LENGTH_8723B 0x0458
-#define REG_DATA_SC_8723B 0x0483
-#define REG_MAX_AGGR_NUM_8723B 0x04CA
+#define REG_AMPDU_MAX_LENGTH_8723B 0x0458
+#define REG_DATA_SC_8723B 0x0483
+#define REG_MAX_AGGR_NUM_8723B 0x04CA
/* */
/* */
/* 0x0500h ~ 0x05FFh EDCA Configuration */
/* */
/* */
-#define REG_PIFS_8723B 0x0512
+#define REG_PIFS_8723B 0x0512
/* 0x0600h ~ 0x07FFh WMAC Configuration */
-#define REG_RX_PKT_LIMIT_8723B 0x060C
+#define REG_RX_PKT_LIMIT_8723B 0x060C
-#define REG_TRXPTCL_CTL_8723B 0x0668
+#define REG_TRXPTCL_CTL_8723B 0x0668
#endif /* #ifndef __INC_HAL8723BREG_H */
diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c
index 0613beaa3752f..2c732f3b40919 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c
+++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c
@@ -15,9 +15,8 @@ static struct coex_sta_8723b_1ant *pCoexSta = &GLCoexSta8723b1Ant;
/* local function proto type if needed */
/* local function start with halbtc8723b1ant_ */
-static u8 halbtc8723b1ant_BtRssiState(
- u8 levelNum, u8 rssiThresh, u8 rssiThresh1
-)
+static u8 halbtc8723b1ant_BtRssiState(u8 levelNum, u8 rssiThresh,
+ u8 rssiThresh1)
{
s32 btRssi = 0;
u8 btRssiState = pCoexSta->preBtRssiState;
@@ -25,11 +24,10 @@ static u8 halbtc8723b1ant_BtRssiState(
btRssi = pCoexSta->btRssi;
if (levelNum == 2) {
- if (
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_LOW) ||
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_LOW)
- ) {
- if (btRssi >= (rssiThresh + BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT))
+ if ((pCoexSta->preBtRssiState == BTC_RSSI_STATE_LOW) ||
+ (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_LOW)) {
+ if (btRssi >=
+ (rssiThresh + BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT))
btRssiState = BTC_RSSI_STATE_HIGH;
else
@@ -44,19 +42,19 @@ static u8 halbtc8723b1ant_BtRssiState(
if (rssiThresh > rssiThresh1)
return pCoexSta->preBtRssiState;
- if (
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_LOW) ||
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_LOW)
- ) {
- if (btRssi >= (rssiThresh + BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT))
+ if ((pCoexSta->preBtRssiState == BTC_RSSI_STATE_LOW) ||
+ (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_LOW)) {
+ if (btRssi >=
+ (rssiThresh + BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT))
btRssiState = BTC_RSSI_STATE_MEDIUM;
else
btRssiState = BTC_RSSI_STATE_STAY_LOW;
- } else if (
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_MEDIUM) ||
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_MEDIUM)
- ) {
- if (btRssi >= (rssiThresh1 + BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT))
+ } else if ((pCoexSta->preBtRssiState ==
+ BTC_RSSI_STATE_MEDIUM) ||
+ (pCoexSta->preBtRssiState ==
+ BTC_RSSI_STATE_STAY_MEDIUM)) {
+ if (btRssi >=
+ (rssiThresh1 + BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT))
btRssiState = BTC_RSSI_STATE_HIGH;
else if (btRssi < rssiThresh)
btRssiState = BTC_RSSI_STATE_LOW;
@@ -75,24 +73,20 @@ static u8 halbtc8723b1ant_BtRssiState(
return btRssiState;
}
-static void halbtc8723b1ant_UpdateRaMask(
- struct btc_coexist *pBtCoexist, bool bForceExec, u32 disRateMask
-)
+static void halbtc8723b1ant_UpdateRaMask(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u32 disRateMask)
{
pCoexDm->curRaMask = disRateMask;
if (bForceExec || (pCoexDm->preRaMask != pCoexDm->curRaMask))
- pBtCoexist->fBtcSet(
- pBtCoexist,
- BTC_SET_ACT_UPDATE_RAMASK,
- &pCoexDm->curRaMask
- );
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_UPDATE_RAMASK,
+ &pCoexDm->curRaMask);
pCoexDm->preRaMask = pCoexDm->curRaMask;
}
-static void halbtc8723b1ant_AutoRateFallbackRetry(
- struct btc_coexist *pBtCoexist, bool bForceExec, u8 type
-)
+static void
+halbtc8723b1ant_AutoRateFallbackRetry(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 type)
{
bool bWifiUnderBMode = false;
@@ -100,24 +94,26 @@ static void halbtc8723b1ant_AutoRateFallbackRetry(
if (bForceExec || (pCoexDm->preArfrType != pCoexDm->curArfrType)) {
switch (pCoexDm->curArfrType) {
- case 0: /* normal mode */
- pBtCoexist->fBtcWrite4Byte(
- pBtCoexist, 0x430, pCoexDm->backupArfrCnt1
- );
- pBtCoexist->fBtcWrite4Byte(
- pBtCoexist, 0x434, pCoexDm->backupArfrCnt2
- );
+ case 0: /* normal mode */
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x430,
+ pCoexDm->backupArfrCnt1);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x434,
+ pCoexDm->backupArfrCnt2);
break;
case 1:
- pBtCoexist->fBtcGet(
- pBtCoexist, BTC_GET_BL_WIFI_UNDER_B_MODE, &bWifiUnderBMode
- );
+ pBtCoexist->fBtcGet(pBtCoexist,
+ BTC_GET_BL_WIFI_UNDER_B_MODE,
+ &bWifiUnderBMode);
if (bWifiUnderBMode) {
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x430, 0x0);
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x434, 0x01010101);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x430,
+ 0x0);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x434,
+ 0x01010101);
} else {
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x430, 0x0);
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x434, 0x04030201);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x430,
+ 0x0);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x434,
+ 0x04030201);
}
break;
default:
@@ -128,23 +124,19 @@ static void halbtc8723b1ant_AutoRateFallbackRetry(
pCoexDm->preArfrType = pCoexDm->curArfrType;
}
-static void halbtc8723b1ant_RetryLimit(
- struct btc_coexist *pBtCoexist, bool bForceExec, u8 type
-)
+static void halbtc8723b1ant_RetryLimit(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 type)
{
pCoexDm->curRetryLimitType = type;
- if (
- bForceExec ||
- (pCoexDm->preRetryLimitType != pCoexDm->curRetryLimitType)
- ) {
+ if (bForceExec ||
+ (pCoexDm->preRetryLimitType != pCoexDm->curRetryLimitType)) {
switch (pCoexDm->curRetryLimitType) {
- case 0: /* normal mode */
- pBtCoexist->fBtcWrite2Byte(
- pBtCoexist, 0x42a, pCoexDm->backupRetryLimit
- );
+ case 0: /* normal mode */
+ pBtCoexist->fBtcWrite2Byte(pBtCoexist, 0x42a,
+ pCoexDm->backupRetryLimit);
break;
- case 1: /* retry limit =8 */
+ case 1: /* retry limit =8 */
pBtCoexist->fBtcWrite2Byte(pBtCoexist, 0x42a, 0x0808);
break;
default:
@@ -155,22 +147,19 @@ static void halbtc8723b1ant_RetryLimit(
pCoexDm->preRetryLimitType = pCoexDm->curRetryLimitType;
}
-static void halbtc8723b1ant_AmpduMaxTime(
- struct btc_coexist *pBtCoexist, bool bForceExec, u8 type
-)
+static void halbtc8723b1ant_AmpduMaxTime(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 type)
{
pCoexDm->curAmpduTimeType = type;
- if (
- bForceExec || (pCoexDm->preAmpduTimeType != pCoexDm->curAmpduTimeType)
- ) {
+ if (bForceExec ||
+ (pCoexDm->preAmpduTimeType != pCoexDm->curAmpduTimeType)) {
switch (pCoexDm->curAmpduTimeType) {
- case 0: /* normal mode */
- pBtCoexist->fBtcWrite1Byte(
- pBtCoexist, 0x456, pCoexDm->backupAmpduMaxTime
- );
+ case 0: /* normal mode */
+ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x456,
+ pCoexDm->backupAmpduMaxTime);
break;
- case 1: /* AMPDU timw = 0x38 * 32us */
+ case 1: /* AMPDU timw = 0x38 * 32us */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x456, 0x38);
break;
default:
@@ -181,24 +170,22 @@ static void halbtc8723b1ant_AmpduMaxTime(
pCoexDm->preAmpduTimeType = pCoexDm->curAmpduTimeType;
}
-static void halbtc8723b1ant_LimitedTx(
- struct btc_coexist *pBtCoexist,
- bool bForceExec,
- u8 raMaskType,
- u8 arfrType,
- u8 retryLimitType,
- u8 ampduTimeType
-)
+static void halbtc8723b1ant_LimitedTx(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 raMaskType,
+ u8 arfrType, u8 retryLimitType,
+ u8 ampduTimeType)
{
switch (raMaskType) {
- case 0: /* normal mode */
+ case 0: /* normal mode */
halbtc8723b1ant_UpdateRaMask(pBtCoexist, bForceExec, 0x0);
break;
- case 1: /* disable cck 1/2 */
- halbtc8723b1ant_UpdateRaMask(pBtCoexist, bForceExec, 0x00000003);
+ case 1: /* disable cck 1/2 */
+ halbtc8723b1ant_UpdateRaMask(pBtCoexist, bForceExec,
+ 0x00000003);
break;
- case 2: /* disable cck 1/2/5.5, ofdm 6/9/12/18/24, mcs 0/1/2/3/4 */
- halbtc8723b1ant_UpdateRaMask(pBtCoexist, bForceExec, 0x0001f1f7);
+ case 2: /* disable cck 1/2/5.5, ofdm 6/9/12/18/24, mcs 0/1/2/3/4 */
+ halbtc8723b1ant_UpdateRaMask(pBtCoexist, bForceExec,
+ 0x0001f1f7);
break;
default:
break;
@@ -209,13 +196,9 @@ static void halbtc8723b1ant_LimitedTx(
halbtc8723b1ant_AmpduMaxTime(pBtCoexist, bForceExec, ampduTimeType);
}
-static void halbtc8723b1ant_LimitedRx(
- struct btc_coexist *pBtCoexist,
- bool bForceExec,
- bool bRejApAggPkt,
- bool bBtCtrlAggBufSize,
- u8 aggBufSize
-)
+static void halbtc8723b1ant_LimitedRx(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bRejApAggPkt,
+ bool bBtCtrlAggBufSize, u8 aggBufSize)
{
bool bRejectRxAgg = bRejApAggPkt;
bool bBtCtrlRxAggSize = bBtCtrlAggBufSize;
@@ -224,13 +207,11 @@ static void halbtc8723b1ant_LimitedRx(
/* */
/* Rx Aggregation related setting */
/* */
- pBtCoexist->fBtcSet(
- pBtCoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT, &bRejectRxAgg
- );
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT,
+ &bRejectRxAgg);
/* decide BT control aggregation buf size or not */
- pBtCoexist->fBtcSet(
- pBtCoexist, BTC_SET_BL_BT_CTRL_AGG_SIZE, &bBtCtrlRxAggSize
- );
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_CTRL_AGG_SIZE,
+ &bBtCtrlRxAggSize);
/* aggregation buf size, only work when BT control Rx aggregation size. */
pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_U1_AGG_BUF_SIZE, &rxAggSize);
/* real update aggregation setting */
@@ -239,11 +220,11 @@ static void halbtc8723b1ant_LimitedRx(
static void halbtc8723b1ant_QueryBtInfo(struct btc_coexist *pBtCoexist)
{
- u8 H2C_Parameter[1] = {0};
+ u8 H2C_Parameter[1] = { 0 };
pCoexSta->bC2hBtInfoReqSent = true;
- H2C_Parameter[0] |= BIT(0); /* trigger */
+ H2C_Parameter[0] |= BIT(0); /* trigger */
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x61, 1, H2C_Parameter);
}
@@ -254,7 +235,7 @@ static void halbtc8723b1ant_MonitorBtCtr(struct btc_coexist *pBtCoexist)
u32 regHPTx = 0, regHPRx = 0, regLPTx = 0, regLPRx = 0;
static u8 NumOfBtCounterChk;
- /* to avoid 0x76e[3] = 1 (WLAN_Act control by PTA) during IPS */
+ /* to avoid 0x76e[3] = 1 (WLAN_Act control by PTA) during IPS */
/* if (! (pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x76e) & 0x8)) */
if (pCoexSta->bUnderIps) {
@@ -287,7 +268,8 @@ static void halbtc8723b1ant_MonitorBtCtr(struct btc_coexist *pBtCoexist)
/* reset counter */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0xc);
- if ((regHPTx == 0) && (regHPRx == 0) && (regLPTx == 0) && (regLPRx == 0)) {
+ if ((regHPTx == 0) && (regHPRx == 0) && (regLPTx == 0) &&
+ (regLPRx == 0)) {
NumOfBtCounterChk++;
if (NumOfBtCounterChk >= 3) {
halbtc8723b1ant_QueryBtInfo(pBtCoexist);
@@ -298,15 +280,14 @@ static void halbtc8723b1ant_MonitorBtCtr(struct btc_coexist *pBtCoexist)
static void halbtc8723b1ant_MonitorWiFiCtr(struct btc_coexist *pBtCoexist)
{
- s32 wifiRssi = 0;
+ s32 wifiRssi = 0;
bool bWifiBusy = false, bWifiUnderBMode = false;
static u8 nCCKLockCounter;
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_BUSY, &bWifiBusy);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_S4_WIFI_RSSI, &wifiRssi);
- pBtCoexist->fBtcGet(
- pBtCoexist, BTC_GET_BL_WIFI_UNDER_B_MODE, &bWifiUnderBMode
- );
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_UNDER_B_MODE,
+ &bWifiUnderBMode);
if (pCoexSta->bUnderIps) {
pCoexSta->nCRCOK_CCK = 0;
@@ -319,15 +300,23 @@ static void halbtc8723b1ant_MonitorWiFiCtr(struct btc_coexist *pBtCoexist)
pCoexSta->nCRCErr_11n = 0;
pCoexSta->nCRCErr_11nAgg = 0;
} else {
- pCoexSta->nCRCOK_CCK = pBtCoexist->fBtcRead4Byte(pBtCoexist, 0xf88);
- pCoexSta->nCRCOK_11g = pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xf94);
- pCoexSta->nCRCOK_11n = pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xf90);
- pCoexSta->nCRCOK_11nAgg = pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xfb8);
-
- pCoexSta->nCRCErr_CCK = pBtCoexist->fBtcRead4Byte(pBtCoexist, 0xf84);
- pCoexSta->nCRCErr_11g = pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xf96);
- pCoexSta->nCRCErr_11n = pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xf92);
- pCoexSta->nCRCErr_11nAgg = pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xfba);
+ pCoexSta->nCRCOK_CCK =
+ pBtCoexist->fBtcRead4Byte(pBtCoexist, 0xf88);
+ pCoexSta->nCRCOK_11g =
+ pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xf94);
+ pCoexSta->nCRCOK_11n =
+ pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xf90);
+ pCoexSta->nCRCOK_11nAgg =
+ pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xfb8);
+
+ pCoexSta->nCRCErr_CCK =
+ pBtCoexist->fBtcRead4Byte(pBtCoexist, 0xf84);
+ pCoexSta->nCRCErr_11g =
+ pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xf96);
+ pCoexSta->nCRCErr_11n =
+ pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xf92);
+ pCoexSta->nCRCErr_11nAgg =
+ pBtCoexist->fBtcRead2Byte(pBtCoexist, 0xfba);
}
/* reset counter */
@@ -335,18 +324,13 @@ static void halbtc8723b1ant_MonitorWiFiCtr(struct btc_coexist *pBtCoexist)
pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0xf16, 0x1, 0x0);
if (bWifiBusy && (wifiRssi >= 30) && !bWifiUnderBMode) {
- if (
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY)
- ) {
- if (
- pCoexSta->nCRCOK_CCK > (
- pCoexSta->nCRCOK_11g +
- pCoexSta->nCRCOK_11n +
- pCoexSta->nCRCOK_11nAgg
- )
- ) {
+ if ((pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) ||
+ (pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY) ||
+ (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY)) {
+ if (pCoexSta->nCRCOK_CCK >
+ (pCoexSta->nCRCOK_11g + pCoexSta->nCRCOK_11n +
+ pCoexSta->nCRCOK_11nAgg)) {
if (nCCKLockCounter < 5)
nCCKLockCounter++;
} else {
@@ -364,7 +348,6 @@ static void halbtc8723b1ant_MonitorWiFiCtr(struct btc_coexist *pBtCoexist)
}
if (!pCoexSta->bPreCCKLock) {
-
if (nCCKLockCounter >= 5)
pCoexSta->bCCKLock = true;
else
@@ -376,23 +359,21 @@ static void halbtc8723b1ant_MonitorWiFiCtr(struct btc_coexist *pBtCoexist)
pCoexSta->bCCKLock = true;
}
- pCoexSta->bPreCCKLock = pCoexSta->bCCKLock;
+ pCoexSta->bPreCCKLock = pCoexSta->bCCKLock;
}
static bool halbtc8723b1ant_IsWifiStatusChanged(struct btc_coexist *pBtCoexist)
{
- static bool bPreWifiBusy, bPreUnder4way, bPreBtHsOn;
+ static bool bPreWifiBusy, bPreUnder4way, bPreBtHsOn;
bool bWifiBusy = false, bUnder4way = false, bBtHsOn = false;
bool bWifiConnected = false;
- pBtCoexist->fBtcGet(
- pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected
- );
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_BUSY, &bWifiBusy);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_HS_OPERATION, &bBtHsOn);
- pBtCoexist->fBtcGet(
- pBtCoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS, &bUnder4way
- );
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS,
+ &bUnder4way);
if (bWifiConnected) {
if (bWifiBusy != bPreWifiBusy) {
@@ -434,45 +415,29 @@ static void halbtc8723b1ant_UpdateBtLinkInfo(struct btc_coexist *pBtCoexist)
}
/* check if Sco only */
- if (
- pBtLinkInfo->bScoExist &&
- !pBtLinkInfo->bA2dpExist &&
- !pBtLinkInfo->bPanExist &&
- !pBtLinkInfo->bHidExist
- )
+ if (pBtLinkInfo->bScoExist && !pBtLinkInfo->bA2dpExist &&
+ !pBtLinkInfo->bPanExist && !pBtLinkInfo->bHidExist)
pBtLinkInfo->bScoOnly = true;
else
pBtLinkInfo->bScoOnly = false;
/* check if A2dp only */
- if (
- !pBtLinkInfo->bScoExist &&
- pBtLinkInfo->bA2dpExist &&
- !pBtLinkInfo->bPanExist &&
- !pBtLinkInfo->bHidExist
- )
+ if (!pBtLinkInfo->bScoExist && pBtLinkInfo->bA2dpExist &&
+ !pBtLinkInfo->bPanExist && !pBtLinkInfo->bHidExist)
pBtLinkInfo->bA2dpOnly = true;
else
pBtLinkInfo->bA2dpOnly = false;
/* check if Pan only */
- if (
- !pBtLinkInfo->bScoExist &&
- !pBtLinkInfo->bA2dpExist &&
- pBtLinkInfo->bPanExist &&
- !pBtLinkInfo->bHidExist
- )
+ if (!pBtLinkInfo->bScoExist && !pBtLinkInfo->bA2dpExist &&
+ pBtLinkInfo->bPanExist && !pBtLinkInfo->bHidExist)
pBtLinkInfo->bPanOnly = true;
else
pBtLinkInfo->bPanOnly = false;
/* check if Hid only */
- if (
- !pBtLinkInfo->bScoExist &&
- !pBtLinkInfo->bA2dpExist &&
- !pBtLinkInfo->bPanExist &&
- pBtLinkInfo->bHidExist
- )
+ if (!pBtLinkInfo->bScoExist && !pBtLinkInfo->bA2dpExist &&
+ !pBtLinkInfo->bPanExist && pBtLinkInfo->bHidExist)
pBtLinkInfo->bHidOnly = true;
else
pBtLinkInfo->bHidOnly = false;
@@ -509,9 +474,11 @@ static u8 halbtc8723b1ant_ActionAlgorithm(struct btc_coexist *pBtCoexist)
algorithm = BT_8723B_1ANT_COEX_ALGO_A2DP;
} else if (pBtLinkInfo->bPanExist) {
if (bBtHsOn)
- algorithm = BT_8723B_1ANT_COEX_ALGO_PANHS;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_PANHS;
else
- algorithm = BT_8723B_1ANT_COEX_ALGO_PANEDR;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_PANEDR;
}
}
} else if (numOfDiffProfile == 2) {
@@ -524,62 +491,68 @@ static u8 halbtc8723b1ant_ActionAlgorithm(struct btc_coexist *pBtCoexist)
if (bBtHsOn)
algorithm = BT_8723B_1ANT_COEX_ALGO_SCO;
else
- algorithm = BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
}
} else {
if (pBtLinkInfo->bHidExist && pBtLinkInfo->bA2dpExist) {
algorithm = BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
- } else if (pBtLinkInfo->bHidExist && pBtLinkInfo->bPanExist) {
+ } else if (pBtLinkInfo->bHidExist &&
+ pBtLinkInfo->bPanExist) {
if (bBtHsOn)
- algorithm = BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
else
- algorithm = BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
- } else if (pBtLinkInfo->bPanExist && pBtLinkInfo->bA2dpExist) {
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
+ } else if (pBtLinkInfo->bPanExist &&
+ pBtLinkInfo->bA2dpExist) {
if (bBtHsOn)
- algorithm = BT_8723B_1ANT_COEX_ALGO_A2DP_PANHS;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_A2DP_PANHS;
else
- algorithm = BT_8723B_1ANT_COEX_ALGO_PANEDR_A2DP;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_PANEDR_A2DP;
}
}
} else if (numOfDiffProfile == 3) {
if (pBtLinkInfo->bScoExist) {
if (pBtLinkInfo->bHidExist && pBtLinkInfo->bA2dpExist) {
algorithm = BT_8723B_1ANT_COEX_ALGO_HID;
- } else if (
- pBtLinkInfo->bHidExist && pBtLinkInfo->bPanExist
- ) {
+ } else if (pBtLinkInfo->bHidExist &&
+ pBtLinkInfo->bPanExist) {
if (bBtHsOn)
- algorithm = BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
else
- algorithm = BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
- } else if (pBtLinkInfo->bPanExist && pBtLinkInfo->bA2dpExist) {
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
+ } else if (pBtLinkInfo->bPanExist &&
+ pBtLinkInfo->bA2dpExist) {
if (bBtHsOn)
algorithm = BT_8723B_1ANT_COEX_ALGO_SCO;
else
- algorithm = BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
}
} else {
- if (
- pBtLinkInfo->bHidExist &&
- pBtLinkInfo->bPanExist &&
- pBtLinkInfo->bA2dpExist
- ) {
+ if (pBtLinkInfo->bHidExist && pBtLinkInfo->bPanExist &&
+ pBtLinkInfo->bA2dpExist) {
if (bBtHsOn)
- algorithm = BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
else
- algorithm = BT_8723B_1ANT_COEX_ALGO_HID_A2DP_PANEDR;
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_HID_A2DP_PANEDR;
}
}
} else if (numOfDiffProfile >= 3) {
if (pBtLinkInfo->bScoExist) {
- if (
- pBtLinkInfo->bHidExist &&
- pBtLinkInfo->bPanExist &&
- pBtLinkInfo->bA2dpExist
- ) {
+ if (pBtLinkInfo->bHidExist && pBtLinkInfo->bPanExist &&
+ pBtLinkInfo->bA2dpExist) {
if (!bBtHsOn)
- algorithm = BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
-
+ algorithm =
+ BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
}
}
}
@@ -587,28 +560,28 @@ static u8 halbtc8723b1ant_ActionAlgorithm(struct btc_coexist *pBtCoexist)
return algorithm;
}
-static void halbtc8723b1ant_SetSwPenaltyTxRateAdaptive(
- struct btc_coexist *pBtCoexist, bool bLowPenaltyRa
-)
+static void
+halbtc8723b1ant_SetSwPenaltyTxRateAdaptive(struct btc_coexist *pBtCoexist,
+ bool bLowPenaltyRa)
{
- u8 H2C_Parameter[6] = {0};
+ u8 H2C_Parameter[6] = { 0 };
- H2C_Parameter[0] = 0x6; /* opCode, 0x6 = Retry_Penalty */
+ H2C_Parameter[0] = 0x6; /* opCode, 0x6 = Retry_Penalty */
if (bLowPenaltyRa) {
H2C_Parameter[1] |= BIT(0);
- H2C_Parameter[2] = 0x00; /* normal rate except MCS7/6/5, OFDM54/48/36 */
- H2C_Parameter[3] = 0xf7; /* MCS7 or OFDM54 */
- H2C_Parameter[4] = 0xf8; /* MCS6 or OFDM48 */
- H2C_Parameter[5] = 0xf9; /* MCS5 or OFDM36 */
+ H2C_Parameter[2] =
+ 0x00; /* normal rate except MCS7/6/5, OFDM54/48/36 */
+ H2C_Parameter[3] = 0xf7; /* MCS7 or OFDM54 */
+ H2C_Parameter[4] = 0xf8; /* MCS6 or OFDM48 */
+ H2C_Parameter[5] = 0xf9; /* MCS5 or OFDM36 */
}
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x69, 6, H2C_Parameter);
}
-static void halbtc8723b1ant_LowPenaltyRa(
- struct btc_coexist *pBtCoexist, bool bForceExec, bool bLowPenaltyRa
-)
+static void halbtc8723b1ant_LowPenaltyRa(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bLowPenaltyRa)
{
pCoexDm->bCurLowPenaltyRa = bLowPenaltyRa;
@@ -616,20 +589,15 @@ static void halbtc8723b1ant_LowPenaltyRa(
if (pCoexDm->bPreLowPenaltyRa == pCoexDm->bCurLowPenaltyRa)
return;
}
- halbtc8723b1ant_SetSwPenaltyTxRateAdaptive(
- pBtCoexist, pCoexDm->bCurLowPenaltyRa
- );
+ halbtc8723b1ant_SetSwPenaltyTxRateAdaptive(pBtCoexist,
+ pCoexDm->bCurLowPenaltyRa);
pCoexDm->bPreLowPenaltyRa = pCoexDm->bCurLowPenaltyRa;
}
-static void halbtc8723b1ant_SetCoexTable(
- struct btc_coexist *pBtCoexist,
- u32 val0x6c0,
- u32 val0x6c4,
- u32 val0x6c8,
- u8 val0x6cc
-)
+static void halbtc8723b1ant_SetCoexTable(struct btc_coexist *pBtCoexist,
+ u32 val0x6c0, u32 val0x6c4,
+ u32 val0x6c8, u8 val0x6cc)
{
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x6c0, val0x6c0);
@@ -640,14 +608,9 @@ static void halbtc8723b1ant_SetCoexTable(
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cc, val0x6cc);
}
-static void halbtc8723b1ant_CoexTable(
- struct btc_coexist *pBtCoexist,
- bool bForceExec,
- u32 val0x6c0,
- u32 val0x6c4,
- u32 val0x6c8,
- u8 val0x6cc
-)
+static void halbtc8723b1ant_CoexTable(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u32 val0x6c0,
+ u32 val0x6c4, u32 val0x6c8, u8 val0x6cc)
{
pCoexDm->curVal0x6c0 = val0x6c0;
pCoexDm->curVal0x6c4 = val0x6c4;
@@ -655,18 +618,15 @@ static void halbtc8723b1ant_CoexTable(
pCoexDm->curVal0x6cc = val0x6cc;
if (!bForceExec) {
- if (
- (pCoexDm->preVal0x6c0 == pCoexDm->curVal0x6c0) &&
+ if ((pCoexDm->preVal0x6c0 == pCoexDm->curVal0x6c0) &&
(pCoexDm->preVal0x6c4 == pCoexDm->curVal0x6c4) &&
(pCoexDm->preVal0x6c8 == pCoexDm->curVal0x6c8) &&
- (pCoexDm->preVal0x6cc == pCoexDm->curVal0x6cc)
- )
+ (pCoexDm->preVal0x6cc == pCoexDm->curVal0x6cc))
return;
}
- halbtc8723b1ant_SetCoexTable(
- pBtCoexist, val0x6c0, val0x6c4, val0x6c8, val0x6cc
- );
+ halbtc8723b1ant_SetCoexTable(pBtCoexist, val0x6c0, val0x6c4, val0x6c8,
+ val0x6cc);
pCoexDm->preVal0x6c0 = pCoexDm->curVal0x6c0;
pCoexDm->preVal0x6c4 = pCoexDm->curVal0x6c4;
@@ -674,33 +634,28 @@ static void halbtc8723b1ant_CoexTable(
pCoexDm->preVal0x6cc = pCoexDm->curVal0x6cc;
}
-static void halbtc8723b1ant_CoexTableWithType(
- struct btc_coexist *pBtCoexist, bool bForceExec, u8 type
-)
+static void halbtc8723b1ant_CoexTableWithType(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 type)
{
static const u32 table[8][2] = {
- {0x55555555, 0x55555555},
- {0x55555555, 0x5a5a5a5a},
- {0x5a5a5a5a, 0x5a5a5a5a},
- {0xaaaa5555, 0xaaaa5a5a},
- {0x55555555, 0xaaaa5a5a},
- {0x5a5a5a5a, 0xaaaa5a5a},
- {0x55555555, 0xaaaaaaaa},
- {0xaaaaaaaa, 0xaaaaaaaa}
+ { 0x55555555, 0x55555555 }, { 0x55555555, 0x5a5a5a5a },
+ { 0x5a5a5a5a, 0x5a5a5a5a }, { 0xaaaa5555, 0xaaaa5a5a },
+ { 0x55555555, 0xaaaa5a5a }, { 0x5a5a5a5a, 0xaaaa5a5a },
+ { 0x55555555, 0xaaaaaaaa }, { 0xaaaaaaaa, 0xaaaaaaaa }
};
pCoexSta->nCoexTableType = type;
if (type < 8)
- halbtc8723b1ant_CoexTable(pBtCoexist, bForceExec, table[type][0],
- table[type][1], 0xffffff, 0x3);
+ halbtc8723b1ant_CoexTable(pBtCoexist, bForceExec,
+ table[type][0], table[type][1],
+ 0xffffff, 0x3);
}
-static void halbtc8723b1ant_SetFwIgnoreWlanAct(
- struct btc_coexist *pBtCoexist, bool bEnable
-)
+static void halbtc8723b1ant_SetFwIgnoreWlanAct(struct btc_coexist *pBtCoexist,
+ bool bEnable)
{
- u8 H2C_Parameter[1] = {0};
+ u8 H2C_Parameter[1] = { 0 };
if (bEnable)
H2C_Parameter[0] |= BIT(0); /* function enable */
@@ -708,9 +663,8 @@ static void halbtc8723b1ant_SetFwIgnoreWlanAct(
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x63, 1, H2C_Parameter);
}
-static void halbtc8723b1ant_IgnoreWlanAct(
- struct btc_coexist *pBtCoexist, bool bForceExec, bool bEnable
-)
+static void halbtc8723b1ant_IgnoreWlanAct(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bEnable)
{
pCoexDm->bCurIgnoreWlanAct = bEnable;
@@ -723,9 +677,8 @@ static void halbtc8723b1ant_IgnoreWlanAct(
pCoexDm->bPreIgnoreWlanAct = pCoexDm->bCurIgnoreWlanAct;
}
-static void halbtc8723b1ant_SetLpsRpwm(
- struct btc_coexist *pBtCoexist, u8 lpsVal, u8 rpwmVal
-)
+static void halbtc8723b1ant_SetLpsRpwm(struct btc_coexist *pBtCoexist,
+ u8 lpsVal, u8 rpwmVal)
{
u8 lps = lpsVal;
u8 rpwm = rpwmVal;
@@ -734,18 +687,15 @@ static void halbtc8723b1ant_SetLpsRpwm(
pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_U1_RPWM_VAL, &rpwm);
}
-static void halbtc8723b1ant_LpsRpwm(
- struct btc_coexist *pBtCoexist, bool bForceExec, u8 lpsVal, u8 rpwmVal
-)
+static void halbtc8723b1ant_LpsRpwm(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 lpsVal, u8 rpwmVal)
{
pCoexDm->curLps = lpsVal;
pCoexDm->curRpwm = rpwmVal;
if (!bForceExec) {
- if (
- (pCoexDm->preLps == pCoexDm->curLps) &&
- (pCoexDm->preRpwm == pCoexDm->curRpwm)
- ) {
+ if ((pCoexDm->preLps == pCoexDm->curLps) &&
+ (pCoexDm->preRpwm == pCoexDm->curRpwm)) {
return;
}
}
@@ -755,38 +705,41 @@ static void halbtc8723b1ant_LpsRpwm(
pCoexDm->preRpwm = pCoexDm->curRpwm;
}
-static void halbtc8723b1ant_SwMechanism(
- struct btc_coexist *pBtCoexist, bool bLowPenaltyRA
-)
+static void halbtc8723b1ant_SwMechanism(struct btc_coexist *pBtCoexist,
+ bool bLowPenaltyRA)
{
halbtc8723b1ant_LowPenaltyRa(pBtCoexist, NORMAL_EXEC, bLowPenaltyRA);
}
-static void halbtc8723b1ant_SetAntPath(
- struct btc_coexist *pBtCoexist, u8 antPosType, bool bInitHwCfg, bool bWifiOff
-)
+static void halbtc8723b1ant_SetAntPath(struct btc_coexist *pBtCoexist,
+ u8 antPosType, bool bInitHwCfg,
+ bool bWifiOff)
{
struct btc_board_info *pBoardInfo = &pBtCoexist->boardInfo;
u32 fwVer = 0, u4Tmp = 0, cntBtCalChk = 0;
bool bPgExtSwitch = false;
bool bUseExtSwitch = false;
bool bIsInMpMode = false;
- u8 H2C_Parameter[2] = {0}, u1Tmp = 0;
+ u8 H2C_Parameter[2] = { 0 }, u1Tmp = 0;
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_EXT_SWITCH, &bPgExtSwitch);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_FW_VER, &fwVer); /* [31:16]=fw ver, [15:0]=fw sub ver */
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_FW_VER,
+ &fwVer); /* [31:16]=fw ver, [15:0]=fw sub ver */
if ((fwVer > 0 && fwVer < 0xc0000) || bPgExtSwitch)
bUseExtSwitch = true;
if (bInitHwCfg) {
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x780); /* WiFi TRx Mask on */
- pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF, 0x3c, 0x15); /* BT TRx Mask on */
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff,
+ 0x780); /* WiFi TRx Mask on */
+ pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF, 0x3c,
+ 0x15); /* BT TRx Mask on */
if (fwVer >= 0x180000) {
/* Use H2C to set GNT_BT to HIGH */
H2C_Parameter[0] = 1;
- pBtCoexist->fBtcFillH2c(pBtCoexist, 0x6E, 1, H2C_Parameter);
+ pBtCoexist->fBtcFillH2c(pBtCoexist, 0x6E, 1,
+ H2C_Parameter);
} else { /* set grant_bt to high */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x765, 0x18);
}
@@ -794,7 +747,9 @@ static void halbtc8723b1ant_SetAntPath(
/* set wlan_act control by PTA */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0x4);
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x67, 0x20, 0x1); /* BT select s0/s1 is controlled by WiFi */
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x67, 0x20,
+ 0x1); /* BT select s0/s1 is controlled by WiFi */
pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x39, 0x8, 0x1);
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x974, 0xff);
@@ -804,7 +759,8 @@ static void halbtc8723b1ant_SetAntPath(
if (fwVer >= 0x180000) {
/* Use H2C to set GNT_BT to HIGH */
H2C_Parameter[0] = 1;
- pBtCoexist->fBtcFillH2c(pBtCoexist, 0x6E, 1, H2C_Parameter);
+ pBtCoexist->fBtcFillH2c(pBtCoexist, 0x6E, 1,
+ H2C_Parameter);
} else { /* set grant_bt to high */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x765, 0x18);
}
@@ -812,11 +768,16 @@ static void halbtc8723b1ant_SetAntPath(
/* set wlan_act to always low */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0x4);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_IS_IN_MP_MODE, &bIsInMpMode);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_IS_IN_MP_MODE,
+ &bIsInMpMode);
if (!bIsInMpMode)
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x67, 0x20, 0x0); /* BT select s0/s1 is controlled by BT */
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x67, 0x20,
+ 0x0); /* BT select s0/s1 is controlled by BT */
else
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x67, 0x20, 0x1); /* BT select s0/s1 is controlled by WiFi */
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x67, 0x20,
+ 0x1); /* BT select s0/s1 is controlled by WiFi */
/* 0x4c[24:23]= 00, Set Antenna control by BT_RFE_CTRL BT Vendor 0xac = 0xf002 */
u4Tmp = pBtCoexist->fBtcRead4Byte(pBtCoexist, 0x4c);
@@ -828,12 +789,14 @@ static void halbtc8723b1ant_SetAntPath(
if (fwVer >= 0x180000) {
if (pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x765) != 0) {
H2C_Parameter[0] = 0;
- pBtCoexist->fBtcFillH2c(pBtCoexist, 0x6E, 1, H2C_Parameter);
+ pBtCoexist->fBtcFillH2c(pBtCoexist, 0x6E, 1,
+ H2C_Parameter);
}
} else {
/* BT calibration check */
while (cntBtCalChk <= 20) {
- u1Tmp = pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x49d);
+ u1Tmp = pBtCoexist->fBtcRead1Byte(pBtCoexist,
+ 0x49d);
cntBtCalChk++;
if (u1Tmp & BIT(0))
@@ -859,18 +822,23 @@ static void halbtc8723b1ant_SetAntPath(
u4Tmp |= BIT(24);
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x4c, u4Tmp);
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0); /* fixed internal switch S1->WiFi, S0->BT */
+ pBtCoexist->fBtcWrite4Byte(
+ pBtCoexist, 0x948,
+ 0x0); /* fixed internal switch S1->WiFi, S0->BT */
- if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT) {
+ if (pBoardInfo->btdmAntPos ==
+ BTC_ANTENNA_AT_MAIN_PORT) {
/* tell firmware "no antenna inverse" */
H2C_Parameter[0] = 0;
- H2C_Parameter[1] = 1; /* ext switch type */
- pBtCoexist->fBtcFillH2c(pBtCoexist, 0x65, 2, H2C_Parameter);
+ H2C_Parameter[1] = 1; /* ext switch type */
+ pBtCoexist->fBtcFillH2c(pBtCoexist, 0x65, 2,
+ H2C_Parameter);
} else {
/* tell firmware "antenna inverse" */
H2C_Parameter[0] = 1;
- H2C_Parameter[1] = 1; /* ext switch type */
- pBtCoexist->fBtcFillH2c(pBtCoexist, 0x65, 2, H2C_Parameter);
+ H2C_Parameter[1] = 1; /* ext switch type */
+ pBtCoexist->fBtcFillH2c(pBtCoexist, 0x65, 2,
+ H2C_Parameter);
}
}
@@ -878,22 +846,28 @@ static void halbtc8723b1ant_SetAntPath(
switch (antPosType) {
case BTC_ANT_PATH_WIFI:
if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT)
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x92c, 0x3, 0x1);
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x92c, 0x3, 0x1);
else
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x92c, 0x3, 0x2);
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x92c, 0x3, 0x2);
break;
case BTC_ANT_PATH_BT:
if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT)
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x92c, 0x3, 0x2);
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x92c, 0x3, 0x2);
else
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x92c, 0x3, 0x1);
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x92c, 0x3, 0x1);
break;
default:
case BTC_ANT_PATH_PTA:
if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT)
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x92c, 0x3, 0x1);
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x92c, 0x3, 0x1);
else
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x92c, 0x3, 0x2);
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x92c, 0x3, 0x2);
break;
}
@@ -906,20 +880,22 @@ static void halbtc8723b1ant_SetAntPath(
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x4c, u4Tmp);
/* Fix Ext switch Main->S1, Aux->S0 */
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x64, 0x1, 0x0);
-
- if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT) {
+ pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x64, 0x1,
+ 0x0);
+ if (pBoardInfo->btdmAntPos ==
+ BTC_ANTENNA_AT_MAIN_PORT) {
/* tell firmware "no antenna inverse" */
H2C_Parameter[0] = 0;
- H2C_Parameter[1] = 0; /* internal switch type */
- pBtCoexist->fBtcFillH2c(pBtCoexist, 0x65, 2, H2C_Parameter);
+ H2C_Parameter[1] = 0; /* internal switch type */
+ pBtCoexist->fBtcFillH2c(pBtCoexist, 0x65, 2,
+ H2C_Parameter);
} else {
-
/* tell firmware "antenna inverse" */
H2C_Parameter[0] = 1;
- H2C_Parameter[1] = 0; /* internal switch type */
- pBtCoexist->fBtcFillH2c(pBtCoexist, 0x65, 2, H2C_Parameter);
+ H2C_Parameter[1] = 0; /* internal switch type */
+ pBtCoexist->fBtcFillH2c(pBtCoexist, 0x65, 2,
+ H2C_Parameter);
}
}
@@ -927,36 +903,43 @@ static void halbtc8723b1ant_SetAntPath(
switch (antPosType) {
case BTC_ANT_PATH_WIFI:
if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT)
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948,
+ 0x0);
else
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x280);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948,
+ 0x280);
break;
case BTC_ANT_PATH_BT:
if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT)
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x280);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948,
+ 0x280);
else
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948,
+ 0x0);
break;
default:
case BTC_ANT_PATH_PTA:
if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT)
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x200);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948,
+ 0x200);
else
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x80);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948,
+ 0x80);
break;
}
}
}
-static void halbtc8723b1ant_SetFwPstdma(
- struct btc_coexist *pBtCoexist, u8 byte1, u8 byte2, u8 byte3, u8 byte4, u8 byte5
-)
+static void halbtc8723b1ant_SetFwPstdma(struct btc_coexist *pBtCoexist,
+ u8 byte1, u8 byte2, u8 byte3, u8 byte4,
+ u8 byte5)
{
- u8 H2C_Parameter[5] = {0};
+ u8 H2C_Parameter[5] = { 0 };
u8 realByte1 = byte1, realByte5 = byte5;
bool bApEnable = false;
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE, &bApEnable);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE,
+ &bApEnable);
if (bApEnable) {
if (byte1 & BIT(4) && !(byte1 & BIT(5))) {
@@ -983,14 +966,13 @@ static void halbtc8723b1ant_SetFwPstdma(
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x60, 5, H2C_Parameter);
}
-static void halbtc8723b1ant_PsTdma(
- struct btc_coexist *pBtCoexist, bool bForceExec, bool bTurnOn, u8 type
-)
+static void halbtc8723b1ant_PsTdma(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bTurnOn, u8 type)
{
struct btc_bt_link_info *pBtLinkInfo = &pBtCoexist->btLinkInfo;
bool bWifiBusy = false;
u8 rssiAdjustVal = 0;
- u8 psTdmaByte4Val = 0x50, psTdmaByte0Val = 0x51, psTdmaByte3Val = 0x10;
+ u8 psTdmaByte4Val = 0x50, psTdmaByte0Val = 0x51, psTdmaByte3Val = 0x10;
s8 nWiFiDurationAdjust = 0x0;
/* u32 fwVer = 0; */
@@ -1000,260 +982,214 @@ static void halbtc8723b1ant_PsTdma(
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_BUSY, &bWifiBusy);
if (!bForceExec) {
- if (
- (pCoexDm->bPrePsTdmaOn == pCoexDm->bCurPsTdmaOn) &&
- (pCoexDm->prePsTdma == pCoexDm->curPsTdma)
- )
+ if ((pCoexDm->bPrePsTdmaOn == pCoexDm->bCurPsTdmaOn) &&
+ (pCoexDm->prePsTdma == pCoexDm->curPsTdma))
return;
}
if (pCoexSta->nScanAPNum <= 5)
nWiFiDurationAdjust = 5;
- else if (pCoexSta->nScanAPNum >= 40)
+ else if (pCoexSta->nScanAPNum >= 40)
nWiFiDurationAdjust = -15;
- else if (pCoexSta->nScanAPNum >= 20)
+ else if (pCoexSta->nScanAPNum >= 20)
nWiFiDurationAdjust = -10;
if (!pCoexSta->bForceLpsOn) { /* only for A2DP-only case 1/2/9/11 */
- psTdmaByte0Val = 0x61; /* no null-pkt */
+ psTdmaByte0Val = 0x61; /* no null-pkt */
psTdmaByte3Val = 0x11; /* no tx-pause at BT-slot */
psTdmaByte4Val = 0x10; /* 0x778 = d/1 toggle */
}
if (bTurnOn) {
if (pBtLinkInfo->bSlaveRole)
- psTdmaByte4Val = psTdmaByte4Val | 0x1; /* 0x778 = 0x1 at wifi slot (no blocking BT Low-Pri pkts) */
+ psTdmaByte4Val =
+ psTdmaByte4Val |
+ 0x1; /* 0x778 = 0x1 at wifi slot (no blocking BT Low-Pri pkts) */
switch (type) {
default:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x51, 0x1a, 0x1a, 0x0, psTdmaByte4Val
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x51, 0x1a,
+ 0x1a, 0x0, psTdmaByte4Val);
break;
case 1:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist,
- psTdmaByte0Val,
- 0x3a + nWiFiDurationAdjust,
- 0x03,
- psTdmaByte3Val,
- psTdmaByte4Val
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, psTdmaByte0Val,
+ 0x3a + nWiFiDurationAdjust,
+ 0x03, psTdmaByte3Val,
+ psTdmaByte4Val);
break;
case 2:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist,
- psTdmaByte0Val,
- 0x2d + nWiFiDurationAdjust,
- 0x03,
- psTdmaByte3Val,
- psTdmaByte4Val
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, psTdmaByte0Val,
+ 0x2d + nWiFiDurationAdjust,
+ 0x03, psTdmaByte3Val,
+ psTdmaByte4Val);
break;
case 3:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x51, 0x1d, 0x1d, 0x0, 0x10
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x51, 0x1d,
+ 0x1d, 0x0, 0x10);
break;
case 4:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x93, 0x15, 0x3, 0x14, 0x0
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x93, 0x15, 0x3,
+ 0x14, 0x0);
break;
case 5:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x61, 0x15, 0x3, 0x11, 0x10
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x61, 0x15, 0x3,
+ 0x11, 0x10);
break;
case 6:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x61, 0x20, 0x3, 0x11, 0x11
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x61, 0x20, 0x3,
+ 0x11, 0x11);
break;
case 7:
- halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x13, 0xc, 0x5, 0x0, 0x0);
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x13, 0xc, 0x5,
+ 0x0, 0x0);
break;
case 8:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x93, 0x25, 0x3, 0x10, 0x0
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x93, 0x25, 0x3,
+ 0x10, 0x0);
break;
case 9:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist,
- psTdmaByte0Val,
- 0x21,
- 0x3,
- psTdmaByte3Val,
- psTdmaByte4Val
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, psTdmaByte0Val,
+ 0x21, 0x3, psTdmaByte3Val,
+ psTdmaByte4Val);
break;
case 10:
- halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x13, 0xa, 0xa, 0x0, 0x40);
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x13, 0xa, 0xa,
+ 0x0, 0x40);
break;
case 11:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist,
- psTdmaByte0Val,
- 0x21,
- 0x03,
- psTdmaByte3Val,
- psTdmaByte4Val
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, psTdmaByte0Val,
+ 0x21, 0x03, psTdmaByte3Val,
+ psTdmaByte4Val);
break;
case 12:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x51, 0x0a, 0x0a, 0x0, 0x50
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x51, 0x0a,
+ 0x0a, 0x0, 0x50);
break;
case 13:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x51, 0x12, 0x12, 0x0, 0x10
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x51, 0x12,
+ 0x12, 0x0, 0x10);
break;
case 14:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x51, 0x21, 0x3, 0x10, psTdmaByte4Val
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x51, 0x21, 0x3,
+ 0x10, psTdmaByte4Val);
break;
case 15:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x13, 0xa, 0x3, 0x8, 0x0
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x13, 0xa, 0x3,
+ 0x8, 0x0);
break;
case 16:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x93, 0x15, 0x3, 0x10, 0x0
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x93, 0x15, 0x3,
+ 0x10, 0x0);
break;
case 18:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x93, 0x25, 0x3, 0x10, 0x0
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x93, 0x25, 0x3,
+ 0x10, 0x0);
break;
case 20:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x61, 0x3f, 0x03, 0x11, 0x10
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x61, 0x3f,
+ 0x03, 0x11, 0x10
);
break;
case 21:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x61, 0x25, 0x03, 0x11, 0x11
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x61, 0x25,
+ 0x03, 0x11, 0x11);
break;
case 22:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x61, 0x25, 0x03, 0x11, 0x10
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x61, 0x25,
+ 0x03, 0x11, 0x10);
break;
case 23:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xe3, 0x25, 0x3, 0x31, 0x18
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xe3, 0x25, 0x3,
+ 0x31, 0x18);
break;
case 24:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xe3, 0x15, 0x3, 0x31, 0x18
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xe3, 0x15, 0x3,
+ 0x31, 0x18);
break;
case 25:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xe3, 0xa, 0x3, 0x31, 0x18
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xe3, 0xa, 0x3,
+ 0x31, 0x18);
break;
case 26:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xe3, 0xa, 0x3, 0x31, 0x18
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xe3, 0xa, 0x3,
+ 0x31, 0x18);
break;
case 27:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xe3, 0x25, 0x3, 0x31, 0x98
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xe3, 0x25, 0x3,
+ 0x31, 0x98);
break;
case 28:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x69, 0x25, 0x3, 0x31, 0x0
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x69, 0x25, 0x3,
+ 0x31, 0x0);
break;
case 29:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xab, 0x1a, 0x1a, 0x1, 0x10
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xab, 0x1a,
+ 0x1a, 0x1, 0x10);
break;
case 30:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x51, 0x30, 0x3, 0x10, 0x10
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x51, 0x30, 0x3,
+ 0x10, 0x10);
break;
case 31:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xd3, 0x1a, 0x1a, 0x0, 0x58
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xd3, 0x1a,
+ 0x1a, 0x0, 0x58);
break;
case 32:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x61, 0x35, 0x3, 0x11, 0x11
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x61, 0x35, 0x3,
+ 0x11, 0x11);
break;
case 33:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xa3, 0x25, 0x3, 0x30, 0x90
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xa3, 0x25, 0x3,
+ 0x30, 0x90);
break;
case 34:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x53, 0x1a, 0x1a, 0x0, 0x10
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x53, 0x1a,
+ 0x1a, 0x0, 0x10);
break;
case 35:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x63, 0x1a, 0x1a, 0x0, 0x10
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x63, 0x1a,
+ 0x1a, 0x0, 0x10);
break;
case 36:
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0xd3, 0x12, 0x3, 0x14, 0x50
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0xd3, 0x12, 0x3,
+ 0x14, 0x50);
break;
case 40: /* SoftAP only with no sta associated, BT disable , TDMA mode for power saving */
/* here softap mode screen off will cost 70-80mA for phone */
- halbtc8723b1ant_SetFwPstdma(
- pBtCoexist, 0x23, 0x18, 0x00, 0x10, 0x24
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x23, 0x18,
+ 0x00, 0x10, 0x24);
break;
}
} else {
-
/* disable PS tdma */
switch (type) {
case 8: /* PTA Control */
- halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x8, 0x0, 0x0, 0x0, 0x0);
- halbtc8723b1ant_SetAntPath(
- pBtCoexist, BTC_ANT_PATH_PTA, false, false
- );
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x8, 0x0, 0x0,
+ 0x0, 0x0);
+ halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_PTA,
+ false, false);
break;
case 0:
- default: /* Software control, Antenna at BT side */
- halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0, 0x0, 0x0);
- halbtc8723b1ant_SetAntPath(
- pBtCoexist, BTC_ANT_PATH_BT, false, false
- );
+ default: /* Software control, Antenna at BT side */
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0,
+ 0x0, 0x0);
+ halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_BT,
+ false, false);
break;
- case 9: /* Software control, Antenna at WiFi side */
- halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0, 0x0, 0x0);
+ case 9: /* Software control, Antenna at WiFi side */
+ halbtc8723b1ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0,
+ 0x0, 0x0);
halbtc8723b1ant_SetAntPath(
- pBtCoexist, BTC_ANT_PATH_WIFI, false, false
- );
+ pBtCoexist, BTC_ANT_PATH_WIFI, false, false);
break;
}
}
rssiAdjustVal = 0;
- pBtCoexist->fBtcSet(
- pBtCoexist, BTC_SET_U1_RSSI_ADJ_VAL_FOR_1ANT_COEX_TYPE, &rssiAdjustVal
- );
+ pBtCoexist->fBtcSet(pBtCoexist,
+ BTC_SET_U1_RSSI_ADJ_VAL_FOR_1ANT_COEX_TYPE,
+ &rssiAdjustVal);
/* update pre state */
pCoexDm->bPrePsTdmaOn = pCoexDm->bCurPsTdmaOn;
@@ -1264,41 +1200,35 @@ static bool halbtc8723b1ant_IsCommonAction(struct btc_coexist *pBtCoexist)
{
bool bCommon = false, bWifiConnected = false, bWifiBusy = false;
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_BUSY, &bWifiBusy);
- if (
- !bWifiConnected &&
- pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE
- ) {
+ if (!bWifiConnected &&
+ pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE) {
/* halbtc8723b1ant_SwMechanism(pBtCoexist, false); */
bCommon = true;
- } else if (
- bWifiConnected &&
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE)
- ) {
+ } else if (bWifiConnected &&
+ (pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE)) {
/* halbtc8723b1ant_SwMechanism(pBtCoexist, false); */
bCommon = true;
- } else if (
- !bWifiConnected &&
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE)
- ) {
+ } else if (!bWifiConnected &&
+ (pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE)) {
/* halbtc8723b1ant_SwMechanism(pBtCoexist, false); */
bCommon = true;
- } else if (
- bWifiConnected &&
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE)
- ) {
+ } else if (bWifiConnected && (pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE)) {
/* halbtc8723b1ant_SwMechanism(pBtCoexist, false); */
bCommon = true;
- } else if (
- !bWifiConnected &&
- (pCoexDm->btStatus != BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE)
- ) {
+ } else if (!bWifiConnected &&
+ (pCoexDm->btStatus !=
+ BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE)) {
/* halbtc8723b1ant_SwMechanism(pBtCoexist, false); */
bCommon = true;
@@ -1309,26 +1239,22 @@ static bool halbtc8723b1ant_IsCommonAction(struct btc_coexist *pBtCoexist)
return bCommon;
}
-static void halbtc8723b1ant_TdmaDurationAdjustForAcl(
- struct btc_coexist *pBtCoexist, u8 wifiStatus
-)
+static void
+halbtc8723b1ant_TdmaDurationAdjustForAcl(struct btc_coexist *pBtCoexist,
+ u8 wifiStatus)
{
static s32 up, dn, m, n, WaitCount;
- s32 result; /* 0: no change, +1: increase WiFi duration, -1: decrease WiFi duration */
+ s32 result; /* 0: no change, +1: increase WiFi duration, -1: decrease WiFi duration */
u8 retryCount = 0, btInfoExt;
- if (
- (wifiStatus == BT_8723B_1ANT_WIFI_STATUS_NON_CONNECTED_ASSO_AUTH_SCAN) ||
- (wifiStatus == BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SCAN) ||
- (wifiStatus == BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SPECIAL_PKT)
- ) {
- if (
- pCoexDm->curPsTdma != 1 &&
- pCoexDm->curPsTdma != 2 &&
- pCoexDm->curPsTdma != 3 &&
- pCoexDm->curPsTdma != 9
- ) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 9);
+ if ((wifiStatus ==
+ BT_8723B_1ANT_WIFI_STATUS_NON_CONNECTED_ASSO_AUTH_SCAN) ||
+ (wifiStatus == BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SCAN) ||
+ (wifiStatus == BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SPECIAL_PKT)) {
+ if (pCoexDm->curPsTdma != 1 && pCoexDm->curPsTdma != 2 &&
+ pCoexDm->curPsTdma != 3 && pCoexDm->curPsTdma != 9) {
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ 9);
pCoexDm->psTdmaDuAdjType = 9;
up = 0;
@@ -1358,40 +1284,46 @@ static void halbtc8723b1ant_TdmaDurationAdjustForAcl(
retryCount = pCoexSta->btRetryCnt;
btInfoExt = pCoexSta->btInfoExt;
- if (pCoexSta->lowPriorityTx > 1050 || pCoexSta->lowPriorityRx > 1250)
+ if (pCoexSta->lowPriorityTx > 1050 ||
+ pCoexSta->lowPriorityRx > 1250)
retryCount++;
result = 0;
WaitCount++;
- if (retryCount == 0) { /* no retry in the last 2-second duration */
+ if (retryCount ==
+ 0) { /* no retry in the last 2-second duration */
up++;
dn--;
if (dn <= 0)
dn = 0;
- if (up >= n) { /* if 連續 n 個2秒 retry count為0, 則調寬WiFi duration */
+ if (up >=
+ n) { /* if 連續 n 個2秒 retry count為0, 則調寬WiFi duration */
WaitCount = 0;
n = 3;
up = 0;
dn = 0;
result = 1;
}
- } else if (retryCount <= 3) { /* <=3 retry in the last 2-second duration */
+ } else if (retryCount <=
+ 3) { /* <=3 retry in the last 2-second duration */
up--;
dn++;
if (up <= 0)
up = 0;
- if (dn == 2) { /* if 連續 2 個2秒 retry count< 3, 則調窄WiFi duration */
+ if (dn ==
+ 2) { /* if 連續 2 個2秒 retry count< 3, 則調窄WiFi duration */
if (WaitCount <= 2)
m++; /* 避免一直在兩個level中來回 */
else
m = 1;
- if (m >= 20) /* m 最大值 = 20 ' 最大120秒 recheck是否調整 WiFi duration. */
+ if (m >=
+ 20) /* m 最大值 = 20 ' 最大120秒 recheck是否調整 WiFi duration. */
m = 20;
n = 3 * m;
@@ -1406,7 +1338,8 @@ static void halbtc8723b1ant_TdmaDurationAdjustForAcl(
else
m = 1;
- if (m >= 20) /* m 最大值 = 20 ' 最大120秒 recheck是否調整 WiFi duration. */
+ if (m >=
+ 20) /* m 最大值 = 20 ' 最大120秒 recheck是否調整 WiFi duration. */
m = 20;
n = 3 * m;
@@ -1417,79 +1350,83 @@ static void halbtc8723b1ant_TdmaDurationAdjustForAcl(
}
if (result == -1) {
- if (
- BT_INFO_8723B_1ANT_A2DP_BASIC_RATE(btInfoExt) &&
- ((pCoexDm->curPsTdma == 1) || (pCoexDm->curPsTdma == 2))
- ) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 9);
+ if (BT_INFO_8723B_1ANT_A2DP_BASIC_RATE(btInfoExt) &&
+ ((pCoexDm->curPsTdma == 1) ||
+ (pCoexDm->curPsTdma == 2))) {
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 9);
pCoexDm->psTdmaDuAdjType = 9;
} else if (pCoexDm->curPsTdma == 1) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 2);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 2);
pCoexDm->psTdmaDuAdjType = 2;
} else if (pCoexDm->curPsTdma == 2) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 9);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 9);
pCoexDm->psTdmaDuAdjType = 9;
} else if (pCoexDm->curPsTdma == 9) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 11);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 11);
pCoexDm->psTdmaDuAdjType = 11;
}
} else if (result == 1) {
- if (
- BT_INFO_8723B_1ANT_A2DP_BASIC_RATE(btInfoExt) &&
- ((pCoexDm->curPsTdma == 1) || (pCoexDm->curPsTdma == 2))
- ) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 9);
+ if (BT_INFO_8723B_1ANT_A2DP_BASIC_RATE(btInfoExt) &&
+ ((pCoexDm->curPsTdma == 1) ||
+ (pCoexDm->curPsTdma == 2))) {
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 9);
pCoexDm->psTdmaDuAdjType = 9;
} else if (pCoexDm->curPsTdma == 11) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 9);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 9);
pCoexDm->psTdmaDuAdjType = 9;
} else if (pCoexDm->curPsTdma == 9) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 2);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 2);
pCoexDm->psTdmaDuAdjType = 2;
} else if (pCoexDm->curPsTdma == 2) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 1);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 1);
pCoexDm->psTdmaDuAdjType = 1;
}
}
- if (
- pCoexDm->curPsTdma != 1 &&
- pCoexDm->curPsTdma != 2 &&
- pCoexDm->curPsTdma != 9 &&
- pCoexDm->curPsTdma != 11
- ) /* recover to previous adjust type */
- halbtc8723b1ant_PsTdma(
- pBtCoexist, NORMAL_EXEC, true, pCoexDm->psTdmaDuAdjType
- );
+ if (pCoexDm->curPsTdma != 1 && pCoexDm->curPsTdma != 2 &&
+ pCoexDm->curPsTdma != 9 &&
+ pCoexDm->curPsTdma !=
+ 11) /* recover to previous adjust type */
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ pCoexDm->psTdmaDuAdjType);
}
}
-static void halbtc8723b1ant_PsTdmaCheckForPowerSaveState(
- struct btc_coexist *pBtCoexist, bool bNewPsState
-)
+static void
+halbtc8723b1ant_PsTdmaCheckForPowerSaveState(struct btc_coexist *pBtCoexist,
+ bool bNewPsState)
{
u8 lpsMode = 0x0;
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_LPS_MODE, &lpsMode);
- if (lpsMode) { /* already under LPS state */
+ if (lpsMode) { /* already under LPS state */
if (bNewPsState) {
/* keep state under LPS, do nothing. */
} else { /* will leave LPS state, turn off psTdma first */
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 0);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false,
+ 0);
}
- } else { /* NO PS state */
+ } else { /* NO PS state */
if (bNewPsState) { /* will enter LPS state, turn off psTdma first */
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 0);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false,
+ 0);
} else {
/* keep state under NO PS state, do nothing. */
}
}
}
-static void halbtc8723b1ant_PowerSaveState(
- struct btc_coexist *pBtCoexist, u8 psType, u8 lpsVal, u8 rpwmVal
-)
+static void halbtc8723b1ant_PowerSaveState(struct btc_coexist *pBtCoexist,
+ u8 psType, u8 lpsVal, u8 rpwmVal)
{
bool bLowPwrDisable = false;
@@ -1497,20 +1434,19 @@ static void halbtc8723b1ant_PowerSaveState(
case BTC_PS_WIFI_NATIVE:
/* recover to original 32k low power setting */
bLowPwrDisable = false;
- pBtCoexist->fBtcSet(
- pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER, &bLowPwrDisable
- );
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER,
+ &bLowPwrDisable);
pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_NORMAL_LPS, NULL);
pCoexSta->bForceLpsOn = false;
break;
case BTC_PS_LPS_ON:
halbtc8723b1ant_PsTdmaCheckForPowerSaveState(pBtCoexist, true);
- halbtc8723b1ant_LpsRpwm(pBtCoexist, NORMAL_EXEC, lpsVal, rpwmVal);
+ halbtc8723b1ant_LpsRpwm(pBtCoexist, NORMAL_EXEC, lpsVal,
+ rpwmVal);
/* when coex force to enter LPS, do not enter 32k low power. */
bLowPwrDisable = true;
- pBtCoexist->fBtcSet(
- pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER, &bLowPwrDisable
- );
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER,
+ &bLowPwrDisable);
/* power save must executed before psTdma. */
pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_ENTER_LPS, NULL);
pCoexSta->bForceLpsOn = true;
@@ -1538,7 +1474,8 @@ static void halbtc8723b1ant_PowerSaveState(
/* */
static void halbtc8723b1ant_ActionWifiMultiPort(struct btc_coexist *pBtCoexist)
{
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0,
+ 0x0);
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 8);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 2);
@@ -1558,47 +1495,51 @@ static void halbtc8723b1ant_ActionBtInquiry(struct btc_coexist *pBtCoexist)
bool bWifiBusy = false;
bool bBtBusy = false;
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE, &bApEnable);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE,
+ &bApEnable);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_BUSY, &bWifiBusy);
pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_TRAFFIC_BUSY, &bBtBusy);
if (!bWifiConnected && !pCoexSta->bWiFiIsHighPriTask) {
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE,
+ 0x0, 0x0);
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 8);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 0);
- } else if (
- pBtLinkInfo->bScoExist ||
- pBtLinkInfo->bHidExist ||
- pBtLinkInfo->bA2dpExist
- ) {
+ } else if (pBtLinkInfo->bScoExist || pBtLinkInfo->bHidExist ||
+ pBtLinkInfo->bA2dpExist) {
/* SCO/HID/A2DP busy */
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE,
+ 0x0, 0x0);
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 32);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
} else if (pBtLinkInfo->bPanExist || bWifiBusy) {
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE,
+ 0x0, 0x0);
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 20);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
} else {
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE,
+ 0x0, 0x0);
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 8);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
}
}
-static void halbtc8723b1ant_ActionBtScoHidOnlyBusy(
- struct btc_coexist *pBtCoexist, u8 wifiStatus
-)
+static void
+halbtc8723b1ant_ActionBtScoHidOnlyBusy(struct btc_coexist *pBtCoexist,
+ u8 wifiStatus)
{
struct btc_bt_link_info *pBtLinkInfo = &pBtCoexist->btLinkInfo;
bool bWifiConnected = false;
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
/* tdma and coex table */
@@ -1611,15 +1552,16 @@ static void halbtc8723b1ant_ActionBtScoHidOnlyBusy(
}
}
-static void halbtc8723b1ant_ActionWifiConnectedBtAclBusy(
- struct btc_coexist *pBtCoexist, u8 wifiStatus
-)
+static void
+halbtc8723b1ant_ActionWifiConnectedBtAclBusy(struct btc_coexist *pBtCoexist,
+ u8 wifiStatus)
{
struct btc_bt_link_info *pBtLinkInfo = &pBtCoexist->btLinkInfo;
halbtc8723b1ant_BtRssiState(2, 28, 0);
- if ((pCoexSta->lowPriorityRx >= 1000) && (pCoexSta->lowPriorityRx != 65535))
+ if ((pCoexSta->lowPriorityRx >= 1000) &&
+ (pCoexSta->lowPriorityRx != 65535))
pBtLinkInfo->bSlaveRole = true;
else
pBtLinkInfo->bSlaveRole = false;
@@ -1630,30 +1572,35 @@ static void halbtc8723b1ant_ActionWifiConnectedBtAclBusy(
return;
} else if (pBtLinkInfo->bA2dpOnly) { /* A2DP */
if (wifiStatus == BT_8723B_1ANT_WIFI_STATUS_CONNECTED_IDLE) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 32);
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ 32);
+ halbtc8723b1ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 4);
pCoexDm->bAutoTdmaAdjust = false;
} else {
- halbtc8723b1ant_TdmaDurationAdjustForAcl(pBtCoexist, wifiStatus);
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b1ant_TdmaDurationAdjustForAcl(pBtCoexist,
+ wifiStatus);
+ halbtc8723b1ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 4);
pCoexDm->bAutoTdmaAdjust = true;
}
- } else if (pBtLinkInfo->bHidExist && pBtLinkInfo->bA2dpExist) { /* HID+A2DP */
+ } else if (pBtLinkInfo->bHidExist &&
+ pBtLinkInfo->bA2dpExist) { /* HID+A2DP */
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 14);
pCoexDm->bAutoTdmaAdjust = false;
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
- } else if (
- pBtLinkInfo->bPanOnly ||
- (pBtLinkInfo->bHidExist && pBtLinkInfo->bPanExist)
- ) { /* PAN(OPP, FTP), HID+PAN(OPP, FTP) */
+ } else if (pBtLinkInfo->bPanOnly ||
+ (pBtLinkInfo->bHidExist &&
+ pBtLinkInfo
+ ->bPanExist)) { /* PAN(OPP, FTP), HID+PAN(OPP, FTP) */
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 3);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
pCoexDm->bAutoTdmaAdjust = false;
- } else if (
- (pBtLinkInfo->bA2dpExist && pBtLinkInfo->bPanExist) ||
- (pBtLinkInfo->bHidExist && pBtLinkInfo->bA2dpExist && pBtLinkInfo->bPanExist)
- ) { /* A2DP+PAN(OPP, FTP), HID+A2DP+PAN(OPP, FTP) */
+ } else if ((pBtLinkInfo->bA2dpExist && pBtLinkInfo->bPanExist) ||
+ (pBtLinkInfo->bHidExist && pBtLinkInfo->bA2dpExist &&
+ pBtLinkInfo
+ ->bPanExist)) { /* A2DP+PAN(OPP, FTP), HID+A2DP+PAN(OPP, FTP) */
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 13);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
pCoexDm->bAutoTdmaAdjust = false;
@@ -1665,43 +1612,49 @@ static void halbtc8723b1ant_ActionWifiConnectedBtAclBusy(
}
}
-static void halbtc8723b1ant_ActionWifiNotConnected(struct btc_coexist *pBtCoexist)
+static void
+halbtc8723b1ant_ActionWifiNotConnected(struct btc_coexist *pBtCoexist)
{
/* power save state */
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0,
+ 0x0);
/* tdma and coex table */
halbtc8723b1ant_PsTdma(pBtCoexist, FORCE_EXEC, false, 8);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 0);
}
-static void halbtc8723b1ant_ActionWifiNotConnectedScan(
- struct btc_coexist *pBtCoexist
-)
+static void
+halbtc8723b1ant_ActionWifiNotConnectedScan(struct btc_coexist *pBtCoexist)
{
struct btc_bt_link_info *pBtLinkInfo = &pBtCoexist->btLinkInfo;
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0,
+ 0x0);
/* tdma and coex table */
if (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) {
if (pBtLinkInfo->bA2dpExist) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 32);
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ 32);
+ halbtc8723b1ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 4);
} else if (pBtLinkInfo->bA2dpExist && pBtLinkInfo->bPanExist) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 22);
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ 22);
+ halbtc8723b1ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 4);
} else {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 20);
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ 20);
+ halbtc8723b1ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 4);
}
- } else if (
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)
- ) {
+ } else if ((pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
+ (pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)) {
halbtc8723b1ant_ActionBtScoHidOnlyBusy(
- pBtCoexist, BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SCAN
- );
+ pBtCoexist, BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SCAN);
} else {
/* Bryant Add */
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 8);
@@ -1709,20 +1662,17 @@ static void halbtc8723b1ant_ActionWifiNotConnectedScan(
}
}
-static void halbtc8723b1ant_ActionWifiNotConnectedAssoAuth(
- struct btc_coexist *pBtCoexist
-)
+static void
+halbtc8723b1ant_ActionWifiNotConnectedAssoAuth(struct btc_coexist *pBtCoexist)
{
struct btc_bt_link_info *pBtLinkInfo = &pBtCoexist->btLinkInfo;
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0,
+ 0x0);
/* tdma and coex table */
- if (
- (pBtLinkInfo->bScoExist) ||
- (pBtLinkInfo->bHidExist) ||
- (pBtLinkInfo->bA2dpExist)
- ) {
+ if ((pBtLinkInfo->bScoExist) || (pBtLinkInfo->bHidExist) ||
+ (pBtLinkInfo->bA2dpExist)) {
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 32);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
} else if (pBtLinkInfo->bPanExist) {
@@ -1734,31 +1684,37 @@ static void halbtc8723b1ant_ActionWifiNotConnectedAssoAuth(
}
}
-static void halbtc8723b1ant_ActionWifiConnectedScan(struct btc_coexist *pBtCoexist)
+static void
+halbtc8723b1ant_ActionWifiConnectedScan(struct btc_coexist *pBtCoexist)
{
struct btc_bt_link_info *pBtLinkInfo = &pBtCoexist->btLinkInfo;
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0,
+ 0x0);
/* tdma and coex table */
if (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) {
if (pBtLinkInfo->bA2dpExist) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 32);
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ 32);
+ halbtc8723b1ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 4);
} else if (pBtLinkInfo->bA2dpExist && pBtLinkInfo->bPanExist) {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 22);
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ 22);
+ halbtc8723b1ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 4);
} else {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 20);
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ 20);
+ halbtc8723b1ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 4);
}
- } else if (
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)
- ) {
+ } else if ((pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
+ (pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)) {
halbtc8723b1ant_ActionBtScoHidOnlyBusy(
- pBtCoexist, BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SCAN
- );
+ pBtCoexist, BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SCAN);
} else {
/* Bryant Add */
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 8);
@@ -1766,20 +1722,17 @@ static void halbtc8723b1ant_ActionWifiConnectedScan(struct btc_coexist *pBtCoexi
}
}
-static void halbtc8723b1ant_ActionWifiConnectedSpecialPacket(
- struct btc_coexist *pBtCoexist
-)
+static void
+halbtc8723b1ant_ActionWifiConnectedSpecialPacket(struct btc_coexist *pBtCoexist)
{
struct btc_bt_link_info *pBtLinkInfo = &pBtCoexist->btLinkInfo;
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0,
+ 0x0);
/* tdma and coex table */
- if (
- (pBtLinkInfo->bScoExist) ||
- (pBtLinkInfo->bHidExist) ||
- (pBtLinkInfo->bA2dpExist)
- ) {
+ if ((pBtLinkInfo->bScoExist) || (pBtLinkInfo->bHidExist) ||
+ (pBtLinkInfo->bA2dpExist)) {
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 32);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 4);
} else if (pBtLinkInfo->bPanExist) {
@@ -1797,7 +1750,8 @@ static void halbtc8723b1ant_ActionWifiConnected(struct btc_coexist *pBtCoexist)
bool bScan = false, bLink = false, bRoam = false;
bool bUnder4way = false, bApEnable = false;
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS, &bUnder4way);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS,
+ &bUnder4way);
if (bUnder4way) {
halbtc8723b1ant_ActionWifiConnectedSpecialPacket(pBtCoexist);
return;
@@ -1810,44 +1764,45 @@ static void halbtc8723b1ant_ActionWifiConnected(struct btc_coexist *pBtCoexist)
if (bScan)
halbtc8723b1ant_ActionWifiConnectedScan(pBtCoexist);
else
- halbtc8723b1ant_ActionWifiConnectedSpecialPacket(pBtCoexist);
+ halbtc8723b1ant_ActionWifiConnectedSpecialPacket(
+ pBtCoexist);
return;
}
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE, &bApEnable);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE,
+ &bApEnable);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_BUSY, &bWifiBusy);
/* power save state */
- if (
- !bApEnable &&
- pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY &&
- !pBtCoexist->btLinkInfo.bHidOnly
- ) {
+ if (!bApEnable &&
+ pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY &&
+ !pBtCoexist->btLinkInfo.bHidOnly) {
if (pBtCoexist->btLinkInfo.bA2dpOnly) { /* A2DP */
if (!bWifiBusy)
halbtc8723b1ant_PowerSaveState(
- pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0
- );
+ pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0,
+ 0x0);
else { /* busy */
- if (pCoexSta->nScanAPNum >= BT_8723B_1ANT_WIFI_NOISY_THRESH) /* no force LPS, no PS-TDMA, use pure TDMA */
+ if (pCoexSta->nScanAPNum >=
+ BT_8723B_1ANT_WIFI_NOISY_THRESH) /* no force LPS, no PS-TDMA, use pure TDMA */
halbtc8723b1ant_PowerSaveState(
- pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0
- );
+ pBtCoexist, BTC_PS_WIFI_NATIVE,
+ 0x0, 0x0);
else
halbtc8723b1ant_PowerSaveState(
- pBtCoexist, BTC_PS_LPS_ON, 0x50, 0x4
- );
+ pBtCoexist, BTC_PS_LPS_ON, 0x50,
+ 0x4);
}
- } else if (
- (!pCoexSta->bPanExist) &&
- (!pCoexSta->bA2dpExist) &&
- (!pCoexSta->bHidExist)
- )
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ } else if ((!pCoexSta->bPanExist) && (!pCoexSta->bA2dpExist) &&
+ (!pCoexSta->bHidExist))
+ halbtc8723b1ant_PowerSaveState(
+ pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
else
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_LPS_ON, 0x50, 0x4);
+ halbtc8723b1ant_PowerSaveState(
+ pBtCoexist, BTC_PS_LPS_ON, 0x50, 0x4);
} else {
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE,
+ 0x0, 0x0);
}
/* tdma and coex table */
@@ -1855,48 +1810,57 @@ static void halbtc8723b1ant_ActionWifiConnected(struct btc_coexist *pBtCoexist)
if (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) {
halbtc8723b1ant_ActionWifiConnectedBtAclBusy(
pBtCoexist,
- BT_8723B_1ANT_WIFI_STATUS_CONNECTED_IDLE
- );
- } else if (
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)
- ) {
- halbtc8723b1ant_ActionBtScoHidOnlyBusy(pBtCoexist,
+ BT_8723B_1ANT_WIFI_STATUS_CONNECTED_IDLE);
+ } else if ((pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
+ (pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)) {
+ halbtc8723b1ant_ActionBtScoHidOnlyBusy(
+ pBtCoexist,
BT_8723B_1ANT_WIFI_STATUS_CONNECTED_IDLE);
} else {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 8);
-
- if ((pCoexSta->highPriorityTx) + (pCoexSta->highPriorityRx) <= 60)
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 2);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false,
+ 8);
+
+ if ((pCoexSta->highPriorityTx) +
+ (pCoexSta->highPriorityRx) <=
+ 60)
+ halbtc8723b1ant_CoexTableWithType(
+ pBtCoexist, NORMAL_EXEC, 2);
else
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
+ halbtc8723b1ant_CoexTableWithType(
+ pBtCoexist, NORMAL_EXEC, 7);
}
} else {
if (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) {
halbtc8723b1ant_ActionWifiConnectedBtAclBusy(
pBtCoexist,
- BT_8723B_1ANT_WIFI_STATUS_CONNECTED_BUSY
- );
- } else if (
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)
- ) {
+ BT_8723B_1ANT_WIFI_STATUS_CONNECTED_BUSY);
+ } else if ((pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
+ (pCoexDm->btStatus ==
+ BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)) {
halbtc8723b1ant_ActionBtScoHidOnlyBusy(
pBtCoexist,
- BT_8723B_1ANT_WIFI_STATUS_CONNECTED_BUSY
- );
+ BT_8723B_1ANT_WIFI_STATUS_CONNECTED_BUSY);
} else {
- halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 8);
-
- if ((pCoexSta->highPriorityTx) + (pCoexSta->highPriorityRx) <= 60)
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 2);
+ halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false,
+ 8);
+
+ if ((pCoexSta->highPriorityTx) +
+ (pCoexSta->highPriorityRx) <=
+ 60)
+ halbtc8723b1ant_CoexTableWithType(
+ pBtCoexist, NORMAL_EXEC, 2);
else
- halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
+ halbtc8723b1ant_CoexTableWithType(
+ pBtCoexist, NORMAL_EXEC, 7);
}
}
}
-static void halbtc8723b1ant_RunSwCoexistMechanism(struct btc_coexist *pBtCoexist)
+static void
+halbtc8723b1ant_RunSwCoexistMechanism(struct btc_coexist *pBtCoexist)
{
u8 algorithm = 0;
@@ -1904,7 +1868,6 @@ static void halbtc8723b1ant_RunSwCoexistMechanism(struct btc_coexist *pBtCoexist
pCoexDm->curAlgorithm = algorithm;
if (halbtc8723b1ant_IsCommonAction(pBtCoexist)) {
-
} else {
pCoexDm->preAlgorithm = pCoexDm->curAlgorithm;
}
@@ -1929,35 +1892,25 @@ static void halbtc8723b1ant_RunCoexistMechanism(struct btc_coexist *pBtCoexist)
if (pCoexSta->bUnderIps)
return;
- if (
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)
- ){
+ if ((pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) ||
+ (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
+ (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)) {
bIncreaseScanDevNum = true;
}
- pBtCoexist->fBtcSet(
- pBtCoexist,
- BTC_SET_BL_INC_SCAN_DEV_NUM,
- &bIncreaseScanDevNum
- );
- pBtCoexist->fBtcGet(
- pBtCoexist,
- BTC_GET_BL_WIFI_CONNECTED,
- &bWifiConnected
- );
-
- pBtCoexist->fBtcGet(
- pBtCoexist,
- BTC_GET_U4_WIFI_LINK_STATUS,
- &wifiLinkStatus
- );
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_INC_SCAN_DEV_NUM,
+ &bIncreaseScanDevNum);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
+
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_LINK_STATUS,
+ &wifiLinkStatus);
numOfWifiLink = wifiLinkStatus >> 16;
if ((numOfWifiLink >= 2) || (wifiLinkStatus & WIFI_P2P_GO_CONNECTED)) {
halbtc8723b1ant_LimitedTx(pBtCoexist, NORMAL_EXEC, 0, 0, 0, 0);
- halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, bBtCtrlAggBufSize, aggBufSize);
+ halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false,
+ bBtCtrlAggBufSize, aggBufSize);
if ((pBtLinkInfo->bA2dpExist) && (pCoexSta->bC2hBtInquiryPage))
halbtc8723b1ant_ActionBtInquiry(pBtCoexist);
@@ -1971,19 +1924,24 @@ static void halbtc8723b1ant_RunCoexistMechanism(struct btc_coexist *pBtCoexist)
halbtc8723b1ant_LimitedTx(pBtCoexist, NORMAL_EXEC, 1, 1, 0, 1);
if (pBtLinkInfo->bScoExist)
- halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, true, 0x5);
+ halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC,
+ false, true, 0x5);
else
- halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, true, 0x8);
+ halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC,
+ false, true, 0x8);
halbtc8723b1ant_SwMechanism(pBtCoexist, true);
- halbtc8723b1ant_RunSwCoexistMechanism(pBtCoexist); /* just print debug message */
+ halbtc8723b1ant_RunSwCoexistMechanism(
+ pBtCoexist); /* just print debug message */
} else {
halbtc8723b1ant_LimitedTx(pBtCoexist, NORMAL_EXEC, 0, 0, 0, 0);
- halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false, 0x5);
+ halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false,
+ 0x5);
halbtc8723b1ant_SwMechanism(pBtCoexist, false);
- halbtc8723b1ant_RunSwCoexistMechanism(pBtCoexist); /* just print debug message */
+ halbtc8723b1ant_RunSwCoexistMechanism(
+ pBtCoexist); /* just print debug message */
}
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_HS_OPERATION, &bBtHsOn);
@@ -2004,9 +1962,11 @@ static void halbtc8723b1ant_RunCoexistMechanism(struct btc_coexist *pBtCoexist)
if (bScan || bLink || bRoam) {
if (bScan)
- halbtc8723b1ant_ActionWifiNotConnectedScan(pBtCoexist);
+ halbtc8723b1ant_ActionWifiNotConnectedScan(
+ pBtCoexist);
else
- halbtc8723b1ant_ActionWifiNotConnectedAssoAuth(pBtCoexist);
+ halbtc8723b1ant_ActionWifiNotConnectedAssoAuth(
+ pBtCoexist);
} else
halbtc8723b1ant_ActionWifiNotConnected(pBtCoexist);
} else { /* wifi LPS/Busy */
@@ -2027,13 +1987,11 @@ static void halbtc8723b1ant_InitCoexDm(struct btc_coexist *pBtCoexist)
pCoexSta->popEventCnt = 0;
}
-static void halbtc8723b1ant_InitHwConfig(
- struct btc_coexist *pBtCoexist,
- bool bBackUp,
- bool bWifiOnly
-)
+static void halbtc8723b1ant_InitHwConfig(struct btc_coexist *pBtCoexist,
+ bool bBackUp, bool bWifiOnly)
{
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x550, 0x8, 0x1); /* enable TBTT nterrupt */
+ pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x550, 0x8,
+ 0x1); /* enable TBTT nterrupt */
/* 0x790[5:0]= 0x5 */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x790, 0x5);
@@ -2044,10 +2002,12 @@ static void halbtc8723b1ant_InitHwConfig(
/* Antenna config */
if (bWifiOnly) {
- halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_WIFI, true, false);
+ halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_WIFI, true,
+ false);
halbtc8723b1ant_PsTdma(pBtCoexist, FORCE_EXEC, false, 9);
} else {
- halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_BT, true, false);
+ halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_BT, true,
+ false);
}
/* PTA parameter */
@@ -2092,7 +2052,7 @@ void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist)
/* fixed at S0 for USB interface */
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0);
- u1Tmp |= 0x1; /* antenna inverse */
+ u1Tmp |= 0x1; /* antenna inverse */
pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0xfe08, u1Tmp);
pBoardInfo->btdmAntPos = BTC_ANTENNA_AT_AUX_PORT;
@@ -2105,18 +2065,21 @@ void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist)
} else if (pBoardInfo->singleAntPath == 1) {
/* set to S0 */
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0);
- u1Tmp |= 0x1; /* antenna inverse */
+ u1Tmp |= 0x1; /* antenna inverse */
pBoardInfo->btdmAntPos = BTC_ANTENNA_AT_AUX_PORT;
}
if (pBtCoexist->chipInterface == BTC_INTF_PCI)
- pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0x384, u1Tmp);
+ pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0x384,
+ u1Tmp);
else if (pBtCoexist->chipInterface == BTC_INTF_SDIO)
- pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0x60, u1Tmp);
+ pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0x60,
+ u1Tmp);
}
}
-void EXhalbtc8723b1ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly)
+void EXhalbtc8723b1ant_InitHwConfig(struct btc_coexist *pBtCoexist,
+ bool bWifiOnly)
{
halbtc8723b1ant_InitHwConfig(pBtCoexist, true, bWifiOnly);
}
@@ -2132,7 +2095,7 @@ void EXhalbtc8723b1ant_InitCoexDm(struct btc_coexist *pBtCoexist)
void EXhalbtc8723b1ant_IpsNotify(struct btc_coexist *pBtCoexist, u8 type)
{
- if (pBtCoexist->bManualControl || pBtCoexist->bStopCoexDm)
+ if (pBtCoexist->bManualControl || pBtCoexist->bStopCoexDm)
return;
if (type == BTC_IPS_ENTER) {
@@ -2140,7 +2103,8 @@ void EXhalbtc8723b1ant_IpsNotify(struct btc_coexist *pBtCoexist, u8 type)
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 0);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 0);
- halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_BT, false, true);
+ halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_BT, false,
+ true);
} else if (type == BTC_IPS_LEAVE) {
pCoexSta->bUnderIps = false;
@@ -2175,34 +2139,36 @@ void EXhalbtc8723b1ant_ScanNotify(struct btc_coexist *pBtCoexist, u8 type)
if (type == BTC_SCAN_START) {
pCoexSta->bWiFiIsHighPriTask = true;
- halbtc8723b1ant_PsTdma(pBtCoexist, FORCE_EXEC, false, 8); /* Force antenna setup for no scan result issue */
+ halbtc8723b1ant_PsTdma(
+ pBtCoexist, FORCE_EXEC, false,
+ 8); /* Force antenna setup for no scan result issue */
pBtCoexist->fBtcRead4Byte(pBtCoexist, 0x948);
pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x765);
pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x67);
} else {
pCoexSta->bWiFiIsHighPriTask = false;
- pBtCoexist->fBtcGet(
- pBtCoexist, BTC_GET_U1_AP_NUM, &pCoexSta->nScanAPNum
- );
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_AP_NUM,
+ &pCoexSta->nScanAPNum);
}
if (pBtCoexist->btInfo.bBtDisabled)
return;
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_HS_OPERATION, &bBtHsOn);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
halbtc8723b1ant_QueryBtInfo(pBtCoexist);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_LINK_STATUS, &wifiLinkStatus);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_LINK_STATUS,
+ &wifiLinkStatus);
numOfWifiLink = wifiLinkStatus >> 16;
if (numOfWifiLink >= 2) {
halbtc8723b1ant_LimitedTx(pBtCoexist, NORMAL_EXEC, 0, 0, 0, 0);
- halbtc8723b1ant_LimitedRx(
- pBtCoexist, NORMAL_EXEC, false, bBtCtrlAggBufSize, aggBufSize
- );
+ halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false,
+ bBtCtrlAggBufSize, aggBufSize);
halbtc8723b1ant_ActionWifiMultiPort(pBtCoexist);
return;
}
@@ -2216,12 +2182,12 @@ void EXhalbtc8723b1ant_ScanNotify(struct btc_coexist *pBtCoexist, u8 type)
}
if (type == BTC_SCAN_START) {
- if (!bWifiConnected) /* non-connected scan */
+ if (!bWifiConnected) /* non-connected scan */
halbtc8723b1ant_ActionWifiNotConnectedScan(pBtCoexist);
- else /* wifi is connected */
+ else /* wifi is connected */
halbtc8723b1ant_ActionWifiConnectedScan(pBtCoexist);
} else if (type == BTC_SCAN_FINISH) {
- if (!bWifiConnected) /* non-connected scan */
+ if (!bWifiConnected) /* non-connected scan */
halbtc8723b1ant_ActionWifiNotConnected(pBtCoexist);
else
halbtc8723b1ant_ActionWifiConnected(pBtCoexist);
@@ -2236,11 +2202,8 @@ void EXhalbtc8723b1ant_ConnectNotify(struct btc_coexist *pBtCoexist, u8 type)
bool bBtCtrlAggBufSize = false;
u8 aggBufSize = 5;
- if (
- pBtCoexist->bManualControl ||
- pBtCoexist->bStopCoexDm ||
- pBtCoexist->btInfo.bBtDisabled
- )
+ if (pBtCoexist->bManualControl || pBtCoexist->bStopCoexDm ||
+ pBtCoexist->btInfo.bBtDisabled)
return;
if (type == BTC_ASSOCIATE_START) {
@@ -2251,11 +2214,13 @@ void EXhalbtc8723b1ant_ConnectNotify(struct btc_coexist *pBtCoexist, u8 type)
/* pCoexDm->nArpCnt = 0; */
}
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_LINK_STATUS, &wifiLinkStatus);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_LINK_STATUS,
+ &wifiLinkStatus);
numOfWifiLink = wifiLinkStatus >> 16;
if (numOfWifiLink >= 2) {
halbtc8723b1ant_LimitedTx(pBtCoexist, NORMAL_EXEC, 0, 0, 0, 0);
- halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, bBtCtrlAggBufSize, aggBufSize);
+ halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false,
+ bBtCtrlAggBufSize, aggBufSize);
halbtc8723b1ant_ActionWifiMultiPort(pBtCoexist);
return;
}
@@ -2272,7 +2237,8 @@ void EXhalbtc8723b1ant_ConnectNotify(struct btc_coexist *pBtCoexist, u8 type)
if (type == BTC_ASSOCIATE_START) {
halbtc8723b1ant_ActionWifiNotConnectedAssoAuth(pBtCoexist);
} else if (type == BTC_ASSOCIATE_FINISH) {
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
if (!bWifiConnected) /* non-connected scan */
halbtc8723b1ant_ActionWifiNotConnected(pBtCoexist);
else
@@ -2280,36 +2246,43 @@ void EXhalbtc8723b1ant_ConnectNotify(struct btc_coexist *pBtCoexist, u8 type)
}
}
-void EXhalbtc8723b1ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type)
+void EXhalbtc8723b1ant_MediaStatusNotify(struct btc_coexist *pBtCoexist,
+ u8 type)
{
- u8 H2C_Parameter[3] = {0};
+ u8 H2C_Parameter[3] = { 0 };
u32 wifiBw;
u8 wifiCentralChnl;
bool bWifiUnderBMode = false;
- if (
- pBtCoexist->bManualControl ||
- pBtCoexist->bStopCoexDm ||
- pBtCoexist->btInfo.bBtDisabled
- )
+ if (pBtCoexist->bManualControl || pBtCoexist->bStopCoexDm ||
+ pBtCoexist->btInfo.bBtDisabled)
return;
if (type == BTC_MEDIA_CONNECT) {
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_UNDER_B_MODE, &bWifiUnderBMode);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_UNDER_B_MODE,
+ &bWifiUnderBMode);
/* Set CCK Tx/Rx high Pri except 11b mode */
if (bWifiUnderBMode) {
- pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cd, 0x00); /* CCK Tx */
- pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cf, 0x00); /* CCK Rx */
+ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cd,
+ 0x00); /* CCK Tx */
+ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cf,
+ 0x00); /* CCK Rx */
} else {
- pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cd, 0x10); /* CCK Tx */
- pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cf, 0x10); /* CCK Rx */
+ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cd,
+ 0x10); /* CCK Tx */
+ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cf,
+ 0x10); /* CCK Rx */
}
- pCoexDm->backupArfrCnt1 = pBtCoexist->fBtcRead4Byte(pBtCoexist, 0x430);
- pCoexDm->backupArfrCnt2 = pBtCoexist->fBtcRead4Byte(pBtCoexist, 0x434);
- pCoexDm->backupRetryLimit = pBtCoexist->fBtcRead2Byte(pBtCoexist, 0x42a);
- pCoexDm->backupAmpduMaxTime = pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x456);
+ pCoexDm->backupArfrCnt1 =
+ pBtCoexist->fBtcRead4Byte(pBtCoexist, 0x430);
+ pCoexDm->backupArfrCnt2 =
+ pBtCoexist->fBtcRead4Byte(pBtCoexist, 0x434);
+ pCoexDm->backupRetryLimit =
+ pBtCoexist->fBtcRead2Byte(pBtCoexist, 0x42a);
+ pCoexDm->backupAmpduMaxTime =
+ pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x456);
} else {
pCoexDm->nArpCnt = 0;
@@ -2318,7 +2291,8 @@ void EXhalbtc8723b1ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type
}
/* only 2.4G we need to inform bt the chnl mask */
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL, &wifiCentralChnl);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL,
+ &wifiCentralChnl);
if ((type == BTC_MEDIA_CONNECT) && (wifiCentralChnl <= 14)) {
/* H2C_Parameter[0] = 0x1; */
H2C_Parameter[0] = 0x0;
@@ -2338,7 +2312,8 @@ void EXhalbtc8723b1ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x66, 3, H2C_Parameter);
}
-void EXhalbtc8723b1ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 type)
+void EXhalbtc8723b1ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist,
+ u8 type)
{
bool bBtHsOn = false;
u32 wifiLinkStatus = 0;
@@ -2346,22 +2321,17 @@ void EXhalbtc8723b1ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 ty
bool bBtCtrlAggBufSize = false;
u8 aggBufSize = 5;
- if (
- pBtCoexist->bManualControl ||
- pBtCoexist->bStopCoexDm ||
- pBtCoexist->btInfo.bBtDisabled
- )
+ if (pBtCoexist->bManualControl || pBtCoexist->bStopCoexDm ||
+ pBtCoexist->btInfo.bBtDisabled)
return;
- if (
- type == BTC_PACKET_DHCP ||
- type == BTC_PACKET_EAPOL ||
- type == BTC_PACKET_ARP
- ) {
+ if (type == BTC_PACKET_DHCP || type == BTC_PACKET_EAPOL ||
+ type == BTC_PACKET_ARP) {
if (type == BTC_PACKET_ARP) {
pCoexDm->nArpCnt++;
- if (pCoexDm->nArpCnt >= 10) /* if APR PKT > 10 after connect, do not go to ActionWifiConnectedSpecialPacket(pBtCoexist) */
+ if (pCoexDm->nArpCnt >=
+ 10) /* if APR PKT > 10 after connect, do not go to ActionWifiConnectedSpecialPacket(pBtCoexist) */
pCoexSta->bWiFiIsHighPriTask = false;
else
pCoexSta->bWiFiIsHighPriTask = true;
@@ -2374,16 +2344,14 @@ void EXhalbtc8723b1ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 ty
pCoexSta->specialPktPeriodCnt = 0;
- pBtCoexist->fBtcGet(
- pBtCoexist, BTC_GET_U4_WIFI_LINK_STATUS, &wifiLinkStatus
- );
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_LINK_STATUS,
+ &wifiLinkStatus);
numOfWifiLink = wifiLinkStatus >> 16;
if (numOfWifiLink >= 2) {
halbtc8723b1ant_LimitedTx(pBtCoexist, NORMAL_EXEC, 0, 0, 0, 0);
- halbtc8723b1ant_LimitedRx(
- pBtCoexist, NORMAL_EXEC, false, bBtCtrlAggBufSize, aggBufSize
- );
+ halbtc8723b1ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false,
+ bBtCtrlAggBufSize, aggBufSize);
halbtc8723b1ant_ActionWifiMultiPort(pBtCoexist);
return;
}
@@ -2397,17 +2365,13 @@ void EXhalbtc8723b1ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 ty
return;
}
- if (
- type == BTC_PACKET_DHCP ||
- type == BTC_PACKET_EAPOL ||
- ((type == BTC_PACKET_ARP) && (pCoexSta->bWiFiIsHighPriTask))
- )
+ if (type == BTC_PACKET_DHCP || type == BTC_PACKET_EAPOL ||
+ ((type == BTC_PACKET_ARP) && (pCoexSta->bWiFiIsHighPriTask)))
halbtc8723b1ant_ActionWifiConnectedSpecialPacket(pBtCoexist);
}
-void EXhalbtc8723b1ant_BtInfoNotify(
- struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length
-)
+void EXhalbtc8723b1ant_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf,
+ u8 length)
{
u8 btInfo = 0;
u8 i, rspSource = 0;
@@ -2443,27 +2407,36 @@ void EXhalbtc8723b1ant_BtInfoNotify(
pCoexSta->btInfoExt = pCoexSta->btInfoC2h[rspSource][4];
- pCoexSta->bBtTxRxMask = (pCoexSta->btInfoC2h[rspSource][2] & 0x40);
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_TX_RX_MASK, &pCoexSta->bBtTxRxMask);
+ pCoexSta->bBtTxRxMask =
+ (pCoexSta->btInfoC2h[rspSource][2] & 0x40);
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_TX_RX_MASK,
+ &pCoexSta->bBtTxRxMask);
if (!pCoexSta->bBtTxRxMask) {
/* BT into is responded by BT FW and BT RF REG 0x3C != 0x15 => Need to switch BT TRx Mask */
- pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF, 0x3c, 0x15);
+ pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF,
+ 0x3c, 0x15);
}
/* Here we need to resend some wifi info to BT */
/* because bt is reset and loss of the info. */
if (pCoexSta->btInfoExt & BIT(1)) {
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist,
+ BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
if (bWifiConnected)
- EXhalbtc8723b1ant_MediaStatusNotify(pBtCoexist, BTC_MEDIA_CONNECT);
+ EXhalbtc8723b1ant_MediaStatusNotify(
+ pBtCoexist, BTC_MEDIA_CONNECT);
else
- EXhalbtc8723b1ant_MediaStatusNotify(pBtCoexist, BTC_MEDIA_DISCONNECT);
+ EXhalbtc8723b1ant_MediaStatusNotify(
+ pBtCoexist, BTC_MEDIA_DISCONNECT);
}
if (pCoexSta->btInfoExt & BIT(3)) {
- if (!pBtCoexist->bManualControl && !pBtCoexist->bStopCoexDm)
- halbtc8723b1ant_IgnoreWlanAct(pBtCoexist, FORCE_EXEC, false);
+ if (!pBtCoexist->bManualControl &&
+ !pBtCoexist->bStopCoexDm)
+ halbtc8723b1ant_IgnoreWlanAct(
+ pBtCoexist, FORCE_EXEC, false);
} else {
/* BT already NOT ignore Wlan active, do nothing here. */
}
@@ -2482,7 +2455,7 @@ void EXhalbtc8723b1ant_BtInfoNotify(
pCoexSta->bA2dpExist = false;
pCoexSta->bHidExist = false;
pCoexSta->bScoExist = false;
- } else { /* connection exists */
+ } else { /* connection exists */
pCoexSta->bBtLinkExist = true;
if (btInfo & BT_INFO_8723B_1ANT_B_FTP)
pCoexSta->bPanExist = true;
@@ -2507,17 +2480,17 @@ void EXhalbtc8723b1ant_BtInfoNotify(
halbtc8723b1ant_UpdateBtLinkInfo(pBtCoexist);
- btInfo = btInfo & 0x1f; /* mask profile bit for connect-ilde identification (for CSR case: A2DP idle --> 0x41) */
+ btInfo =
+ btInfo &
+ 0x1f; /* mask profile bit for connect-ilde identification (for CSR case: A2DP idle --> 0x41) */
if (!(btInfo & BT_INFO_8723B_1ANT_B_CONNECTION)) {
pCoexDm->btStatus = BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE;
- } else if (btInfo == BT_INFO_8723B_1ANT_B_CONNECTION) {
+ } else if (btInfo == BT_INFO_8723B_1ANT_B_CONNECTION) {
/* connection exists but no busy */
pCoexDm->btStatus = BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE;
- } else if (
- (btInfo & BT_INFO_8723B_1ANT_B_SCO_ESCO) ||
- (btInfo & BT_INFO_8723B_1ANT_B_SCO_BUSY)
- ) {
+ } else if ((btInfo & BT_INFO_8723B_1ANT_B_SCO_ESCO) ||
+ (btInfo & BT_INFO_8723B_1ANT_B_SCO_BUSY)) {
pCoexDm->btStatus = BT_8723B_1ANT_BT_STATUS_SCO_BUSY;
} else if (btInfo & BT_INFO_8723B_1ANT_B_ACL_BUSY) {
if (pCoexDm->btStatus != BT_8723B_1ANT_BT_STATUS_ACL_BUSY)
@@ -2528,11 +2501,9 @@ void EXhalbtc8723b1ant_BtInfoNotify(
pCoexDm->btStatus = BT_8723B_1ANT_BT_STATUS_MAX;
}
- if (
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY)
- )
+ if ((pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_BUSY) ||
+ (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_SCO_BUSY) ||
+ (pCoexDm->btStatus == BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY))
bBtBusy = true;
else
bBtBusy = false;
@@ -2543,7 +2514,8 @@ void EXhalbtc8723b1ant_BtInfoNotify(
void EXhalbtc8723b1ant_HaltNotify(struct btc_coexist *pBtCoexist)
{
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0,
+ 0x0);
halbtc8723b1ant_PsTdma(pBtCoexist, FORCE_EXEC, false, 0);
halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_BT, false, true);
@@ -2557,10 +2529,12 @@ void EXhalbtc8723b1ant_HaltNotify(struct btc_coexist *pBtCoexist)
void EXhalbtc8723b1ant_PnpNotify(struct btc_coexist *pBtCoexist, u8 pnpState)
{
if (pnpState == BTC_WIFI_PNP_SLEEP) {
- halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0);
+ halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE,
+ 0x0, 0x0);
halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 0);
halbtc8723b1ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 2);
- halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_BT, false, true);
+ halbtc8723b1ant_SetAntPath(pBtCoexist, BTC_ANT_PATH_BT, false,
+ true);
pBtCoexist->bStopCoexDm = true;
} else if (pnpState == BTC_WIFI_PNP_WAKE_UP) {
@@ -2578,17 +2552,16 @@ void EXhalbtc8723b1ant_Periodical(struct btc_coexist *pBtCoexist)
if (disVerInfoCnt <= 5) {
disVerInfoCnt += 1;
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_BT_PATCH_VER, &btPatchVer);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_BT_PATCH_VER,
+ &btPatchVer);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_FW_VER, &fwVer);
}
halbtc8723b1ant_MonitorBtCtr(pBtCoexist);
halbtc8723b1ant_MonitorWiFiCtr(pBtCoexist);
- if (
- halbtc8723b1ant_IsWifiStatusChanged(pBtCoexist) ||
- pCoexDm->bAutoTdmaAdjust
- )
+ if (halbtc8723b1ant_IsWifiStatusChanged(pBtCoexist) ||
+ pCoexDm->bAutoTdmaAdjust)
halbtc8723b1ant_RunCoexistMechanism(pBtCoexist);
pCoexSta->specialPktPeriodCnt++;
diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h
index 7a12d92da0a91..b7799124cdae6 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h
+++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h
@@ -5,62 +5,62 @@
*
******************************************************************************/
/* The following is for 8723B 1ANT BT Co-exist definition */
-#define BT_INFO_8723B_1ANT_B_FTP BIT(7)
-#define BT_INFO_8723B_1ANT_B_A2DP BIT(6)
-#define BT_INFO_8723B_1ANT_B_HID BIT(5)
-#define BT_INFO_8723B_1ANT_B_SCO_BUSY BIT(4)
-#define BT_INFO_8723B_1ANT_B_ACL_BUSY BIT(3)
-#define BT_INFO_8723B_1ANT_B_INQ_PAGE BIT(2)
-#define BT_INFO_8723B_1ANT_B_SCO_ESCO BIT(1)
-#define BT_INFO_8723B_1ANT_B_CONNECTION BIT(0)
+#define BT_INFO_8723B_1ANT_B_FTP BIT(7)
+#define BT_INFO_8723B_1ANT_B_A2DP BIT(6)
+#define BT_INFO_8723B_1ANT_B_HID BIT(5)
+#define BT_INFO_8723B_1ANT_B_SCO_BUSY BIT(4)
+#define BT_INFO_8723B_1ANT_B_ACL_BUSY BIT(3)
+#define BT_INFO_8723B_1ANT_B_INQ_PAGE BIT(2)
+#define BT_INFO_8723B_1ANT_B_SCO_ESCO BIT(1)
+#define BT_INFO_8723B_1ANT_B_CONNECTION BIT(0)
-#define BT_INFO_8723B_1ANT_A2DP_BASIC_RATE(_BT_INFO_EXT_) \
- (((_BT_INFO_EXT_ & BIT(0))) ? true : false)
+#define BT_INFO_8723B_1ANT_A2DP_BASIC_RATE(_BT_INFO_EXT_) \
+ (((_BT_INFO_EXT_ & BIT(0))) ? true : false)
-#define BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT 2
+#define BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT 2
-#define BT_8723B_1ANT_WIFI_NOISY_THRESH 30 /* max: 255 */
+#define BT_8723B_1ANT_WIFI_NOISY_THRESH 30 /* max: 255 */
enum {
- BT_INFO_SRC_8723B_1ANT_WIFI_FW = 0x0,
- BT_INFO_SRC_8723B_1ANT_BT_RSP = 0x1,
- BT_INFO_SRC_8723B_1ANT_BT_ACTIVE_SEND = 0x2,
+ BT_INFO_SRC_8723B_1ANT_WIFI_FW = 0x0,
+ BT_INFO_SRC_8723B_1ANT_BT_RSP = 0x1,
+ BT_INFO_SRC_8723B_1ANT_BT_ACTIVE_SEND = 0x2,
BT_INFO_SRC_8723B_1ANT_MAX
};
enum {
- BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE = 0x0,
- BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE = 0x1,
- BT_8723B_1ANT_BT_STATUS_INQ_PAGE = 0x2,
- BT_8723B_1ANT_BT_STATUS_ACL_BUSY = 0x3,
- BT_8723B_1ANT_BT_STATUS_SCO_BUSY = 0x4,
- BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY = 0x5,
+ BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE = 0x0,
+ BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE = 0x1,
+ BT_8723B_1ANT_BT_STATUS_INQ_PAGE = 0x2,
+ BT_8723B_1ANT_BT_STATUS_ACL_BUSY = 0x3,
+ BT_8723B_1ANT_BT_STATUS_SCO_BUSY = 0x4,
+ BT_8723B_1ANT_BT_STATUS_ACL_SCO_BUSY = 0x5,
BT_8723B_1ANT_BT_STATUS_MAX
};
enum {
- BT_8723B_1ANT_WIFI_STATUS_NON_CONNECTED_IDLE = 0x0,
+ BT_8723B_1ANT_WIFI_STATUS_NON_CONNECTED_IDLE = 0x0,
BT_8723B_1ANT_WIFI_STATUS_NON_CONNECTED_ASSO_AUTH_SCAN = 0x1,
- BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SCAN = 0x2,
- BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SPECIAL_PKT = 0x3,
- BT_8723B_1ANT_WIFI_STATUS_CONNECTED_IDLE = 0x4,
- BT_8723B_1ANT_WIFI_STATUS_CONNECTED_BUSY = 0x5,
+ BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SCAN = 0x2,
+ BT_8723B_1ANT_WIFI_STATUS_CONNECTED_SPECIAL_PKT = 0x3,
+ BT_8723B_1ANT_WIFI_STATUS_CONNECTED_IDLE = 0x4,
+ BT_8723B_1ANT_WIFI_STATUS_CONNECTED_BUSY = 0x5,
BT_8723B_1ANT_WIFI_STATUS_MAX
};
enum {
- BT_8723B_1ANT_COEX_ALGO_UNDEFINED = 0x0,
- BT_8723B_1ANT_COEX_ALGO_SCO = 0x1,
- BT_8723B_1ANT_COEX_ALGO_HID = 0x2,
- BT_8723B_1ANT_COEX_ALGO_A2DP = 0x3,
- BT_8723B_1ANT_COEX_ALGO_A2DP_PANHS = 0x4,
- BT_8723B_1ANT_COEX_ALGO_PANEDR = 0x5,
- BT_8723B_1ANT_COEX_ALGO_PANHS = 0x6,
- BT_8723B_1ANT_COEX_ALGO_PANEDR_A2DP = 0x7,
- BT_8723B_1ANT_COEX_ALGO_PANEDR_HID = 0x8,
- BT_8723B_1ANT_COEX_ALGO_HID_A2DP_PANEDR = 0x9,
- BT_8723B_1ANT_COEX_ALGO_HID_A2DP = 0xa,
- BT_8723B_1ANT_COEX_ALGO_MAX = 0xb,
+ BT_8723B_1ANT_COEX_ALGO_UNDEFINED = 0x0,
+ BT_8723B_1ANT_COEX_ALGO_SCO = 0x1,
+ BT_8723B_1ANT_COEX_ALGO_HID = 0x2,
+ BT_8723B_1ANT_COEX_ALGO_A2DP = 0x3,
+ BT_8723B_1ANT_COEX_ALGO_A2DP_PANHS = 0x4,
+ BT_8723B_1ANT_COEX_ALGO_PANEDR = 0x5,
+ BT_8723B_1ANT_COEX_ALGO_PANHS = 0x6,
+ BT_8723B_1ANT_COEX_ALGO_PANEDR_A2DP = 0x7,
+ BT_8723B_1ANT_COEX_ALGO_PANEDR_HID = 0x8,
+ BT_8723B_1ANT_COEX_ALGO_HID_A2DP_PANEDR = 0x9,
+ BT_8723B_1ANT_COEX_ALGO_HID_A2DP = 0xa,
+ BT_8723B_1ANT_COEX_ALGO_MAX = 0xb,
};
struct coex_dm_8723b_1ant {
@@ -94,8 +94,8 @@ struct coex_dm_8723b_1ant {
u8 curVal0x6cc;
bool bLimitedDig;
- u32 backupArfrCnt1; /* Auto Rate Fallback Retry cnt */
- u32 backupArfrCnt2; /* Auto Rate Fallback Retry cnt */
+ u32 backupArfrCnt1; /* Auto Rate Fallback Retry cnt */
+ u32 backupArfrCnt2; /* Auto Rate Fallback Retry cnt */
u16 backupRetryLimit;
u8 backupAmpduMaxTime;
@@ -168,17 +168,19 @@ struct coex_sta_8723b_1ant {
/* The following is interface which will notify coex module. */
/* */
void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist);
-void EXhalbtc8723b1ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly);
+void EXhalbtc8723b1ant_InitHwConfig(struct btc_coexist *pBtCoexist,
+ bool bWifiOnly);
void EXhalbtc8723b1ant_InitCoexDm(struct btc_coexist *pBtCoexist);
void EXhalbtc8723b1ant_IpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b1ant_LpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b1ant_ScanNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b1ant_ConnectNotify(struct btc_coexist *pBtCoexist, u8 type);
-void EXhalbtc8723b1ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type);
-void EXhalbtc8723b1ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 type);
-void EXhalbtc8723b1ant_BtInfoNotify(
- struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length
-);
+void EXhalbtc8723b1ant_MediaStatusNotify(struct btc_coexist *pBtCoexist,
+ u8 type);
+void EXhalbtc8723b1ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist,
+ u8 type);
+void EXhalbtc8723b1ant_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf,
+ u8 length);
void EXhalbtc8723b1ant_HaltNotify(struct btc_coexist *pBtCoexist);
void EXhalbtc8723b1ant_PnpNotify(struct btc_coexist *pBtCoexist, u8 pnpState);
void EXhalbtc8723b1ant_Periodical(struct btc_coexist *pBtCoexist);
diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c
index 6da6940c90439..0faaae8bae0b9 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c
+++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c
@@ -8,11 +8,11 @@
#include "Mp_Precomp.h"
/* defines */
-#define HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(val) \
-do { \
- halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, val); \
- pCoexDm->psTdmaDuAdjType = val; \
-} while (0)
+#define HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(val) \
+ do { \
+ halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, val); \
+ pCoexDm->psTdmaDuAdjType = val; \
+ } while (0)
/* Global variables, these are static variables */
static struct coex_dm_8723b_2ant GLCoexDm8723b2Ant;
@@ -21,9 +21,8 @@ static struct coex_sta_8723b_2ant GLCoexSta8723b2Ant;
static struct coex_sta_8723b_2ant *pCoexSta = &GLCoexSta8723b2Ant;
/* local function start with halbtc8723b2ant_ */
-static u8 halbtc8723b2ant_BtRssiState(
- u8 levelNum, u8 rssiThresh, u8 rssiThresh1
-)
+static u8 halbtc8723b2ant_BtRssiState(u8 levelNum, u8 rssiThresh,
+ u8 rssiThresh1)
{
s32 btRssi = 0;
u8 btRssiState = pCoexSta->preBtRssiState;
@@ -31,11 +30,10 @@ static u8 halbtc8723b2ant_BtRssiState(
btRssi = pCoexSta->btRssi;
if (levelNum == 2) {
- if (
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_LOW) ||
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_LOW)
- ) {
- if (btRssi >= (rssiThresh + BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
+ if ((pCoexSta->preBtRssiState == BTC_RSSI_STATE_LOW) ||
+ (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_LOW)) {
+ if (btRssi >= (rssiThresh +
+ BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
btRssiState = BTC_RSSI_STATE_HIGH;
} else {
btRssiState = BTC_RSSI_STATE_STAY_LOW;
@@ -52,20 +50,20 @@ static u8 halbtc8723b2ant_BtRssiState(
return pCoexSta->preBtRssiState;
}
- if (
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_LOW) ||
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_LOW)
- ) {
- if (btRssi >= (rssiThresh + BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
+ if ((pCoexSta->preBtRssiState == BTC_RSSI_STATE_LOW) ||
+ (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_LOW)) {
+ if (btRssi >= (rssiThresh +
+ BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
btRssiState = BTC_RSSI_STATE_MEDIUM;
} else {
btRssiState = BTC_RSSI_STATE_STAY_LOW;
}
- } else if (
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_MEDIUM) ||
- (pCoexSta->preBtRssiState == BTC_RSSI_STATE_STAY_MEDIUM)
- ) {
- if (btRssi >= (rssiThresh1 + BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
+ } else if ((pCoexSta->preBtRssiState ==
+ BTC_RSSI_STATE_MEDIUM) ||
+ (pCoexSta->preBtRssiState ==
+ BTC_RSSI_STATE_STAY_MEDIUM)) {
+ if (btRssi >= (rssiThresh1 +
+ BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
btRssiState = BTC_RSSI_STATE_HIGH;
} else if (btRssi < rssiThresh) {
btRssiState = BTC_RSSI_STATE_LOW;
@@ -86,13 +84,9 @@ static u8 halbtc8723b2ant_BtRssiState(
return btRssiState;
}
-static u8 halbtc8723b2ant_WifiRssiState(
- struct btc_coexist *pBtCoexist,
- u8 index,
- u8 levelNum,
- u8 rssiThresh,
- u8 rssiThresh1
-)
+static u8 halbtc8723b2ant_WifiRssiState(struct btc_coexist *pBtCoexist,
+ u8 index, u8 levelNum, u8 rssiThresh,
+ u8 rssiThresh1)
{
s32 wifiRssi = 0;
u8 wifiRssiState = pCoexSta->preWifiRssiState[index];
@@ -100,11 +94,11 @@ static u8 halbtc8723b2ant_WifiRssiState(
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_S4_WIFI_RSSI, &wifiRssi);
if (levelNum == 2) {
- if (
- (pCoexSta->preWifiRssiState[index] == BTC_RSSI_STATE_LOW) ||
- (pCoexSta->preWifiRssiState[index] == BTC_RSSI_STATE_STAY_LOW)
- ) {
- if (wifiRssi >= (rssiThresh + BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
+ if ((pCoexSta->preWifiRssiState[index] == BTC_RSSI_STATE_LOW) ||
+ (pCoexSta->preWifiRssiState[index] ==
+ BTC_RSSI_STATE_STAY_LOW)) {
+ if (wifiRssi >= (rssiThresh +
+ BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
wifiRssiState = BTC_RSSI_STATE_HIGH;
} else {
wifiRssiState = BTC_RSSI_STATE_STAY_LOW;
@@ -121,20 +115,21 @@ static u8 halbtc8723b2ant_WifiRssiState(
return pCoexSta->preWifiRssiState[index];
}
- if (
- (pCoexSta->preWifiRssiState[index] == BTC_RSSI_STATE_LOW) ||
- (pCoexSta->preWifiRssiState[index] == BTC_RSSI_STATE_STAY_LOW)
- ) {
- if (wifiRssi >= (rssiThresh + BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
+ if ((pCoexSta->preWifiRssiState[index] == BTC_RSSI_STATE_LOW) ||
+ (pCoexSta->preWifiRssiState[index] ==
+ BTC_RSSI_STATE_STAY_LOW)) {
+ if (wifiRssi >= (rssiThresh +
+ BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
wifiRssiState = BTC_RSSI_STATE_MEDIUM;
} else {
wifiRssiState = BTC_RSSI_STATE_STAY_LOW;
}
- } else if (
- (pCoexSta->preWifiRssiState[index] == BTC_RSSI_STATE_MEDIUM) ||
- (pCoexSta->preWifiRssiState[index] == BTC_RSSI_STATE_STAY_MEDIUM)
- ) {
- if (wifiRssi >= (rssiThresh1 + BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
+ } else if ((pCoexSta->preWifiRssiState[index] ==
+ BTC_RSSI_STATE_MEDIUM) ||
+ (pCoexSta->preWifiRssiState[index] ==
+ BTC_RSSI_STATE_STAY_MEDIUM)) {
+ if (wifiRssi >= (rssiThresh1 +
+ BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT)) {
wifiRssiState = BTC_RSSI_STATE_HIGH;
} else if (wifiRssi < rssiThresh) {
wifiRssiState = BTC_RSSI_STATE_LOW;
@@ -155,13 +150,9 @@ static u8 halbtc8723b2ant_WifiRssiState(
return wifiRssiState;
}
-static void halbtc8723b2ant_LimitedRx(
- struct btc_coexist *pBtCoexist,
- bool bForceExec,
- bool bRejApAggPkt,
- bool bBtCtrlAggBufSize,
- u8 aggBufSize
-)
+static void halbtc8723b2ant_LimitedRx(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bRejApAggPkt,
+ bool bBtCtrlAggBufSize, u8 aggBufSize)
{
bool bRejectRxAgg = bRejApAggPkt;
bool bBtCtrlRxAggSize = bBtCtrlAggBufSize;
@@ -170,9 +161,11 @@ static void halbtc8723b2ant_LimitedRx(
/* */
/* Rx Aggregation related setting */
/* */
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT, &bRejectRxAgg);
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT,
+ &bRejectRxAgg);
/* decide BT control aggregation buf size or not */
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_CTRL_AGG_SIZE, &bBtCtrlRxAggSize);
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_CTRL_AGG_SIZE,
+ &bBtCtrlRxAggSize);
/* aggregation buf size, only work when BT control Rx aggregation size. */
pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_U1_AGG_BUF_SIZE, &rxAggSize);
/* real update aggregation setting */
@@ -181,25 +174,27 @@ static void halbtc8723b2ant_LimitedRx(
static void halbtc8723b2ant_QueryBtInfo(struct btc_coexist *pBtCoexist)
{
- u8 H2C_Parameter[1] = {0};
+ u8 H2C_Parameter[1] = { 0 };
pCoexSta->bC2hBtInfoReqSent = true;
- H2C_Parameter[0] |= BIT(0); /* trigger */
+ H2C_Parameter[0] |= BIT(0); /* trigger */
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x61, 1, H2C_Parameter);
}
static bool halbtc8723b2ant_IsWifiStatusChanged(struct btc_coexist *pBtCoexist)
{
- static bool bPreWifiBusy, bPreUnder4way, bPreBtHsOn;
+ static bool bPreWifiBusy, bPreUnder4way, bPreBtHsOn;
bool bWifiBusy = false, bUnder4way = false, bBtHsOn = false;
bool bWifiConnected = false;
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_BUSY, &bWifiBusy);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_HS_OPERATION, &bBtHsOn);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS, &bUnder4way);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS,
+ &bUnder4way);
if (bWifiConnected) {
if (bWifiBusy != bPreWifiBusy) {
@@ -241,45 +236,29 @@ static void halbtc8723b2ant_UpdateBtLinkInfo(struct btc_coexist *pBtCoexist)
}
/* check if Sco only */
- if (
- pBtLinkInfo->bScoExist &&
- !pBtLinkInfo->bA2dpExist &&
- !pBtLinkInfo->bPanExist &&
- !pBtLinkInfo->bHidExist
- )
+ if (pBtLinkInfo->bScoExist && !pBtLinkInfo->bA2dpExist &&
+ !pBtLinkInfo->bPanExist && !pBtLinkInfo->bHidExist)
pBtLinkInfo->bScoOnly = true;
else
pBtLinkInfo->bScoOnly = false;
/* check if A2dp only */
- if (
- !pBtLinkInfo->bScoExist &&
- pBtLinkInfo->bA2dpExist &&
- !pBtLinkInfo->bPanExist &&
- !pBtLinkInfo->bHidExist
- )
+ if (!pBtLinkInfo->bScoExist && pBtLinkInfo->bA2dpExist &&
+ !pBtLinkInfo->bPanExist && !pBtLinkInfo->bHidExist)
pBtLinkInfo->bA2dpOnly = true;
else
pBtLinkInfo->bA2dpOnly = false;
/* check if Pan only */
- if (
- !pBtLinkInfo->bScoExist &&
- !pBtLinkInfo->bA2dpExist &&
- pBtLinkInfo->bPanExist &&
- !pBtLinkInfo->bHidExist
- )
+ if (!pBtLinkInfo->bScoExist && !pBtLinkInfo->bA2dpExist &&
+ pBtLinkInfo->bPanExist && !pBtLinkInfo->bHidExist)
pBtLinkInfo->bPanOnly = true;
else
pBtLinkInfo->bPanOnly = false;
/* check if Hid only */
- if (
- !pBtLinkInfo->bScoExist &&
- !pBtLinkInfo->bA2dpExist &&
- !pBtLinkInfo->bPanExist &&
- pBtLinkInfo->bHidExist
- )
+ if (!pBtLinkInfo->bScoExist && !pBtLinkInfo->bA2dpExist &&
+ !pBtLinkInfo->bPanExist && pBtLinkInfo->bHidExist)
pBtLinkInfo->bHidOnly = true;
else
pBtLinkInfo->bHidOnly = false;
@@ -319,9 +298,11 @@ static u8 halbtc8723b2ant_ActionAlgorithm(struct btc_coexist *pBtCoexist)
algorithm = BT_8723B_2ANT_COEX_ALGO_A2DP;
} else if (pBtLinkInfo->bPanExist) {
if (bBtHsOn) {
- algorithm = BT_8723B_2ANT_COEX_ALGO_PANHS;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_PANHS;
} else {
- algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_PANEDR;
}
}
}
@@ -335,76 +316,63 @@ static u8 halbtc8723b2ant_ActionAlgorithm(struct btc_coexist *pBtCoexist)
if (bBtHsOn) {
algorithm = BT_8723B_2ANT_COEX_ALGO_SCO;
} else {
- algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
}
}
} else {
- if (
- pBtLinkInfo->bHidExist &&
- pBtLinkInfo->bA2dpExist
- ) {
+ if (pBtLinkInfo->bHidExist && pBtLinkInfo->bA2dpExist) {
algorithm = BT_8723B_2ANT_COEX_ALGO_HID_A2DP;
- } else if (
- pBtLinkInfo->bHidExist &&
- pBtLinkInfo->bPanExist
- ) {
+ } else if (pBtLinkInfo->bHidExist &&
+ pBtLinkInfo->bPanExist) {
if (bBtHsOn) {
algorithm = BT_8723B_2ANT_COEX_ALGO_HID;
} else {
- algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
}
- } else if (
- pBtLinkInfo->bPanExist &&
- pBtLinkInfo->bA2dpExist
- ) {
+ } else if (pBtLinkInfo->bPanExist &&
+ pBtLinkInfo->bA2dpExist) {
if (bBtHsOn) {
- algorithm = BT_8723B_2ANT_COEX_ALGO_A2DP_PANHS;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_A2DP_PANHS;
} else {
- algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_A2DP;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_PANEDR_A2DP;
}
}
}
} else if (numOfDiffProfile == 3) {
if (pBtLinkInfo->bScoExist) {
- if (
- pBtLinkInfo->bHidExist &&
- pBtLinkInfo->bA2dpExist
- ) {
+ if (pBtLinkInfo->bHidExist && pBtLinkInfo->bA2dpExist) {
algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
- } else if (
- pBtLinkInfo->bHidExist &&
- pBtLinkInfo->bPanExist
- ) {
+ } else if (pBtLinkInfo->bHidExist &&
+ pBtLinkInfo->bPanExist) {
algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
- } else if (
- pBtLinkInfo->bPanExist &&
- pBtLinkInfo->bA2dpExist
- ) {
+ } else if (pBtLinkInfo->bPanExist &&
+ pBtLinkInfo->bA2dpExist) {
algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
}
} else {
- if (
- pBtLinkInfo->bHidExist &&
- pBtLinkInfo->bPanExist &&
- pBtLinkInfo->bA2dpExist
- ) {
+ if (pBtLinkInfo->bHidExist && pBtLinkInfo->bPanExist &&
+ pBtLinkInfo->bA2dpExist) {
if (bBtHsOn) {
- algorithm = BT_8723B_2ANT_COEX_ALGO_HID_A2DP;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_HID_A2DP;
} else {
- algorithm = BT_8723B_2ANT_COEX_ALGO_HID_A2DP_PANEDR;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_HID_A2DP_PANEDR;
}
}
}
} else if (numOfDiffProfile >= 3) {
if (pBtLinkInfo->bScoExist) {
- if (
- pBtLinkInfo->bHidExist &&
- pBtLinkInfo->bPanExist &&
- pBtLinkInfo->bA2dpExist
- ) {
+ if (pBtLinkInfo->bHidExist && pBtLinkInfo->bPanExist &&
+ pBtLinkInfo->bA2dpExist) {
if (bBtHsOn) {
} else {
- algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
+ algorithm =
+ BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
}
}
}
@@ -413,11 +381,10 @@ static u8 halbtc8723b2ant_ActionAlgorithm(struct btc_coexist *pBtCoexist)
return algorithm;
}
-static void halbtc8723b2ant_SetFwDacSwingLevel(
- struct btc_coexist *pBtCoexist, u8 dacSwingLvl
-)
+static void halbtc8723b2ant_SetFwDacSwingLevel(struct btc_coexist *pBtCoexist,
+ u8 dacSwingLvl)
{
- u8 H2C_Parameter[1] = {0};
+ u8 H2C_Parameter[1] = { 0 };
/* There are several type of dacswing */
/* 0x18/ 0x10/ 0xc/ 0x8/ 0x4/ 0x6 */
@@ -426,20 +393,18 @@ static void halbtc8723b2ant_SetFwDacSwingLevel(
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x64, 1, H2C_Parameter);
}
-static void halbtc8723b2ant_SetFwDecBtPwr(
- struct btc_coexist *pBtCoexist, u8 decBtPwrLvl
-)
+static void halbtc8723b2ant_SetFwDecBtPwr(struct btc_coexist *pBtCoexist,
+ u8 decBtPwrLvl)
{
- u8 H2C_Parameter[1] = {0};
+ u8 H2C_Parameter[1] = { 0 };
H2C_Parameter[0] = decBtPwrLvl;
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x62, 1, H2C_Parameter);
}
-static void halbtc8723b2ant_DecBtPwr(
- struct btc_coexist *pBtCoexist, bool bForceExec, u8 decBtPwrLvl
-)
+static void halbtc8723b2ant_DecBtPwr(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 decBtPwrLvl)
{
pCoexDm->curBtDecPwrLvl = decBtPwrLvl;
@@ -452,9 +417,8 @@ static void halbtc8723b2ant_DecBtPwr(
pCoexDm->preBtDecPwrLvl = pCoexDm->curBtDecPwrLvl;
}
-static void halbtc8723b2ant_FwDacSwingLvl(
- struct btc_coexist *pBtCoexist, bool bForceExec, u8 fwDacSwingLvl
-)
+static void halbtc8723b2ant_FwDacSwingLvl(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 fwDacSwingLvl)
{
pCoexDm->curFwDacSwingLvl = fwDacSwingLvl;
@@ -463,31 +427,32 @@ static void halbtc8723b2ant_FwDacSwingLvl(
return;
}
- halbtc8723b2ant_SetFwDacSwingLevel(pBtCoexist, pCoexDm->curFwDacSwingLvl);
+ halbtc8723b2ant_SetFwDacSwingLevel(pBtCoexist,
+ pCoexDm->curFwDacSwingLvl);
pCoexDm->preFwDacSwingLvl = pCoexDm->curFwDacSwingLvl;
}
-static void halbtc8723b2ant_SetSwRfRxLpfCorner(
- struct btc_coexist *pBtCoexist,
- bool bRxRfShrinkOn
-)
+static void halbtc8723b2ant_SetSwRfRxLpfCorner(struct btc_coexist *pBtCoexist,
+ bool bRxRfShrinkOn)
{
if (bRxRfShrinkOn) {
/* Shrink RF Rx LPF corner */
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1e, 0xfffff, 0xffffc);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1e, 0xfffff,
+ 0xffffc);
} else {
/* Resume RF Rx LPF corner */
/* After initialized, we can use pCoexDm->btRf0x1eBackup */
if (pBtCoexist->bInitilized) {
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1e, 0xfffff, pCoexDm->btRf0x1eBackup);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1e,
+ 0xfffff,
+ pCoexDm->btRf0x1eBackup);
}
}
}
-static void halbtc8723b2ant_RfShrink(
- struct btc_coexist *pBtCoexist, bool bForceExec, bool bRxRfShrinkOn
-)
+static void halbtc8723b2ant_RfShrink(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bRxRfShrinkOn)
{
pCoexDm->bCurRfRxLpfShrink = bRxRfShrinkOn;
@@ -495,33 +460,34 @@ static void halbtc8723b2ant_RfShrink(
if (pCoexDm->bPreRfRxLpfShrink == pCoexDm->bCurRfRxLpfShrink)
return;
}
- halbtc8723b2ant_SetSwRfRxLpfCorner(pBtCoexist, pCoexDm->bCurRfRxLpfShrink);
+ halbtc8723b2ant_SetSwRfRxLpfCorner(pBtCoexist,
+ pCoexDm->bCurRfRxLpfShrink);
pCoexDm->bPreRfRxLpfShrink = pCoexDm->bCurRfRxLpfShrink;
}
-static void halbtc8723b2ant_SetSwPenaltyTxRateAdaptive(
- struct btc_coexist *pBtCoexist, bool bLowPenaltyRa
-)
+static void
+halbtc8723b2ant_SetSwPenaltyTxRateAdaptive(struct btc_coexist *pBtCoexist,
+ bool bLowPenaltyRa)
{
- u8 H2C_Parameter[6] = {0};
+ u8 H2C_Parameter[6] = { 0 };
- H2C_Parameter[0] = 0x6; /* opCode, 0x6 = Retry_Penalty */
+ H2C_Parameter[0] = 0x6; /* opCode, 0x6 = Retry_Penalty */
if (bLowPenaltyRa) {
H2C_Parameter[1] |= BIT(0);
- H2C_Parameter[2] = 0x00; /* normal rate except MCS7/6/5, OFDM54/48/36 */
- H2C_Parameter[3] = 0xf7; /* MCS7 or OFDM54 */
- H2C_Parameter[4] = 0xf8; /* MCS6 or OFDM48 */
- H2C_Parameter[5] = 0xf9; /* MCS5 or OFDM36 */
+ H2C_Parameter[2] =
+ 0x00; /* normal rate except MCS7/6/5, OFDM54/48/36 */
+ H2C_Parameter[3] = 0xf7; /* MCS7 or OFDM54 */
+ H2C_Parameter[4] = 0xf8; /* MCS6 or OFDM48 */
+ H2C_Parameter[5] = 0xf9; /* MCS5 or OFDM36 */
}
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x69, 6, H2C_Parameter);
}
-static void halbtc8723b2ant_LowPenaltyRa(
- struct btc_coexist *pBtCoexist, bool bForceExec, bool bLowPenaltyRa
-)
+static void halbtc8723b2ant_LowPenaltyRa(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bLowPenaltyRa)
{
/* return; */
pCoexDm->bCurLowPenaltyRa = bLowPenaltyRa;
@@ -530,21 +496,23 @@ static void halbtc8723b2ant_LowPenaltyRa(
if (pCoexDm->bPreLowPenaltyRa == pCoexDm->bCurLowPenaltyRa)
return;
}
- halbtc8723b2ant_SetSwPenaltyTxRateAdaptive(pBtCoexist, pCoexDm->bCurLowPenaltyRa);
+ halbtc8723b2ant_SetSwPenaltyTxRateAdaptive(pBtCoexist,
+ pCoexDm->bCurLowPenaltyRa);
pCoexDm->bPreLowPenaltyRa = pCoexDm->bCurLowPenaltyRa;
}
-static void halbtc8723b2ant_SetDacSwingReg(struct btc_coexist *pBtCoexist, u32 level)
+static void halbtc8723b2ant_SetDacSwingReg(struct btc_coexist *pBtCoexist,
+ u32 level)
{
u8 val = (u8)level;
pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x883, 0x3e, val);
}
-static void halbtc8723b2ant_SetSwFullTimeDacSwing(
- struct btc_coexist *pBtCoexist, bool bSwDacSwingOn, u32 swDacSwingLvl
-)
+static void
+halbtc8723b2ant_SetSwFullTimeDacSwing(struct btc_coexist *pBtCoexist,
+ bool bSwDacSwingOn, u32 swDacSwingLvl)
{
if (bSwDacSwingOn)
halbtc8723b2ant_SetDacSwingReg(pBtCoexist, swDacSwingLvl);
@@ -552,31 +520,28 @@ static void halbtc8723b2ant_SetSwFullTimeDacSwing(
halbtc8723b2ant_SetDacSwingReg(pBtCoexist, 0x18);
}
-static void halbtc8723b2ant_DacSwing(
- struct btc_coexist *pBtCoexist,
- bool bForceExec,
- bool bDacSwingOn,
- u32 dacSwingLvl
-)
+static void halbtc8723b2ant_DacSwing(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bDacSwingOn,
+ u32 dacSwingLvl)
{
pCoexDm->bCurDacSwingOn = bDacSwingOn;
pCoexDm->curDacSwingLvl = dacSwingLvl;
if (!bForceExec) {
if ((pCoexDm->bPreDacSwingOn == pCoexDm->bCurDacSwingOn) &&
- (pCoexDm->preDacSwingLvl == pCoexDm->curDacSwingLvl))
+ (pCoexDm->preDacSwingLvl == pCoexDm->curDacSwingLvl))
return;
}
mdelay(30);
- halbtc8723b2ant_SetSwFullTimeDacSwing(pBtCoexist, bDacSwingOn, dacSwingLvl);
+ halbtc8723b2ant_SetSwFullTimeDacSwing(pBtCoexist, bDacSwingOn,
+ dacSwingLvl);
pCoexDm->bPreDacSwingOn = pCoexDm->bCurDacSwingOn;
pCoexDm->preDacSwingLvl = pCoexDm->curDacSwingLvl;
}
-static void halbtc8723b2ant_SetAgcTable(
- struct btc_coexist *pBtCoexist, bool bAgcTableEn
-)
+static void halbtc8723b2ant_SetAgcTable(struct btc_coexist *pBtCoexist,
+ bool bAgcTableEn)
{
u8 rssiAdjustVal = 0;
@@ -602,21 +567,29 @@ static void halbtc8723b2ant_SetAgcTable(
/* RF Gain */
pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0xef, 0xfffff, 0x02000);
if (bAgcTableEn) {
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x3b, 0xfffff, 0x38fff);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x3b, 0xfffff, 0x38ffe);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x3b, 0xfffff,
+ 0x38fff);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x3b, 0xfffff,
+ 0x38ffe);
} else {
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x3b, 0xfffff, 0x380c3);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x3b, 0xfffff, 0x28ce6);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x3b, 0xfffff,
+ 0x380c3);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x3b, 0xfffff,
+ 0x28ce6);
}
pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0xef, 0xfffff, 0x0);
pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0xed, 0xfffff, 0x1);
if (bAgcTableEn) {
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x40, 0xfffff, 0x38fff);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x40, 0xfffff, 0x38ffe);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x40, 0xfffff,
+ 0x38fff);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x40, 0xfffff,
+ 0x38ffe);
} else {
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x40, 0xfffff, 0x380c3);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x40, 0xfffff, 0x28ce6);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x40, 0xfffff,
+ 0x380c3);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x40, 0xfffff,
+ 0x28ce6);
}
pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0xed, 0xfffff, 0x0);
@@ -624,12 +597,13 @@ static void halbtc8723b2ant_SetAgcTable(
if (bAgcTableEn)
rssiAdjustVal = 8;
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_U1_RSSI_ADJ_VAL_FOR_AGC_TABLE_ON, &rssiAdjustVal);
+ pBtCoexist->fBtcSet(pBtCoexist,
+ BTC_SET_U1_RSSI_ADJ_VAL_FOR_AGC_TABLE_ON,
+ &rssiAdjustVal);
}
-static void halbtc8723b2ant_AgcTable(
- struct btc_coexist *pBtCoexist, bool bForceExec, bool bAgcTableEn
-)
+static void halbtc8723b2ant_AgcTable(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bAgcTableEn)
{
pCoexDm->bCurAgcTableEn = bAgcTableEn;
@@ -642,13 +616,9 @@ static void halbtc8723b2ant_AgcTable(
pCoexDm->bPreAgcTableEn = pCoexDm->bCurAgcTableEn;
}
-static void halbtc8723b2ant_SetCoexTable(
- struct btc_coexist *pBtCoexist,
- u32 val0x6c0,
- u32 val0x6c4,
- u32 val0x6c8,
- u8 val0x6cc
-)
+static void halbtc8723b2ant_SetCoexTable(struct btc_coexist *pBtCoexist,
+ u32 val0x6c0, u32 val0x6c4,
+ u32 val0x6c8, u8 val0x6cc)
{
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x6c0, val0x6c0);
@@ -659,14 +629,9 @@ static void halbtc8723b2ant_SetCoexTable(
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x6cc, val0x6cc);
}
-static void halbtc8723b2ant_CoexTable(
- struct btc_coexist *pBtCoexist,
- bool bForceExec,
- u32 val0x6c0,
- u32 val0x6c4,
- u32 val0x6c8,
- u8 val0x6cc
-)
+static void halbtc8723b2ant_CoexTable(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u32 val0x6c0,
+ u32 val0x6c4, u32 val0x6c8, u8 val0x6cc)
{
pCoexDm->curVal0x6c0 = val0x6c0;
pCoexDm->curVal0x6c4 = val0x6c4;
@@ -674,15 +639,14 @@ static void halbtc8723b2ant_CoexTable(
pCoexDm->curVal0x6cc = val0x6cc;
if (!bForceExec) {
- if (
- (pCoexDm->preVal0x6c0 == pCoexDm->curVal0x6c0) &&
- (pCoexDm->preVal0x6c4 == pCoexDm->curVal0x6c4) &&
- (pCoexDm->preVal0x6c8 == pCoexDm->curVal0x6c8) &&
- (pCoexDm->preVal0x6cc == pCoexDm->curVal0x6cc)
- )
+ if ((pCoexDm->preVal0x6c0 == pCoexDm->curVal0x6c0) &&
+ (pCoexDm->preVal0x6c4 == pCoexDm->curVal0x6c4) &&
+ (pCoexDm->preVal0x6c8 == pCoexDm->curVal0x6c8) &&
+ (pCoexDm->preVal0x6cc == pCoexDm->curVal0x6cc))
return;
}
- halbtc8723b2ant_SetCoexTable(pBtCoexist, val0x6c0, val0x6c4, val0x6c8, val0x6cc);
+ halbtc8723b2ant_SetCoexTable(pBtCoexist, val0x6c0, val0x6c4, val0x6c8,
+ val0x6cc);
pCoexDm->preVal0x6c0 = pCoexDm->curVal0x6c0;
pCoexDm->preVal0x6c4 = pCoexDm->curVal0x6c4;
@@ -690,70 +654,80 @@ static void halbtc8723b2ant_CoexTable(
pCoexDm->preVal0x6cc = pCoexDm->curVal0x6cc;
}
-static void halbtc8723b2ant_CoexTableWithType(
- struct btc_coexist *pBtCoexist, bool bForceExec, u8 type
-)
+static void halbtc8723b2ant_CoexTableWithType(struct btc_coexist *pBtCoexist,
+ bool bForceExec, u8 type)
{
switch (type) {
case 0:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55555555, 0x55555555, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55555555,
+ 0x55555555, 0xffff, 0x3);
break;
case 1:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55555555, 0x5afa5afa, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55555555,
+ 0x5afa5afa, 0xffff, 0x3);
break;
case 2:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x5a5a5a5a, 0x5a5a5a5a, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x5a5a5a5a,
+ 0x5a5a5a5a, 0xffff, 0x3);
break;
case 3:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0xaaaaaaaa, 0xaaaaaaaa, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0xaaaaaaaa,
+ 0xaaaaaaaa, 0xffff, 0x3);
break;
case 4:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0xffffffff, 0xffffffff, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0xffffffff,
+ 0xffffffff, 0xffff, 0x3);
break;
case 5:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x5fff5fff, 0x5fff5fff, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x5fff5fff,
+ 0x5fff5fff, 0xffff, 0x3);
break;
case 6:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff, 0x5a5a5a5a, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff,
+ 0x5a5a5a5a, 0xffff, 0x3);
break;
case 7:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff, 0xfafafafa, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff,
+ 0xfafafafa, 0xffff, 0x3);
break;
case 8:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x5aea5aea, 0x5aea5aea, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x5aea5aea,
+ 0x5aea5aea, 0xffff, 0x3);
break;
case 9:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff, 0x5aea5aea, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff,
+ 0x5aea5aea, 0xffff, 0x3);
break;
case 10:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff, 0x5aff5aff, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff,
+ 0x5aff5aff, 0xffff, 0x3);
break;
case 11:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff, 0x5a5f5a5f, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff,
+ 0x5a5f5a5f, 0xffff, 0x3);
break;
case 12:
- halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff, 0x5f5f5f5f, 0xffff, 0x3);
+ halbtc8723b2ant_CoexTable(pBtCoexist, bForceExec, 0x55ff55ff,
+ 0x5f5f5f5f, 0xffff, 0x3);
break;
default:
break;
}
}
-static void halbtc8723b2ant_SetFwIgnoreWlanAct(
- struct btc_coexist *pBtCoexist, bool bEnable
-)
+static void halbtc8723b2ant_SetFwIgnoreWlanAct(struct btc_coexist *pBtCoexist,
+ bool bEnable)
{
- u8 H2C_Parameter[1] = {0};
+ u8 H2C_Parameter[1] = { 0 };
if (bEnable)
- H2C_Parameter[0] |= BIT(0); /* function enable */
+ H2C_Parameter[0] |= BIT(0); /* function enable */
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x63, 1, H2C_Parameter);
}
-static void halbtc8723b2ant_IgnoreWlanAct(
- struct btc_coexist *pBtCoexist, bool bForceExec, bool bEnable
-)
+static void halbtc8723b2ant_IgnoreWlanAct(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bEnable)
{
pCoexDm->bCurIgnoreWlanAct = bEnable;
@@ -766,16 +740,11 @@ static void halbtc8723b2ant_IgnoreWlanAct(
pCoexDm->bPreIgnoreWlanAct = pCoexDm->bCurIgnoreWlanAct;
}
-static void halbtc8723b2ant_SetFwPstdma(
- struct btc_coexist *pBtCoexist,
- u8 byte1,
- u8 byte2,
- u8 byte3,
- u8 byte4,
- u8 byte5
-)
+static void halbtc8723b2ant_SetFwPstdma(struct btc_coexist *pBtCoexist,
+ u8 byte1, u8 byte2, u8 byte3, u8 byte4,
+ u8 byte5)
{
- u8 H2C_Parameter[5] = {0};
+ u8 H2C_Parameter[5] = { 0 };
H2C_Parameter[0] = byte1;
H2C_Parameter[1] = byte2;
@@ -792,42 +761,36 @@ static void halbtc8723b2ant_SetFwPstdma(
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x60, 5, H2C_Parameter);
}
-static void halbtc8723b2ant_SwMechanism1(
- struct btc_coexist *pBtCoexist,
- bool bShrinkRxLPF,
- bool bLowPenaltyRA,
- bool bLimitedDIG,
- bool bBTLNAConstrain
-)
+static void halbtc8723b2ant_SwMechanism1(struct btc_coexist *pBtCoexist,
+ bool bShrinkRxLPF, bool bLowPenaltyRA,
+ bool bLimitedDIG, bool bBTLNAConstrain)
{
halbtc8723b2ant_RfShrink(pBtCoexist, NORMAL_EXEC, bShrinkRxLPF);
halbtc8723b2ant_LowPenaltyRa(pBtCoexist, NORMAL_EXEC, bLowPenaltyRA);
}
-static void halbtc8723b2ant_SwMechanism2(
- struct btc_coexist *pBtCoexist,
- bool bAGCTableShift,
- bool bADCBackOff,
- bool bSWDACSwing,
- u32 dacSwingLvl
-)
+static void halbtc8723b2ant_SwMechanism2(struct btc_coexist *pBtCoexist,
+ bool bAGCTableShift, bool bADCBackOff,
+ bool bSWDACSwing, u32 dacSwingLvl)
{
halbtc8723b2ant_AgcTable(pBtCoexist, NORMAL_EXEC, bAGCTableShift);
- halbtc8723b2ant_DacSwing(pBtCoexist, NORMAL_EXEC, bSWDACSwing, dacSwingLvl);
+ halbtc8723b2ant_DacSwing(pBtCoexist, NORMAL_EXEC, bSWDACSwing,
+ dacSwingLvl);
}
-static void halbtc8723b2ant_SetAntPath(
- struct btc_coexist *pBtCoexist, u8 antPosType, bool bInitHwCfg, bool bWifiOff
-)
+static void halbtc8723b2ant_SetAntPath(struct btc_coexist *pBtCoexist,
+ u8 antPosType, bool bInitHwCfg,
+ bool bWifiOff)
{
struct btc_board_info *pBoardInfo = &pBtCoexist->boardInfo;
u32 fwVer = 0, u4Tmp = 0;
bool bPgExtSwitch = false;
bool bUseExtSwitch = false;
- u8 H2C_Parameter[2] = {0};
+ u8 H2C_Parameter[2] = { 0 };
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_EXT_SWITCH, &bPgExtSwitch);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_FW_VER, &fwVer); /* [31:16]=fw ver, [15:0]=fw sub ver */
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_FW_VER,
+ &fwVer); /* [31:16]=fw ver, [15:0]=fw sub ver */
if ((fwVer > 0 && fwVer < 0xc0000) || bPgExtSwitch)
bUseExtSwitch = true;
@@ -842,15 +805,18 @@ static void halbtc8723b2ant_SetAntPath(
if (fwVer >= 0x180000) {
/* Use H2C to set GNT_BT to LOW */
H2C_Parameter[0] = 0;
- pBtCoexist->fBtcFillH2c(pBtCoexist, 0x6E, 1, H2C_Parameter);
+ pBtCoexist->fBtcFillH2c(pBtCoexist, 0x6E, 1,
+ H2C_Parameter);
} else {
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x765, 0x0);
}
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x0); /* WiFi TRx Mask off */
- pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF, 0x3c, 0x01); /* BT TRx Mask off */
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff,
+ 0x0); /* WiFi TRx Mask off */
+ pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF, 0x3c,
+ 0x01); /* BT TRx Mask off */
if (pBoardInfo->btdmAntPos == BTC_ANTENNA_AT_MAIN_PORT) {
/* tell firmware "no antenna inverse" */
@@ -880,13 +846,19 @@ static void halbtc8723b2ant_SetAntPath(
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x4c, u4Tmp);
}
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0); /* fixed internal switch S1->WiFi, S0->BT */
+ pBtCoexist->fBtcWrite4Byte(
+ pBtCoexist, 0x948,
+ 0x0); /* fixed internal switch S1->WiFi, S0->BT */
switch (antPosType) {
case BTC_ANT_WIFI_AT_MAIN:
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x92c, 0x3, 0x1); /* ext switch main at wifi */
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x92c, 0x3,
+ 0x1); /* ext switch main at wifi */
break;
case BTC_ANT_WIFI_AT_AUX:
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x92c, 0x3, 0x2); /* ext switch aux at wifi */
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x92c, 0x3,
+ 0x2); /* ext switch aux at wifi */
break;
}
} else { /* internal switch */
@@ -898,30 +870,33 @@ static void halbtc8723b2ant_SetAntPath(
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x4c, u4Tmp);
}
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x64, 0x1, 0x0); /* fixed external switch S1->Main, S0->Aux */
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x64, 0x1,
+ 0x0); /* fixed external switch S1->Main, S0->Aux */
switch (antPosType) {
case BTC_ANT_WIFI_AT_MAIN:
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0); /* fixed internal switch S1->WiFi, S0->BT */
+ pBtCoexist->fBtcWrite4Byte(
+ pBtCoexist, 0x948,
+ 0x0); /* fixed internal switch S1->WiFi, S0->BT */
break;
case BTC_ANT_WIFI_AT_AUX:
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x280); /* fixed internal switch S0->WiFi, S1->BT */
+ pBtCoexist->fBtcWrite4Byte(
+ pBtCoexist, 0x948,
+ 0x280); /* fixed internal switch S0->WiFi, S1->BT */
break;
}
}
}
-static void halbtc8723b2ant_PsTdma(
- struct btc_coexist *pBtCoexist, bool bForceExec, bool bTurnOn, u8 type
-)
+static void halbtc8723b2ant_PsTdma(struct btc_coexist *pBtCoexist,
+ bool bForceExec, bool bTurnOn, u8 type)
{
pCoexDm->bCurPsTdmaOn = bTurnOn;
pCoexDm->curPsTdma = type;
if (!bForceExec) {
- if (
- (pCoexDm->bPrePsTdmaOn == pCoexDm->bCurPsTdmaOn) &&
- (pCoexDm->prePsTdma == pCoexDm->curPsTdma)
- )
+ if ((pCoexDm->bPrePsTdmaOn == pCoexDm->bCurPsTdmaOn) &&
+ (pCoexDm->prePsTdma == pCoexDm->curPsTdma))
return;
}
@@ -929,83 +904,108 @@ static void halbtc8723b2ant_PsTdma(
switch (type) {
case 1:
default:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a, 0x1a, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a,
+ 0x1a, 0xe1, 0x90);
break;
case 2:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x12, 0x12, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x12,
+ 0x12, 0xe1, 0x90);
break;
case 3:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1c, 0x3, 0xf1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1c, 0x3,
+ 0xf1, 0x90);
break;
case 4:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x10, 0x03, 0xf1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x10,
+ 0x03, 0xf1, 0x90);
break;
case 5:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a, 0x1a, 0x60, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a,
+ 0x1a, 0x60, 0x90);
break;
case 6:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x12, 0x12, 0x60, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x12,
+ 0x12, 0x60, 0x90);
break;
case 7:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1c, 0x3, 0x70, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1c, 0x3,
+ 0x70, 0x90);
break;
case 8:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xa3, 0x10, 0x3, 0x70, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xa3, 0x10, 0x3,
+ 0x70, 0x90);
break;
case 9:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a, 0x1a, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a,
+ 0x1a, 0xe1, 0x90);
break;
case 10:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x12, 0x12, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x12,
+ 0x12, 0xe1, 0x90);
break;
case 11:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0xa, 0xa, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0xa, 0xa,
+ 0xe1, 0x90);
break;
case 12:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x5, 0x5, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x5, 0x5,
+ 0xe1, 0x90);
break;
case 13:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a, 0x1a, 0x60, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a,
+ 0x1a, 0x60, 0x90);
break;
case 14:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x12, 0x12, 0x60, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x12,
+ 0x12, 0x60, 0x90);
break;
case 15:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0xa, 0xa, 0x60, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0xa, 0xa,
+ 0x60, 0x90);
break;
case 16:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x5, 0x5, 0x60, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x5, 0x5,
+ 0x60, 0x90);
break;
case 17:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xa3, 0x2f, 0x2f, 0x60, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xa3, 0x2f,
+ 0x2f, 0x60, 0x90);
break;
case 18:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x5, 0x5, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x5, 0x5,
+ 0xe1, 0x90);
break;
case 19:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x25, 0x25, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x25,
+ 0x25, 0xe1, 0x90);
break;
case 20:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x25, 0x25, 0x60, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x25,
+ 0x25, 0x60, 0x90);
break;
case 21:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x15, 0x03, 0x70, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x15,
+ 0x03, 0x70, 0x90);
break;
case 71:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a, 0x1a, 0xe1, 0x90);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0xe3, 0x1a,
+ 0x1a, 0xe1, 0x90);
break;
}
} else {
/* disable PS tdma */
switch (type) {
case 0:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0, 0x40, 0x0);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0,
+ 0x40, 0x0);
break;
case 1:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0, 0x48, 0x0);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0,
+ 0x48, 0x0);
break;
default:
- halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0, 0x40, 0x0);
+ halbtc8723b2ant_SetFwPstdma(pBtCoexist, 0x0, 0x0, 0x0,
+ 0x40, 0x0);
break;
}
}
@@ -1048,8 +1048,10 @@ static void halbtc8723b2ant_ActionBtInquiry(struct btc_coexist *pBtCoexist)
bool bWifiConnected = false;
bool bLowPwrDisable = true;
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER, &bLowPwrDisable);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER,
+ &bLowPwrDisable);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
if (bWifiConnected) {
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
@@ -1068,7 +1070,8 @@ static void halbtc8723b2ant_ActionBtInquiry(struct btc_coexist *pBtCoexist)
pCoexDm->bNeedRecover0x948 = true;
pCoexDm->backup0x948 = pBtCoexist->fBtcRead4Byte(pBtCoexist, 0x948);
- halbtc8723b2ant_SetAntPath(pBtCoexist, BTC_ANT_WIFI_AT_AUX, false, false);
+ halbtc8723b2ant_SetAntPath(pBtCoexist, BTC_ANT_WIFI_AT_AUX, false,
+ false);
}
static bool halbtc8723b2ant_IsCommonAction(struct btc_coexist *pBtCoexist)
@@ -1078,62 +1081,90 @@ static bool halbtc8723b2ant_IsCommonAction(struct btc_coexist *pBtCoexist)
bool bBtHsOn = false, bLowPwrDisable = false;
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_HS_OPERATION, &bBtHsOn);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_BUSY, &bWifiBusy);
if (!bWifiConnected) {
bLowPwrDisable = false;
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER, &bLowPwrDisable);
- halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false, 0x8);
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER,
+ &bLowPwrDisable);
+ halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false,
+ 0x8);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x0);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff,
+ 0x0);
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 0);
halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 1);
halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC, 6);
halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 0);
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false,
+ false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false,
+ 0x18);
bCommon = true;
} else {
- if (pCoexDm->btStatus == BT_8723B_2ANT_BT_STATUS_NON_CONNECTED_IDLE) {
+ if (pCoexDm->btStatus ==
+ BT_8723B_2ANT_BT_STATUS_NON_CONNECTED_IDLE) {
bLowPwrDisable = false;
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER, &bLowPwrDisable);
- halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false, 0x8);
-
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x0);
- halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 0);
- halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 1);
- halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC, 0xb);
+ pBtCoexist->fBtcSet(pBtCoexist,
+ BTC_SET_ACT_DISABLE_LOW_POWER,
+ &bLowPwrDisable);
+ halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC,
+ false, false, 0x8);
+
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1,
+ 0xfffff, 0x0);
+ halbtc8723b2ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 0);
+ halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, false,
+ 1);
+ halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC,
+ 0xb);
halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 0);
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
bCommon = true;
- } else if (pCoexDm->btStatus == BT_8723B_2ANT_BT_STATUS_CONNECTED_IDLE) {
+ } else if (pCoexDm->btStatus ==
+ BT_8723B_2ANT_BT_STATUS_CONNECTED_IDLE) {
bLowPwrDisable = true;
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER, &bLowPwrDisable);
+ pBtCoexist->fBtcSet(pBtCoexist,
+ BTC_SET_ACT_DISABLE_LOW_POWER,
+ &bLowPwrDisable);
if (bBtHsOn)
return false;
- halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false, 0x8);
-
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x0);
- halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 0);
- halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 1);
- halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC, 0xb);
+ halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC,
+ false, false, 0x8);
+
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1,
+ 0xfffff, 0x0);
+ halbtc8723b2ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 0);
+ halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, false,
+ 1);
+ halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC,
+ 0xb);
halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 0);
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
bCommon = true;
} else {
bLowPwrDisable = true;
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_ACT_DISABLE_LOW_POWER, &bLowPwrDisable);
+ pBtCoexist->fBtcSet(pBtCoexist,
+ BTC_SET_ACT_DISABLE_LOW_POWER,
+ &bLowPwrDisable);
if (bWifiBusy) {
bCommon = false;
@@ -1141,21 +1172,32 @@ static bool halbtc8723b2ant_IsCommonAction(struct btc_coexist *pBtCoexist)
if (bBtHsOn)
return false;
- btRssiState = halbtc8723b2ant_BtRssiState(2, 29, 0);
- halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false, 0x8);
-
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x0);
- halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
- halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 21);
- halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC, 0xb);
+ btRssiState =
+ halbtc8723b2ant_BtRssiState(2, 29, 0);
+ halbtc8723b2ant_LimitedRx(pBtCoexist,
+ NORMAL_EXEC, false,
+ false, 0x8);
+
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A,
+ 0x1, 0xfffff, 0x0);
+ halbtc8723b2ant_CoexTableWithType(
+ pBtCoexist, NORMAL_EXEC, 7);
+ halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC,
+ true, 21);
+ halbtc8723b2ant_FwDacSwingLvl(pBtCoexist,
+ NORMAL_EXEC, 0xb);
if (BTC_RSSI_HIGH(btRssiState))
- halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 2);
+ halbtc8723b2ant_DecBtPwr(
+ pBtCoexist, NORMAL_EXEC, 2);
else
- halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 0);
+ halbtc8723b2ant_DecBtPwr(
+ pBtCoexist, NORMAL_EXEC, 0);
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(
+ pBtCoexist, false, false, false, false);
+ halbtc8723b2ant_SwMechanism2(
+ pBtCoexist, false, false, false, 0x18);
bCommon = true;
}
}
@@ -1164,12 +1206,12 @@ static bool halbtc8723b2ant_IsCommonAction(struct btc_coexist *pBtCoexist)
return bCommon;
}
-static void halbtc8723b2ant_TdmaDurationAdjust(
- struct btc_coexist *pBtCoexist, bool bScoHid, bool bTxPause, u8 maxInterval
-)
+static void halbtc8723b2ant_TdmaDurationAdjust(struct btc_coexist *pBtCoexist,
+ bool bScoHid, bool bTxPause,
+ u8 maxInterval)
{
static s32 up, dn, m, n, WaitCount;
- s32 result; /* 0: no change, +1: increase WiFi duration, -1: decrease WiFi duration */
+ s32 result; /* 0: no change, +1: increase WiFi duration, -1: decrease WiFi duration */
u8 retryCount = 0;
if (!pCoexDm->bAutoTdmaAdjust) {
@@ -1178,34 +1220,46 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
if (bScoHid) {
if (bTxPause) {
if (maxInterval == 1)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(13);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 13);
else if (maxInterval == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
else
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
} else {
if (maxInterval == 1)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(9);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 9);
else if (maxInterval == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
else
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
}
} else {
if (bTxPause) {
if (maxInterval == 1)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(5);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 5);
else if (maxInterval == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(6);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 6);
else
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
} else {
if (maxInterval == 1)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(1);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 1);
else if (maxInterval == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(2);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 2);
else
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
}
}
}
@@ -1222,34 +1276,39 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
result = 0;
WaitCount++;
- if (retryCount == 0) { /* no retry in the last 2-second duration */
+ if (retryCount ==
+ 0) { /* no retry in the last 2-second duration */
up++;
dn--;
if (dn <= 0)
dn = 0;
- if (up >= n) { /* if 連續 n 個2秒 retry count為0, 則調寬WiFi duration */
+ if (up >=
+ n) { /* if 連續 n 個2秒 retry count為0, 則調寬WiFi duration */
WaitCount = 0;
n = 3;
up = 0;
dn = 0;
result = 1;
}
- } else if (retryCount <= 3) { /* <=3 retry in the last 2-second duration */
+ } else if (retryCount <=
+ 3) { /* <=3 retry in the last 2-second duration */
up--;
dn++;
if (up <= 0)
up = 0;
- if (dn == 2) { /* if 連續 2 個2秒 retry count< 3, 則調窄WiFi duration */
+ if (dn ==
+ 2) { /* if 連續 2 個2秒 retry count< 3, 則調窄WiFi duration */
if (WaitCount <= 2)
m++; /* 避免一直在兩個level中來回 */
else
m = 1;
- if (m >= 20) /* m 最大值 = 20 ' 最大120秒 recheck是否調整 WiFi duration. */
+ if (m >=
+ 20) /* m 最大值 = 20 ' 最大120秒 recheck是否調整 WiFi duration. */
m = 20;
n = 3 * m;
@@ -1264,7 +1323,8 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
else
m = 1;
- if (m >= 20) /* m 最大值 = 20 ' 最大120秒 recheck是否調整 WiFi duration. */
+ if (m >=
+ 20) /* m 最大值 = 20 ' 最大120秒 recheck是否調整 WiFi duration. */
m = 20;
n = 3 * m;
@@ -1288,44 +1348,61 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(8);
if (pCoexDm->curPsTdma == 9)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(13);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 13);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 12)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(16);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 16);
if (result == -1) {
if (pCoexDm->curPsTdma == 5)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(6);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 6);
else if (pCoexDm->curPsTdma == 6)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 7)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(8);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 8);
else if (pCoexDm->curPsTdma == 13)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(16);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 16);
} else if (result == 1) {
if (pCoexDm->curPsTdma == 8)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 7)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(6);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 6);
else if (pCoexDm->curPsTdma == 6)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(5);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 5);
else if (pCoexDm->curPsTdma == 16)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(13);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 13);
}
} else {
if (pCoexDm->curPsTdma == 5)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(71);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 71);
else if (pCoexDm->curPsTdma == 6)
HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(2);
else if (pCoexDm->curPsTdma == 7)
@@ -1336,42 +1413,59 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
if (pCoexDm->curPsTdma == 13)
HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(9);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 16)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(12);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 12);
if (result == -1) {
if (pCoexDm->curPsTdma == 71)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(1);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 1);
else if (pCoexDm->curPsTdma == 1)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(2);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 2);
else if (pCoexDm->curPsTdma == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 3)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(4);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 4);
else if (pCoexDm->curPsTdma == 9)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(12);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 12);
} else if (result == 1) {
if (pCoexDm->curPsTdma == 4)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 3)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(2);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 2);
else if (pCoexDm->curPsTdma == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(1);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 1);
else if (pCoexDm->curPsTdma == 1)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(71);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 71);
else if (pCoexDm->curPsTdma == 12)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(9);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 9);
}
}
} else if (maxInterval == 2) {
@@ -1386,40 +1480,56 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(8);
if (pCoexDm->curPsTdma == 9)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 12)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(16);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 16);
if (result == -1) {
if (pCoexDm->curPsTdma == 5)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(6);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 6);
else if (pCoexDm->curPsTdma == 6)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 7)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(8);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 8);
else if (pCoexDm->curPsTdma == 13)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(16);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 16);
} else if (result == 1) {
if (pCoexDm->curPsTdma == 8)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 7)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(6);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 6);
else if (pCoexDm->curPsTdma == 6)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(6);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 6);
else if (pCoexDm->curPsTdma == 16)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(14);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 14);
}
} else {
if (pCoexDm->curPsTdma == 5)
@@ -1432,40 +1542,56 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(4);
if (pCoexDm->curPsTdma == 13)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 16)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(12);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 12);
if (result == -1) {
if (pCoexDm->curPsTdma == 1)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(2);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 2);
else if (pCoexDm->curPsTdma == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 3)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(4);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 4);
else if (pCoexDm->curPsTdma == 9)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(12);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 12);
} else if (result == 1) {
if (pCoexDm->curPsTdma == 4)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 3)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(2);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 2);
else if (pCoexDm->curPsTdma == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(2);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 2);
else if (pCoexDm->curPsTdma == 12)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(10);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 10);
}
}
} else if (maxInterval == 3) {
@@ -1480,40 +1606,56 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(8);
if (pCoexDm->curPsTdma == 9)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 12)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(16);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 16);
if (result == -1) {
if (pCoexDm->curPsTdma == 5)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 6)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 7)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(8);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 8);
else if (pCoexDm->curPsTdma == 13)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(16);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 16);
} else if (result == 1) {
if (pCoexDm->curPsTdma == 8)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 7)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 6)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(7);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 7);
else if (pCoexDm->curPsTdma == 16)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(15);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 15);
}
} else {
if (pCoexDm->curPsTdma == 5)
@@ -1526,40 +1668,56 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(4);
if (pCoexDm->curPsTdma == 13)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 14)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 15)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 16)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(12);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 12);
if (result == -1) {
if (pCoexDm->curPsTdma == 1)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 3)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(4);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 4);
else if (pCoexDm->curPsTdma == 9)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(12);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 12);
} else if (result == 1) {
if (pCoexDm->curPsTdma == 4)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 3)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 2)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(3);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 3);
else if (pCoexDm->curPsTdma == 12)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 11)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
else if (pCoexDm->curPsTdma == 10)
- HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(11);
+ HAL_BTC8723B2ANT_DMA_DURATION_ADJUST(
+ 11);
}
}
}
@@ -1575,8 +1733,8 @@ static void halbtc8723b2ant_TdmaDurationAdjust(
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_ROAM, &bRoam);
if (!bScan && !bLink && !bRoam)
- halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, pCoexDm->psTdmaDuAdjType);
-
+ halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true,
+ pCoexDm->psTdmaDuAdjType);
}
}
@@ -1604,33 +1762,38 @@ static void halbtc8723b2ant_ActionSco(struct btc_coexist *pBtCoexist)
if (wifiBw == BTC_WIFI_BW_LEGACY) /* for SCO quality at 11b/g mode */
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 2);
- else /* for SCO quality & wifi performance balance at 11n mode */
+ else /* for SCO quality & wifi performance balance at 11n mode */
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 8);
- halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, false, 0); /* for voice quality */
+ halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, false,
+ 0); /* for voice quality */
/* sw mechanism */
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, true, 0x4);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ true, 0x4);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, true, 0x4);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ true, 0x4);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, true, 0x4);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ true, 0x4);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, true, 0x4);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ true, 0x4);
}
}
}
@@ -1658,39 +1821,41 @@ static void halbtc8723b2ant_ActionHid(struct btc_coexist *pBtCoexist)
if (wifiBw == BTC_WIFI_BW_LEGACY) /* for HID at 11b/g mode */
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
- else /* for HID quality & wifi performance balance at 11n mode */
+ else /* for HID quality & wifi performance balance at 11n mode */
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 9);
- if (
- (btRssiState == BTC_RSSI_STATE_HIGH) ||
- (btRssiState == BTC_RSSI_STATE_STAY_HIGH)
- )
+ if ((btRssiState == BTC_RSSI_STATE_HIGH) ||
+ (btRssiState == BTC_RSSI_STATE_STAY_HIGH))
halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 9);
else
halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 13);
/* sw mechanism */
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -1710,8 +1875,10 @@ static void halbtc8723b2ant_ActionA2dp(struct btc_coexist *pBtCoexist)
/* define the office environment */
if (apNum >= 10 && BTC_RSSI_HIGH(wifiRssiState1)) {
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x0);
- halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false, 0x8);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff,
+ 0x0);
+ halbtc8723b2ant_LimitedRx(pBtCoexist, NORMAL_EXEC, false, false,
+ 0x8);
halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC, 6);
halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 0);
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 0);
@@ -1720,11 +1887,15 @@ static void halbtc8723b2ant_ActionA2dp(struct btc_coexist *pBtCoexist)
/* sw mechanism */
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_BW, &wifiBw);
if (wifiBw == BTC_WIFI_BW_HT40) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, true, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ true, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, true, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ true, 0x18);
}
return;
}
@@ -1741,10 +1912,8 @@ static void halbtc8723b2ant_ActionA2dp(struct btc_coexist *pBtCoexist)
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
- if (
- (btRssiState == BTC_RSSI_STATE_HIGH) ||
- (btRssiState == BTC_RSSI_STATE_STAY_HIGH)
- )
+ if ((btRssiState == BTC_RSSI_STATE_HIGH) ||
+ (btRssiState == BTC_RSSI_STATE_STAY_HIGH))
halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, false, false, 1);
else
halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, false, true, 1);
@@ -1752,26 +1921,30 @@ static void halbtc8723b2ant_ActionA2dp(struct btc_coexist *pBtCoexist)
/* sw mechanism */
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_BW, &wifiBw);
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -1802,26 +1975,30 @@ static void halbtc8723b2ant_ActionA2dpPanHs(struct btc_coexist *pBtCoexist)
/* sw mechanism */
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_BW, &wifiBw);
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -1847,10 +2024,8 @@ static void halbtc8723b2ant_ActionPanEdr(struct btc_coexist *pBtCoexist)
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 10);
- if (
- (btRssiState == BTC_RSSI_STATE_HIGH) ||
- (btRssiState == BTC_RSSI_STATE_STAY_HIGH)
- )
+ if ((btRssiState == BTC_RSSI_STATE_HIGH) ||
+ (btRssiState == BTC_RSSI_STATE_STAY_HIGH))
halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 1);
else
halbtc8723b2ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 5);
@@ -1858,26 +2033,30 @@ static void halbtc8723b2ant_ActionPanEdr(struct btc_coexist *pBtCoexist)
/* sw mechanism */
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_BW, &wifiBw);
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -1908,26 +2087,30 @@ static void halbtc8723b2ant_ActionPanHs(struct btc_coexist *pBtCoexist)
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_BW, &wifiBw);
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -1954,15 +2137,15 @@ static void halbtc8723b2ant_ActionPanEdrA2dp(struct btc_coexist *pBtCoexist)
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_BW, &wifiBw);
- if (
- (btRssiState == BTC_RSSI_STATE_HIGH) ||
- (btRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
+ if ((btRssiState == BTC_RSSI_STATE_HIGH) ||
+ (btRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 12);
if (wifiBw == BTC_WIFI_BW_HT40)
- halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, false, true, 3);
+ halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, false,
+ true, 3);
else
- halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, false, false, 3);
+ halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, false,
+ false, 3);
} else {
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, false, true, 3);
@@ -1970,26 +2153,30 @@ static void halbtc8723b2ant_ActionPanEdrA2dp(struct btc_coexist *pBtCoexist)
/* sw mechanism */
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, false,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -2010,49 +2197,58 @@ static void halbtc8723b2ant_ActionPanEdrHid(struct btc_coexist *pBtCoexist)
else
halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 0);
- if (
- (btRssiState == BTC_RSSI_STATE_HIGH) ||
- (btRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
+ if ((btRssiState == BTC_RSSI_STATE_HIGH) ||
+ (btRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
if (wifiBw == BTC_WIFI_BW_HT40) {
- halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC, 3);
- halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 11);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x780);
+ halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC,
+ 3);
+ halbtc8723b2ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 11);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1,
+ 0xfffff, 0x780);
} else {
- halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC, 6);
- halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x0);
+ halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC,
+ 6);
+ halbtc8723b2ant_CoexTableWithType(pBtCoexist,
+ NORMAL_EXEC, 7);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1,
+ 0xfffff, 0x0);
}
halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true, false, 2);
} else {
halbtc8723b2ant_FwDacSwingLvl(pBtCoexist, NORMAL_EXEC, 6);
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 11);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x0);
+ pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff,
+ 0x0);
halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true, true, 2);
}
/* sw mechanism */
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -2081,39 +2277,43 @@ static void halbtc8723b2ant_ActionHidA2dpPanEdr(struct btc_coexist *pBtCoexist)
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
- if (
- (btRssiState == BTC_RSSI_STATE_HIGH) ||
- (btRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
+ if ((btRssiState == BTC_RSSI_STATE_HIGH) ||
+ (btRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
if (wifiBw == BTC_WIFI_BW_HT40)
- halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true, true, 2);
+ halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true,
+ true, 2);
else
- halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true, false, 3);
+ halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true,
+ false, 3);
} else
halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true, true, 3);
/* sw mechanism */
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -2145,12 +2345,15 @@ static void halbtc8723b2ant_ActionHidA2dp(struct btc_coexist *pBtCoexist)
} else {
/* only 802.11N mode we have to dec bt power to 4 degree */
if (BTC_RSSI_HIGH(btRssiState)) {
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_AP_NUM, &apNum);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_AP_NUM,
+ &apNum);
/* need to check ap Number of Not */
if (apNum < 10)
- halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 4);
+ halbtc8723b2ant_DecBtPwr(pBtCoexist,
+ NORMAL_EXEC, 4);
else
- halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 2);
+ halbtc8723b2ant_DecBtPwr(pBtCoexist,
+ NORMAL_EXEC, 2);
} else if (BTC_RSSI_MEDIUM(btRssiState))
halbtc8723b2ant_DecBtPwr(pBtCoexist, NORMAL_EXEC, 2);
else
@@ -2159,36 +2362,38 @@ static void halbtc8723b2ant_ActionHidA2dp(struct btc_coexist *pBtCoexist)
halbtc8723b2ant_CoexTableWithType(pBtCoexist, NORMAL_EXEC, 7);
- if (
- (btRssiState == BTC_RSSI_STATE_HIGH) ||
- (btRssiState == BTC_RSSI_STATE_STAY_HIGH)
- )
+ if ((btRssiState == BTC_RSSI_STATE_HIGH) ||
+ (btRssiState == BTC_RSSI_STATE_STAY_HIGH))
halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true, false, 2);
else
halbtc8723b2ant_TdmaDurationAdjust(pBtCoexist, true, true, 2);
/* sw mechanism */
if (wifiBw == BTC_WIFI_BW_HT40) {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, true, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
} else {
- if (
- (wifiRssiState == BTC_RSSI_STATE_HIGH) ||
- (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)
- ) {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false, false, 0x18);
+ if ((wifiRssiState == BTC_RSSI_STATE_HIGH) ||
+ (wifiRssiState == BTC_RSSI_STATE_STAY_HIGH)) {
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, true, false,
+ false, 0x18);
} else {
- halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true, false, false);
- halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false, false, 0x18);
+ halbtc8723b2ant_SwMechanism1(pBtCoexist, false, true,
+ false, false);
+ halbtc8723b2ant_SwMechanism2(pBtCoexist, false, false,
+ false, 0x18);
}
}
}
@@ -2206,13 +2411,15 @@ static void halbtc8723b2ant_RunCoexistMechanism(struct btc_coexist *pBtCoexist)
}
algorithm = halbtc8723b2ant_ActionAlgorithm(pBtCoexist);
- if (pCoexSta->bC2hBtInquiryPage && (algorithm != BT_8723B_2ANT_COEX_ALGO_PANHS)) {
+ if (pCoexSta->bC2hBtInquiryPage &&
+ (algorithm != BT_8723B_2ANT_COEX_ALGO_PANHS)) {
halbtc8723b2ant_ActionBtInquiry(pBtCoexist);
return;
} else {
if (pCoexDm->bNeedRecover0x948) {
pCoexDm->bNeedRecover0x948 = false;
- pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, pCoexDm->backup0x948);
+ pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948,
+ pCoexDm->backup0x948);
}
}
@@ -2267,13 +2474,15 @@ static void halbtc8723b2ant_RunCoexistMechanism(struct btc_coexist *pBtCoexist)
static void halbtc8723b2ant_WifiOffHwCfg(struct btc_coexist *pBtCoexist)
{
bool bIsInMpMode = false;
- u8 H2C_Parameter[2] = {0};
+ u8 H2C_Parameter[2] = { 0 };
u32 fwVer = 0;
/* set wlan_act to low */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0x4);
- pBtCoexist->fBtcSetRfReg(pBtCoexist, BTC_RF_A, 0x1, 0xfffff, 0x780); /* WiFi goto standby while GNT_BT 0-->1 */
+ pBtCoexist->fBtcSetRfReg(
+ pBtCoexist, BTC_RF_A, 0x1, 0xfffff,
+ 0x780); /* WiFi goto standby while GNT_BT 0-->1 */
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_FW_VER, &fwVer);
if (fwVer >= 0x180000) {
/* Use H2C to set GNT_BT to HIGH */
@@ -2282,14 +2491,20 @@ static void halbtc8723b2ant_WifiOffHwCfg(struct btc_coexist *pBtCoexist)
} else
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x765, 0x18);
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_IS_IN_MP_MODE, &bIsInMpMode);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_IS_IN_MP_MODE,
+ &bIsInMpMode);
if (!bIsInMpMode)
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x67, 0x20, 0x0); /* BT select s0/s1 is controlled by BT */
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x67, 0x20,
+ 0x0); /* BT select s0/s1 is controlled by BT */
else
- pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x67, 0x20, 0x1); /* BT select s0/s1 is controlled by WiFi */
+ pBtCoexist->fBtcWrite1ByteBitMask(
+ pBtCoexist, 0x67, 0x20,
+ 0x1); /* BT select s0/s1 is controlled by WiFi */
}
-static void halbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bBackUp)
+static void halbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist,
+ bool bBackUp)
{
u8 u1Tmp = 0;
@@ -2304,13 +2519,16 @@ static void halbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bB
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x790, u1Tmp);
/* Antenna config */
- halbtc8723b2ant_SetAntPath(pBtCoexist, BTC_ANT_WIFI_AT_MAIN, true, false);
+ halbtc8723b2ant_SetAntPath(pBtCoexist, BTC_ANT_WIFI_AT_MAIN, true,
+ false);
/* PTA parameter */
halbtc8723b2ant_CoexTableWithType(pBtCoexist, FORCE_EXEC, 0);
/* Enable counter statistics */
- pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0xc); /* 0x76e[3] = 1, WLAN_Act control by PTA */
+ pBtCoexist->fBtcWrite1Byte(
+ pBtCoexist, 0x76e,
+ 0xc); /* 0x76e[3] = 1, WLAN_Act control by PTA */
pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x778, 0x3);
pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x40, 0x20, 0x1);
}
@@ -2349,7 +2567,7 @@ void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist)
/* fixed at S0 for USB interface */
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0);
- u1Tmp |= 0x1; /* antenna inverse */
+ u1Tmp |= 0x1; /* antenna inverse */
pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0xfe08, u1Tmp);
pBoardInfo->btdmAntPos = BTC_ANTENNA_AT_AUX_PORT;
@@ -2362,18 +2580,21 @@ void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist)
} else if (pBoardInfo->singleAntPath == 1) {
/* set to S0 */
pBtCoexist->fBtcWrite4Byte(pBtCoexist, 0x948, 0x0);
- u1Tmp |= 0x1; /* antenna inverse */
+ u1Tmp |= 0x1; /* antenna inverse */
pBoardInfo->btdmAntPos = BTC_ANTENNA_AT_AUX_PORT;
}
if (pBtCoexist->chipInterface == BTC_INTF_PCI)
- pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0x384, u1Tmp);
+ pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0x384,
+ u1Tmp);
else if (pBtCoexist->chipInterface == BTC_INTF_SDIO)
- pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0x60, u1Tmp);
+ pBtCoexist->fBtcWriteLocalReg1Byte(pBtCoexist, 0x60,
+ u1Tmp);
}
}
-void EXhalbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly)
+void EXhalbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist,
+ bool bWifiOnly)
{
halbtc8723b2ant_InitHwConfig(pBtCoexist, true);
}
@@ -2421,15 +2642,17 @@ void EXhalbtc8723b2ant_ConnectNotify(struct btc_coexist *pBtCoexist, u8 type)
}
}
-void EXhalbtc8723b2ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type)
+void EXhalbtc8723b2ant_MediaStatusNotify(struct btc_coexist *pBtCoexist,
+ u8 type)
{
- u8 H2C_Parameter[3] = {0};
+ u8 H2C_Parameter[3] = { 0 };
u32 wifiBw;
u8 wifiCentralChnl;
u8 apNum = 0;
/* only 2.4G we need to inform bt the chnl mask */
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL, &wifiCentralChnl);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL,
+ &wifiCentralChnl);
if ((type == BTC_MEDIA_CONNECT) && (wifiCentralChnl <= 14)) {
H2C_Parameter[0] = 0x1;
H2C_Parameter[1] = wifiCentralChnl;
@@ -2437,7 +2660,8 @@ void EXhalbtc8723b2ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type
if (wifiBw == BTC_WIFI_BW_HT40)
H2C_Parameter[2] = 0x30;
else {
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_AP_NUM, &apNum);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U1_AP_NUM,
+ &apNum);
if (apNum < 10)
H2C_Parameter[2] = 0x30;
else
@@ -2452,16 +2676,16 @@ void EXhalbtc8723b2ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type
pBtCoexist->fBtcFillH2c(pBtCoexist, 0x66, 3, H2C_Parameter);
}
-void EXhalbtc8723b2ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 type)
+void EXhalbtc8723b2ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist,
+ u8 type)
{
}
-void EXhalbtc8723b2ant_BtInfoNotify(
- struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length
-)
+void EXhalbtc8723b2ant_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf,
+ u8 length)
{
- u8 btInfo = 0;
- u8 i, rspSource = 0;
+ u8 btInfo = 0;
+ u8 i, rspSource = 0;
bool bBtBusy = false, bLimitedDig = false;
bool bWifiConnected = false;
@@ -2477,7 +2701,6 @@ void EXhalbtc8723b2ant_BtInfoNotify(
pCoexSta->btInfoC2h[rspSource][i] = tmpBuf[i];
if (i == 1)
btInfo = tmpBuf[i];
-
}
if (pBtCoexist->bManualControl) {
@@ -2485,32 +2708,41 @@ void EXhalbtc8723b2ant_BtInfoNotify(
}
if (rspSource != BT_INFO_SRC_8723B_2ANT_WIFI_FW) {
- pCoexSta->btRetryCnt = pCoexSta->btInfoC2h[rspSource][2] & 0xf; /* [3:0] */
+ pCoexSta->btRetryCnt = pCoexSta->btInfoC2h[rspSource][2] &
+ 0xf; /* [3:0] */
pCoexSta->btRssi = pCoexSta->btInfoC2h[rspSource][3] * 2 + 10;
pCoexSta->btInfoExt = pCoexSta->btInfoC2h[rspSource][4];
- pCoexSta->bBtTxRxMask = (pCoexSta->btInfoC2h[rspSource][2] & 0x40);
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_TX_RX_MASK, &pCoexSta->bBtTxRxMask);
+ pCoexSta->bBtTxRxMask =
+ (pCoexSta->btInfoC2h[rspSource][2] & 0x40);
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_TX_RX_MASK,
+ &pCoexSta->bBtTxRxMask);
if (pCoexSta->bBtTxRxMask) {
/* BT into is responded by BT FW and BT RF REG 0x3C != 0x01 => Need to switch BT TRx Mask */
- pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF, 0x3c, 0x01);
+ pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF,
+ 0x3c, 0x01);
}
/* Here we need to resend some wifi info to BT */
/* because bt is reset and loss of the info. */
if ((pCoexSta->btInfoExt & BIT(1))) {
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_BL_WIFI_CONNECTED, &bWifiConnected);
+ pBtCoexist->fBtcGet(pBtCoexist,
+ BTC_GET_BL_WIFI_CONNECTED,
+ &bWifiConnected);
if (bWifiConnected)
- EXhalbtc8723b2ant_MediaStatusNotify(pBtCoexist, BTC_MEDIA_CONNECT);
+ EXhalbtc8723b2ant_MediaStatusNotify(
+ pBtCoexist, BTC_MEDIA_CONNECT);
else
- EXhalbtc8723b2ant_MediaStatusNotify(pBtCoexist, BTC_MEDIA_DISCONNECT);
+ EXhalbtc8723b2ant_MediaStatusNotify(
+ pBtCoexist, BTC_MEDIA_DISCONNECT);
}
if ((pCoexSta->btInfoExt & BIT(3))) {
- halbtc8723b2ant_IgnoreWlanAct(pBtCoexist, FORCE_EXEC, false);
+ halbtc8723b2ant_IgnoreWlanAct(pBtCoexist, FORCE_EXEC,
+ false);
} else {
/* BT already NOT ignore Wlan active, do nothing here. */
}
@@ -2553,12 +2785,11 @@ void EXhalbtc8723b2ant_BtInfoNotify(
if (!(btInfo & BT_INFO_8723B_2ANT_B_CONNECTION)) {
pCoexDm->btStatus = BT_8723B_2ANT_BT_STATUS_NON_CONNECTED_IDLE;
- } else if (btInfo == BT_INFO_8723B_2ANT_B_CONNECTION) { /* connection exists but no busy */
+ } else if (btInfo ==
+ BT_INFO_8723B_2ANT_B_CONNECTION) { /* connection exists but no busy */
pCoexDm->btStatus = BT_8723B_2ANT_BT_STATUS_CONNECTED_IDLE;
- } else if (
- (btInfo & BT_INFO_8723B_2ANT_B_SCO_ESCO) ||
- (btInfo & BT_INFO_8723B_2ANT_B_SCO_BUSY)
- ) {
+ } else if ((btInfo & BT_INFO_8723B_2ANT_B_SCO_ESCO) ||
+ (btInfo & BT_INFO_8723B_2ANT_B_SCO_BUSY)) {
pCoexDm->btStatus = BT_8723B_2ANT_BT_STATUS_SCO_BUSY;
} else if (btInfo & BT_INFO_8723B_2ANT_B_ACL_BUSY) {
pCoexDm->btStatus = BT_8723B_2ANT_BT_STATUS_ACL_BUSY;
@@ -2566,11 +2797,9 @@ void EXhalbtc8723b2ant_BtInfoNotify(
pCoexDm->btStatus = BT_8723B_2ANT_BT_STATUS_MAX;
}
- if (
- (pCoexDm->btStatus == BT_8723B_2ANT_BT_STATUS_ACL_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_2ANT_BT_STATUS_SCO_BUSY) ||
- (pCoexDm->btStatus == BT_8723B_2ANT_BT_STATUS_ACL_SCO_BUSY)
- ) {
+ if ((pCoexDm->btStatus == BT_8723B_2ANT_BT_STATUS_ACL_BUSY) ||
+ (pCoexDm->btStatus == BT_8723B_2ANT_BT_STATUS_SCO_BUSY) ||
+ (pCoexDm->btStatus == BT_8723B_2ANT_BT_STATUS_ACL_SCO_BUSY)) {
bBtBusy = true;
bLimitedDig = true;
} else {
@@ -2581,7 +2810,8 @@ void EXhalbtc8723b2ant_BtInfoNotify(
pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_TRAFFIC_BUSY, &bBtBusy);
pCoexDm->bLimitedDig = bLimitedDig;
- pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_LIMITED_DIG, &bLimitedDig);
+ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_LIMITED_DIG,
+ &bLimitedDig);
halbtc8723b2ant_RunCoexistMechanism(pBtCoexist);
}
@@ -2589,7 +2819,8 @@ void EXhalbtc8723b2ant_BtInfoNotify(
void EXhalbtc8723b2ant_HaltNotify(struct btc_coexist *pBtCoexist)
{
halbtc8723b2ant_WifiOffHwCfg(pBtCoexist);
- pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF, 0x3c, 0x15); /* BT goto standby while GNT_BT 1-->0 */
+ pBtCoexist->fBtcSetBtReg(pBtCoexist, BTC_BT_REG_RF, 0x3c,
+ 0x15); /* BT goto standby while GNT_BT 1-->0 */
halbtc8723b2ant_IgnoreWlanAct(pBtCoexist, FORCE_EXEC, true);
EXhalbtc8723b2ant_MediaStatusNotify(pBtCoexist, BTC_MEDIA_DISCONNECT);
@@ -2612,13 +2843,12 @@ void EXhalbtc8723b2ant_Periodical(struct btc_coexist *pBtCoexist)
if (disVerInfoCnt <= 5) {
disVerInfoCnt += 1;
- pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_BT_PATCH_VER, &btPatchVer);
+ pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_BT_PATCH_VER,
+ &btPatchVer);
pBtCoexist->fBtcGet(pBtCoexist, BTC_GET_U4_WIFI_FW_VER, &fwVer);
}
- if (
- halbtc8723b2ant_IsWifiStatusChanged(pBtCoexist) ||
- pCoexDm->bAutoTdmaAdjust
- )
+ if (halbtc8723b2ant_IsWifiStatusChanged(pBtCoexist) ||
+ pCoexDm->bAutoTdmaAdjust)
halbtc8723b2ant_RunCoexistMechanism(pBtCoexist);
}
diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h
index ebc47f65e8d20..332c324615931 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h
+++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h
@@ -5,47 +5,47 @@
*
******************************************************************************/
/* The following is for 8723B 2Ant BT Co-exist definition */
-#define BT_INFO_8723B_2ANT_B_FTP BIT(7)
-#define BT_INFO_8723B_2ANT_B_A2DP BIT(6)
-#define BT_INFO_8723B_2ANT_B_HID BIT(5)
-#define BT_INFO_8723B_2ANT_B_SCO_BUSY BIT(4)
-#define BT_INFO_8723B_2ANT_B_ACL_BUSY BIT(3)
-#define BT_INFO_8723B_2ANT_B_INQ_PAGE BIT(2)
-#define BT_INFO_8723B_2ANT_B_SCO_ESCO BIT(1)
-#define BT_INFO_8723B_2ANT_B_CONNECTION BIT(0)
+#define BT_INFO_8723B_2ANT_B_FTP BIT(7)
+#define BT_INFO_8723B_2ANT_B_A2DP BIT(6)
+#define BT_INFO_8723B_2ANT_B_HID BIT(5)
+#define BT_INFO_8723B_2ANT_B_SCO_BUSY BIT(4)
+#define BT_INFO_8723B_2ANT_B_ACL_BUSY BIT(3)
+#define BT_INFO_8723B_2ANT_B_INQ_PAGE BIT(2)
+#define BT_INFO_8723B_2ANT_B_SCO_ESCO BIT(1)
+#define BT_INFO_8723B_2ANT_B_CONNECTION BIT(0)
-#define BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT 2
+#define BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT 2
enum {
- BT_INFO_SRC_8723B_2ANT_WIFI_FW = 0x0,
- BT_INFO_SRC_8723B_2ANT_BT_RSP = 0x1,
+ BT_INFO_SRC_8723B_2ANT_WIFI_FW = 0x0,
+ BT_INFO_SRC_8723B_2ANT_BT_RSP = 0x1,
BT_INFO_SRC_8723B_2ANT_BT_ACTIVE_SEND = 0x2,
BT_INFO_SRC_8723B_2ANT_MAX
};
enum {
BT_8723B_2ANT_BT_STATUS_NON_CONNECTED_IDLE = 0x0,
- BT_8723B_2ANT_BT_STATUS_CONNECTED_IDLE = 0x1,
- BT_8723B_2ANT_BT_STATUS_INQ_PAGE = 0x2,
- BT_8723B_2ANT_BT_STATUS_ACL_BUSY = 0x3,
- BT_8723B_2ANT_BT_STATUS_SCO_BUSY = 0x4,
- BT_8723B_2ANT_BT_STATUS_ACL_SCO_BUSY = 0x5,
+ BT_8723B_2ANT_BT_STATUS_CONNECTED_IDLE = 0x1,
+ BT_8723B_2ANT_BT_STATUS_INQ_PAGE = 0x2,
+ BT_8723B_2ANT_BT_STATUS_ACL_BUSY = 0x3,
+ BT_8723B_2ANT_BT_STATUS_SCO_BUSY = 0x4,
+ BT_8723B_2ANT_BT_STATUS_ACL_SCO_BUSY = 0x5,
BT_8723B_2ANT_BT_STATUS_MAX
};
enum {
- BT_8723B_2ANT_COEX_ALGO_UNDEFINED = 0x0,
- BT_8723B_2ANT_COEX_ALGO_SCO = 0x1,
- BT_8723B_2ANT_COEX_ALGO_HID = 0x2,
- BT_8723B_2ANT_COEX_ALGO_A2DP = 0x3,
- BT_8723B_2ANT_COEX_ALGO_A2DP_PANHS = 0x4,
- BT_8723B_2ANT_COEX_ALGO_PANEDR = 0x5,
- BT_8723B_2ANT_COEX_ALGO_PANHS = 0x6,
- BT_8723B_2ANT_COEX_ALGO_PANEDR_A2DP = 0x7,
- BT_8723B_2ANT_COEX_ALGO_PANEDR_HID = 0x8,
- BT_8723B_2ANT_COEX_ALGO_HID_A2DP_PANEDR = 0x9,
- BT_8723B_2ANT_COEX_ALGO_HID_A2DP = 0xa,
- BT_8723B_2ANT_COEX_ALGO_MAX = 0xb,
+ BT_8723B_2ANT_COEX_ALGO_UNDEFINED = 0x0,
+ BT_8723B_2ANT_COEX_ALGO_SCO = 0x1,
+ BT_8723B_2ANT_COEX_ALGO_HID = 0x2,
+ BT_8723B_2ANT_COEX_ALGO_A2DP = 0x3,
+ BT_8723B_2ANT_COEX_ALGO_A2DP_PANHS = 0x4,
+ BT_8723B_2ANT_COEX_ALGO_PANEDR = 0x5,
+ BT_8723B_2ANT_COEX_ALGO_PANHS = 0x6,
+ BT_8723B_2ANT_COEX_ALGO_PANEDR_A2DP = 0x7,
+ BT_8723B_2ANT_COEX_ALGO_PANEDR_HID = 0x8,
+ BT_8723B_2ANT_COEX_ALGO_HID_A2DP_PANEDR = 0x9,
+ BT_8723B_2ANT_COEX_ALGO_HID_A2DP = 0xa,
+ BT_8723B_2ANT_COEX_ALGO_MAX = 0xb,
};
struct coex_dm_8723b_2ant {
@@ -74,9 +74,9 @@ struct coex_dm_8723b_2ant {
bool bPreLowPenaltyRa;
bool bCurLowPenaltyRa;
bool bPreDacSwingOn;
- u32 preDacSwingLvl;
+ u32 preDacSwingLvl;
bool bCurDacSwingOn;
- u32 curDacSwingLvl;
+ u32 curDacSwingLvl;
bool bPreAdcBackOff;
bool bCurAdcBackOff;
bool bPreAgcTableEn;
@@ -130,17 +130,19 @@ struct coex_sta_8723b_2ant {
/* The following is interface which will notify coex module. */
/* */
void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist);
-void EXhalbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly);
+void EXhalbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist,
+ bool bWifiOnly);
void EXhalbtc8723b2ant_InitCoexDm(struct btc_coexist *pBtCoexist);
void EXhalbtc8723b2ant_IpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b2ant_LpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b2ant_ScanNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtc8723b2ant_ConnectNotify(struct btc_coexist *pBtCoexist, u8 type);
-void EXhalbtc8723b2ant_MediaStatusNotify(struct btc_coexist *pBtCoexist, u8 type);
-void EXhalbtc8723b2ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 type);
-void EXhalbtc8723b2ant_BtInfoNotify(
- struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length
-);
+void EXhalbtc8723b2ant_MediaStatusNotify(struct btc_coexist *pBtCoexist,
+ u8 type);
+void EXhalbtc8723b2ant_SpecialPacketNotify(struct btc_coexist *pBtCoexist,
+ u8 type);
+void EXhalbtc8723b2ant_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf,
+ u8 length);
void EXhalbtc8723b2ant_HaltNotify(struct btc_coexist *pBtCoexist);
void EXhalbtc8723b2ant_PnpNotify(struct btc_coexist *pBtCoexist, u8 pnpState);
void EXhalbtc8723b2ant_Periodical(struct btc_coexist *pBtCoexist);
diff --git a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h
index 36b0f429dd4c2..c2507812b0b11 100644
--- a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h
+++ b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h
@@ -4,117 +4,124 @@
* Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
*
******************************************************************************/
-#ifndef __HALBTC_OUT_SRC_H__
+#ifndef __HALBTC_OUT_SRC_H__
#define __HALBTC_OUT_SRC_H__
-#define NORMAL_EXEC false
-#define FORCE_EXEC true
+#define NORMAL_EXEC false
+#define FORCE_EXEC true
-#define BTC_RF_OFF 0x0
-#define BTC_RF_ON 0x1
+#define BTC_RF_OFF 0x0
+#define BTC_RF_ON 0x1
-#define BTC_RF_A 0x0
-#define BTC_RF_B 0x1
-#define BTC_RF_C 0x2
-#define BTC_RF_D 0x3
+#define BTC_RF_A 0x0
+#define BTC_RF_B 0x1
+#define BTC_RF_C 0x2
+#define BTC_RF_D 0x3
-#define BTC_SMSP SINGLEMAC_SINGLEPHY
-#define BTC_DMDP DUALMAC_DUALPHY
-#define BTC_DMSP DUALMAC_SINGLEPHY
-#define BTC_MP_UNKNOWN 0xff
+#define BTC_SMSP SINGLEMAC_SINGLEPHY
+#define BTC_DMDP DUALMAC_DUALPHY
+#define BTC_DMSP DUALMAC_SINGLEPHY
+#define BTC_MP_UNKNOWN 0xff
-#define BT_COEX_ANT_TYPE_PG 0
-#define BT_COEX_ANT_TYPE_ANTDIV 1
-#define BT_COEX_ANT_TYPE_DETECTED 2
+#define BT_COEX_ANT_TYPE_PG 0
+#define BT_COEX_ANT_TYPE_ANTDIV 1
+#define BT_COEX_ANT_TYPE_DETECTED 2
-#define BTC_MIMO_PS_STATIC 0 /* 1ss */
-#define BTC_MIMO_PS_DYNAMIC 1 /* 2ss */
+#define BTC_MIMO_PS_STATIC 0 /* 1ss */
+#define BTC_MIMO_PS_DYNAMIC 1 /* 2ss */
-#define BTC_RATE_DISABLE 0
-#define BTC_RATE_ENABLE 1
+#define BTC_RATE_DISABLE 0
+#define BTC_RATE_ENABLE 1
/* single Antenna definition */
-#define BTC_ANT_PATH_WIFI 0
-#define BTC_ANT_PATH_BT 1
-#define BTC_ANT_PATH_PTA 2
+#define BTC_ANT_PATH_WIFI 0
+#define BTC_ANT_PATH_BT 1
+#define BTC_ANT_PATH_PTA 2
/* dual Antenna definition */
-#define BTC_ANT_WIFI_AT_MAIN 0
-#define BTC_ANT_WIFI_AT_AUX 1
+#define BTC_ANT_WIFI_AT_MAIN 0
+#define BTC_ANT_WIFI_AT_AUX 1
/* coupler Antenna definition */
-#define BTC_ANT_WIFI_AT_CPL_MAIN 0
-#define BTC_ANT_WIFI_AT_CPL_AUX 1
+#define BTC_ANT_WIFI_AT_CPL_MAIN 0
+#define BTC_ANT_WIFI_AT_CPL_AUX 1
enum {
- BTC_PS_WIFI_NATIVE = 0, /* wifi original power save behavior */
- BTC_PS_LPS_ON = 1,
- BTC_PS_LPS_OFF = 2,
+ BTC_PS_WIFI_NATIVE = 0, /* wifi original power save behavior */
+ BTC_PS_LPS_ON = 1,
+ BTC_PS_LPS_OFF = 2,
BTC_PS_MAX
};
enum {
- BTC_BT_REG_RF = 0,
- BTC_BT_REG_MODEM = 1,
- BTC_BT_REG_BLUEWIZE = 2,
- BTC_BT_REG_VENDOR = 3,
- BTC_BT_REG_LE = 4,
+ BTC_BT_REG_RF = 0,
+ BTC_BT_REG_MODEM = 1,
+ BTC_BT_REG_BLUEWIZE = 2,
+ BTC_BT_REG_VENDOR = 3,
+ BTC_BT_REG_LE = 4,
BTC_BT_REG_MAX
};
enum btc_chip_interface {
- BTC_INTF_UNKNOWN = 0,
- BTC_INTF_PCI = 1,
- BTC_INTF_USB = 2,
- BTC_INTF_SDIO = 3,
+ BTC_INTF_UNKNOWN = 0,
+ BTC_INTF_PCI = 1,
+ BTC_INTF_USB = 2,
+ BTC_INTF_SDIO = 3,
BTC_INTF_MAX
};
/* following is for wifi link status */
-#define WIFI_STA_CONNECTED BIT(0)
-#define WIFI_AP_CONNECTED BIT(1)
-#define WIFI_HS_CONNECTED BIT(2)
-#define WIFI_P2P_GO_CONNECTED BIT(3)
-#define WIFI_P2P_GC_CONNECTED BIT(4)
+#define WIFI_STA_CONNECTED BIT(0)
+#define WIFI_AP_CONNECTED BIT(1)
+#define WIFI_HS_CONNECTED BIT(2)
+#define WIFI_P2P_GO_CONNECTED BIT(3)
+#define WIFI_P2P_GC_CONNECTED BIT(4)
struct btc_board_info {
/* The following is some board information */
- u8 pgAntNum; /* pg ant number */
- u8 btdmAntNum; /* ant number for btdm */
- u8 btdmAntPos; /* Bryant Add to indicate Antenna Position for (pgAntNum = 2) && (btdmAntNum = 1) (DPDT+1Ant case) */
- u8 singleAntPath; /* current used for 8723b only, 1 =>s0, 0 =>s1 */
+ u8 pgAntNum; /* pg ant number */
+ u8 btdmAntNum; /* ant number for btdm */
+ u8 btdmAntPos; /* Bryant Add to indicate Antenna Position for (pgAntNum = 2) && (btdmAntNum = 1) (DPDT+1Ant case) */
+ u8 singleAntPath; /* current used for 8723b only, 1 =>s0, 0 =>s1 */
/* bool bBtExist; */
};
enum {
- BTC_RSSI_STATE_HIGH = 0x0,
- BTC_RSSI_STATE_MEDIUM = 0x1,
- BTC_RSSI_STATE_LOW = 0x2,
- BTC_RSSI_STATE_STAY_HIGH = 0x3,
- BTC_RSSI_STATE_STAY_MEDIUM = 0x4,
- BTC_RSSI_STATE_STAY_LOW = 0x5,
+ BTC_RSSI_STATE_HIGH = 0x0,
+ BTC_RSSI_STATE_MEDIUM = 0x1,
+ BTC_RSSI_STATE_LOW = 0x2,
+ BTC_RSSI_STATE_STAY_HIGH = 0x3,
+ BTC_RSSI_STATE_STAY_MEDIUM = 0x4,
+ BTC_RSSI_STATE_STAY_LOW = 0x5,
BTC_RSSI_MAX
};
-#define BTC_RSSI_HIGH(_rssi_) ((_rssi_ == BTC_RSSI_STATE_HIGH || _rssi_ == BTC_RSSI_STATE_STAY_HIGH) ? true : false)
-#define BTC_RSSI_MEDIUM(_rssi_) ((_rssi_ == BTC_RSSI_STATE_MEDIUM || _rssi_ == BTC_RSSI_STATE_STAY_MEDIUM) ? true : false)
-#define BTC_RSSI_LOW(_rssi_) ((_rssi_ == BTC_RSSI_STATE_LOW || _rssi_ == BTC_RSSI_STATE_STAY_LOW) ? true : false)
+#define BTC_RSSI_HIGH(_rssi_) \
+ ((_rssi_ == BTC_RSSI_STATE_HIGH || \
+ _rssi_ == BTC_RSSI_STATE_STAY_HIGH) ? \
+ true : \
+ false)
+#define BTC_RSSI_MEDIUM(_rssi_) \
+ ((_rssi_ == BTC_RSSI_STATE_MEDIUM || \
+ _rssi_ == BTC_RSSI_STATE_STAY_MEDIUM) ? \
+ true : \
+ false)
+#define BTC_RSSI_LOW(_rssi_) \
+ ((_rssi_ == BTC_RSSI_STATE_LOW || _rssi_ == BTC_RSSI_STATE_STAY_LOW) ? \
+ true : \
+ false)
enum {
- BTC_WIFI_BW_LEGACY = 0x0,
- BTC_WIFI_BW_HT20 = 0x1,
- BTC_WIFI_BW_HT40 = 0x2,
+ BTC_WIFI_BW_LEGACY = 0x0,
+ BTC_WIFI_BW_HT20 = 0x1,
+ BTC_WIFI_BW_HT40 = 0x2,
BTC_WIFI_BW_MAX
};
enum {
- BTC_WIFI_TRAFFIC_TX = 0x0,
- BTC_WIFI_TRAFFIC_RX = 0x1,
+ BTC_WIFI_TRAFFIC_TX = 0x0,
+ BTC_WIFI_TRAFFIC_RX = 0x1,
BTC_WIFI_TRAFFIC_MAX
};
-enum {
- BTC_WIFI_PNP_WAKE_UP = 0x0,
- BTC_WIFI_PNP_SLEEP = 0x1,
- BTC_WIFI_PNP_MAX
-};
+enum { BTC_WIFI_PNP_WAKE_UP = 0x0, BTC_WIFI_PNP_SLEEP = 0x1, BTC_WIFI_PNP_MAX };
/* defined for BFP_BTC_GET */
enum {
@@ -199,86 +206,64 @@ enum {
};
enum {
- BTC_DBG_DISP_COEX_STATISTICS = 0x0,
- BTC_DBG_DISP_BT_LINK_INFO = 0x1,
- BTC_DBG_DISP_FW_PWR_MODE_CMD = 0x2,
+ BTC_DBG_DISP_COEX_STATISTICS = 0x0,
+ BTC_DBG_DISP_BT_LINK_INFO = 0x1,
+ BTC_DBG_DISP_FW_PWR_MODE_CMD = 0x2,
BTC_DBG_DISP_MAX
};
-enum {
- BTC_IPS_LEAVE = 0x0,
- BTC_IPS_ENTER = 0x1,
- BTC_IPS_MAX
-};
+enum { BTC_IPS_LEAVE = 0x0, BTC_IPS_ENTER = 0x1, BTC_IPS_MAX };
-enum {
- BTC_LPS_DISABLE = 0x0,
- BTC_LPS_ENABLE = 0x1,
- BTC_LPS_MAX
-};
+enum { BTC_LPS_DISABLE = 0x0, BTC_LPS_ENABLE = 0x1, BTC_LPS_MAX };
-enum {
- BTC_SCAN_FINISH = 0x0,
- BTC_SCAN_START = 0x1,
- BTC_SCAN_MAX
-};
+enum { BTC_SCAN_FINISH = 0x0, BTC_SCAN_START = 0x1, BTC_SCAN_MAX };
enum {
- BTC_ASSOCIATE_FINISH = 0x0,
- BTC_ASSOCIATE_START = 0x1,
+ BTC_ASSOCIATE_FINISH = 0x0,
+ BTC_ASSOCIATE_START = 0x1,
BTC_ASSOCIATE_MAX
};
-enum {
- BTC_MEDIA_DISCONNECT = 0x0,
- BTC_MEDIA_CONNECT = 0x1,
- BTC_MEDIA_MAX
-};
+enum { BTC_MEDIA_DISCONNECT = 0x0, BTC_MEDIA_CONNECT = 0x1, BTC_MEDIA_MAX };
enum {
- BTC_PACKET_UNKNOWN = 0x0,
- BTC_PACKET_DHCP = 0x1,
- BTC_PACKET_ARP = 0x2,
- BTC_PACKET_EAPOL = 0x3,
+ BTC_PACKET_UNKNOWN = 0x0,
+ BTC_PACKET_DHCP = 0x1,
+ BTC_PACKET_ARP = 0x2,
+ BTC_PACKET_EAPOL = 0x3,
BTC_PACKET_MAX
};
/* Bryant Add */
enum {
BTC_ANTENNA_AT_MAIN_PORT = 0x1,
- BTC_ANTENNA_AT_AUX_PORT = 0x2,
+ BTC_ANTENNA_AT_AUX_PORT = 0x2,
};
typedef u8 (*BFP_BTC_R1)(void *pBtcContext, u32 RegAddr);
-typedef u16(*BFP_BTC_R2)(void *pBtcContext, u32 RegAddr);
+typedef u16 (*BFP_BTC_R2)(void *pBtcContext, u32 RegAddr);
typedef u32 (*BFP_BTC_R4)(void *pBtcContext, u32 RegAddr);
typedef void (*BFP_BTC_W1)(void *pBtcContext, u32 RegAddr, u8 Data);
-typedef void(*BFP_BTC_W1_BIT_MASK)(
- void *pBtcContext, u32 regAddr, u8 bitMask, u8 data1b
-);
+typedef void (*BFP_BTC_W1_BIT_MASK)(void *pBtcContext, u32 regAddr, u8 bitMask,
+ u8 data1b);
typedef void (*BFP_BTC_W2)(void *pBtcContext, u32 RegAddr, u16 Data);
typedef void (*BFP_BTC_W4)(void *pBtcContext, u32 RegAddr, u32 Data);
typedef void (*BFP_BTC_LOCAL_REG_W1)(void *pBtcContext, u32 RegAddr, u8 Data);
-typedef void (*BFP_BTC_SET_BB_REG)(
- void *pBtcContext, u32 RegAddr, u32 BitMask, u32 Data
-);
+typedef void (*BFP_BTC_SET_BB_REG)(void *pBtcContext, u32 RegAddr, u32 BitMask,
+ u32 Data);
typedef u32 (*BFP_BTC_GET_BB_REG)(void *pBtcContext, u32 RegAddr, u32 BitMask);
-typedef void (*BFP_BTC_SET_RF_REG)(
- void *pBtcContext, u8 eRFPath, u32 RegAddr, u32 BitMask, u32 Data
-);
-typedef u32 (*BFP_BTC_GET_RF_REG)(
- void *pBtcContext, u8 eRFPath, u32 RegAddr, u32 BitMask
-);
-typedef void (*BFP_BTC_FILL_H2C)(
- void *pBtcContext, u8 elementId, u32 cmdLen, u8 *pCmdBuffer
-);
-
-typedef u8 (*BFP_BTC_GET)(void *pBtCoexist, u8 getType, void *pOutBuf);
-
-typedef u8 (*BFP_BTC_SET)(void *pBtCoexist, u8 setType, void *pInBuf);
-typedef void (*BFP_BTC_SET_BT_REG)(
- void *pBtcContext, u8 regType, u32 offset, u32 value
-);
+typedef void (*BFP_BTC_SET_RF_REG)(void *pBtcContext, u8 eRFPath, u32 RegAddr,
+ u32 BitMask, u32 Data);
+typedef u32 (*BFP_BTC_GET_RF_REG)(void *pBtcContext, u8 eRFPath, u32 RegAddr,
+ u32 BitMask);
+typedef void (*BFP_BTC_FILL_H2C)(void *pBtcContext, u8 elementId, u32 cmdLen,
+ u8 *pCmdBuffer);
+
+typedef u8 (*BFP_BTC_GET)(void *pBtCoexist, u8 getType, void *pOutBuf);
+
+typedef u8 (*BFP_BTC_SET)(void *pBtCoexist, u8 setType, void *pInBuf);
+typedef void (*BFP_BTC_SET_BT_REG)(void *pBtcContext, u8 regType, u32 offset,
+ u32 value);
typedef u32 (*BFP_BTC_GET_BT_REG)(void *pBtcContext, u8 regType, u32 offset);
typedef void (*BFP_BTC_DISP_DBG_MSG)(void *pBtCoexist, u8 dispType);
@@ -304,7 +289,7 @@ struct btc_bt_info {
bool bBtCtrlLps;
bool bBtLpsOn;
- bool bForceToRoam; /* for 1Ant solution */
+ bool bForceToRoam; /* for 1Ant solution */
u8 lpsVal;
u8 rpwmVal;
u32 raMask;
@@ -312,7 +297,7 @@ struct btc_bt_info {
struct btc_stack_info {
bool bProfileNotified;
- u16 hciVersion; /* stack hci version */
+ u16 hciVersion; /* stack hci version */
u8 numOfLink;
bool bBtLinkExist;
bool bScoExist;
@@ -358,10 +343,10 @@ struct btc_statistics {
};
struct btc_coexist {
- bool bBinded; /* make sure only one adapter can bind the data context */
- void *Adapter; /* default adapter */
+ bool bBinded; /* make sure only one adapter can bind the data context */
+ void *Adapter; /* default adapter */
struct btc_board_info boardInfo;
- struct btc_bt_info btInfo; /* some bt info referenced by non-bt module */
+ struct btc_bt_info btInfo; /* some bt info referenced by non-bt module */
struct btc_stack_info stackInfo;
struct btc_bt_link_info btLinkInfo;
enum btc_chip_interface chipInterface;
@@ -409,13 +394,12 @@ void EXhalbtcoutsrc_IpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtcoutsrc_LpsNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtcoutsrc_ScanNotify(struct btc_coexist *pBtCoexist, u8 type);
void EXhalbtcoutsrc_ConnectNotify(struct btc_coexist *pBtCoexist, u8 action);
-void EXhalbtcoutsrc_MediaStatusNotify(
- struct btc_coexist *pBtCoexist, enum rt_media_status mediaStatus
-);
-void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 pktType);
-void EXhalbtcoutsrc_BtInfoNotify(
- struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length
-);
+void EXhalbtcoutsrc_MediaStatusNotify(struct btc_coexist *pBtCoexist,
+ enum rt_media_status mediaStatus);
+void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist,
+ u8 pktType);
+void EXhalbtcoutsrc_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf,
+ u8 length);
void EXhalbtcoutsrc_HaltNotify(struct btc_coexist *pBtCoexist);
void EXhalbtcoutsrc_PnpNotify(struct btc_coexist *pBtCoexist, u8 pnpState);
void EXhalbtcoutsrc_Periodical(struct btc_coexist *pBtCoexist);
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c
index afdde3980ec3e..f0b3336b54c88 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.c
@@ -8,41 +8,38 @@
#include <linux/kernel.h>
#include "odm_precomp.h"
-static bool CheckPositive(struct dm_odm_t *pDM_Odm, const u32 Condition1, const u32 Condition2)
+static bool CheckPositive(struct dm_odm_t *pDM_Odm, const u32 Condition1,
+ const u32 Condition2)
{
- u8 _BoardType =
- ((pDM_Odm->BoardType & BIT(4)) >> 4) << 0 | /* _GLNA */
- ((pDM_Odm->BoardType & BIT(3)) >> 3) << 1 | /* _GPA */
- ((pDM_Odm->BoardType & BIT(7)) >> 7) << 2 | /* _ALNA */
- ((pDM_Odm->BoardType & BIT(6)) >> 6) << 3 | /* _APA */
- ((pDM_Odm->BoardType & BIT(2)) >> 2) << 4; /* _BT */
+ u8 _BoardType = ((pDM_Odm->BoardType & BIT(4)) >> 4) << 0 | /* _GLNA */
+ ((pDM_Odm->BoardType & BIT(3)) >> 3) << 1 | /* _GPA */
+ ((pDM_Odm->BoardType & BIT(7)) >> 7) << 2 | /* _ALNA */
+ ((pDM_Odm->BoardType & BIT(6)) >> 6) << 3 | /* _APA */
+ ((pDM_Odm->BoardType & BIT(2)) >> 2) << 4; /* _BT */
u32 cond1 = Condition1, cond2 = Condition2;
- u32 driver1 =
- pDM_Odm->CutVersion << 24 |
- pDM_Odm->SupportPlatform << 16 |
- pDM_Odm->PackageType << 12 |
- pDM_Odm->SupportInterface << 8 |
- _BoardType;
-
- u32 driver2 =
- pDM_Odm->TypeGLNA << 0 |
- pDM_Odm->TypeGPA << 8 |
- pDM_Odm->TypeALNA << 16 |
- pDM_Odm->TypeAPA << 24;
+ u32 driver1 = pDM_Odm->CutVersion << 24 |
+ pDM_Odm->SupportPlatform << 16 |
+ pDM_Odm->PackageType << 12 |
+ pDM_Odm->SupportInterface << 8 | _BoardType;
+
+ u32 driver2 = pDM_Odm->TypeGLNA << 0 | pDM_Odm->TypeGPA << 8 |
+ pDM_Odm->TypeALNA << 16 | pDM_Odm->TypeAPA << 24;
/* Value Defined Check =============== */
/* QFN Type [15:12] and Cut Version [27:24] need to do value check */
- if (((cond1 & 0x0000F000) != 0) && ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
+ if (((cond1 & 0x0000F000) != 0) &&
+ ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
return false;
- if (((cond1 & 0x0F000000) != 0) && ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
+ if (((cond1 & 0x0F000000) != 0) &&
+ ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
return false;
/* Bit Defined Check ================ */
/* We don't care [31:28] and [23:20] */
/* */
- cond1 &= 0x000F0FFF;
+ cond1 &= 0x000F0FFF;
driver1 &= 0x000F0FFF;
if ((cond1 & driver1) == cond1) {
@@ -72,137 +69,50 @@ static bool CheckPositive(struct dm_odm_t *pDM_Odm, const u32 Condition1, const
******************************************************************************/
static u32 Array_MP_8723B_AGC_TAB[] = {
- 0xC78, 0xFD000001,
- 0xC78, 0xFC010001,
- 0xC78, 0xFB020001,
- 0xC78, 0xFA030001,
- 0xC78, 0xF9040001,
- 0xC78, 0xF8050001,
- 0xC78, 0xF7060001,
- 0xC78, 0xF6070001,
- 0xC78, 0xF5080001,
- 0xC78, 0xF4090001,
- 0xC78, 0xF30A0001,
- 0xC78, 0xF20B0001,
- 0xC78, 0xF10C0001,
- 0xC78, 0xF00D0001,
- 0xC78, 0xEF0E0001,
- 0xC78, 0xEE0F0001,
- 0xC78, 0xED100001,
- 0xC78, 0xEC110001,
- 0xC78, 0xEB120001,
- 0xC78, 0xEA130001,
- 0xC78, 0xE9140001,
- 0xC78, 0xE8150001,
- 0xC78, 0xE7160001,
- 0xC78, 0xE6170001,
- 0xC78, 0xE5180001,
- 0xC78, 0xE4190001,
- 0xC78, 0xE31A0001,
- 0xC78, 0xA51B0001,
- 0xC78, 0xA41C0001,
- 0xC78, 0xA31D0001,
- 0xC78, 0x671E0001,
- 0xC78, 0x661F0001,
- 0xC78, 0x65200001,
- 0xC78, 0x64210001,
- 0xC78, 0x63220001,
- 0xC78, 0x4A230001,
- 0xC78, 0x49240001,
- 0xC78, 0x48250001,
- 0xC78, 0x47260001,
- 0xC78, 0x46270001,
- 0xC78, 0x45280001,
- 0xC78, 0x44290001,
- 0xC78, 0x432A0001,
- 0xC78, 0x422B0001,
- 0xC78, 0x292C0001,
- 0xC78, 0x282D0001,
- 0xC78, 0x272E0001,
- 0xC78, 0x262F0001,
- 0xC78, 0x0A300001,
- 0xC78, 0x09310001,
- 0xC78, 0x08320001,
- 0xC78, 0x07330001,
- 0xC78, 0x06340001,
- 0xC78, 0x05350001,
- 0xC78, 0x04360001,
- 0xC78, 0x03370001,
- 0xC78, 0x02380001,
- 0xC78, 0x01390001,
- 0xC78, 0x013A0001,
- 0xC78, 0x013B0001,
- 0xC78, 0x013C0001,
- 0xC78, 0x013D0001,
- 0xC78, 0x013E0001,
- 0xC78, 0x013F0001,
- 0xC78, 0xFC400001,
- 0xC78, 0xFB410001,
- 0xC78, 0xFA420001,
- 0xC78, 0xF9430001,
- 0xC78, 0xF8440001,
- 0xC78, 0xF7450001,
- 0xC78, 0xF6460001,
- 0xC78, 0xF5470001,
- 0xC78, 0xF4480001,
- 0xC78, 0xF3490001,
- 0xC78, 0xF24A0001,
- 0xC78, 0xF14B0001,
- 0xC78, 0xF04C0001,
- 0xC78, 0xEF4D0001,
- 0xC78, 0xEE4E0001,
- 0xC78, 0xED4F0001,
- 0xC78, 0xEC500001,
- 0xC78, 0xEB510001,
- 0xC78, 0xEA520001,
- 0xC78, 0xE9530001,
- 0xC78, 0xE8540001,
- 0xC78, 0xE7550001,
- 0xC78, 0xE6560001,
- 0xC78, 0xE5570001,
- 0xC78, 0xE4580001,
- 0xC78, 0xE3590001,
- 0xC78, 0xA65A0001,
- 0xC78, 0xA55B0001,
- 0xC78, 0xA45C0001,
- 0xC78, 0xA35D0001,
- 0xC78, 0x675E0001,
- 0xC78, 0x665F0001,
- 0xC78, 0x65600001,
- 0xC78, 0x64610001,
- 0xC78, 0x63620001,
- 0xC78, 0x62630001,
- 0xC78, 0x61640001,
- 0xC78, 0x48650001,
- 0xC78, 0x47660001,
- 0xC78, 0x46670001,
- 0xC78, 0x45680001,
- 0xC78, 0x44690001,
- 0xC78, 0x436A0001,
- 0xC78, 0x426B0001,
- 0xC78, 0x286C0001,
- 0xC78, 0x276D0001,
- 0xC78, 0x266E0001,
- 0xC78, 0x256F0001,
- 0xC78, 0x24700001,
- 0xC78, 0x09710001,
- 0xC78, 0x08720001,
- 0xC78, 0x07730001,
- 0xC78, 0x06740001,
- 0xC78, 0x05750001,
- 0xC78, 0x04760001,
- 0xC78, 0x03770001,
- 0xC78, 0x02780001,
- 0xC78, 0x01790001,
- 0xC78, 0x017A0001,
- 0xC78, 0x017B0001,
- 0xC78, 0x017C0001,
- 0xC78, 0x017D0001,
- 0xC78, 0x017E0001,
- 0xC78, 0x017F0001,
- 0xC50, 0x69553422,
- 0xC50, 0x69553420,
- 0x824, 0x00390204,
+ 0xC78, 0xFD000001, 0xC78, 0xFC010001, 0xC78, 0xFB020001,
+ 0xC78, 0xFA030001, 0xC78, 0xF9040001, 0xC78, 0xF8050001,
+ 0xC78, 0xF7060001, 0xC78, 0xF6070001, 0xC78, 0xF5080001,
+ 0xC78, 0xF4090001, 0xC78, 0xF30A0001, 0xC78, 0xF20B0001,
+ 0xC78, 0xF10C0001, 0xC78, 0xF00D0001, 0xC78, 0xEF0E0001,
+ 0xC78, 0xEE0F0001, 0xC78, 0xED100001, 0xC78, 0xEC110001,
+ 0xC78, 0xEB120001, 0xC78, 0xEA130001, 0xC78, 0xE9140001,
+ 0xC78, 0xE8150001, 0xC78, 0xE7160001, 0xC78, 0xE6170001,
+ 0xC78, 0xE5180001, 0xC78, 0xE4190001, 0xC78, 0xE31A0001,
+ 0xC78, 0xA51B0001, 0xC78, 0xA41C0001, 0xC78, 0xA31D0001,
+ 0xC78, 0x671E0001, 0xC78, 0x661F0001, 0xC78, 0x65200001,
+ 0xC78, 0x64210001, 0xC78, 0x63220001, 0xC78, 0x4A230001,
+ 0xC78, 0x49240001, 0xC78, 0x48250001, 0xC78, 0x47260001,
+ 0xC78, 0x46270001, 0xC78, 0x45280001, 0xC78, 0x44290001,
+ 0xC78, 0x432A0001, 0xC78, 0x422B0001, 0xC78, 0x292C0001,
+ 0xC78, 0x282D0001, 0xC78, 0x272E0001, 0xC78, 0x262F0001,
+ 0xC78, 0x0A300001, 0xC78, 0x09310001, 0xC78, 0x08320001,
+ 0xC78, 0x07330001, 0xC78, 0x06340001, 0xC78, 0x05350001,
+ 0xC78, 0x04360001, 0xC78, 0x03370001, 0xC78, 0x02380001,
+ 0xC78, 0x01390001, 0xC78, 0x013A0001, 0xC78, 0x013B0001,
+ 0xC78, 0x013C0001, 0xC78, 0x013D0001, 0xC78, 0x013E0001,
+ 0xC78, 0x013F0001, 0xC78, 0xFC400001, 0xC78, 0xFB410001,
+ 0xC78, 0xFA420001, 0xC78, 0xF9430001, 0xC78, 0xF8440001,
+ 0xC78, 0xF7450001, 0xC78, 0xF6460001, 0xC78, 0xF5470001,
+ 0xC78, 0xF4480001, 0xC78, 0xF3490001, 0xC78, 0xF24A0001,
+ 0xC78, 0xF14B0001, 0xC78, 0xF04C0001, 0xC78, 0xEF4D0001,
+ 0xC78, 0xEE4E0001, 0xC78, 0xED4F0001, 0xC78, 0xEC500001,
+ 0xC78, 0xEB510001, 0xC78, 0xEA520001, 0xC78, 0xE9530001,
+ 0xC78, 0xE8540001, 0xC78, 0xE7550001, 0xC78, 0xE6560001,
+ 0xC78, 0xE5570001, 0xC78, 0xE4580001, 0xC78, 0xE3590001,
+ 0xC78, 0xA65A0001, 0xC78, 0xA55B0001, 0xC78, 0xA45C0001,
+ 0xC78, 0xA35D0001, 0xC78, 0x675E0001, 0xC78, 0x665F0001,
+ 0xC78, 0x65600001, 0xC78, 0x64610001, 0xC78, 0x63620001,
+ 0xC78, 0x62630001, 0xC78, 0x61640001, 0xC78, 0x48650001,
+ 0xC78, 0x47660001, 0xC78, 0x46670001, 0xC78, 0x45680001,
+ 0xC78, 0x44690001, 0xC78, 0x436A0001, 0xC78, 0x426B0001,
+ 0xC78, 0x286C0001, 0xC78, 0x276D0001, 0xC78, 0x266E0001,
+ 0xC78, 0x256F0001, 0xC78, 0x24700001, 0xC78, 0x09710001,
+ 0xC78, 0x08720001, 0xC78, 0x07730001, 0xC78, 0x06740001,
+ 0xC78, 0x05750001, 0xC78, 0x04760001, 0xC78, 0x03770001,
+ 0xC78, 0x02780001, 0xC78, 0x01790001, 0xC78, 0x017A0001,
+ 0xC78, 0x017B0001, 0xC78, 0x017C0001, 0xC78, 0x017D0001,
+ 0xC78, 0x017E0001, 0xC78, 0x017F0001, 0xC50, 0x69553422,
+ 0xC50, 0x69553420, 0x824, 0x00390204,
};
@@ -223,7 +133,7 @@ void ODM_ReadAndConfig_MP_8723B_AGC_TAB(struct dm_odm_t *pDM_Odm)
} else {
/* This line is the beginning of branch. */
bool bMatched = true;
- u8 cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
+ u8 cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
if (cCond == COND_ELSE) { /* ELSE, ENDIF */
bMatched = true;
@@ -250,15 +160,19 @@ void ODM_ReadAndConfig_MP_8723B_AGC_TAB(struct dm_odm_t *pDM_Odm)
} else {
/* Configure matched pairs and skip to end of if-else. */
while (v1 < 0x40000000 && i < ArrayLen - 2) {
- odm_ConfigBB_AGC_8723B(pDM_Odm, v1, bMaskDWord, v2);
+ odm_ConfigBB_AGC_8723B(pDM_Odm, v1,
+ bMaskDWord, v2);
READ_NEXT_PAIR(v1, v2, i);
}
/* Keeps reading until ENDIF. */
cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
- while (cCond != COND_ENDIF && i < ArrayLen - 2) {
+ while (cCond != COND_ENDIF &&
+ i < ArrayLen - 2) {
READ_NEXT_PAIR(v1, v2, i);
- cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
+ cCond = (u8)((v1 &
+ (BIT(29) | BIT(28))) >>
+ 28);
}
}
}
@@ -270,199 +184,71 @@ void ODM_ReadAndConfig_MP_8723B_AGC_TAB(struct dm_odm_t *pDM_Odm)
******************************************************************************/
static u32 Array_MP_8723B_PHY_REG[] = {
- 0x800, 0x80040000,
- 0x804, 0x00000003,
- 0x808, 0x0000FC00,
- 0x80C, 0x0000000A,
- 0x810, 0x10001331,
- 0x814, 0x020C3D10,
- 0x818, 0x02200385,
- 0x81C, 0x00000000,
- 0x820, 0x01000100,
- 0x824, 0x00190204,
- 0x828, 0x00000000,
- 0x82C, 0x00000000,
- 0x830, 0x00000000,
- 0x834, 0x00000000,
- 0x838, 0x00000000,
- 0x83C, 0x00000000,
- 0x840, 0x00010000,
- 0x844, 0x00000000,
- 0x848, 0x00000000,
- 0x84C, 0x00000000,
- 0x850, 0x00000000,
- 0x854, 0x00000000,
- 0x858, 0x569A11A9,
- 0x85C, 0x01000014,
- 0x860, 0x66F60110,
- 0x864, 0x061F0649,
- 0x868, 0x00000000,
- 0x86C, 0x27272700,
- 0x870, 0x07000760,
- 0x874, 0x25004000,
- 0x878, 0x00000808,
- 0x87C, 0x00000000,
- 0x880, 0xB0000C1C,
- 0x884, 0x00000001,
- 0x888, 0x00000000,
- 0x88C, 0xCCC000C0,
- 0x890, 0x00000800,
- 0x894, 0xFFFFFFFE,
- 0x898, 0x40302010,
- 0x89C, 0x00706050,
- 0x900, 0x00000000,
- 0x904, 0x00000023,
- 0x908, 0x00000000,
- 0x90C, 0x81121111,
- 0x910, 0x00000002,
- 0x914, 0x00000201,
- 0xA00, 0x00D047C8,
- 0xA04, 0x80FF800C,
- 0xA08, 0x8C838300,
- 0xA0C, 0x2E7F120F,
- 0xA10, 0x9500BB78,
- 0xA14, 0x1114D028,
- 0xA18, 0x00881117,
- 0xA1C, 0x89140F00,
- 0xA20, 0x1A1B0000,
- 0xA24, 0x090E1317,
- 0xA28, 0x00000204,
- 0xA2C, 0x00D30000,
- 0xA70, 0x101FBF00,
- 0xA74, 0x00000007,
- 0xA78, 0x00000900,
- 0xA7C, 0x225B0606,
- 0xA80, 0x21806490,
- 0xB2C, 0x00000000,
- 0xC00, 0x48071D40,
- 0xC04, 0x03A05611,
- 0xC08, 0x000000E4,
- 0xC0C, 0x6C6C6C6C,
- 0xC10, 0x08800000,
- 0xC14, 0x40000100,
- 0xC18, 0x08800000,
- 0xC1C, 0x40000100,
- 0xC20, 0x00000000,
- 0xC24, 0x00000000,
- 0xC28, 0x00000000,
- 0xC2C, 0x00000000,
- 0xC30, 0x69E9AC44,
- 0xC34, 0x469652AF,
- 0xC38, 0x49795994,
- 0xC3C, 0x0A97971C,
- 0xC40, 0x1F7C403F,
- 0xC44, 0x000100B7,
- 0xC48, 0xEC020107,
- 0xC4C, 0x007F037F,
- 0xC50, 0x69553420,
- 0xC54, 0x43BC0094,
- 0xC58, 0x00013149,
- 0xC5C, 0x00250492,
- 0xC60, 0x00000000,
- 0xC64, 0x7112848B,
- 0xC68, 0x47C00BFF,
- 0xC6C, 0x00000036,
- 0xC70, 0x2C7F000D,
- 0xC74, 0x020610DB,
- 0xC78, 0x0000001F,
- 0xC7C, 0x00B91612,
- 0xC80, 0x390000E4,
- 0xC84, 0x20F60000,
- 0xC88, 0x40000100,
- 0xC8C, 0x20200000,
- 0xC90, 0x00020E1A,
- 0xC94, 0x00000000,
- 0xC98, 0x00020E1A,
- 0xC9C, 0x00007F7F,
- 0xCA0, 0x00000000,
- 0xCA4, 0x000300A0,
- 0xCA8, 0x00000000,
- 0xCAC, 0x00000000,
- 0xCB0, 0x00000000,
- 0xCB4, 0x00000000,
- 0xCB8, 0x00000000,
- 0xCBC, 0x28000000,
- 0xCC0, 0x00000000,
- 0xCC4, 0x00000000,
- 0xCC8, 0x00000000,
- 0xCCC, 0x00000000,
- 0xCD0, 0x00000000,
- 0xCD4, 0x00000000,
- 0xCD8, 0x64B22427,
- 0xCDC, 0x00766932,
- 0xCE0, 0x00222222,
- 0xCE4, 0x00000000,
- 0xCE8, 0x37644302,
- 0xCEC, 0x2F97D40C,
- 0xD00, 0x00000740,
- 0xD04, 0x40020401,
- 0xD08, 0x0000907F,
- 0xD0C, 0x20010201,
- 0xD10, 0xA0633333,
- 0xD14, 0x3333BC53,
- 0xD18, 0x7A8F5B6F,
- 0xD2C, 0xCC979975,
- 0xD30, 0x00000000,
- 0xD34, 0x80608000,
- 0xD38, 0x00000000,
- 0xD3C, 0x00127353,
- 0xD40, 0x00000000,
- 0xD44, 0x00000000,
- 0xD48, 0x00000000,
- 0xD4C, 0x00000000,
- 0xD50, 0x6437140A,
- 0xD54, 0x00000000,
- 0xD58, 0x00000282,
- 0xD5C, 0x30032064,
- 0xD60, 0x4653DE68,
- 0xD64, 0x04518A3C,
- 0xD68, 0x00002101,
- 0xD6C, 0x2A201C16,
- 0xD70, 0x1812362E,
- 0xD74, 0x322C2220,
- 0xD78, 0x000E3C24,
- 0xE00, 0x2D2D2D2D,
- 0xE04, 0x2D2D2D2D,
- 0xE08, 0x0390272D,
- 0xE10, 0x2D2D2D2D,
- 0xE14, 0x2D2D2D2D,
- 0xE18, 0x2D2D2D2D,
- 0xE1C, 0x2D2D2D2D,
- 0xE28, 0x00000000,
- 0xE30, 0x1000DC1F,
- 0xE34, 0x10008C1F,
- 0xE38, 0x02140102,
- 0xE3C, 0x681604C2,
- 0xE40, 0x01007C00,
- 0xE44, 0x01004800,
- 0xE48, 0xFB000000,
- 0xE4C, 0x000028D1,
- 0xE50, 0x1000DC1F,
- 0xE54, 0x10008C1F,
- 0xE58, 0x02140102,
- 0xE5C, 0x28160D05,
- 0xE60, 0x00000008,
- 0xE68, 0x001B2556,
- 0xE6C, 0x00C00096,
- 0xE70, 0x00C00096,
- 0xE74, 0x01000056,
- 0xE78, 0x01000014,
- 0xE7C, 0x01000056,
- 0xE80, 0x01000014,
- 0xE84, 0x00C00096,
- 0xE88, 0x01000056,
- 0xE8C, 0x00C00096,
- 0xED0, 0x00C00096,
- 0xED4, 0x00C00096,
- 0xED8, 0x00C00096,
- 0xEDC, 0x000000D6,
- 0xEE0, 0x000000D6,
- 0xEEC, 0x01C00016,
- 0xF14, 0x00000003,
- 0xF4C, 0x00000000,
- 0xF00, 0x00000300,
- 0x820, 0x01000100,
- 0x800, 0x83040000,
+ 0x800, 0x80040000, 0x804, 0x00000003, 0x808, 0x0000FC00,
+ 0x80C, 0x0000000A, 0x810, 0x10001331, 0x814, 0x020C3D10,
+ 0x818, 0x02200385, 0x81C, 0x00000000, 0x820, 0x01000100,
+ 0x824, 0x00190204, 0x828, 0x00000000, 0x82C, 0x00000000,
+ 0x830, 0x00000000, 0x834, 0x00000000, 0x838, 0x00000000,
+ 0x83C, 0x00000000, 0x840, 0x00010000, 0x844, 0x00000000,
+ 0x848, 0x00000000, 0x84C, 0x00000000, 0x850, 0x00000000,
+ 0x854, 0x00000000, 0x858, 0x569A11A9, 0x85C, 0x01000014,
+ 0x860, 0x66F60110, 0x864, 0x061F0649, 0x868, 0x00000000,
+ 0x86C, 0x27272700, 0x870, 0x07000760, 0x874, 0x25004000,
+ 0x878, 0x00000808, 0x87C, 0x00000000, 0x880, 0xB0000C1C,
+ 0x884, 0x00000001, 0x888, 0x00000000, 0x88C, 0xCCC000C0,
+ 0x890, 0x00000800, 0x894, 0xFFFFFFFE, 0x898, 0x40302010,
+ 0x89C, 0x00706050, 0x900, 0x00000000, 0x904, 0x00000023,
+ 0x908, 0x00000000, 0x90C, 0x81121111, 0x910, 0x00000002,
+ 0x914, 0x00000201, 0xA00, 0x00D047C8, 0xA04, 0x80FF800C,
+ 0xA08, 0x8C838300, 0xA0C, 0x2E7F120F, 0xA10, 0x9500BB78,
+ 0xA14, 0x1114D028, 0xA18, 0x00881117, 0xA1C, 0x89140F00,
+ 0xA20, 0x1A1B0000, 0xA24, 0x090E1317, 0xA28, 0x00000204,
+ 0xA2C, 0x00D30000, 0xA70, 0x101FBF00, 0xA74, 0x00000007,
+ 0xA78, 0x00000900, 0xA7C, 0x225B0606, 0xA80, 0x21806490,
+ 0xB2C, 0x00000000, 0xC00, 0x48071D40, 0xC04, 0x03A05611,
+ 0xC08, 0x000000E4, 0xC0C, 0x6C6C6C6C, 0xC10, 0x08800000,
+ 0xC14, 0x40000100, 0xC18, 0x08800000, 0xC1C, 0x40000100,
+ 0xC20, 0x00000000, 0xC24, 0x00000000, 0xC28, 0x00000000,
+ 0xC2C, 0x00000000, 0xC30, 0x69E9AC44, 0xC34, 0x469652AF,
+ 0xC38, 0x49795994, 0xC3C, 0x0A97971C, 0xC40, 0x1F7C403F,
+ 0xC44, 0x000100B7, 0xC48, 0xEC020107, 0xC4C, 0x007F037F,
+ 0xC50, 0x69553420, 0xC54, 0x43BC0094, 0xC58, 0x00013149,
+ 0xC5C, 0x00250492, 0xC60, 0x00000000, 0xC64, 0x7112848B,
+ 0xC68, 0x47C00BFF, 0xC6C, 0x00000036, 0xC70, 0x2C7F000D,
+ 0xC74, 0x020610DB, 0xC78, 0x0000001F, 0xC7C, 0x00B91612,
+ 0xC80, 0x390000E4, 0xC84, 0x20F60000, 0xC88, 0x40000100,
+ 0xC8C, 0x20200000, 0xC90, 0x00020E1A, 0xC94, 0x00000000,
+ 0xC98, 0x00020E1A, 0xC9C, 0x00007F7F, 0xCA0, 0x00000000,
+ 0xCA4, 0x000300A0, 0xCA8, 0x00000000, 0xCAC, 0x00000000,
+ 0xCB0, 0x00000000, 0xCB4, 0x00000000, 0xCB8, 0x00000000,
+ 0xCBC, 0x28000000, 0xCC0, 0x00000000, 0xCC4, 0x00000000,
+ 0xCC8, 0x00000000, 0xCCC, 0x00000000, 0xCD0, 0x00000000,
+ 0xCD4, 0x00000000, 0xCD8, 0x64B22427, 0xCDC, 0x00766932,
+ 0xCE0, 0x00222222, 0xCE4, 0x00000000, 0xCE8, 0x37644302,
+ 0xCEC, 0x2F97D40C, 0xD00, 0x00000740, 0xD04, 0x40020401,
+ 0xD08, 0x0000907F, 0xD0C, 0x20010201, 0xD10, 0xA0633333,
+ 0xD14, 0x3333BC53, 0xD18, 0x7A8F5B6F, 0xD2C, 0xCC979975,
+ 0xD30, 0x00000000, 0xD34, 0x80608000, 0xD38, 0x00000000,
+ 0xD3C, 0x00127353, 0xD40, 0x00000000, 0xD44, 0x00000000,
+ 0xD48, 0x00000000, 0xD4C, 0x00000000, 0xD50, 0x6437140A,
+ 0xD54, 0x00000000, 0xD58, 0x00000282, 0xD5C, 0x30032064,
+ 0xD60, 0x4653DE68, 0xD64, 0x04518A3C, 0xD68, 0x00002101,
+ 0xD6C, 0x2A201C16, 0xD70, 0x1812362E, 0xD74, 0x322C2220,
+ 0xD78, 0x000E3C24, 0xE00, 0x2D2D2D2D, 0xE04, 0x2D2D2D2D,
+ 0xE08, 0x0390272D, 0xE10, 0x2D2D2D2D, 0xE14, 0x2D2D2D2D,
+ 0xE18, 0x2D2D2D2D, 0xE1C, 0x2D2D2D2D, 0xE28, 0x00000000,
+ 0xE30, 0x1000DC1F, 0xE34, 0x10008C1F, 0xE38, 0x02140102,
+ 0xE3C, 0x681604C2, 0xE40, 0x01007C00, 0xE44, 0x01004800,
+ 0xE48, 0xFB000000, 0xE4C, 0x000028D1, 0xE50, 0x1000DC1F,
+ 0xE54, 0x10008C1F, 0xE58, 0x02140102, 0xE5C, 0x28160D05,
+ 0xE60, 0x00000008, 0xE68, 0x001B2556, 0xE6C, 0x00C00096,
+ 0xE70, 0x00C00096, 0xE74, 0x01000056, 0xE78, 0x01000014,
+ 0xE7C, 0x01000056, 0xE80, 0x01000014, 0xE84, 0x00C00096,
+ 0xE88, 0x01000056, 0xE8C, 0x00C00096, 0xED0, 0x00C00096,
+ 0xED4, 0x00C00096, 0xED8, 0x00C00096, 0xEDC, 0x000000D6,
+ 0xEE0, 0x000000D6, 0xEEC, 0x01C00016, 0xF14, 0x00000003,
+ 0xF4C, 0x00000000, 0xF00, 0x00000300, 0x820, 0x01000100,
+ 0x800, 0x83040000,
};
@@ -483,7 +269,7 @@ void ODM_ReadAndConfig_MP_8723B_PHY_REG(struct dm_odm_t *pDM_Odm)
} else {
/* This line is the beginning of branch. */
bool bMatched = true;
- u8 cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
+ u8 cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
if (cCond == COND_ELSE) { /* ELSE, ENDIF */
bMatched = true;
@@ -509,15 +295,19 @@ void ODM_ReadAndConfig_MP_8723B_PHY_REG(struct dm_odm_t *pDM_Odm)
i -= 2; /* prevent from for-loop += 2 */
} else { /* Configure matched pairs and skip to end of if-else. */
while (v1 < 0x40000000 && i < ArrayLen - 2) {
- odm_ConfigBB_PHY_8723B(pDM_Odm, v1, bMaskDWord, v2);
+ odm_ConfigBB_PHY_8723B(pDM_Odm, v1,
+ bMaskDWord, v2);
READ_NEXT_PAIR(v1, v2, i);
}
/* Keeps reading until ENDIF. */
cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
- while (cCond != COND_ENDIF && i < ArrayLen - 2) {
+ while (cCond != COND_ENDIF &&
+ i < ArrayLen - 2) {
READ_NEXT_PAIR(v1, v2, i);
- cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
+ cCond = (u8)((v1 &
+ (BIT(29) | BIT(28))) >>
+ 28);
}
}
}
@@ -529,12 +319,10 @@ void ODM_ReadAndConfig_MP_8723B_PHY_REG(struct dm_odm_t *pDM_Odm)
******************************************************************************/
static u32 Array_MP_8723B_PHY_REG_PG[] = {
- 0, 0x00000e08, 0x0000ff00, 0x00003800,
- 0, 0x0000086c, 0xffffff00, 0x32343600,
- 0, 0x00000e00, 0xffffffff, 0x40424444,
- 0, 0x00000e04, 0xffffffff, 0x28323638,
- 0, 0x00000e10, 0xffffffff, 0x38404244,
- 0, 0x00000e14, 0xffffffff, 0x26303436
+ 0, 0x00000e08, 0x0000ff00, 0x00003800, 0, 0x0000086c,
+ 0xffffff00, 0x32343600, 0, 0x00000e00, 0xffffffff, 0x40424444,
+ 0, 0x00000e04, 0xffffffff, 0x28323638, 0, 0x00000e10,
+ 0xffffffff, 0x38404244, 0, 0x00000e14, 0xffffffff, 0x26303436
};
void ODM_ReadAndConfig_MP_8723B_PHY_REG_PG(struct dm_odm_t *pDM_Odm)
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h
index 054acfe231b46..8f3e5918d52d7 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_BB.h
@@ -12,28 +12,22 @@
* AGC_TAB.TXT
******************************************************************************/
-void
-ODM_ReadAndConfig_MP_8723B_AGC_TAB(/* TC: Test Chip, MP: MP Chip */
- struct dm_odm_t *pDM_Odm
-);
+void ODM_ReadAndConfig_MP_8723B_AGC_TAB(/* TC: Test Chip, MP: MP Chip */
+ struct dm_odm_t *pDM_Odm);
/******************************************************************************
* PHY_REG.TXT
******************************************************************************/
-void
-ODM_ReadAndConfig_MP_8723B_PHY_REG(/* TC: Test Chip, MP: MP Chip */
- struct dm_odm_t *pDM_Odm
-);
+void ODM_ReadAndConfig_MP_8723B_PHY_REG(/* TC: Test Chip, MP: MP Chip */
+ struct dm_odm_t *pDM_Odm);
/******************************************************************************
* PHY_REG_PG.TXT
******************************************************************************/
-void
-ODM_ReadAndConfig_MP_8723B_PHY_REG_PG(/* TC: Test Chip, MP: MP Chip */
- struct dm_odm_t *pDM_Odm
-);
+void ODM_ReadAndConfig_MP_8723B_PHY_REG_PG(/* TC: Test Chip, MP: MP Chip */
+ struct dm_odm_t *pDM_Odm);
u32 ODM_GetVersion_MP_8723B_PHY_REG_PG(void);
#endif
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c
index 0e098bd2d9f61..33b76da7541d9 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.c
@@ -8,41 +8,38 @@
#include <linux/kernel.h>
#include "odm_precomp.h"
-static bool CheckPositive(struct dm_odm_t *pDM_Odm, const u32 Condition1, const u32 Condition2)
+static bool CheckPositive(struct dm_odm_t *pDM_Odm, const u32 Condition1,
+ const u32 Condition2)
{
- u8 _BoardType =
- ((pDM_Odm->BoardType & BIT(4)) >> 4) << 0 | /* _GLNA */
- ((pDM_Odm->BoardType & BIT(3)) >> 3) << 1 | /* _GPA */
- ((pDM_Odm->BoardType & BIT(7)) >> 7) << 2 | /* _ALNA */
- ((pDM_Odm->BoardType & BIT(6)) >> 6) << 3 | /* _APA */
- ((pDM_Odm->BoardType & BIT(2)) >> 2) << 4; /* _BT */
-
- u32 cond1 = Condition1, cond2 = Condition2;
- u32 driver1 =
- pDM_Odm->CutVersion << 24 |
- pDM_Odm->SupportPlatform << 16 |
- pDM_Odm->PackageType << 12 |
- pDM_Odm->SupportInterface << 8 |
- _BoardType;
-
- u32 driver2 =
- pDM_Odm->TypeGLNA << 0 |
- pDM_Odm->TypeGPA << 8 |
- pDM_Odm->TypeALNA << 16 |
- pDM_Odm->TypeAPA << 24;
+ u8 _BoardType = ((pDM_Odm->BoardType & BIT(4)) >> 4) << 0 | /* _GLNA */
+ ((pDM_Odm->BoardType & BIT(3)) >> 3) << 1 | /* _GPA */
+ ((pDM_Odm->BoardType & BIT(7)) >> 7) << 2 | /* _ALNA */
+ ((pDM_Odm->BoardType & BIT(6)) >> 6) << 3 | /* _APA */
+ ((pDM_Odm->BoardType & BIT(2)) >> 2) << 4; /* _BT */
+
+ u32 cond1 = Condition1, cond2 = Condition2;
+ u32 driver1 = pDM_Odm->CutVersion << 24 |
+ pDM_Odm->SupportPlatform << 16 |
+ pDM_Odm->PackageType << 12 |
+ pDM_Odm->SupportInterface << 8 | _BoardType;
+
+ u32 driver2 = pDM_Odm->TypeGLNA << 0 | pDM_Odm->TypeGPA << 8 |
+ pDM_Odm->TypeALNA << 16 | pDM_Odm->TypeAPA << 24;
/* Value Defined Check =============== */
/* QFN Type [15:12] and Cut Version [27:24] need to do value check */
- if (((cond1 & 0x0000F000) != 0) && ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
+ if (((cond1 & 0x0000F000) != 0) &&
+ ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
return false;
- if (((cond1 & 0x0F000000) != 0) && ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
+ if (((cond1 & 0x0F000000) != 0) &&
+ ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
return false;
/* Bit Defined Check ================ */
/* We don't care [31:28] and [23:20] */
/* */
- cond1 &= 0x000F0FFF;
+ cond1 &= 0x000F0FFF;
driver1 &= 0x000F0FFF;
if ((cond1 & driver1) == cond1) {
@@ -72,109 +69,41 @@ static bool CheckPositive(struct dm_odm_t *pDM_Odm, const u32 Condition1, const
******************************************************************************/
static u32 Array_MP_8723B_MAC_REG[] = {
- 0x02F, 0x00000030,
- 0x035, 0x00000000,
- 0x039, 0x00000008,
- 0x04E, 0x000000E0,
- 0x064, 0x00000000,
- 0x067, 0x00000020,
- 0x428, 0x0000000A,
- 0x429, 0x00000010,
- 0x430, 0x00000000,
- 0x431, 0x00000000,
- 0x432, 0x00000000,
- 0x433, 0x00000001,
- 0x434, 0x00000004,
- 0x435, 0x00000005,
- 0x436, 0x00000007,
- 0x437, 0x00000008,
- 0x43C, 0x00000004,
- 0x43D, 0x00000005,
- 0x43E, 0x00000007,
- 0x43F, 0x00000008,
- 0x440, 0x0000005D,
- 0x441, 0x00000001,
- 0x442, 0x00000000,
- 0x444, 0x00000010,
- 0x445, 0x00000000,
- 0x446, 0x00000000,
- 0x447, 0x00000000,
- 0x448, 0x00000000,
- 0x449, 0x000000F0,
- 0x44A, 0x0000000F,
- 0x44B, 0x0000003E,
- 0x44C, 0x00000010,
- 0x44D, 0x00000000,
- 0x44E, 0x00000000,
- 0x44F, 0x00000000,
- 0x450, 0x00000000,
- 0x451, 0x000000F0,
- 0x452, 0x0000000F,
- 0x453, 0x00000000,
- 0x456, 0x0000005E,
- 0x460, 0x00000066,
- 0x461, 0x00000066,
- 0x4C8, 0x000000FF,
- 0x4C9, 0x00000008,
- 0x4CC, 0x000000FF,
- 0x4CD, 0x000000FF,
- 0x4CE, 0x00000001,
- 0x500, 0x00000026,
- 0x501, 0x000000A2,
- 0x502, 0x0000002F,
- 0x503, 0x00000000,
- 0x504, 0x00000028,
- 0x505, 0x000000A3,
- 0x506, 0x0000005E,
- 0x507, 0x00000000,
- 0x508, 0x0000002B,
- 0x509, 0x000000A4,
- 0x50A, 0x0000005E,
- 0x50B, 0x00000000,
- 0x50C, 0x0000004F,
- 0x50D, 0x000000A4,
- 0x50E, 0x00000000,
- 0x50F, 0x00000000,
- 0x512, 0x0000001C,
- 0x514, 0x0000000A,
- 0x516, 0x0000000A,
- 0x525, 0x0000004F,
- 0x550, 0x00000010,
- 0x551, 0x00000010,
- 0x559, 0x00000002,
- 0x55C, 0x00000050,
- 0x55D, 0x000000FF,
- 0x605, 0x00000030,
- 0x608, 0x0000000E,
- 0x609, 0x0000002A,
- 0x620, 0x000000FF,
- 0x621, 0x000000FF,
- 0x622, 0x000000FF,
- 0x623, 0x000000FF,
- 0x624, 0x000000FF,
- 0x625, 0x000000FF,
- 0x626, 0x000000FF,
- 0x627, 0x000000FF,
- 0x638, 0x00000050,
- 0x63C, 0x0000000A,
- 0x63D, 0x0000000A,
- 0x63E, 0x0000000E,
- 0x63F, 0x0000000E,
- 0x640, 0x00000040,
- 0x642, 0x00000040,
- 0x643, 0x00000000,
- 0x652, 0x000000C8,
- 0x66E, 0x00000005,
- 0x700, 0x00000021,
- 0x701, 0x00000043,
- 0x702, 0x00000065,
- 0x703, 0x00000087,
- 0x708, 0x00000021,
- 0x709, 0x00000043,
- 0x70A, 0x00000065,
- 0x70B, 0x00000087,
- 0x765, 0x00000018,
- 0x76E, 0x00000004,
+ 0x02F, 0x00000030, 0x035, 0x00000000, 0x039, 0x00000008,
+ 0x04E, 0x000000E0, 0x064, 0x00000000, 0x067, 0x00000020,
+ 0x428, 0x0000000A, 0x429, 0x00000010, 0x430, 0x00000000,
+ 0x431, 0x00000000, 0x432, 0x00000000, 0x433, 0x00000001,
+ 0x434, 0x00000004, 0x435, 0x00000005, 0x436, 0x00000007,
+ 0x437, 0x00000008, 0x43C, 0x00000004, 0x43D, 0x00000005,
+ 0x43E, 0x00000007, 0x43F, 0x00000008, 0x440, 0x0000005D,
+ 0x441, 0x00000001, 0x442, 0x00000000, 0x444, 0x00000010,
+ 0x445, 0x00000000, 0x446, 0x00000000, 0x447, 0x00000000,
+ 0x448, 0x00000000, 0x449, 0x000000F0, 0x44A, 0x0000000F,
+ 0x44B, 0x0000003E, 0x44C, 0x00000010, 0x44D, 0x00000000,
+ 0x44E, 0x00000000, 0x44F, 0x00000000, 0x450, 0x00000000,
+ 0x451, 0x000000F0, 0x452, 0x0000000F, 0x453, 0x00000000,
+ 0x456, 0x0000005E, 0x460, 0x00000066, 0x461, 0x00000066,
+ 0x4C8, 0x000000FF, 0x4C9, 0x00000008, 0x4CC, 0x000000FF,
+ 0x4CD, 0x000000FF, 0x4CE, 0x00000001, 0x500, 0x00000026,
+ 0x501, 0x000000A2, 0x502, 0x0000002F, 0x503, 0x00000000,
+ 0x504, 0x00000028, 0x505, 0x000000A3, 0x506, 0x0000005E,
+ 0x507, 0x00000000, 0x508, 0x0000002B, 0x509, 0x000000A4,
+ 0x50A, 0x0000005E, 0x50B, 0x00000000, 0x50C, 0x0000004F,
+ 0x50D, 0x000000A4, 0x50E, 0x00000000, 0x50F, 0x00000000,
+ 0x512, 0x0000001C, 0x514, 0x0000000A, 0x516, 0x0000000A,
+ 0x525, 0x0000004F, 0x550, 0x00000010, 0x551, 0x00000010,
+ 0x559, 0x00000002, 0x55C, 0x00000050, 0x55D, 0x000000FF,
+ 0x605, 0x00000030, 0x608, 0x0000000E, 0x609, 0x0000002A,
+ 0x620, 0x000000FF, 0x621, 0x000000FF, 0x622, 0x000000FF,
+ 0x623, 0x000000FF, 0x624, 0x000000FF, 0x625, 0x000000FF,
+ 0x626, 0x000000FF, 0x627, 0x000000FF, 0x638, 0x00000050,
+ 0x63C, 0x0000000A, 0x63D, 0x0000000A, 0x63E, 0x0000000E,
+ 0x63F, 0x0000000E, 0x640, 0x00000040, 0x642, 0x00000040,
+ 0x643, 0x00000000, 0x652, 0x000000C8, 0x66E, 0x00000005,
+ 0x700, 0x00000021, 0x701, 0x00000043, 0x702, 0x00000065,
+ 0x703, 0x00000087, 0x708, 0x00000021, 0x709, 0x00000043,
+ 0x70A, 0x00000065, 0x70B, 0x00000087, 0x765, 0x00000018,
+ 0x76E, 0x00000004,
};
@@ -195,7 +124,7 @@ void ODM_ReadAndConfig_MP_8723B_MAC_REG(struct dm_odm_t *pDM_Odm)
} else {
/* This line is the beginning of branch. */
bool bMatched = true;
- u8 cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
+ u8 cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
if (cCond == COND_ELSE) { /* ELSE, ENDIF */
bMatched = true;
@@ -221,15 +150,19 @@ void ODM_ReadAndConfig_MP_8723B_MAC_REG(struct dm_odm_t *pDM_Odm)
i -= 2; /* prevent from for-loop += 2 */
} else { /* Configure matched pairs and skip to end of if-else. */
while (v1 < 0x40000000 && i < ArrayLen - 2) {
- odm_ConfigMAC_8723B(pDM_Odm, v1, (u8)v2);
+ odm_ConfigMAC_8723B(pDM_Odm, v1,
+ (u8)v2);
READ_NEXT_PAIR(v1, v2, i);
}
/* Keeps reading until ENDIF. */
cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
- while (cCond != COND_ENDIF && i < ArrayLen - 2) {
+ while (cCond != COND_ENDIF &&
+ i < ArrayLen - 2) {
READ_NEXT_PAIR(v1, v2, i);
- cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
+ cCond = (u8)((v1 &
+ (BIT(29) | BIT(28))) >>
+ 28);
}
}
}
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h
index 2508613259194..1eb6b0f58eeca 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_MAC.h
@@ -12,8 +12,6 @@
* MAC_REG.TXT
******************************************************************************/
-void
-ODM_ReadAndConfig_MP_8723B_MAC_REG(/* TC: Test Chip, MP: MP Chip */
- struct dm_odm_t *pDM_Odm
-);
+void ODM_ReadAndConfig_MP_8723B_MAC_REG(/* TC: Test Chip, MP: MP Chip */
+ struct dm_odm_t *pDM_Odm);
#endif
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c
index 30c8624bba252..9c0496e106f19 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.c
@@ -8,49 +8,38 @@
#include <linux/kernel.h>
#include "odm_precomp.h"
-static bool CheckPositive(
- struct dm_odm_t *pDM_Odm, const u32 Condition1, const u32 Condition2
-)
+static bool CheckPositive(struct dm_odm_t *pDM_Odm, const u32 Condition1,
+ const u32 Condition2)
{
- u8 _BoardType =
- ((pDM_Odm->BoardType & BIT(4)) >> 4) << 0 | /* _GLNA */
+ u8 _BoardType = ((pDM_Odm->BoardType & BIT(4)) >> 4) << 0 | /* _GLNA */
((pDM_Odm->BoardType & BIT(3)) >> 3) << 1 | /* _GPA */
((pDM_Odm->BoardType & BIT(7)) >> 7) << 2 | /* _ALNA */
((pDM_Odm->BoardType & BIT(6)) >> 6) << 3 | /* _APA */
- ((pDM_Odm->BoardType & BIT(2)) >> 2) << 4; /* _BT */
+ ((pDM_Odm->BoardType & BIT(2)) >> 2) << 4; /* _BT */
u32 cond1 = Condition1, cond2 = Condition2;
- u32 driver1 =
- pDM_Odm->CutVersion << 24 |
- pDM_Odm->SupportPlatform << 16 |
- pDM_Odm->PackageType << 12 |
- pDM_Odm->SupportInterface << 8 |
- _BoardType;
-
- u32 driver2 =
- pDM_Odm->TypeGLNA << 0 |
- pDM_Odm->TypeGPA << 8 |
- pDM_Odm->TypeALNA << 16 |
- pDM_Odm->TypeAPA << 24;
+ u32 driver1 = pDM_Odm->CutVersion << 24 |
+ pDM_Odm->SupportPlatform << 16 |
+ pDM_Odm->PackageType << 12 |
+ pDM_Odm->SupportInterface << 8 | _BoardType;
+
+ u32 driver2 = pDM_Odm->TypeGLNA << 0 | pDM_Odm->TypeGPA << 8 |
+ pDM_Odm->TypeALNA << 16 | pDM_Odm->TypeAPA << 24;
/* Value Defined Check =============== */
/* QFN Type [15:12] and Cut Version [27:24] need to do value check */
- if (
- ((cond1 & 0x0000F000) != 0) &&
- ((cond1 & 0x0000F000) != (driver1 & 0x0000F000))
- )
+ if (((cond1 & 0x0000F000) != 0) &&
+ ((cond1 & 0x0000F000) != (driver1 & 0x0000F000)))
return false;
- if (
- ((cond1 & 0x0F000000) != 0) &&
- ((cond1 & 0x0F000000) != (driver1 & 0x0F000000))
- )
+ if (((cond1 & 0x0F000000) != 0) &&
+ ((cond1 & 0x0F000000) != (driver1 & 0x0F000000)))
return false;
/* Bit Defined Check ================ */
/* We don't care [31:28] and [23:20] */
- cond1 &= 0x000F0FFF;
+ cond1 &= 0x000F0FFF;
driver1 &= 0x000F0FFF;
if ((cond1 & driver1) == cond1) {
@@ -83,130 +72,50 @@ static bool CheckPositive(
******************************************************************************/
static u32 Array_MP_8723B_RadioA[] = {
- 0x000, 0x00010000,
- 0x0B0, 0x000DFFE0,
- 0x0FE, 0x00000000,
- 0x0FE, 0x00000000,
- 0x0FE, 0x00000000,
- 0x0B1, 0x00000018,
- 0x0FE, 0x00000000,
- 0x0FE, 0x00000000,
- 0x0FE, 0x00000000,
- 0x0B2, 0x00084C00,
- 0x0B5, 0x0000D2CC,
- 0x0B6, 0x000925AA,
- 0x0B7, 0x00000010,
- 0x0B8, 0x0000907F,
- 0x05C, 0x00000002,
- 0x07C, 0x00000002,
- 0x07E, 0x00000005,
- 0x08B, 0x0006FC00,
- 0x0B0, 0x000FF9F0,
- 0x01C, 0x000739D2,
- 0x01E, 0x00000000,
- 0x0DF, 0x00000780,
- 0x050, 0x00067435,
- 0x80002000, 0x00000000, 0x40000000, 0x00000000,
- 0x051, 0x0006B10E,
- 0x90003000, 0x00000000, 0x40000000, 0x00000000,
- 0x051, 0x0006B10E,
- 0x90004000, 0x00000000, 0x40000000, 0x00000000,
- 0x051, 0x0006B10E,
- 0xA0000000, 0x00000000,
- 0x051, 0x0006B04E,
- 0xB0000000, 0x00000000,
- 0x052, 0x000007D2,
- 0x053, 0x00000000,
- 0x054, 0x00050400,
- 0x055, 0x0004026E,
- 0x0DD, 0x0000004C,
- 0x070, 0x00067435,
- 0x80002000, 0x00000000, 0x40000000, 0x00000000,
- 0x071, 0x0006B10E,
- 0x90003000, 0x00000000, 0x40000000, 0x00000000,
- 0x071, 0x0006B10E,
- 0x90004000, 0x00000000, 0x40000000, 0x00000000,
- 0x071, 0x0006B10E,
- 0xA0000000, 0x00000000,
- 0x071, 0x0006B04E,
- 0xB0000000, 0x00000000,
- 0x072, 0x000007D2,
- 0x073, 0x00000000,
- 0x074, 0x00050400,
- 0x075, 0x0004026E,
- 0x0EF, 0x00000100,
- 0x034, 0x0000ADD7,
- 0x035, 0x00005C00,
- 0x034, 0x00009DD4,
- 0x035, 0x00005000,
- 0x034, 0x00008DD1,
- 0x035, 0x00004400,
- 0x034, 0x00007DCE,
- 0x035, 0x00003800,
- 0x034, 0x00006CD1,
- 0x035, 0x00004400,
- 0x034, 0x00005CCE,
- 0x035, 0x00003800,
- 0x034, 0x000048CE,
- 0x035, 0x00004400,
- 0x034, 0x000034CE,
- 0x035, 0x00003800,
- 0x034, 0x00002451,
- 0x035, 0x00004400,
- 0x034, 0x0000144E,
- 0x035, 0x00003800,
- 0x034, 0x00000051,
- 0x035, 0x00004400,
- 0x0EF, 0x00000000,
- 0x0EF, 0x00000100,
- 0x0ED, 0x00000010,
- 0x044, 0x0000ADD7,
- 0x044, 0x00009DD4,
- 0x044, 0x00008DD1,
- 0x044, 0x00007DCE,
- 0x044, 0x00006CC1,
- 0x044, 0x00005CCE,
- 0x044, 0x000044D1,
- 0x044, 0x000034CE,
- 0x044, 0x00002451,
- 0x044, 0x0000144E,
- 0x044, 0x00000051,
- 0x0EF, 0x00000000,
- 0x0ED, 0x00000000,
- 0x07F, 0x00020080,
- 0x0EF, 0x00002000,
- 0x03B, 0x000380EF,
- 0x03B, 0x000302FE,
- 0x03B, 0x00028CE6,
- 0x03B, 0x000200BC,
- 0x03B, 0x000188A5,
- 0x03B, 0x00010FBC,
- 0x03B, 0x00008F71,
- 0x03B, 0x00000900,
- 0x0EF, 0x00000000,
- 0x0ED, 0x00000001,
- 0x040, 0x000380EF,
- 0x040, 0x000302FE,
- 0x040, 0x00028CE6,
- 0x040, 0x000200BC,
- 0x040, 0x000188A5,
- 0x040, 0x00010FBC,
- 0x040, 0x00008F71,
- 0x040, 0x00000900,
- 0x0ED, 0x00000000,
- 0x082, 0x00080000,
- 0x083, 0x00008000,
- 0x084, 0x00048D80,
- 0x085, 0x00068000,
- 0x0A2, 0x00080000,
- 0x0A3, 0x00008000,
- 0x0A4, 0x00048D80,
- 0x0A5, 0x00068000,
- 0x0ED, 0x00000002,
- 0x0EF, 0x00000002,
- 0x056, 0x00000032,
- 0x076, 0x00000032,
- 0x001, 0x00000780,
+ 0x000, 0x00010000, 0x0B0, 0x000DFFE0, 0x0FE, 0x00000000,
+ 0x0FE, 0x00000000, 0x0FE, 0x00000000, 0x0B1, 0x00000018,
+ 0x0FE, 0x00000000, 0x0FE, 0x00000000, 0x0FE, 0x00000000,
+ 0x0B2, 0x00084C00, 0x0B5, 0x0000D2CC, 0x0B6, 0x000925AA,
+ 0x0B7, 0x00000010, 0x0B8, 0x0000907F, 0x05C, 0x00000002,
+ 0x07C, 0x00000002, 0x07E, 0x00000005, 0x08B, 0x0006FC00,
+ 0x0B0, 0x000FF9F0, 0x01C, 0x000739D2, 0x01E, 0x00000000,
+ 0x0DF, 0x00000780, 0x050, 0x00067435, 0x80002000, 0x00000000,
+ 0x40000000, 0x00000000, 0x051, 0x0006B10E, 0x90003000, 0x00000000,
+ 0x40000000, 0x00000000, 0x051, 0x0006B10E, 0x90004000, 0x00000000,
+ 0x40000000, 0x00000000, 0x051, 0x0006B10E, 0xA0000000, 0x00000000,
+ 0x051, 0x0006B04E, 0xB0000000, 0x00000000, 0x052, 0x000007D2,
+ 0x053, 0x00000000, 0x054, 0x00050400, 0x055, 0x0004026E,
+ 0x0DD, 0x0000004C, 0x070, 0x00067435, 0x80002000, 0x00000000,
+ 0x40000000, 0x00000000, 0x071, 0x0006B10E, 0x90003000, 0x00000000,
+ 0x40000000, 0x00000000, 0x071, 0x0006B10E, 0x90004000, 0x00000000,
+ 0x40000000, 0x00000000, 0x071, 0x0006B10E, 0xA0000000, 0x00000000,
+ 0x071, 0x0006B04E, 0xB0000000, 0x00000000, 0x072, 0x000007D2,
+ 0x073, 0x00000000, 0x074, 0x00050400, 0x075, 0x0004026E,
+ 0x0EF, 0x00000100, 0x034, 0x0000ADD7, 0x035, 0x00005C00,
+ 0x034, 0x00009DD4, 0x035, 0x00005000, 0x034, 0x00008DD1,
+ 0x035, 0x00004400, 0x034, 0x00007DCE, 0x035, 0x00003800,
+ 0x034, 0x00006CD1, 0x035, 0x00004400, 0x034, 0x00005CCE,
+ 0x035, 0x00003800, 0x034, 0x000048CE, 0x035, 0x00004400,
+ 0x034, 0x000034CE, 0x035, 0x00003800, 0x034, 0x00002451,
+ 0x035, 0x00004400, 0x034, 0x0000144E, 0x035, 0x00003800,
+ 0x034, 0x00000051, 0x035, 0x00004400, 0x0EF, 0x00000000,
+ 0x0EF, 0x00000100, 0x0ED, 0x00000010, 0x044, 0x0000ADD7,
+ 0x044, 0x00009DD4, 0x044, 0x00008DD1, 0x044, 0x00007DCE,
+ 0x044, 0x00006CC1, 0x044, 0x00005CCE, 0x044, 0x000044D1,
+ 0x044, 0x000034CE, 0x044, 0x00002451, 0x044, 0x0000144E,
+ 0x044, 0x00000051, 0x0EF, 0x00000000, 0x0ED, 0x00000000,
+ 0x07F, 0x00020080, 0x0EF, 0x00002000, 0x03B, 0x000380EF,
+ 0x03B, 0x000302FE, 0x03B, 0x00028CE6, 0x03B, 0x000200BC,
+ 0x03B, 0x000188A5, 0x03B, 0x00010FBC, 0x03B, 0x00008F71,
+ 0x03B, 0x00000900, 0x0EF, 0x00000000, 0x0ED, 0x00000001,
+ 0x040, 0x000380EF, 0x040, 0x000302FE, 0x040, 0x00028CE6,
+ 0x040, 0x000200BC, 0x040, 0x000188A5, 0x040, 0x00010FBC,
+ 0x040, 0x00008F71, 0x040, 0x00000900, 0x0ED, 0x00000000,
+ 0x082, 0x00080000, 0x083, 0x00008000, 0x084, 0x00048D80,
+ 0x085, 0x00068000, 0x0A2, 0x00080000, 0x0A3, 0x00008000,
+ 0x0A4, 0x00048D80, 0x0A5, 0x00068000, 0x0ED, 0x00000002,
+ 0x0EF, 0x00000002, 0x056, 0x00000032, 0x076, 0x00000032,
+ 0x001, 0x00000780,
};
@@ -218,7 +127,7 @@ void ODM_ReadAndConfig_MP_8723B_RadioA(struct dm_odm_t *pDM_Odm)
for (i = 0; i < ArrayLen; i += 2) {
u32 v1 = Array[i];
- u32 v2 = Array[i+1];
+ u32 v2 = Array[i + 1];
/* This (offset, data) pair doesn't care the condition. */
if (v1 < 0x40000000) {
@@ -227,7 +136,7 @@ void ODM_ReadAndConfig_MP_8723B_RadioA(struct dm_odm_t *pDM_Odm)
} else {
/* This line is the beginning of branch. */
bool bMatched = true;
- u8 cCond = (u8)((v1 & (BIT(29)|BIT(28))) >> 28);
+ u8 cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
if (cCond == COND_ELSE) { /* ELSE, ENDIF */
bMatched = true;
@@ -247,22 +156,26 @@ void ODM_ReadAndConfig_MP_8723B_RadioA(struct dm_odm_t *pDM_Odm)
* Condition isn't matched.
* Discard the following (offset, data) pairs.
*/
- while (v1 < 0x40000000 && i < ArrayLen-2)
+ while (v1 < 0x40000000 && i < ArrayLen - 2)
READ_NEXT_PAIR(v1, v2, i);
i -= 2; /* prevent from for-loop += 2 */
} else {
/* Configure matched pairs and skip to end of if-else. */
- while (v1 < 0x40000000 && i < ArrayLen-2) {
- odm_ConfigRF_RadioA_8723B(pDM_Odm, v1, v2);
+ while (v1 < 0x40000000 && i < ArrayLen - 2) {
+ odm_ConfigRF_RadioA_8723B(pDM_Odm, v1,
+ v2);
READ_NEXT_PAIR(v1, v2, i);
}
/* Keeps reading until ENDIF. */
- cCond = (u8)((v1 & (BIT(29)|BIT(28))) >> 28);
- while (cCond != COND_ENDIF && i < ArrayLen-2) {
+ cCond = (u8)((v1 & (BIT(29) | BIT(28))) >> 28);
+ while (cCond != COND_ENDIF &&
+ i < ArrayLen - 2) {
READ_NEXT_PAIR(v1, v2, i);
- cCond = (u8)((v1 & (BIT(29)|BIT(28))) >> 28);
+ cCond = (u8)((v1 &
+ (BIT(29) | BIT(28))) >>
+ 28);
}
}
}
@@ -274,83 +187,67 @@ void ODM_ReadAndConfig_MP_8723B_RadioA(struct dm_odm_t *pDM_Odm)
******************************************************************************/
static u8 gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_SDIO_8723B[] = {
- 0, 0, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 6, 6,
- 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 12, 13, 14, 15
+ 0, 0, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 6,
+ 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 12, 13, 14, 15
};
static u8 gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_SDIO_8723B[] = {
- 0, 0, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8,
- 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15
+ 0, 0, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8,
+ 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15
};
static u8 gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_SDIO_8723B[] = {
- 0, 0, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 6, 6,
- 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 12, 13, 14, 15
+ 0, 0, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 6,
+ 6, 7, 7, 7, 8, 8, 9, 9, 10, 10, 11, 12, 13, 14, 15
};
static u8 gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_SDIO_8723B[] = {
- 0, 0, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8,
- 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15
+ 0, 0, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8,
+ 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15
};
static u8 gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_SDIO_8723B[] = {
- 0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 7, 8,
- 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 15
+ 0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 7,
+ 8, 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 15
};
static u8 gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_SDIO_8723B[] = {
- 0, 0, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 7, 7,
- 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 15
+ 0, 0, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 7,
+ 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 15
};
static u8 gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_SDIO_8723B[] = {
- 0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 7, 8,
- 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 15
+ 0, 0, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 7,
+ 8, 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 15
};
static u8 gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_SDIO_8723B[] = {
- 0, 0, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 7, 7,
- 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 15
+ 0, 0, 1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 6, 6, 7,
+ 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 12, 12, 13, 14, 15
};
void ODM_ReadAndConfig_MP_8723B_TxPowerTrack_SDIO(struct dm_odm_t *pDM_Odm)
{
struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo;
- memcpy(
- pRFCalibrateInfo->DeltaSwingTableIdx_2GA_P,
- gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_SDIO_8723B,
- DELTA_SWINGIDX_SIZE
- );
- memcpy(
- pRFCalibrateInfo->DeltaSwingTableIdx_2GA_N,
- gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_SDIO_8723B,
- DELTA_SWINGIDX_SIZE
- );
- memcpy(
- pRFCalibrateInfo->DeltaSwingTableIdx_2GB_P,
- gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_SDIO_8723B,
- DELTA_SWINGIDX_SIZE
- );
- memcpy(
- pRFCalibrateInfo->DeltaSwingTableIdx_2GB_N,
- gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_SDIO_8723B,
- DELTA_SWINGIDX_SIZE
- );
-
- memcpy(
- pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_P,
- gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_SDIO_8723B,
- DELTA_SWINGIDX_SIZE
- );
- memcpy(
- pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_N,
- gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_SDIO_8723B,
- DELTA_SWINGIDX_SIZE
- );
- memcpy(
- pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_P,
- gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_SDIO_8723B,
- DELTA_SWINGIDX_SIZE
- );
- memcpy(
- pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_N,
- gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_SDIO_8723B,
- DELTA_SWINGIDX_SIZE
- );
+ memcpy(pRFCalibrateInfo->DeltaSwingTableIdx_2GA_P,
+ gDeltaSwingTableIdx_MP_2GA_P_TxPowerTrack_SDIO_8723B,
+ DELTA_SWINGIDX_SIZE);
+ memcpy(pRFCalibrateInfo->DeltaSwingTableIdx_2GA_N,
+ gDeltaSwingTableIdx_MP_2GA_N_TxPowerTrack_SDIO_8723B,
+ DELTA_SWINGIDX_SIZE);
+ memcpy(pRFCalibrateInfo->DeltaSwingTableIdx_2GB_P,
+ gDeltaSwingTableIdx_MP_2GB_P_TxPowerTrack_SDIO_8723B,
+ DELTA_SWINGIDX_SIZE);
+ memcpy(pRFCalibrateInfo->DeltaSwingTableIdx_2GB_N,
+ gDeltaSwingTableIdx_MP_2GB_N_TxPowerTrack_SDIO_8723B,
+ DELTA_SWINGIDX_SIZE);
+
+ memcpy(pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_P,
+ gDeltaSwingTableIdx_MP_2GCCKA_P_TxPowerTrack_SDIO_8723B,
+ DELTA_SWINGIDX_SIZE);
+ memcpy(pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_N,
+ gDeltaSwingTableIdx_MP_2GCCKA_N_TxPowerTrack_SDIO_8723B,
+ DELTA_SWINGIDX_SIZE);
+ memcpy(pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_P,
+ gDeltaSwingTableIdx_MP_2GCCKB_P_TxPowerTrack_SDIO_8723B,
+ DELTA_SWINGIDX_SIZE);
+ memcpy(pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_N,
+ gDeltaSwingTableIdx_MP_2GCCKB_N_TxPowerTrack_SDIO_8723B,
+ DELTA_SWINGIDX_SIZE);
}
/******************************************************************************
@@ -358,174 +255,118 @@ void ODM_ReadAndConfig_MP_8723B_TxPowerTrack_SDIO(struct dm_odm_t *pDM_Odm)
******************************************************************************/
static u8 *Array_MP_8723B_TXPWR_LMT[] = {
- "FCC", "20M", "CCK", "1T", "01", "32",
- "ETSI", "20M", "CCK", "1T", "01", "32",
- "MKK", "20M", "CCK", "1T", "01", "32",
- "FCC", "20M", "CCK", "1T", "02", "32",
- "ETSI", "20M", "CCK", "1T", "02", "32",
- "MKK", "20M", "CCK", "1T", "02", "32",
- "FCC", "20M", "CCK", "1T", "03", "32",
- "ETSI", "20M", "CCK", "1T", "03", "32",
- "MKK", "20M", "CCK", "1T", "03", "32",
- "FCC", "20M", "CCK", "1T", "04", "32",
- "ETSI", "20M", "CCK", "1T", "04", "32",
- "MKK", "20M", "CCK", "1T", "04", "32",
- "FCC", "20M", "CCK", "1T", "05", "32",
- "ETSI", "20M", "CCK", "1T", "05", "32",
- "MKK", "20M", "CCK", "1T", "05", "32",
- "FCC", "20M", "CCK", "1T", "06", "32",
- "ETSI", "20M", "CCK", "1T", "06", "32",
- "MKK", "20M", "CCK", "1T", "06", "32",
- "FCC", "20M", "CCK", "1T", "07", "32",
- "ETSI", "20M", "CCK", "1T", "07", "32",
- "MKK", "20M", "CCK", "1T", "07", "32",
- "FCC", "20M", "CCK", "1T", "08", "32",
- "ETSI", "20M", "CCK", "1T", "08", "32",
- "MKK", "20M", "CCK", "1T", "08", "32",
- "FCC", "20M", "CCK", "1T", "09", "32",
- "ETSI", "20M", "CCK", "1T", "09", "32",
- "MKK", "20M", "CCK", "1T", "09", "32",
- "FCC", "20M", "CCK", "1T", "10", "32",
- "ETSI", "20M", "CCK", "1T", "10", "32",
- "MKK", "20M", "CCK", "1T", "10", "32",
- "FCC", "20M", "CCK", "1T", "11", "32",
- "ETSI", "20M", "CCK", "1T", "11", "32",
- "MKK", "20M", "CCK", "1T", "11", "32",
- "FCC", "20M", "CCK", "1T", "12", "63",
- "ETSI", "20M", "CCK", "1T", "12", "32",
- "MKK", "20M", "CCK", "1T", "12", "32",
- "FCC", "20M", "CCK", "1T", "13", "63",
- "ETSI", "20M", "CCK", "1T", "13", "32",
- "MKK", "20M", "CCK", "1T", "13", "32",
- "FCC", "20M", "CCK", "1T", "14", "63",
- "ETSI", "20M", "CCK", "1T", "14", "63",
- "MKK", "20M", "CCK", "1T", "14", "32",
- "FCC", "20M", "OFDM", "1T", "01", "28",
- "ETSI", "20M", "OFDM", "1T", "01", "32",
- "MKK", "20M", "OFDM", "1T", "01", "32",
- "FCC", "20M", "OFDM", "1T", "02", "28",
- "ETSI", "20M", "OFDM", "1T", "02", "32",
- "MKK", "20M", "OFDM", "1T", "02", "32",
- "FCC", "20M", "OFDM", "1T", "03", "32",
- "ETSI", "20M", "OFDM", "1T", "03", "32",
- "MKK", "20M", "OFDM", "1T", "03", "32",
- "FCC", "20M", "OFDM", "1T", "04", "32",
- "ETSI", "20M", "OFDM", "1T", "04", "32",
- "MKK", "20M", "OFDM", "1T", "04", "32",
- "FCC", "20M", "OFDM", "1T", "05", "32",
- "ETSI", "20M", "OFDM", "1T", "05", "32",
- "MKK", "20M", "OFDM", "1T", "05", "32",
- "FCC", "20M", "OFDM", "1T", "06", "32",
- "ETSI", "20M", "OFDM", "1T", "06", "32",
- "MKK", "20M", "OFDM", "1T", "06", "32",
- "FCC", "20M", "OFDM", "1T", "07", "32",
- "ETSI", "20M", "OFDM", "1T", "07", "32",
- "MKK", "20M", "OFDM", "1T", "07", "32",
- "FCC", "20M", "OFDM", "1T", "08", "32",
- "ETSI", "20M", "OFDM", "1T", "08", "32",
- "MKK", "20M", "OFDM", "1T", "08", "32",
- "FCC", "20M", "OFDM", "1T", "09", "32",
- "ETSI", "20M", "OFDM", "1T", "09", "32",
- "MKK", "20M", "OFDM", "1T", "09", "32",
- "FCC", "20M", "OFDM", "1T", "10", "28",
- "ETSI", "20M", "OFDM", "1T", "10", "32",
- "MKK", "20M", "OFDM", "1T", "10", "32",
- "FCC", "20M", "OFDM", "1T", "11", "28",
- "ETSI", "20M", "OFDM", "1T", "11", "32",
- "MKK", "20M", "OFDM", "1T", "11", "32",
- "FCC", "20M", "OFDM", "1T", "12", "63",
- "ETSI", "20M", "OFDM", "1T", "12", "32",
- "MKK", "20M", "OFDM", "1T", "12", "32",
- "FCC", "20M", "OFDM", "1T", "13", "63",
- "ETSI", "20M", "OFDM", "1T", "13", "32",
- "MKK", "20M", "OFDM", "1T", "13", "32",
- "FCC", "20M", "OFDM", "1T", "14", "63",
- "ETSI", "20M", "OFDM", "1T", "14", "63",
- "MKK", "20M", "OFDM", "1T", "14", "63",
- "FCC", "20M", "HT", "1T", "01", "26",
- "ETSI", "20M", "HT", "1T", "01", "32",
- "MKK", "20M", "HT", "1T", "01", "32",
- "FCC", "20M", "HT", "1T", "02", "26",
- "ETSI", "20M", "HT", "1T", "02", "32",
- "MKK", "20M", "HT", "1T", "02", "32",
- "FCC", "20M", "HT", "1T", "03", "32",
- "ETSI", "20M", "HT", "1T", "03", "32",
- "MKK", "20M", "HT", "1T", "03", "32",
- "FCC", "20M", "HT", "1T", "04", "32",
- "ETSI", "20M", "HT", "1T", "04", "32",
- "MKK", "20M", "HT", "1T", "04", "32",
- "FCC", "20M", "HT", "1T", "05", "32",
- "ETSI", "20M", "HT", "1T", "05", "32",
- "MKK", "20M", "HT", "1T", "05", "32",
- "FCC", "20M", "HT", "1T", "06", "32",
- "ETSI", "20M", "HT", "1T", "06", "32",
- "MKK", "20M", "HT", "1T", "06", "32",
- "FCC", "20M", "HT", "1T", "07", "32",
- "ETSI", "20M", "HT", "1T", "07", "32",
- "MKK", "20M", "HT", "1T", "07", "32",
- "FCC", "20M", "HT", "1T", "08", "32",
- "ETSI", "20M", "HT", "1T", "08", "32",
- "MKK", "20M", "HT", "1T", "08", "32",
- "FCC", "20M", "HT", "1T", "09", "32",
- "ETSI", "20M", "HT", "1T", "09", "32",
- "MKK", "20M", "HT", "1T", "09", "32",
- "FCC", "20M", "HT", "1T", "10", "26",
- "ETSI", "20M", "HT", "1T", "10", "32",
- "MKK", "20M", "HT", "1T", "10", "32",
- "FCC", "20M", "HT", "1T", "11", "26",
- "ETSI", "20M", "HT", "1T", "11", "32",
- "MKK", "20M", "HT", "1T", "11", "32",
- "FCC", "20M", "HT", "1T", "12", "63",
- "ETSI", "20M", "HT", "1T", "12", "32",
- "MKK", "20M", "HT", "1T", "12", "32",
- "FCC", "20M", "HT", "1T", "13", "63",
- "ETSI", "20M", "HT", "1T", "13", "32",
- "MKK", "20M", "HT", "1T", "13", "32",
- "FCC", "20M", "HT", "1T", "14", "63",
- "ETSI", "20M", "HT", "1T", "14", "63",
- "MKK", "20M", "HT", "1T", "14", "63",
- "FCC", "40M", "HT", "1T", "01", "63",
- "ETSI", "40M", "HT", "1T", "01", "63",
- "MKK", "40M", "HT", "1T", "01", "63",
- "FCC", "40M", "HT", "1T", "02", "63",
- "ETSI", "40M", "HT", "1T", "02", "63",
- "MKK", "40M", "HT", "1T", "02", "63",
- "FCC", "40M", "HT", "1T", "03", "26",
- "ETSI", "40M", "HT", "1T", "03", "32",
- "MKK", "40M", "HT", "1T", "03", "32",
- "FCC", "40M", "HT", "1T", "04", "26",
- "ETSI", "40M", "HT", "1T", "04", "32",
- "MKK", "40M", "HT", "1T", "04", "32",
- "FCC", "40M", "HT", "1T", "05", "32",
- "ETSI", "40M", "HT", "1T", "05", "32",
- "MKK", "40M", "HT", "1T", "05", "32",
- "FCC", "40M", "HT", "1T", "06", "32",
- "ETSI", "40M", "HT", "1T", "06", "32",
- "MKK", "40M", "HT", "1T", "06", "32",
- "FCC", "40M", "HT", "1T", "07", "32",
- "ETSI", "40M", "HT", "1T", "07", "32",
- "MKK", "40M", "HT", "1T", "07", "32",
- "FCC", "40M", "HT", "1T", "08", "26",
- "ETSI", "40M", "HT", "1T", "08", "32",
- "MKK", "40M", "HT", "1T", "08", "32",
- "FCC", "40M", "HT", "1T", "09", "26",
- "ETSI", "40M", "HT", "1T", "09", "32",
- "MKK", "40M", "HT", "1T", "09", "32",
- "FCC", "40M", "HT", "1T", "10", "26",
- "ETSI", "40M", "HT", "1T", "10", "32",
- "MKK", "40M", "HT", "1T", "10", "32",
- "FCC", "40M", "HT", "1T", "11", "26",
- "ETSI", "40M", "HT", "1T", "11", "32",
- "MKK", "40M", "HT", "1T", "11", "32",
- "FCC", "40M", "HT", "1T", "12", "63",
- "ETSI", "40M", "HT", "1T", "12", "32",
- "MKK", "40M", "HT", "1T", "12", "32",
- "FCC", "40M", "HT", "1T", "13", "63",
- "ETSI", "40M", "HT", "1T", "13", "32",
- "MKK", "40M", "HT", "1T", "13", "32",
- "FCC", "40M", "HT", "1T", "14", "63",
- "ETSI", "40M", "HT", "1T", "14", "63",
- "MKK", "40M", "HT", "1T", "14", "63"
+ "FCC", "20M", "CCK", "1T", "01", "32", "ETSI", "20M", "CCK",
+ "1T", "01", "32", "MKK", "20M", "CCK", "1T", "01", "32",
+ "FCC", "20M", "CCK", "1T", "02", "32", "ETSI", "20M", "CCK",
+ "1T", "02", "32", "MKK", "20M", "CCK", "1T", "02", "32",
+ "FCC", "20M", "CCK", "1T", "03", "32", "ETSI", "20M", "CCK",
+ "1T", "03", "32", "MKK", "20M", "CCK", "1T", "03", "32",
+ "FCC", "20M", "CCK", "1T", "04", "32", "ETSI", "20M", "CCK",
+ "1T", "04", "32", "MKK", "20M", "CCK", "1T", "04", "32",
+ "FCC", "20M", "CCK", "1T", "05", "32", "ETSI", "20M", "CCK",
+ "1T", "05", "32", "MKK", "20M", "CCK", "1T", "05", "32",
+ "FCC", "20M", "CCK", "1T", "06", "32", "ETSI", "20M", "CCK",
+ "1T", "06", "32", "MKK", "20M", "CCK", "1T", "06", "32",
+ "FCC", "20M", "CCK", "1T", "07", "32", "ETSI", "20M", "CCK",
+ "1T", "07", "32", "MKK", "20M", "CCK", "1T", "07", "32",
+ "FCC", "20M", "CCK", "1T", "08", "32", "ETSI", "20M", "CCK",
+ "1T", "08", "32", "MKK", "20M", "CCK", "1T", "08", "32",
+ "FCC", "20M", "CCK", "1T", "09", "32", "ETSI", "20M", "CCK",
+ "1T", "09", "32", "MKK", "20M", "CCK", "1T", "09", "32",
+ "FCC", "20M", "CCK", "1T", "10", "32", "ETSI", "20M", "CCK",
+ "1T", "10", "32", "MKK", "20M", "CCK", "1T", "10", "32",
+ "FCC", "20M", "CCK", "1T", "11", "32", "ETSI", "20M", "CCK",
+ "1T", "11", "32", "MKK", "20M", "CCK", "1T", "11", "32",
+ "FCC", "20M", "CCK", "1T", "12", "63", "ETSI", "20M", "CCK",
+ "1T", "12", "32", "MKK", "20M", "CCK", "1T", "12", "32",
+ "FCC", "20M", "CCK", "1T", "13", "63", "ETSI", "20M", "CCK",
+ "1T", "13", "32", "MKK", "20M", "CCK", "1T", "13", "32",
+ "FCC", "20M", "CCK", "1T", "14", "63", "ETSI", "20M", "CCK",
+ "1T", "14", "63", "MKK", "20M", "CCK", "1T", "14", "32",
+ "FCC", "20M", "OFDM", "1T", "01", "28", "ETSI", "20M", "OFDM",
+ "1T", "01", "32", "MKK", "20M", "OFDM", "1T", "01", "32",
+ "FCC", "20M", "OFDM", "1T", "02", "28", "ETSI", "20M", "OFDM",
+ "1T", "02", "32", "MKK", "20M", "OFDM", "1T", "02", "32",
+ "FCC", "20M", "OFDM", "1T", "03", "32", "ETSI", "20M", "OFDM",
+ "1T", "03", "32", "MKK", "20M", "OFDM", "1T", "03", "32",
+ "FCC", "20M", "OFDM", "1T", "04", "32", "ETSI", "20M", "OFDM",
+ "1T", "04", "32", "MKK", "20M", "OFDM", "1T", "04", "32",
+ "FCC", "20M", "OFDM", "1T", "05", "32", "ETSI", "20M", "OFDM",
+ "1T", "05", "32", "MKK", "20M", "OFDM", "1T", "05", "32",
+ "FCC", "20M", "OFDM", "1T", "06", "32", "ETSI", "20M", "OFDM",
+ "1T", "06", "32", "MKK", "20M", "OFDM", "1T", "06", "32",
+ "FCC", "20M", "OFDM", "1T", "07", "32", "ETSI", "20M", "OFDM",
+ "1T", "07", "32", "MKK", "20M", "OFDM", "1T", "07", "32",
+ "FCC", "20M", "OFDM", "1T", "08", "32", "ETSI", "20M", "OFDM",
+ "1T", "08", "32", "MKK", "20M", "OFDM", "1T", "08", "32",
+ "FCC", "20M", "OFDM", "1T", "09", "32", "ETSI", "20M", "OFDM",
+ "1T", "09", "32", "MKK", "20M", "OFDM", "1T", "09", "32",
+ "FCC", "20M", "OFDM", "1T", "10", "28", "ETSI", "20M", "OFDM",
+ "1T", "10", "32", "MKK", "20M", "OFDM", "1T", "10", "32",
+ "FCC", "20M", "OFDM", "1T", "11", "28", "ETSI", "20M", "OFDM",
+ "1T", "11", "32", "MKK", "20M", "OFDM", "1T", "11", "32",
+ "FCC", "20M", "OFDM", "1T", "12", "63", "ETSI", "20M", "OFDM",
+ "1T", "12", "32", "MKK", "20M", "OFDM", "1T", "12", "32",
+ "FCC", "20M", "OFDM", "1T", "13", "63", "ETSI", "20M", "OFDM",
+ "1T", "13", "32", "MKK", "20M", "OFDM", "1T", "13", "32",
+ "FCC", "20M", "OFDM", "1T", "14", "63", "ETSI", "20M", "OFDM",
+ "1T", "14", "63", "MKK", "20M", "OFDM", "1T", "14", "63",
+ "FCC", "20M", "HT", "1T", "01", "26", "ETSI", "20M", "HT",
+ "1T", "01", "32", "MKK", "20M", "HT", "1T", "01", "32",
+ "FCC", "20M", "HT", "1T", "02", "26", "ETSI", "20M", "HT",
+ "1T", "02", "32", "MKK", "20M", "HT", "1T", "02", "32",
+ "FCC", "20M", "HT", "1T", "03", "32", "ETSI", "20M", "HT",
+ "1T", "03", "32", "MKK", "20M", "HT", "1T", "03", "32",
+ "FCC", "20M", "HT", "1T", "04", "32", "ETSI", "20M", "HT",
+ "1T", "04", "32", "MKK", "20M", "HT", "1T", "04", "32",
+ "FCC", "20M", "HT", "1T", "05", "32", "ETSI", "20M", "HT",
+ "1T", "05", "32", "MKK", "20M", "HT", "1T", "05", "32",
+ "FCC", "20M", "HT", "1T", "06", "32", "ETSI", "20M", "HT",
+ "1T", "06", "32", "MKK", "20M", "HT", "1T", "06", "32",
+ "FCC", "20M", "HT", "1T", "07", "32", "ETSI", "20M", "HT",
+ "1T", "07", "32", "MKK", "20M", "HT", "1T", "07", "32",
+ "FCC", "20M", "HT", "1T", "08", "32", "ETSI", "20M", "HT",
+ "1T", "08", "32", "MKK", "20M", "HT", "1T", "08", "32",
+ "FCC", "20M", "HT", "1T", "09", "32", "ETSI", "20M", "HT",
+ "1T", "09", "32", "MKK", "20M", "HT", "1T", "09", "32",
+ "FCC", "20M", "HT", "1T", "10", "26", "ETSI", "20M", "HT",
+ "1T", "10", "32", "MKK", "20M", "HT", "1T", "10", "32",
+ "FCC", "20M", "HT", "1T", "11", "26", "ETSI", "20M", "HT",
+ "1T", "11", "32", "MKK", "20M", "HT", "1T", "11", "32",
+ "FCC", "20M", "HT", "1T", "12", "63", "ETSI", "20M", "HT",
+ "1T", "12", "32", "MKK", "20M", "HT", "1T", "12", "32",
+ "FCC", "20M", "HT", "1T", "13", "63", "ETSI", "20M", "HT",
+ "1T", "13", "32", "MKK", "20M", "HT", "1T", "13", "32",
+ "FCC", "20M", "HT", "1T", "14", "63", "ETSI", "20M", "HT",
+ "1T", "14", "63", "MKK", "20M", "HT", "1T", "14", "63",
+ "FCC", "40M", "HT", "1T", "01", "63", "ETSI", "40M", "HT",
+ "1T", "01", "63", "MKK", "40M", "HT", "1T", "01", "63",
+ "FCC", "40M", "HT", "1T", "02", "63", "ETSI", "40M", "HT",
+ "1T", "02", "63", "MKK", "40M", "HT", "1T", "02", "63",
+ "FCC", "40M", "HT", "1T", "03", "26", "ETSI", "40M", "HT",
+ "1T", "03", "32", "MKK", "40M", "HT", "1T", "03", "32",
+ "FCC", "40M", "HT", "1T", "04", "26", "ETSI", "40M", "HT",
+ "1T", "04", "32", "MKK", "40M", "HT", "1T", "04", "32",
+ "FCC", "40M", "HT", "1T", "05", "32", "ETSI", "40M", "HT",
+ "1T", "05", "32", "MKK", "40M", "HT", "1T", "05", "32",
+ "FCC", "40M", "HT", "1T", "06", "32", "ETSI", "40M", "HT",
+ "1T", "06", "32", "MKK", "40M", "HT", "1T", "06", "32",
+ "FCC", "40M", "HT", "1T", "07", "32", "ETSI", "40M", "HT",
+ "1T", "07", "32", "MKK", "40M", "HT", "1T", "07", "32",
+ "FCC", "40M", "HT", "1T", "08", "26", "ETSI", "40M", "HT",
+ "1T", "08", "32", "MKK", "40M", "HT", "1T", "08", "32",
+ "FCC", "40M", "HT", "1T", "09", "26", "ETSI", "40M", "HT",
+ "1T", "09", "32", "MKK", "40M", "HT", "1T", "09", "32",
+ "FCC", "40M", "HT", "1T", "10", "26", "ETSI", "40M", "HT",
+ "1T", "10", "32", "MKK", "40M", "HT", "1T", "10", "32",
+ "FCC", "40M", "HT", "1T", "11", "26", "ETSI", "40M", "HT",
+ "1T", "11", "32", "MKK", "40M", "HT", "1T", "11", "32",
+ "FCC", "40M", "HT", "1T", "12", "63", "ETSI", "40M", "HT",
+ "1T", "12", "32", "MKK", "40M", "HT", "1T", "12", "32",
+ "FCC", "40M", "HT", "1T", "13", "63", "ETSI", "40M", "HT",
+ "1T", "13", "32", "MKK", "40M", "HT", "1T", "13", "32",
+ "FCC", "40M", "HT", "1T", "14", "63", "ETSI", "40M", "HT",
+ "1T", "14", "63", "MKK", "40M", "HT", "1T", "14", "63"
};
void ODM_ReadAndConfig_MP_8723B_TXPWR_LMT(struct dm_odm_t *pDM_Odm)
@@ -535,20 +376,13 @@ void ODM_ReadAndConfig_MP_8723B_TXPWR_LMT(struct dm_odm_t *pDM_Odm)
for (i = 0; i < ARRAY_SIZE(Array_MP_8723B_TXPWR_LMT); i += 6) {
u8 *regulation = Array[i];
- u8 *bandwidth = Array[i+1];
- u8 *rate = Array[i+2];
- u8 *rfPath = Array[i+3];
- u8 *chnl = Array[i+4];
- u8 *val = Array[i+5];
-
- odm_ConfigBB_TXPWR_LMT_8723B(
- pDM_Odm,
- regulation,
- bandwidth,
- rate,
- rfPath,
- chnl,
- val
- );
+ u8 *bandwidth = Array[i + 1];
+ u8 *rate = Array[i + 2];
+ u8 *rfPath = Array[i + 3];
+ u8 *chnl = Array[i + 4];
+ u8 *val = Array[i + 5];
+
+ odm_ConfigBB_TXPWR_LMT_8723B(pDM_Odm, regulation, bandwidth,
+ rate, rfPath, chnl, val);
}
}
diff --git a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h
index 7b4f399fcdff1..bcb612bd183d7 100644
--- a/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h
+++ b/drivers/staging/rtl8723bs/hal/HalHWImg8723B_RF.h
@@ -12,29 +12,23 @@
* RadioA.TXT
******************************************************************************/
-void
-ODM_ReadAndConfig_MP_8723B_RadioA(/* TC: Test Chip, MP: MP Chip */
- struct dm_odm_t *pDM_Odm
-);
+void ODM_ReadAndConfig_MP_8723B_RadioA(/* TC: Test Chip, MP: MP Chip */
+ struct dm_odm_t *pDM_Odm);
/******************************************************************************
* TxPowerTrack_SDIO.TXT
******************************************************************************/
-void
-ODM_ReadAndConfig_MP_8723B_TxPowerTrack_SDIO(/* TC: Test Chip, MP: MP Chip */
- struct dm_odm_t *pDM_Odm
-);
+void ODM_ReadAndConfig_MP_8723B_TxPowerTrack_SDIO(/* TC: Test Chip, MP: MP Chip */
+ struct dm_odm_t *pDM_Odm);
u32 ODM_GetVersion_MP_8723B_TxPowerTrack_SDIO(void);
/******************************************************************************
* TXPWR_LMT.TXT
******************************************************************************/
-void
-ODM_ReadAndConfig_MP_8723B_TXPWR_LMT(/* TC: Test Chip, MP: MP Chip */
- struct dm_odm_t *pDM_Odm
-);
+void ODM_ReadAndConfig_MP_8723B_TXPWR_LMT(/* TC: Test Chip, MP: MP Chip */
+ struct dm_odm_t *pDM_Odm);
u32 ODM_GetVersion_MP_8723B_TXPWR_LMT(void);
#endif
diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf.c b/drivers/staging/rtl8723bs/hal/HalPhyRf.c
index 9e4d42e3a122f..263d0ac31b01f 100644
--- a/drivers/staging/rtl8723bs/hal/HalPhyRf.c
+++ b/drivers/staging/rtl8723bs/hal/HalPhyRf.c
@@ -8,7 +8,8 @@
/* include "Mp_Precomp.h" */
#include "odm_precomp.h"
-void ConfigureTxpowerTrack(struct dm_odm_t *pDM_Odm, struct txpwrtrack_cfg *pConfig)
+void ConfigureTxpowerTrack(struct dm_odm_t *pDM_Odm,
+ struct txpwrtrack_cfg *pConfig)
{
ConfigureTxpowerTrack_8723B(pConfig);
}
@@ -33,7 +34,8 @@ void ODM_ClearTxPowerTrackingState(struct dm_odm_t *pDM_Odm)
for (p = RF_PATH_A; p < MAX_RF_PATH; ++p) {
pDM_Odm->BbSwingIdxOfdmBase[p] = pDM_Odm->DefaultOfdmIndex;
pDM_Odm->BbSwingIdxOfdm[p] = pDM_Odm->DefaultOfdmIndex;
- pDM_Odm->RFCalibrateInfo.OFDM_index[p] = pDM_Odm->DefaultOfdmIndex;
+ pDM_Odm->RFCalibrateInfo.OFDM_index[p] =
+ pDM_Odm->DefaultOfdmIndex;
pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0;
pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[p] = 0;
@@ -51,13 +53,14 @@ void ODM_ClearTxPowerTrackingState(struct dm_odm_t *pDM_Odm)
pDM_Odm->Modify_TxAGC_Flag_PathB = false;
pDM_Odm->Remnant_CCKSwingIdx = 0;
pDM_Odm->RFCalibrateInfo.ThermalValue = pHalData->EEPROMThermalMeter;
- pDM_Odm->RFCalibrateInfo.ThermalValue_IQK = pHalData->EEPROMThermalMeter;
- pDM_Odm->RFCalibrateInfo.ThermalValue_LCK = pHalData->EEPROMThermalMeter;
+ pDM_Odm->RFCalibrateInfo.ThermalValue_IQK =
+ pHalData->EEPROMThermalMeter;
+ pDM_Odm->RFCalibrateInfo.ThermalValue_LCK =
+ pHalData->EEPROMThermalMeter;
}
void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
{
-
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
@@ -65,8 +68,10 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
u8 ThermalValue_AVG_count = 0;
u32 ThermalValue_AVG = 0;
- u8 OFDM_min_index = 0; /* OFDM BB Swing should be less than +3.0dB, which is required by Arthur */
- u8 Indexforchannel = 0; /* GetRightChnlPlaceforIQK(pHalData->CurrentChannel) */
+ u8 OFDM_min_index =
+ 0; /* OFDM BB Swing should be less than +3.0dB, which is required by Arthur */
+ u8 Indexforchannel =
+ 0; /* GetRightChnlPlaceforIQK(pHalData->CurrentChannel) */
struct txpwrtrack_cfg c;
@@ -80,38 +85,39 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
ConfigureTxpowerTrack(pDM_Odm, &c);
- (*c.GetDeltaSwingTable)(
- pDM_Odm,
- (u8 **)&deltaSwingTableIdx_TUP_A,
- (u8 **)&deltaSwingTableIdx_TDOWN_A,
- (u8 **)&deltaSwingTableIdx_TUP_B,
- (u8 **)&deltaSwingTableIdx_TDOWN_B
- );
+ (*c.GetDeltaSwingTable)(pDM_Odm, (u8 **)&deltaSwingTableIdx_TUP_A,
+ (u8 **)&deltaSwingTableIdx_TDOWN_A,
+ (u8 **)&deltaSwingTableIdx_TUP_B,
+ (u8 **)&deltaSwingTableIdx_TDOWN_B);
/* cosa add for debug */
pDM_Odm->RFCalibrateInfo.TXPowerTrackingCallbackCnt++;
pDM_Odm->RFCalibrateInfo.bTXPowerTrackingInit = true;
- ThermalValue = (u8)PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, c.ThermalRegAddr, 0xfc00); /* 0x42: RF Reg[15:10] 88E */
- if (
- !pDM_Odm->RFCalibrateInfo.TxPowerTrackControl ||
- pHalData->EEPROMThermalMeter == 0 ||
- pHalData->EEPROMThermalMeter == 0xFF
- )
+ ThermalValue = (u8)PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A,
+ c.ThermalRegAddr,
+ 0xfc00); /* 0x42: RF Reg[15:10] 88E */
+ if (!pDM_Odm->RFCalibrateInfo.TxPowerTrackControl ||
+ pHalData->EEPROMThermalMeter == 0 ||
+ pHalData->EEPROMThermalMeter == 0xFF)
return;
/* 4 3. Initialize ThermalValues of RFCalibrateInfo */
/* 4 4. Calculate average thermal meter */
- pDM_Odm->RFCalibrateInfo.ThermalValue_AVG[pDM_Odm->RFCalibrateInfo.ThermalValue_AVG_index] = ThermalValue;
+ pDM_Odm->RFCalibrateInfo.ThermalValue_AVG
+ [pDM_Odm->RFCalibrateInfo.ThermalValue_AVG_index] =
+ ThermalValue;
pDM_Odm->RFCalibrateInfo.ThermalValue_AVG_index++;
- if (pDM_Odm->RFCalibrateInfo.ThermalValue_AVG_index == c.AverageThermalNum) /* Average times = c.AverageThermalNum */
+ if (pDM_Odm->RFCalibrateInfo.ThermalValue_AVG_index ==
+ c.AverageThermalNum) /* Average times = c.AverageThermalNum */
pDM_Odm->RFCalibrateInfo.ThermalValue_AVG_index = 0;
for (i = 0; i < c.AverageThermalNum; i++) {
if (pDM_Odm->RFCalibrateInfo.ThermalValue_AVG[i]) {
- ThermalValue_AVG += pDM_Odm->RFCalibrateInfo.ThermalValue_AVG[i];
+ ThermalValue_AVG +=
+ pDM_Odm->RFCalibrateInfo.ThermalValue_AVG[i];
ThermalValue_AVG_count++;
}
}
@@ -123,14 +129,14 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
/* 4 5. Calculate delta, delta_LCK */
/* delta" here is used to determine whether thermal value changes or not. */
- delta =
- (ThermalValue > pDM_Odm->RFCalibrateInfo.ThermalValue) ?
- (ThermalValue - pDM_Odm->RFCalibrateInfo.ThermalValue) :
- (pDM_Odm->RFCalibrateInfo.ThermalValue - ThermalValue);
- delta_LCK =
- (ThermalValue > pDM_Odm->RFCalibrateInfo.ThermalValue_LCK) ?
- (ThermalValue - pDM_Odm->RFCalibrateInfo.ThermalValue_LCK) :
- (pDM_Odm->RFCalibrateInfo.ThermalValue_LCK - ThermalValue);
+ delta = (ThermalValue > pDM_Odm->RFCalibrateInfo.ThermalValue) ?
+ (ThermalValue - pDM_Odm->RFCalibrateInfo.ThermalValue) :
+ (pDM_Odm->RFCalibrateInfo.ThermalValue - ThermalValue);
+ delta_LCK = (ThermalValue > pDM_Odm->RFCalibrateInfo.ThermalValue_LCK) ?
+ (ThermalValue -
+ pDM_Odm->RFCalibrateInfo.ThermalValue_LCK) :
+ (pDM_Odm->RFCalibrateInfo.ThermalValue_LCK -
+ ThermalValue);
/* 4 6. If necessary, do LCK. */
/* Delta temperature is equal to or larger than 20 centigrade. */
@@ -143,10 +149,9 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
/* 3 7. If necessary, move the index of swing table to adjust Tx power. */
if (delta > 0 && pDM_Odm->RFCalibrateInfo.TxPowerTrackControl) {
/* delta" here is used to record the absolute value of difference. */
- delta =
- ThermalValue > pHalData->EEPROMThermalMeter ?
- (ThermalValue - pHalData->EEPROMThermalMeter) :
- (pHalData->EEPROMThermalMeter - ThermalValue);
+ delta = ThermalValue > pHalData->EEPROMThermalMeter ?
+ (ThermalValue - pHalData->EEPROMThermalMeter) :
+ (pHalData->EEPROMThermalMeter - ThermalValue);
if (delta >= TXPWR_TRACK_TABLE_SIZE)
delta = TXPWR_TRACK_TABLE_SIZE - 1;
@@ -154,7 +159,8 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
/* 4 7.1 The Final Power Index = BaseIndex + PowerIndexOffset */
if (ThermalValue > pHalData->EEPROMThermalMeter) {
pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[RF_PATH_A] =
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[RF_PATH_A];
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndex[RF_PATH_A];
pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[RF_PATH_A] =
deltaSwingTableIdx_TUP_A[delta];
@@ -163,9 +169,12 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
deltaSwingTableIdx_TUP_A[delta];
if (c.RfPathCount > 1) {
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[RF_PATH_B] =
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[RF_PATH_B];
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[RF_PATH_B] =
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndexLast[RF_PATH_B] =
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndex[RF_PATH_B];
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndex[RF_PATH_B] =
deltaSwingTableIdx_TUP_B[delta];
/* Record delta swing for mix mode power tracking */
@@ -175,7 +184,8 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
} else {
pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[RF_PATH_A] =
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[RF_PATH_A];
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndex[RF_PATH_A];
pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[RF_PATH_A] =
-1 * deltaSwingTableIdx_TDOWN_A[delta];
@@ -184,25 +194,32 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
-1 * deltaSwingTableIdx_TDOWN_A[delta];
if (c.RfPathCount > 1) {
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[RF_PATH_B] =
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[RF_PATH_B];
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[RF_PATH_B] =
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndexLast[RF_PATH_B] =
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndex[RF_PATH_B];
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndex[RF_PATH_B] =
-1 * deltaSwingTableIdx_TDOWN_B[delta];
- /* Record delta swing for mix mode power tracking */
+ /* Record delta swing for mix mode power tracking */
pDM_Odm->Absolute_OFDMSwingIdx[RF_PATH_B] =
-1 * deltaSwingTableIdx_TDOWN_B[delta];
}
}
for (p = RF_PATH_A; p < c.RfPathCount; p++) {
- if (
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[p] ==
- pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[p]
- ) /* If Thermal value changes but lookup table value still the same */
- pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0;
+ if (pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[p] ==
+ pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast
+ [p]) /* If Thermal value changes but lookup table value still the same */
+ pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] =
+ 0;
else
- pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[p] - pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[p]; /* Power Index Diff between 2 times Power Tracking */
+ pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] =
+ pDM_Odm->RFCalibrateInfo
+ .DeltaPowerIndex[p] -
+ pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast
+ [p]; /* Power Index Diff between 2 times Power Tracking */
pDM_Odm->RFCalibrateInfo.OFDM_index[p] =
pDM_Odm->BbSwingIdxOfdmBase[p] +
@@ -219,32 +236,37 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
pDM_Odm->RFCalibrateInfo.OFDM_index[p];
/* 4 7.1 Handle boundary conditions of index. */
- if (pDM_Odm->RFCalibrateInfo.OFDM_index[p] > c.SwingTableSize_OFDM-1)
- pDM_Odm->RFCalibrateInfo.OFDM_index[p] = c.SwingTableSize_OFDM-1;
- else if (pDM_Odm->RFCalibrateInfo.OFDM_index[p] < OFDM_min_index)
- pDM_Odm->RFCalibrateInfo.OFDM_index[p] = OFDM_min_index;
+ if (pDM_Odm->RFCalibrateInfo.OFDM_index[p] >
+ c.SwingTableSize_OFDM - 1)
+ pDM_Odm->RFCalibrateInfo.OFDM_index[p] =
+ c.SwingTableSize_OFDM - 1;
+ else if (pDM_Odm->RFCalibrateInfo.OFDM_index[p] <
+ OFDM_min_index)
+ pDM_Odm->RFCalibrateInfo.OFDM_index[p] =
+ OFDM_min_index;
}
- if (pDM_Odm->RFCalibrateInfo.CCK_index > c.SwingTableSize_CCK-1)
- pDM_Odm->RFCalibrateInfo.CCK_index = c.SwingTableSize_CCK-1;
+ if (pDM_Odm->RFCalibrateInfo.CCK_index >
+ c.SwingTableSize_CCK - 1)
+ pDM_Odm->RFCalibrateInfo.CCK_index =
+ c.SwingTableSize_CCK - 1;
/* else if (pDM_Odm->RFCalibrateInfo.CCK_index < 0) */
- /* pDM_Odm->RFCalibrateInfo.CCK_index = 0; */
+ /* pDM_Odm->RFCalibrateInfo.CCK_index = 0; */
} else {
- for (p = RF_PATH_A; p < c.RfPathCount; p++)
- pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0;
+ for (p = RF_PATH_A; p < c.RfPathCount; p++)
+ pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0;
}
/* Print Swing base & current */
for (p = RF_PATH_A; p < c.RfPathCount; p++) {
}
- if (
- (pDM_Odm->RFCalibrateInfo.PowerIndexOffset[RF_PATH_A] != 0 ||
- pDM_Odm->RFCalibrateInfo.PowerIndexOffset[RF_PATH_B] != 0) &&
- pDM_Odm->RFCalibrateInfo.TxPowerTrackControl
- ) {
+ if ((pDM_Odm->RFCalibrateInfo.PowerIndexOffset[RF_PATH_A] != 0 ||
+ pDM_Odm->RFCalibrateInfo.PowerIndexOffset[RF_PATH_B] != 0) &&
+ pDM_Odm->RFCalibrateInfo.TxPowerTrackControl) {
/* 4 7.2 Configure the Swing Table to adjust Tx Power. */
- pDM_Odm->RFCalibrateInfo.bTxPowerChanged = true; /* Always true after Tx Power is adjusted by power tracking. */
+ pDM_Odm->RFCalibrateInfo.bTxPowerChanged =
+ true; /* Always true after Tx Power is adjusted by power tracking. */
/* */
/* 2012/04/23 MH According to Luke's suggestion, we can not write BB digital */
/* to increase TX power. Otherwise, EVM will be bad. */
@@ -253,16 +275,19 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter)
if (ThermalValue > pHalData->EEPROMThermalMeter) {
for (p = RF_PATH_A; p < c.RfPathCount; p++)
- (*c.ODM_TxPwrTrackSetPwr)(pDM_Odm, MIX_MODE, p, 0);
+ (*c.ODM_TxPwrTrackSetPwr)(pDM_Odm, MIX_MODE, p,
+ 0);
} else {
for (p = RF_PATH_A; p < c.RfPathCount; p++)
- (*c.ODM_TxPwrTrackSetPwr)(pDM_Odm, MIX_MODE, p, Indexforchannel);
+ (*c.ODM_TxPwrTrackSetPwr)(pDM_Odm, MIX_MODE, p,
+ Indexforchannel);
}
/* Record last time Power Tracking result as base. */
pDM_Odm->BbSwingIdxCckBase = pDM_Odm->BbSwingIdxCck;
for (p = RF_PATH_A; p < c.RfPathCount; p++)
- pDM_Odm->BbSwingIdxOfdmBase[p] = pDM_Odm->BbSwingIdxOfdm[p];
+ pDM_Odm->BbSwingIdxOfdmBase[p] =
+ pDM_Odm->BbSwingIdxOfdm[p];
/* Record last Power Tracking Thermal Value */
pDM_Odm->RFCalibrateInfo.ThermalValue = ThermalValue;
diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf.h b/drivers/staging/rtl8723bs/hal/HalPhyRf.h
index bd9430db968f2..73282dc568d90 100644
--- a/drivers/staging/rtl8723bs/hal/HalPhyRf.h
+++ b/drivers/staging/rtl8723bs/hal/HalPhyRf.h
@@ -5,14 +5,10 @@
*
******************************************************************************/
- #ifndef __HAL_PHY_RF_H__
- #define __HAL_PHY_RF_H__
+#ifndef __HAL_PHY_RF_H__
+#define __HAL_PHY_RF_H__
-enum pwrtrack_method {
- BBSWING,
- TXAGC,
- MIX_MODE
-};
+enum pwrtrack_method { BBSWING, TXAGC, MIX_MODE };
typedef void (*FuncSetPwr)(struct dm_odm_t *, enum pwrtrack_method, u8, u8);
typedef void (*FuncLCK)(struct dm_odm_t *);
@@ -30,10 +26,11 @@ struct txpwrtrack_cfg {
FuncSwing GetDeltaSwingTable;
};
-void ConfigureTxpowerTrack(struct dm_odm_t *pDM_Odm, struct txpwrtrack_cfg *pConfig);
+void ConfigureTxpowerTrack(struct dm_odm_t *pDM_Odm,
+ struct txpwrtrack_cfg *pConfig);
void ODM_ClearTxPowerTrackingState(struct dm_odm_t *pDM_Odm);
void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter);
-#endif /* #ifndef __HAL_PHY_RF_H__ */
+#endif /* #ifndef __HAL_PHY_RF_H__ */
diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
index 70b68f473d588..91894799606b9 100644
--- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
+++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c
@@ -9,61 +9,55 @@
#include "odm_precomp.h"
/* MACRO definition for pRFCalibrateInfo->TxIQC_8723B[0] */
-#define PATH_S0 1 /* RF_PATH_B */
-#define IDX_0xC94 0
-#define IDX_0xC80 1
-#define IDX_0xC14 0
-#define IDX_0xCA0 1
-#define KEY 0
-#define VAL 1
+#define PATH_S0 1 /* RF_PATH_B */
+#define IDX_0xC94 0
+#define IDX_0xC80 1
+#define IDX_0xC14 0
+#define IDX_0xCA0 1
+#define KEY 0
+#define VAL 1
/* MACRO definition for pRFCalibrateInfo->TxIQC_8723B[1] */
-#define PATH_S1 0 /* RF_PATH_A */
-#define IDX_0xC4C 2
+#define PATH_S1 0 /* RF_PATH_A */
+#define IDX_0xC4C 2
/*---------------------------Define Local Constant---------------------------*/
/* In the case that we fail to read TxPowerTrack.txt, we use the table for
* 88E as the default table.
*/
-static u8 DeltaSwingTableIdx_2GA_N_8188E[] = {
- 0, 0, 0, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6,
- 7, 7, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11
-};
-static u8 DeltaSwingTableIdx_2GA_P_8188E[] = {
- 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4,
- 4, 4, 4, 5, 5, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9
-};
+static u8 DeltaSwingTableIdx_2GA_N_8188E[] = { 0, 0, 0, 2, 2, 3, 3, 4,
+ 4, 4, 4, 5, 5, 6, 6, 7,
+ 7, 7, 7, 8, 8, 9, 9, 10,
+ 10, 10, 11, 11, 11, 11 };
+static u8 DeltaSwingTableIdx_2GA_P_8188E[] = { 0, 0, 0, 0, 1, 1, 2, 2, 3, 3,
+ 4, 4, 4, 4, 4, 4, 4, 4, 5, 5,
+ 7, 7, 8, 8, 8, 9, 9, 9, 9, 9 };
/* 3 ============================================================ */
/* 3 Tx Power Tracking */
/* 3 ============================================================ */
-static void setIqkMatrix_8723B(
- struct dm_odm_t *pDM_Odm,
- u8 OFDM_index,
- u8 RFPath,
- s32 IqkResult_X,
- s32 IqkResult_Y
-)
+static void setIqkMatrix_8723B(struct dm_odm_t *pDM_Odm, u8 OFDM_index,
+ u8 RFPath, s32 IqkResult_X, s32 IqkResult_Y)
{
s32 ele_A = 0, ele_D, ele_C = 0, value32;
if (OFDM_index >= OFDM_TABLE_SIZE)
- OFDM_index = OFDM_TABLE_SIZE-1;
+ OFDM_index = OFDM_TABLE_SIZE - 1;
- ele_D = (OFDMSwingTable_New[OFDM_index] & 0xFFC00000)>>22;
+ ele_D = (OFDMSwingTable_New[OFDM_index] & 0xFFC00000) >> 22;
/* new element A = element D x X */
if (IqkResult_X != 0) {
- if ((IqkResult_X & 0x00000200) != 0) /* consider minus */
+ if ((IqkResult_X & 0x00000200) != 0) /* consider minus */
IqkResult_X = IqkResult_X | 0xFFFFFC00;
- ele_A = ((IqkResult_X * ele_D)>>8)&0x000003FF;
+ ele_A = ((IqkResult_X * ele_D) >> 8) & 0x000003FF;
/* new element C = element D x Y */
if ((IqkResult_Y & 0x00000200) != 0)
IqkResult_Y = IqkResult_Y | 0xFFFFFC00;
- ele_C = ((IqkResult_Y * ele_D)>>8)&0x000003FF;
+ ele_C = ((IqkResult_Y * ele_D) >> 8) & 0x000003FF;
/* if (RFPath == RF_PATH_A) */
switch (RFPath) {
@@ -71,27 +65,35 @@ static void setIqkMatrix_8723B(
/* write new elements A, C, D to regC80 and regC94,
* element B is always 0
*/
- value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, value32);
-
- value32 = (ele_C&0x000003C0)>>6;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, value32);
-
- value32 = ((IqkResult_X * ele_D)>>7)&0x01;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(24), value32);
+ value32 = (ele_D << 22) | ((ele_C & 0x3F) << 16) |
+ ele_A;
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance,
+ bMaskDWord, value32);
+
+ value32 = (ele_C & 0x000003C0) >> 6;
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE,
+ bMaskH4Bits, value32);
+
+ value32 = ((IqkResult_X * ele_D) >> 7) & 0x01;
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold,
+ BIT(24), value32);
break;
case RF_PATH_B:
/* write new elements A, C, D to regC88 and regC9C,
* element B is always 0
*/
- value32 = (ele_D<<22)|((ele_C&0x3F)<<16)|ele_A;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, value32);
+ value32 = (ele_D << 22) | ((ele_C & 0x3F) << 16) |
+ ele_A;
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance,
+ bMaskDWord, value32);
- value32 = (ele_C&0x000003C0)>>6;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, value32);
+ value32 = (ele_C & 0x000003C0) >> 6;
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE,
+ bMaskH4Bits, value32);
- value32 = ((IqkResult_X * ele_D)>>7)&0x01;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(28), value32);
+ value32 = ((IqkResult_X * ele_D) >> 7) & 0x01;
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold,
+ BIT(28), value32);
break;
default:
@@ -100,15 +102,23 @@ static void setIqkMatrix_8723B(
} else {
switch (RFPath) {
case RF_PATH_A:
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, bMaskDWord, OFDMSwingTable_New[OFDM_index]);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE, bMaskH4Bits, 0x00);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(24), 0x00);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance,
+ bMaskDWord,
+ OFDMSwingTable_New[OFDM_index]);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE,
+ bMaskH4Bits, 0x00);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold,
+ BIT(24), 0x00);
break;
case RF_PATH_B:
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord, OFDMSwingTable_New[OFDM_index]);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskH4Bits, 0x00);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(28), 0x00);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance,
+ bMaskDWord,
+ OFDMSwingTable_New[OFDM_index]);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE,
+ bMaskH4Bits, 0x00);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold,
+ BIT(28), 0x00);
break;
default:
@@ -119,7 +129,7 @@ static void setIqkMatrix_8723B(
static void setCCKFilterCoefficient(struct dm_odm_t *pDM_Odm, u8 CCKSwingIndex)
{
- u8 (*swingtable)[8];
+ u8(*swingtable)[8];
if (!pDM_Odm->RFCalibrateInfo.bCCKinCH14)
swingtable = CCKSwingTable_Ch1_Ch13_New;
@@ -127,7 +137,8 @@ static void setCCKFilterCoefficient(struct dm_odm_t *pDM_Odm, u8 CCKSwingIndex)
swingtable = CCKSwingTable_Ch14_New;
for (int i = 0; i < 8; i++)
- rtw_write8(pDM_Odm->Adapter, 0xa22 + i, swingtable[CCKSwingIndex][i]);
+ rtw_write8(pDM_Odm->Adapter, 0xa22 + i,
+ swingtable[CCKSwingIndex][i]);
}
/*-----------------------------------------------------------------------------
@@ -148,12 +159,9 @@ static void setCCKFilterCoefficient(struct dm_odm_t *pDM_Odm, u8 CCKSwingIndex)
*
*---------------------------------------------------------------------------
*/
-void ODM_TxPwrTrackSetPwr_8723B(
- struct dm_odm_t *pDM_Odm,
- enum pwrtrack_method Method,
- u8 RFPath,
- u8 ChannelMappedIndex
-)
+void ODM_TxPwrTrackSetPwr_8723B(struct dm_odm_t *pDM_Odm,
+ enum pwrtrack_method Method, u8 RFPath,
+ u8 ChannelMappedIndex)
{
struct adapter *Adapter = pDM_Odm->Adapter;
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
@@ -171,13 +179,12 @@ void ODM_TxPwrTrackSetPwr_8723B(
TxRate = HwRateToMRate(pDM_Odm->TxRate);
} else /* force rate */
TxRate = (u8)rate;
-
}
if (TxRate != 0xFF) {
/* 2 CCK */
if ((TxRate >= MGN_1M) && (TxRate <= MGN_11M))
- PwrTrackingLimit_CCK = 28; /* 2dB */
+ PwrTrackingLimit_CCK = 28; /* 2dB */
/* 2 OFDM */
else if ((TxRate >= MGN_6M) && (TxRate <= MGN_48M))
PwrTrackingLimit_OFDM = 36; /* 3dB */
@@ -185,29 +192,40 @@ void ODM_TxPwrTrackSetPwr_8723B(
PwrTrackingLimit_OFDM = 34; /* 2dB */
/* 2 HT */
- else if ((TxRate >= MGN_MCS0) && (TxRate <= MGN_MCS2)) /* QPSK/BPSK */
+ else if ((TxRate >= MGN_MCS0) &&
+ (TxRate <= MGN_MCS2)) /* QPSK/BPSK */
PwrTrackingLimit_OFDM = 38; /* 4dB */
- else if ((TxRate >= MGN_MCS3) && (TxRate <= MGN_MCS4)) /* 16QAM */
+ else if ((TxRate >= MGN_MCS3) &&
+ (TxRate <= MGN_MCS4)) /* 16QAM */
PwrTrackingLimit_OFDM = 36; /* 3dB */
- else if ((TxRate >= MGN_MCS5) && (TxRate <= MGN_MCS7)) /* 64QAM */
+ else if ((TxRate >= MGN_MCS5) &&
+ (TxRate <= MGN_MCS7)) /* 64QAM */
PwrTrackingLimit_OFDM = 34; /* 2dB */
else
- PwrTrackingLimit_OFDM = pDM_Odm->DefaultOfdmIndex; /* Default OFDM index = 30 */
+ PwrTrackingLimit_OFDM =
+ pDM_Odm->DefaultOfdmIndex; /* Default OFDM index = 30 */
}
if (Method == TXAGC) {
- pDM_Odm->Remnant_OFDMSwingIdx[RFPath] = pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
+ pDM_Odm->Remnant_OFDMSwingIdx[RFPath] =
+ pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
pDM_Odm->Modify_TxAGC_Flag_PathA = true;
pDM_Odm->Modify_TxAGC_Flag_PathA_CCK = true;
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, CCK);
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, OFDM);
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, HT_MCS0_MCS7);
+ PHY_SetTxPowerIndexByRateSection(Adapter, RFPath,
+ pHalData->CurrentChannel, CCK);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath, pHalData->CurrentChannel, OFDM);
+ PHY_SetTxPowerIndexByRateSection(Adapter, RFPath,
+ pHalData->CurrentChannel,
+ HT_MCS0_MCS7);
} else if (Method == BBSWING) {
- Final_OFDM_Swing_Index = pDM_Odm->DefaultOfdmIndex + pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
- Final_CCK_Swing_Index = pDM_Odm->DefaultCckIndex + pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
+ Final_OFDM_Swing_Index = pDM_Odm->DefaultOfdmIndex +
+ pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
+ Final_CCK_Swing_Index = pDM_Odm->DefaultCckIndex +
+ pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
/* Adjust BB swing by OFDM IQ matrix */
if (Final_OFDM_Swing_Index >= PwrTrackingLimit_OFDM)
@@ -216,69 +234,110 @@ void ODM_TxPwrTrackSetPwr_8723B(
Final_OFDM_Swing_Index = 0;
if (Final_CCK_Swing_Index >= CCK_TABLE_SIZE)
- Final_CCK_Swing_Index = CCK_TABLE_SIZE-1;
+ Final_CCK_Swing_Index = CCK_TABLE_SIZE - 1;
else if (pDM_Odm->BbSwingIdxCck <= 0)
Final_CCK_Swing_Index = 0;
- setIqkMatrix_8723B(pDM_Odm, Final_OFDM_Swing_Index, RFPath,
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][0],
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][1]);
+ setIqkMatrix_8723B(
+ pDM_Odm, Final_OFDM_Swing_Index, RFPath,
+ pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value
+ [ChannelMappedIndex][0],
+ pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value
+ [ChannelMappedIndex][1]);
setCCKFilterCoefficient(pDM_Odm, Final_CCK_Swing_Index);
} else if (Method == MIX_MODE) {
- Final_OFDM_Swing_Index = pDM_Odm->DefaultOfdmIndex + pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
- Final_CCK_Swing_Index = pDM_Odm->DefaultCckIndex + pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
-
- if (Final_OFDM_Swing_Index > PwrTrackingLimit_OFDM) { /* BBSwing higher then Limit */
- pDM_Odm->Remnant_OFDMSwingIdx[RFPath] = Final_OFDM_Swing_Index - PwrTrackingLimit_OFDM;
-
- setIqkMatrix_8723B(pDM_Odm, PwrTrackingLimit_OFDM, RFPath,
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][0],
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][1]);
+ Final_OFDM_Swing_Index = pDM_Odm->DefaultOfdmIndex +
+ pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
+ Final_CCK_Swing_Index = pDM_Odm->DefaultCckIndex +
+ pDM_Odm->Absolute_OFDMSwingIdx[RFPath];
+
+ if (Final_OFDM_Swing_Index >
+ PwrTrackingLimit_OFDM) { /* BBSwing higher then Limit */
+ pDM_Odm->Remnant_OFDMSwingIdx[RFPath] =
+ Final_OFDM_Swing_Index - PwrTrackingLimit_OFDM;
+
+ setIqkMatrix_8723B(
+ pDM_Odm, PwrTrackingLimit_OFDM, RFPath,
+ pDM_Odm->RFCalibrateInfo
+ .iqk_matrix_regs_setting_value
+ [ChannelMappedIndex][0],
+ pDM_Odm->RFCalibrateInfo
+ .iqk_matrix_regs_setting_value
+ [ChannelMappedIndex][1]);
pDM_Odm->Modify_TxAGC_Flag_PathA = true;
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, OFDM);
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, HT_MCS0_MCS7);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath, pHalData->CurrentChannel,
+ OFDM);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath, pHalData->CurrentChannel,
+ HT_MCS0_MCS7);
} else if (Final_OFDM_Swing_Index <= 0) {
- pDM_Odm->Remnant_OFDMSwingIdx[RFPath] = Final_OFDM_Swing_Index;
-
- setIqkMatrix_8723B(pDM_Odm, 0, RFPath,
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][0],
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][1]);
+ pDM_Odm->Remnant_OFDMSwingIdx[RFPath] =
+ Final_OFDM_Swing_Index;
+
+ setIqkMatrix_8723B(
+ pDM_Odm, 0, RFPath,
+ pDM_Odm->RFCalibrateInfo
+ .iqk_matrix_regs_setting_value
+ [ChannelMappedIndex][0],
+ pDM_Odm->RFCalibrateInfo
+ .iqk_matrix_regs_setting_value
+ [ChannelMappedIndex][1]);
pDM_Odm->Modify_TxAGC_Flag_PathA = true;
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, OFDM);
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, HT_MCS0_MCS7);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath, pHalData->CurrentChannel,
+ OFDM);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath, pHalData->CurrentChannel,
+ HT_MCS0_MCS7);
} else {
- setIqkMatrix_8723B(pDM_Odm, Final_OFDM_Swing_Index, RFPath,
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][0],
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[ChannelMappedIndex][1]);
+ setIqkMatrix_8723B(
+ pDM_Odm, Final_OFDM_Swing_Index, RFPath,
+ pDM_Odm->RFCalibrateInfo
+ .iqk_matrix_regs_setting_value
+ [ChannelMappedIndex][0],
+ pDM_Odm->RFCalibrateInfo
+ .iqk_matrix_regs_setting_value
+ [ChannelMappedIndex][1]);
if (pDM_Odm->Modify_TxAGC_Flag_PathA) { /* If TxAGC has changed, reset TxAGC again */
pDM_Odm->Remnant_OFDMSwingIdx[RFPath] = 0;
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, OFDM);
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, HT_MCS0_MCS7);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath,
+ pHalData->CurrentChannel, OFDM);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath,
+ pHalData->CurrentChannel, HT_MCS0_MCS7);
pDM_Odm->Modify_TxAGC_Flag_PathA = false;
}
}
if (Final_CCK_Swing_Index > PwrTrackingLimit_CCK) {
- pDM_Odm->Remnant_CCKSwingIdx = Final_CCK_Swing_Index - PwrTrackingLimit_CCK;
+ pDM_Odm->Remnant_CCKSwingIdx =
+ Final_CCK_Swing_Index - PwrTrackingLimit_CCK;
setCCKFilterCoefficient(pDM_Odm, PwrTrackingLimit_CCK);
pDM_Odm->Modify_TxAGC_Flag_PathA_CCK = true;
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, CCK);
- } else if (Final_CCK_Swing_Index <= 0) { /* Lowest CCK Index = 0 */
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath, pHalData->CurrentChannel, CCK);
+ } else if (Final_CCK_Swing_Index <=
+ 0) { /* Lowest CCK Index = 0 */
pDM_Odm->Remnant_CCKSwingIdx = Final_CCK_Swing_Index;
setCCKFilterCoefficient(pDM_Odm, 0);
pDM_Odm->Modify_TxAGC_Flag_PathA_CCK = true;
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, CCK);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath, pHalData->CurrentChannel, CCK);
} else {
setCCKFilterCoefficient(pDM_Odm, Final_CCK_Swing_Index);
if (pDM_Odm->Modify_TxAGC_Flag_PathA_CCK) { /* If TxAGC has changed, reset TxAGC again */
pDM_Odm->Remnant_CCKSwingIdx = 0;
- PHY_SetTxPowerIndexByRateSection(Adapter, RFPath, pHalData->CurrentChannel, CCK);
+ PHY_SetTxPowerIndexByRateSection(
+ Adapter, RFPath,
+ pHalData->CurrentChannel, CCK);
pDM_Odm->Modify_TxAGC_Flag_PathA_CCK = false;
}
}
@@ -286,13 +345,11 @@ void ODM_TxPwrTrackSetPwr_8723B(
return; /* This method is not supported. */
}
-static void GetDeltaSwingTable_8723B(
- struct dm_odm_t *pDM_Odm,
- u8 **TemperatureUP_A,
- u8 **TemperatureDOWN_A,
- u8 **TemperatureUP_B,
- u8 **TemperatureDOWN_B
-)
+static void GetDeltaSwingTable_8723B(struct dm_odm_t *pDM_Odm,
+ u8 **TemperatureUP_A,
+ u8 **TemperatureDOWN_A,
+ u8 **TemperatureUP_B,
+ u8 **TemperatureDOWN_B)
{
struct adapter *Adapter = pDM_Odm->Adapter;
struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo;
@@ -302,20 +359,28 @@ static void GetDeltaSwingTable_8723B(
if (channel >= 1 && channel <= 14) {
if (IS_CCK_RATE(rate)) {
- *TemperatureUP_A = pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_P;
- *TemperatureDOWN_A = pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_N;
- *TemperatureUP_B = pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_P;
- *TemperatureDOWN_B = pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_N;
+ *TemperatureUP_A =
+ pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_P;
+ *TemperatureDOWN_A =
+ pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKA_N;
+ *TemperatureUP_B =
+ pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_P;
+ *TemperatureDOWN_B =
+ pRFCalibrateInfo->DeltaSwingTableIdx_2GCCKB_N;
} else {
- *TemperatureUP_A = pRFCalibrateInfo->DeltaSwingTableIdx_2GA_P;
- *TemperatureDOWN_A = pRFCalibrateInfo->DeltaSwingTableIdx_2GA_N;
- *TemperatureUP_B = pRFCalibrateInfo->DeltaSwingTableIdx_2GB_P;
- *TemperatureDOWN_B = pRFCalibrateInfo->DeltaSwingTableIdx_2GB_N;
+ *TemperatureUP_A =
+ pRFCalibrateInfo->DeltaSwingTableIdx_2GA_P;
+ *TemperatureDOWN_A =
+ pRFCalibrateInfo->DeltaSwingTableIdx_2GA_N;
+ *TemperatureUP_B =
+ pRFCalibrateInfo->DeltaSwingTableIdx_2GB_P;
+ *TemperatureDOWN_B =
+ pRFCalibrateInfo->DeltaSwingTableIdx_2GB_N;
}
} else {
- *TemperatureUP_A = (u8 *)DeltaSwingTableIdx_2GA_P_8188E;
+ *TemperatureUP_A = (u8 *)DeltaSwingTableIdx_2GA_P_8188E;
*TemperatureDOWN_A = (u8 *)DeltaSwingTableIdx_2GA_N_8188E;
- *TemperatureUP_B = (u8 *)DeltaSwingTableIdx_2GA_P_8188E;
+ *TemperatureUP_B = (u8 *)DeltaSwingTableIdx_2GA_P_8188E;
*TemperatureDOWN_B = (u8 *)DeltaSwingTableIdx_2GA_N_8188E;
}
}
@@ -335,17 +400,16 @@ void ConfigureTxpowerTrack_8723B(struct txpwrtrack_cfg *pConfig)
}
/* 1 7. IQK */
-#define MAX_TOLERANCE 5
+#define MAX_TOLERANCE 5
/* bit0 = 1 => Tx OK, bit1 = 1 => Rx OK */
-static u8 phy_PathA_IQK_8723B(
- struct adapter *padapter, bool configPathB, u8 RF_Path
-)
+static u8 phy_PathA_IQK_8723B(struct adapter *padapter, bool configPathB,
+ u8 RF_Path)
{
u32 regEAC, regE94, regE9C, tmp, Path_SEL_BB /*, regEA4*/;
u8 result = 0x00;
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
/* Save RF Path */
@@ -356,12 +420,15 @@ static u8 phy_PathA_IQK_8723B(
/* enable path A PA in TXIQK mode */
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0003f);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xc7f87);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask,
+ 0x18000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask,
+ 0x0003f);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask,
+ 0xc7f87);
/* disable path B PA in TXIQK mode */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, bRFRegOffsetMask, 0x00020); */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x40ec1); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, bRFRegOffsetMask, 0x00020); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x40ec1); */
/* 1 Tx IQK */
/* IQK setting */
@@ -372,7 +439,7 @@ static u8 phy_PathA_IQK_8723B(
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x38008c1c);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
-/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x8214010a); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x8214010a); */
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x821303ea);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000);
@@ -412,34 +479,32 @@ static u8 phy_PathA_IQK_8723B(
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
/* Check failed */
- regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord);
- regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord);
- regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord);
+ regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2,
+ bMaskDWord);
+ regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A,
+ bMaskDWord);
+ regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A,
+ bMaskDWord);
/* Allen 20131125 */
- tmp = (regE9C & 0x03FF0000)>>16;
+ tmp = (regE9C & 0x03FF0000) >> 16;
if ((tmp & 0x200) > 0)
tmp = 0x400 - tmp;
- if (
- !(regEAC & BIT(28)) &&
- (((regE94 & 0x03FF0000)>>16) != 0x142) &&
- (((regE9C & 0x03FF0000)>>16) != 0x42) &&
- (((regE94 & 0x03FF0000)>>16) < 0x110) &&
- (((regE94 & 0x03FF0000)>>16) > 0xf0) &&
- (tmp < 0xf)
- )
+ if (!(regEAC & BIT(28)) && (((regE94 & 0x03FF0000) >> 16) != 0x142) &&
+ (((regE9C & 0x03FF0000) >> 16) != 0x42) &&
+ (((regE94 & 0x03FF0000) >> 16) < 0x110) &&
+ (((regE94 & 0x03FF0000) >> 16) > 0xf0) && (tmp < 0xf))
result |= 0x01;
- else /* if Tx not OK, ignore Rx */
+ else /* if Tx not OK, ignore Rx */
return result;
return result;
}
/* bit0 = 1 => Tx OK, bit1 = 1 => Rx OK */
-static u8 phy_PathA_RxIQK8723B(
- struct adapter *padapter, bool configPathB, u8 RF_Path
-)
+static u8 phy_PathA_RxIQK8723B(struct adapter *padapter, bool configPathB,
+ u8 RF_Path)
{
u32 regEAC, regE94, regE9C, regEA4, u4tmp, tmp, Path_SEL_BB;
u8 result = 0x00;
@@ -454,11 +519,14 @@ static u8 phy_PathA_RxIQK8723B(
/* 1 Get TXIMR setting */
/* modify RXIQK mode table */
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask,
+ 0x18000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask,
+ 0x0001f);
/* LNA2 off, PA on for Dcut */
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7fb7);
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask,
+ 0xf7fb7);
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000);
/* IQK setting */
@@ -471,7 +539,7 @@ static u8 phy_PathA_RxIQK8723B(
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
-/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82160c1f); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82160c1f); */
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82130ff0);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000);
@@ -511,42 +579,47 @@ static u8 phy_PathA_RxIQK8723B(
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
/* Check failed */
- regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord);
- regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord);
- regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord);
+ regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2,
+ bMaskDWord);
+ regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A,
+ bMaskDWord);
+ regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A,
+ bMaskDWord);
/* Allen 20131125 */
- tmp = (regE9C & 0x03FF0000)>>16;
+ tmp = (regE9C & 0x03FF0000) >> 16;
if ((tmp & 0x200) > 0)
tmp = 0x400 - tmp;
- if (
- !(regEAC & BIT(28)) &&
- (((regE94 & 0x03FF0000)>>16) != 0x142) &&
- (((regE9C & 0x03FF0000)>>16) != 0x42) &&
- (((regE94 & 0x03FF0000)>>16) < 0x110) &&
- (((regE94 & 0x03FF0000)>>16) > 0xf0) &&
- (tmp < 0xf)
- )
+ if (!(regEAC & BIT(28)) && (((regE94 & 0x03FF0000) >> 16) != 0x142) &&
+ (((regE9C & 0x03FF0000) >> 16) != 0x42) &&
+ (((regE94 & 0x03FF0000) >> 16) < 0x110) &&
+ (((regE94 & 0x03FF0000) >> 16) > 0xf0) && (tmp < 0xf))
result |= 0x01;
- else /* if Tx not OK, ignore Rx */
+ else /* if Tx not OK, ignore Rx */
return result;
- u4tmp = 0x80007C00 | (regE94&0x3FF0000) | ((regE9C&0x3FF0000) >> 16);
+ u4tmp = 0x80007C00 | (regE94 & 0x3FF0000) |
+ ((regE9C & 0x3FF0000) >> 16);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, u4tmp);
/* modify RXIQK mode table */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask,
+ 0x18000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask,
+ 0x0001f);
/* LAN2 on, PA off for Dcut */
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7d77);
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask,
+ 0xf7d77);
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */
/* PA, PAD setting */
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0xf80);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x55, bRFRegOffsetMask, 0x4021f);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask,
+ 0xf80);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x55, bRFRegOffsetMask,
+ 0x4021f);
/* IQK setting */
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800);
@@ -558,7 +631,7 @@ static u8 phy_PathA_RxIQK8723B(
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82110000);
-/* PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x281604c2); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x281604c2); */
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x2813001f);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000);
@@ -593,31 +666,31 @@ static u8 phy_PathA_RxIQK8723B(
/* GNT_BT = 1 */
PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800);
- /* leave IQK mode */
+ /* leave IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
/* Check failed */
- regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord);
- regEA4 = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord);
+ regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2,
+ bMaskDWord);
+ regEA4 = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2,
+ bMaskDWord);
/* PA/PAD controlled by 0x0 */
/* leave IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0x780);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask,
+ 0x780);
/* Allen 20131125 */
- tmp = (regEAC & 0x03FF0000)>>16;
+ tmp = (regEAC & 0x03FF0000) >> 16;
if ((tmp & 0x200) > 0)
tmp = 0x400 - tmp;
- if (
- !(regEAC & BIT(27)) && /* if Tx is OK, check whether Rx is OK */
- (((regEA4 & 0x03FF0000)>>16) != 0x132) &&
- (((regEAC & 0x03FF0000)>>16) != 0x36) &&
- (((regEA4 & 0x03FF0000)>>16) < 0x110) &&
- (((regEA4 & 0x03FF0000)>>16) > 0xf0) &&
- (tmp < 0xf)
- )
+ if (!(regEAC & BIT(27)) && /* if Tx is OK, check whether Rx is OK */
+ (((regEA4 & 0x03FF0000) >> 16) != 0x132) &&
+ (((regEAC & 0x03FF0000) >> 16) != 0x36) &&
+ (((regEA4 & 0x03FF0000) >> 16) < 0x110) &&
+ (((regEA4 & 0x03FF0000) >> 16) > 0xf0) && (tmp < 0xf))
result |= 0x02;
return result;
@@ -626,25 +699,27 @@ static u8 phy_PathA_RxIQK8723B(
/* bit0 = 1 => Tx OK, bit1 = 1 => Rx OK */
static u8 phy_PathB_IQK_8723B(struct adapter *padapter)
{
- u32 regEAC, regE94, regE9C, tmp, Path_SEL_BB/*, regEC4, regECC, Path_SEL_BB*/;
+ u32 regEAC, regE94, regE9C, tmp,
+ Path_SEL_BB /*, regEC4, regECC, Path_SEL_BB*/;
u8 result = 0x00;
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
/* Save RF Path */
Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord);
- /* leave IQK mode */
+ /* leave IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
/* in TXIQK mode */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x20000); */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0003f); */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xc7f87); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x20000); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0003f); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xc7f87); */
/* enable path B PA in TXIQK mode */
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30fc1);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask,
+ 0x30fc1);
/* 1 Tx IQK */
/* IQK setting */
@@ -656,7 +731,7 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter)
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
-/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82140114); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82140114); */
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x821303ea);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000);
@@ -670,7 +745,7 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter)
/* switch to path B */
PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280);
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */
/* GNT_BT = 0 */
PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800);
@@ -688,27 +763,26 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter)
/* GNT_BT = 1 */
PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800);
- /* leave IQK mode */
+ /* leave IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
/* Check failed */
- regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord);
- regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord);
- regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord);
+ regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2,
+ bMaskDWord);
+ regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A,
+ bMaskDWord);
+ regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A,
+ bMaskDWord);
/* Allen 20131125 */
- tmp = (regE9C & 0x03FF0000)>>16;
+ tmp = (regE9C & 0x03FF0000) >> 16;
if ((tmp & 0x200) > 0)
tmp = 0x400 - tmp;
- if (
- !(regEAC & BIT(28)) &&
- (((regE94 & 0x03FF0000)>>16) != 0x142) &&
- (((regE9C & 0x03FF0000)>>16) != 0x42) &&
- (((regE94 & 0x03FF0000)>>16) < 0x110) &&
- (((regE94 & 0x03FF0000)>>16) > 0xf0) &&
- (tmp < 0xf)
- )
+ if (!(regEAC & BIT(28)) && (((regE94 & 0x03FF0000) >> 16) != 0x142) &&
+ (((regE9C & 0x03FF0000) >> 16) != 0x42) &&
+ (((regE94 & 0x03FF0000) >> 16) < 0x110) &&
+ (((regE94 & 0x03FF0000) >> 16) > 0xf0) && (tmp < 0xf))
result |= 0x01;
return result;
@@ -724,19 +798,23 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB)
/* Save RF Path */
Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord);
- /* leave IQK mode */
+ /* leave IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
/* switch to path B */
PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280);
/* modify RXIQK mode table */
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7fb7);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask,
+ 0x18000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask,
+ 0x0001f);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask,
+ 0xf7fb7);
/* open PA S1 & SMIXER */
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30fcd);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask,
+ 0x30fcd);
/* IQK setting */
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, 0x01007c00);
@@ -748,7 +826,7 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB)
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
-/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82160c1f); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82160c1f); */
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82130ff0);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000);
@@ -757,12 +835,12 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB)
/* LO calibration setting */
PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Rsp, bMaskDWord, 0x0046a911);
- /* enter IQK mode */
+ /* enter IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000);
/* switch to path B */
PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280);
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */
/* GNT_BT = 0 */
PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800);
@@ -780,50 +858,54 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB)
/* GNT_BT = 1 */
PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800);
- /* leave IQK mode */
+ /* leave IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
/* Check failed */
- regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord);
- regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord);
- regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord);
+ regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2,
+ bMaskDWord);
+ regE94 = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A,
+ bMaskDWord);
+ regE9C = PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A,
+ bMaskDWord);
/* Allen 20131125 */
- tmp = (regE9C & 0x03FF0000)>>16;
+ tmp = (regE9C & 0x03FF0000) >> 16;
if ((tmp & 0x200) > 0)
tmp = 0x400 - tmp;
- if (
- !(regEAC & BIT(28)) &&
- (((regE94 & 0x03FF0000)>>16) != 0x142) &&
- (((regE9C & 0x03FF0000)>>16) != 0x42) &&
- (((regE94 & 0x03FF0000)>>16) < 0x110) &&
- (((regE94 & 0x03FF0000)>>16) > 0xf0) &&
- (tmp < 0xf)
- )
- result |= 0x01;
- else /* if Tx not OK, ignore Rx */
+ if (!(regEAC & BIT(28)) && (((regE94 & 0x03FF0000) >> 16) != 0x142) &&
+ (((regE9C & 0x03FF0000) >> 16) != 0x42) &&
+ (((regE94 & 0x03FF0000) >> 16) < 0x110) &&
+ (((regE94 & 0x03FF0000) >> 16) > 0xf0) && (tmp < 0xf))
+ result |= 0x01;
+ else /* if Tx not OK, ignore Rx */
return result;
- u4tmp = 0x80007C00 | (regE94&0x3FF0000) | ((regE9C&0x3FF0000) >> 16);
+ u4tmp = 0x80007C00 | (regE94 & 0x3FF0000) |
+ ((regE9C & 0x3FF0000) >> 16);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK, bMaskDWord, u4tmp);
/* modify RXIQK mode table */
/* 20121009, Kordan> RF Mode = 3 */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7d77);
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask,
+ 0x18000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask,
+ 0x0001f);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask,
+ 0xf7d77);
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */
/* open PA S1 & close SMIXER */
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30ebd);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask,
+ 0x30ebd);
/* PA, PAD setting */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0xf80); */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x56, bRFRegOffsetMask, 0x51000); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0xf80); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x56, bRFRegOffsetMask, 0x51000); */
/* IQK setting */
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800);
@@ -835,7 +917,7 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB)
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82110000);
-/* PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x281604c2); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x281604c2); */
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x2813001f);
PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000);
PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000);
@@ -843,12 +925,12 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB)
/* LO calibration setting */
PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Rsp, bMaskDWord, 0x0046a8d1);
- /* enter IQK mode */
+ /* enter IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000);
/* switch to path B */
PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, 0x00000280);
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */
/* GNT_BT = 0 */
PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800);
@@ -866,47 +948,42 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB)
/* GNT_BT = 1 */
PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00001800);
- /* leave IQK mode */
+ /* leave IQK mode */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
/* Check failed */
- regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord);
- regEA4 = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord);
+ regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2,
+ bMaskDWord);
+ regEA4 = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2,
+ bMaskDWord);
/* PA/PAD controlled by 0x0 */
/* leave IQK mode */
-/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, 0xffffff00, 0x00000000); */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, 0xdf, bRFRegOffsetMask, 0x180); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, 0xffffff00, 0x00000000); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, 0xdf, bRFRegOffsetMask, 0x180); */
/* Allen 20131125 */
- tmp = (regEAC & 0x03FF0000)>>16;
+ tmp = (regEAC & 0x03FF0000) >> 16;
if ((tmp & 0x200) > 0)
tmp = 0x400 - tmp;
- if (
- !(regEAC & BIT(27)) && /* if Tx is OK, check whether Rx is OK */
- (((regEA4 & 0x03FF0000)>>16) != 0x132) &&
- (((regEAC & 0x03FF0000)>>16) != 0x36) &&
- (((regEA4 & 0x03FF0000)>>16) < 0x110) &&
- (((regEA4 & 0x03FF0000)>>16) > 0xf0) &&
- (tmp < 0xf)
- )
+ if (!(regEAC & BIT(27)) && /* if Tx is OK, check whether Rx is OK */
+ (((regEA4 & 0x03FF0000) >> 16) != 0x132) &&
+ (((regEAC & 0x03FF0000) >> 16) != 0x36) &&
+ (((regEA4 & 0x03FF0000) >> 16) < 0x110) &&
+ (((regEA4 & 0x03FF0000) >> 16) > 0xf0) && (tmp < 0xf))
result |= 0x02;
return result;
}
-static void _PHY_PathAFillIQKMatrix8723B(
- struct adapter *padapter,
- bool bIQKOK,
- s32 result[][8],
- u8 final_candidate,
- bool bTxOnly
-)
+static void _PHY_PathAFillIQKMatrix8723B(struct adapter *padapter, bool bIQKOK,
+ s32 result[][8], u8 final_candidate,
+ bool bTxOnly)
{
u32 Oldval_0, X, TX0_A, reg;
s32 Y, TX0_C;
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo;
@@ -915,15 +992,21 @@ static void _PHY_PathAFillIQKMatrix8723B(
return;
else if (bIQKOK) {
- Oldval_0 = (PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, bMaskDWord) >> 22) & 0x3FF;
+ Oldval_0 =
+ (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rOFDM0_XATxIQImbalance, bMaskDWord) >>
+ 22) &
+ 0x3FF;
X = result[final_candidate][0];
if ((X & 0x00000200) != 0)
X = X | 0xFFFFFC00;
TX0_A = (X * Oldval_0) >> 8;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, 0x3FF, TX0_A);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, 0x3FF,
+ TX0_A);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(31), ((X*Oldval_0>>7) & 0x1));
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(31),
+ ((X * Oldval_0 >> 7) & 0x1));
Y = result[final_candidate][1];
if ((Y & 0x00000200) != 0)
@@ -931,56 +1014,79 @@ static void _PHY_PathAFillIQKMatrix8723B(
/* 2 Tx IQC */
TX0_C = (Y * Oldval_0) >> 8;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE, 0xF0000000, ((TX0_C&0x3C0)>>6));
- pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC94][KEY] = rOFDM0_XCTxAFE;
- pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC94][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE, bMaskDWord);
-
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, 0x003F0000, (TX0_C&0x3F));
- pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC80][KEY] = rOFDM0_XATxIQImbalance;
- pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC80][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance, bMaskDWord);
-
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(29), ((Y*Oldval_0>>7) & 0x1));
- pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC4C][KEY] = rOFDM0_ECCAThreshold;
- pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC4C][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskDWord);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE, 0xF0000000,
+ ((TX0_C & 0x3C0) >> 6));
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC94][KEY] =
+ rOFDM0_XCTxAFE;
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC94][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XCTxAFE,
+ bMaskDWord);
+
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance,
+ 0x003F0000, (TX0_C & 0x3F));
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC80][KEY] =
+ rOFDM0_XATxIQImbalance;
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC80][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XATxIQImbalance,
+ bMaskDWord);
+
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(29),
+ ((Y * Oldval_0 >> 7) & 0x1));
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC4C][KEY] =
+ rOFDM0_ECCAThreshold;
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC4C][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold,
+ bMaskDWord);
if (bTxOnly) {
/* <20130226, Kordan> Saving RxIQC, otherwise not initialized. */
- pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta;
- pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][VAL] = 0xfffffff & PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord);
- pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][KEY] = rOFDM0_XARxIQImbalance;
-/* pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord); */
- pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = 0x40000100;
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][KEY] =
+ rOFDM0_RxIQExtAnta;
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][VAL] =
+ 0xfffffff & PHY_QueryBBReg(pDM_Odm->Adapter,
+ rOFDM0_RxIQExtAnta,
+ bMaskDWord);
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][KEY] =
+ rOFDM0_XARxIQImbalance;
+ /* pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord); */
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] =
+ 0x40000100;
return;
}
reg = result[final_candidate][2];
/* 2 Rx IQC */
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, 0x3FF, reg);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, 0x3FF,
+ reg);
reg = result[final_candidate][3] & 0x3F;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, 0xFC00, reg);
- pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][KEY] = rOFDM0_XARxIQImbalance;
- pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, 0xFC00,
+ reg);
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][KEY] =
+ rOFDM0_XARxIQImbalance;
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance,
+ bMaskDWord);
reg = (result[final_candidate][3] >> 6) & 0xF;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, 0xF0000000, reg);
- pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta;
- pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord);
-
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, 0xF0000000,
+ reg);
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][KEY] =
+ rOFDM0_RxIQExtAnta;
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta,
+ bMaskDWord);
}
}
-static void _PHY_PathBFillIQKMatrix8723B(
- struct adapter *padapter,
- bool bIQKOK,
- s32 result[][8],
- u8 final_candidate,
- bool bTxOnly /* do Tx only */
+static void _PHY_PathBFillIQKMatrix8723B(struct adapter *padapter, bool bIQKOK,
+ s32 result[][8], u8 final_candidate,
+ bool bTxOnly /* do Tx only */
)
{
u32 Oldval_1, X, TX1_A, reg;
- s32 Y, TX1_C;
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ s32 Y, TX1_C;
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo;
@@ -989,16 +1095,22 @@ static void _PHY_PathBFillIQKMatrix8723B(
return;
else if (bIQKOK) {
- Oldval_1 = (PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord) >> 22) & 0x3FF;
+ Oldval_1 =
+ (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rOFDM0_XBTxIQImbalance, bMaskDWord) >>
+ 22) &
+ 0x3FF;
X = result[final_candidate][4];
if ((X & 0x00000200) != 0)
X = X | 0xFFFFFC00;
TX1_A = (X * Oldval_1) >> 8;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, 0x3FF, TX1_A);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, 0x3FF,
+ TX1_A);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(27), ((X*Oldval_1>>7) & 0x1));
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(27),
+ ((X * Oldval_1 >> 7) & 0x1));
Y = result[final_candidate][5];
if ((Y & 0x00000200) != 0)
@@ -1007,41 +1119,69 @@ static void _PHY_PathBFillIQKMatrix8723B(
TX1_C = (Y * Oldval_1) >> 8;
/* 2 Tx IQC */
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, 0xF0000000, ((TX1_C&0x3C0)>>6));
-/* pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC9C][KEY] = rOFDM0_XDTxAFE; */
-/* pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC9C][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskDWord); */
- pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][KEY] = rOFDM0_XCTxAFE;
- pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskDWord);
-
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, 0x003F0000, (TX1_C&0x3F));
- pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC80][KEY] = rOFDM0_XATxIQImbalance;
- pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC80][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance, bMaskDWord);
-
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(25), ((Y*Oldval_1>>7) & 0x1));
- pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC4C][KEY] = rOFDM0_ECCAThreshold;
- pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC4C][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskDWord);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, 0xF0000000,
+ ((TX1_C & 0x3C0) >> 6));
+ /* pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC9C][KEY] = rOFDM0_XDTxAFE; */
+ /* pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC9C][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskDWord); */
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][KEY] =
+ rOFDM0_XCTxAFE;
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE,
+ bMaskDWord);
+
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance,
+ 0x003F0000, (TX1_C & 0x3F));
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC80][KEY] =
+ rOFDM0_XATxIQImbalance;
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC80][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XBTxIQImbalance,
+ bMaskDWord);
+
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, BIT(25),
+ ((Y * Oldval_1 >> 7) & 0x1));
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC4C][KEY] =
+ rOFDM0_ECCAThreshold;
+ pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC4C][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold,
+ bMaskDWord);
if (bTxOnly) {
- pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][KEY] = rOFDM0_XARxIQImbalance;
-/* pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord); */
- pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = 0x40000100;
- pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta;
- pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] = 0x0fffffff & PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord);
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][KEY] =
+ rOFDM0_XARxIQImbalance;
+ /* pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord); */
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] =
+ 0x40000100;
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY] =
+ rOFDM0_RxIQExtAnta;
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] =
+ 0x0fffffff & PHY_QueryBBReg(pDM_Odm->Adapter,
+ rOFDM0_RxIQExtAnta,
+ bMaskDWord);
return;
}
/* 2 Rx IQC */
reg = result[final_candidate][6];
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, 0x3FF, reg);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, 0x3FF,
+ reg);
reg = result[final_candidate][7] & 0x3F;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, 0xFC00, reg);
- pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][KEY] = rOFDM0_XARxIQImbalance;
- pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, bMaskDWord);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, 0xFC00,
+ reg);
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][KEY] =
+ rOFDM0_XARxIQImbalance;
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] =
+ PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance,
+ bMaskDWord);
reg = (result[final_candidate][7] >> 6) & 0xF;
-/* PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_AGCRSSITable, 0x0000F000, reg); */
- pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta;
- pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] = (reg << 28)|(PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord)&0x0fffffff);
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_AGCRSSITable, 0x0000F000, reg); */
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY] =
+ rOFDM0_RxIQExtAnta;
+ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] =
+ (reg << 28) |
+ (PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta,
+ bMaskDWord) &
+ 0x0fffffff);
}
}
@@ -1052,28 +1192,45 @@ static void _PHY_PathBFillIQKMatrix8723B(
void ODM_SetIQCbyRFpath(struct dm_odm_t *pDM_Odm, u32 RFpath)
{
-
struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo;
u8 path;
- if (
- (pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC80][VAL] != 0x0) &&
- (pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] != 0x0) &&
- (pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC80][VAL] != 0x0) &&
- (pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] != 0x0)
- ) {
+ if ((pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC80][VAL] != 0x0) &&
+ (pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] != 0x0) &&
+ (pRFCalibrateInfo->TxIQC_8723B[PATH_S1][IDX_0xC80][VAL] != 0x0) &&
+ (pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] != 0x0)) {
if (RFpath)
path = PATH_S0;
else
path = PATH_S1;
/* TX IQC */
- PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC94][KEY], bMaskDWord, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC94][VAL]);
- PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC80][KEY], bMaskDWord, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC80][VAL]);
- PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC4C][KEY], bMaskDWord, pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC4C][VAL]);
+ PHY_SetBBReg(
+ pDM_Odm->Adapter,
+ pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC94][KEY],
+ bMaskDWord,
+ pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC94][VAL]);
+ PHY_SetBBReg(
+ pDM_Odm->Adapter,
+ pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC80][KEY],
+ bMaskDWord,
+ pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC80][VAL]);
+ PHY_SetBBReg(
+ pDM_Odm->Adapter,
+ pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC4C][KEY],
+ bMaskDWord,
+ pRFCalibrateInfo->TxIQC_8723B[path][IDX_0xC4C][VAL]);
/* RX IQC */
- PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xC14][KEY], bMaskDWord, pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xC14][VAL]);
- PHY_SetBBReg(pDM_Odm->Adapter, pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xCA0][KEY], bMaskDWord, pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xCA0][VAL]);
+ PHY_SetBBReg(
+ pDM_Odm->Adapter,
+ pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xC14][KEY],
+ bMaskDWord,
+ pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xC14][VAL]);
+ PHY_SetBBReg(
+ pDM_Odm->Adapter,
+ pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xCA0][KEY],
+ bMaskDWord,
+ pRFCalibrateInfo->RxIQC_8723B[path][IDX_0xCA0][VAL]);
}
}
@@ -1082,12 +1239,8 @@ static bool ODM_CheckPowerStatus(struct adapter *Adapter)
return true;
}
-static void _PHY_SaveADDARegisters8723B(
- struct adapter *padapter,
- u32 *ADDAReg,
- u32 *ADDABackup,
- u32 RegisterNum
-)
+static void _PHY_SaveADDARegisters8723B(struct adapter *padapter, u32 *ADDAReg,
+ u32 *ADDABackup, u32 RegisterNum)
{
u32 i;
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
@@ -1096,59 +1249,52 @@ static void _PHY_SaveADDARegisters8723B(
if (!ODM_CheckPowerStatus(padapter))
return;
- for (i = 0 ; i < RegisterNum ; i++) {
- ADDABackup[i] = PHY_QueryBBReg(pDM_Odm->Adapter, ADDAReg[i], bMaskDWord);
+ for (i = 0; i < RegisterNum; i++) {
+ ADDABackup[i] = PHY_QueryBBReg(pDM_Odm->Adapter, ADDAReg[i],
+ bMaskDWord);
}
}
-static void _PHY_SaveMACRegisters8723B(
- struct adapter *padapter, u32 *MACReg, u32 *MACBackup
-)
+static void _PHY_SaveMACRegisters8723B(struct adapter *padapter, u32 *MACReg,
+ u32 *MACBackup)
{
u32 i;
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
- for (i = 0 ; i < (IQK_MAC_REG_NUM - 1); i++) {
+ for (i = 0; i < (IQK_MAC_REG_NUM - 1); i++) {
MACBackup[i] = rtw_read8(pDM_Odm->Adapter, MACReg[i]);
}
MACBackup[i] = rtw_read32(pDM_Odm->Adapter, MACReg[i]);
-
}
-static void _PHY_ReloadADDARegisters8723B(
- struct adapter *padapter,
- u32 *ADDAReg,
- u32 *ADDABackup,
- u32 RegiesterNum
-)
+static void _PHY_ReloadADDARegisters8723B(struct adapter *padapter,
+ u32 *ADDAReg, u32 *ADDABackup,
+ u32 RegiesterNum)
{
u32 i;
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
- for (i = 0 ; i < RegiesterNum; i++) {
- PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[i], bMaskDWord, ADDABackup[i]);
+ for (i = 0; i < RegiesterNum; i++) {
+ PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[i], bMaskDWord,
+ ADDABackup[i]);
}
}
-static void _PHY_ReloadMACRegisters8723B(
- struct adapter *padapter, u32 *MACReg, u32 *MACBackup
-)
+static void _PHY_ReloadMACRegisters8723B(struct adapter *padapter, u32 *MACReg,
+ u32 *MACBackup)
{
u32 i;
- for (i = 0 ; i < (IQK_MAC_REG_NUM - 1); i++) {
+ for (i = 0; i < (IQK_MAC_REG_NUM - 1); i++) {
rtw_write8(padapter, MACReg[i], (u8)MACBackup[i]);
}
rtw_write32(padapter, MACReg[i], MACBackup[i]);
}
-static void _PHY_PathADDAOn8723B(
- struct adapter *padapter,
- u32 *ADDAReg,
- bool is2T
-)
+static void _PHY_PathADDAOn8723B(struct adapter *padapter, u32 *ADDAReg,
+ bool is2T)
{
u32 pathOn;
u32 i;
@@ -1158,43 +1304,38 @@ static void _PHY_PathADDAOn8723B(
pathOn = 0x01c00014;
if (!is2T) {
pathOn = 0x01c00014;
- PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[0], bMaskDWord, 0x01c00014);
+ PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[0], bMaskDWord,
+ 0x01c00014);
} else {
PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[0], bMaskDWord, pathOn);
}
- for (i = 1 ; i < IQK_ADDA_REG_NUM ; i++) {
+ for (i = 1; i < IQK_ADDA_REG_NUM; i++) {
PHY_SetBBReg(pDM_Odm->Adapter, ADDAReg[i], bMaskDWord, pathOn);
}
-
}
-static void _PHY_MACSettingCalibration8723B(
- struct adapter *padapter, u32 *MACReg, u32 *MACBackup
-)
+static void _PHY_MACSettingCalibration8723B(struct adapter *padapter,
+ u32 *MACReg, u32 *MACBackup)
{
u32 i = 0;
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
rtw_write8(pDM_Odm->Adapter, MACReg[i], 0x3F);
- for (i = 1 ; i < (IQK_MAC_REG_NUM - 1); i++) {
- rtw_write8(pDM_Odm->Adapter, MACReg[i], (u8)(MACBackup[i]&(~BIT(3))));
+ for (i = 1; i < (IQK_MAC_REG_NUM - 1); i++) {
+ rtw_write8(pDM_Odm->Adapter, MACReg[i],
+ (u8)(MACBackup[i] & (~BIT(3))));
}
- rtw_write8(pDM_Odm->Adapter, MACReg[i], (u8)(MACBackup[i]&(~BIT(5))));
-
+ rtw_write8(pDM_Odm->Adapter, MACReg[i], (u8)(MACBackup[i] & (~BIT(5))));
}
-static bool phy_SimularityCompare_8723B(
- struct adapter *padapter,
- s32 result[][8],
- u8 c1,
- u8 c2
-)
+static bool phy_SimularityCompare_8723B(struct adapter *padapter,
+ s32 result[][8], u8 c1, u8 c2)
{
u32 i, j, diff, SimularityBitMap, bound = 0;
- u8 final_candidate[2] = {0xFF, 0xFF}; /* for path A and path B */
+ u8 final_candidate[2] = { 0xFF, 0xFF }; /* for path A and path B */
bool bResult = true;
s32 tmp1 = 0, tmp2 = 0;
@@ -1202,7 +1343,6 @@ static bool phy_SimularityCompare_8723B(
SimularityBitMap = 0;
for (i = 0; i < bound; i++) {
-
if ((i == 1) || (i == 3) || (i == 5) || (i == 7)) {
if ((result[c1][i] & 0x00000200) != 0)
tmp1 = result[c1][i] | 0xFFFFFC00;
@@ -1222,28 +1362,29 @@ static bool phy_SimularityCompare_8723B(
if (diff > MAX_TOLERANCE) {
if ((i == 2 || i == 6) && !SimularityBitMap) {
- if (result[c1][i]+result[c1][i+1] == 0)
- final_candidate[(i/4)] = c2;
- else if (result[c2][i]+result[c2][i+1] == 0)
- final_candidate[(i/4)] = c1;
+ if (result[c1][i] + result[c1][i + 1] == 0)
+ final_candidate[(i / 4)] = c2;
+ else if (result[c2][i] + result[c2][i + 1] == 0)
+ final_candidate[(i / 4)] = c1;
else
- SimularityBitMap = SimularityBitMap|(1<<i);
+ SimularityBitMap = SimularityBitMap |
+ (1 << i);
} else
- SimularityBitMap = SimularityBitMap|(1<<i);
+ SimularityBitMap = SimularityBitMap | (1 << i);
}
}
if (SimularityBitMap == 0) {
- for (i = 0; i < (bound/4); i++) {
+ for (i = 0; i < (bound / 4); i++) {
if (final_candidate[i] != 0xFF) {
- for (j = i*4; j < (i+1)*4-2; j++)
- result[3][j] = result[final_candidate[i]][j];
+ for (j = i * 4; j < (i + 1) * 4 - 2; j++)
+ result[3][j] =
+ result[final_candidate[i]][j];
bResult = false;
}
}
return bResult;
} else {
-
if (!(SimularityBitMap & 0x03)) { /* path A TX OK */
for (i = 0; i < 2; i++)
result[3][i] = result[c1][i];
@@ -1267,58 +1408,45 @@ static bool phy_SimularityCompare_8723B(
}
}
-static void phy_IQCalibrate_8723B(
- struct adapter *padapter,
- s32 result[][8],
- u8 t,
- bool is2T,
- u8 RF_Path
-)
+static void phy_IQCalibrate_8723B(struct adapter *padapter, s32 result[][8],
+ u8 t, bool is2T, u8 RF_Path)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
u32 i;
u8 PathAOK, PathBOK;
u8 tmp0xc50 = (u8)PHY_QueryBBReg(pDM_Odm->Adapter, 0xC50, bMaskByte0);
u8 tmp0xc58 = (u8)PHY_QueryBBReg(pDM_Odm->Adapter, 0xC58, bMaskByte0);
- u32 ADDA_REG[IQK_ADDA_REG_NUM] = {
- rFPGA0_XCD_SwitchControl,
- rBlue_Tooth,
- rRx_Wait_CCA,
- rTx_CCK_RFON,
- rTx_CCK_BBON,
- rTx_OFDM_RFON,
- rTx_OFDM_BBON,
- rTx_To_Rx,
- rTx_To_Tx,
- rRx_CCK,
- rRx_OFDM,
- rRx_Wait_RIFS,
- rRx_TO_Rx,
- rStandby,
- rSleep,
- rPMPD_ANAEN
- };
- u32 IQK_MAC_REG[IQK_MAC_REG_NUM] = {
- REG_TXPAUSE,
- REG_BCN_CTRL,
- REG_BCN_CTRL_1,
- REG_GPIO_MUXCFG
- };
+ u32 ADDA_REG[IQK_ADDA_REG_NUM] = { rFPGA0_XCD_SwitchControl,
+ rBlue_Tooth,
+ rRx_Wait_CCA,
+ rTx_CCK_RFON,
+ rTx_CCK_BBON,
+ rTx_OFDM_RFON,
+ rTx_OFDM_BBON,
+ rTx_To_Rx,
+ rTx_To_Tx,
+ rRx_CCK,
+ rRx_OFDM,
+ rRx_Wait_RIFS,
+ rRx_TO_Rx,
+ rStandby,
+ rSleep,
+ rPMPD_ANAEN };
+ u32 IQK_MAC_REG[IQK_MAC_REG_NUM] = { REG_TXPAUSE, REG_BCN_CTRL,
+ REG_BCN_CTRL_1, REG_GPIO_MUXCFG };
/* since 92C & 92D have the different define in IQK_BB_REG */
- u32 IQK_BB_REG_92C[IQK_BB_REG_NUM] = {
- rOFDM0_TRxPathEnable,
- rOFDM0_TRMuxPar,
- rFPGA0_XCD_RFInterfaceSW,
- rConfig_AntA,
- rConfig_AntB,
- rFPGA0_XAB_RFInterfaceSW,
- rFPGA0_XA_RFInterfaceOE,
- rFPGA0_XB_RFInterfaceOE,
- rCCK0_AFESetting
- };
+ u32 IQK_BB_REG_92C[IQK_BB_REG_NUM] = { rOFDM0_TRxPathEnable,
+ rOFDM0_TRMuxPar,
+ rFPGA0_XCD_RFInterfaceSW,
+ rConfig_AntA,
+ rConfig_AntB,
+ rFPGA0_XAB_RFInterfaceSW,
+ rFPGA0_XA_RFInterfaceOE,
+ rFPGA0_XB_RFInterfaceOE,
+ rCCK0_AFESetting };
const u32 retryCount = 2;
/* Note: IQ calibration must be performed after loading */
@@ -1327,105 +1455,157 @@ static void phy_IQCalibrate_8723B(
/* u32 bbvalue; */
if (t == 0) {
-
/* Save ADDA parameters, turn Path A ADDA on */
- _PHY_SaveADDARegisters8723B(padapter, ADDA_REG, pDM_Odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM);
- _PHY_SaveMACRegisters8723B(padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup);
- _PHY_SaveADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM);
+ _PHY_SaveADDARegisters8723B(
+ padapter, ADDA_REG,
+ pDM_Odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM);
+ _PHY_SaveMACRegisters8723B(
+ padapter, IQK_MAC_REG,
+ pDM_Odm->RFCalibrateInfo.IQK_MAC_backup);
+ _PHY_SaveADDARegisters8723B(
+ padapter, IQK_BB_REG_92C,
+ pDM_Odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM);
}
_PHY_PathADDAOn8723B(padapter, ADDA_REG, is2T);
-/* no serial mode */
+ /* no serial mode */
/* save RF path for 8723B */
-/* Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); */
-/* Path_SEL_RF = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff); */
+ /* Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); */
+ /* Path_SEL_RF = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff); */
/* MAC settings */
- _PHY_MACSettingCalibration8723B(padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup);
+ _PHY_MACSettingCalibration8723B(
+ padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup);
/* BB setting */
/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_RFMOD, BIT24, 0x00); */
PHY_SetBBReg(pDM_Odm->Adapter, rCCK0_AFESetting, 0x0f000000, 0xf);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRxPathEnable, bMaskDWord, 0x03a05600);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRxPathEnable, bMaskDWord,
+ 0x03a05600);
PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRMuxPar, bMaskDWord, 0x000800e4);
- PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XCD_RFInterfaceSW, bMaskDWord, 0x22204000);
+ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XCD_RFInterfaceSW, bMaskDWord,
+ 0x22204000);
-/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 0x01); */
-/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 0x01); */
-/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XA_RFInterfaceOE, BIT10, 0x00); */
-/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0x00); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 0x01); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 0x01); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XA_RFInterfaceOE, BIT10, 0x00); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0x00); */
-/* RX IQ calibration setting for 8723B D cut large current issue when leaving IPS */
+ /* RX IQ calibration setting for 8723B D cut large current issue when leaving IPS */
PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x30000);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7fb7);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask,
+ 0x30000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask,
+ 0x0001f);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask,
+ 0xf7fb7);
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x60fbd);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask,
+ 0x60fbd);
-/* path A TX IQK */
- for (i = 0 ; i < retryCount ; i++) {
+ /* path A TX IQK */
+ for (i = 0; i < retryCount; i++) {
PathAOK = phy_PathA_IQK_8723B(padapter, is2T, RF_Path);
-/* if (PathAOK == 0x03) { */
+ /* if (PathAOK == 0x03) { */
if (PathAOK == 0x01) {
/* Path A Tx IQK Success */
- PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
- pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_A] = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x8, bRFRegOffsetMask);
-
- result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A,
- bMaskDWord) & 0x3FF0000) >> 16;
- result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A,
- bMaskDWord) & 0x3FF0000) >> 16;
+ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes,
+ 0x000000);
+ pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_A] =
+ PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x8,
+ bRFRegOffsetMask);
+
+ result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rTx_Power_Before_IQK_A,
+ bMaskDWord) &
+ 0x3FF0000) >>
+ 16;
+ result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rTx_Power_After_IQK_A,
+ bMaskDWord) &
+ 0x3FF0000) >>
+ 16;
break;
}
}
-/* path A RXIQK */
- for (i = 0 ; i < retryCount ; i++) {
+ /* path A RXIQK */
+ for (i = 0; i < retryCount; i++) {
PathAOK = phy_PathA_RxIQK8723B(padapter, is2T, RF_Path);
if (PathAOK == 0x03) {
-/* result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16; */
-/* result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; */
- result[t][2] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord)&0x3FF0000)>>16;
- result[t][3] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord)&0x3FF0000)>>16;
+ /* result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16; */
+ /* result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; */
+ result[t][2] = (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rRx_Power_Before_IQK_A_2,
+ bMaskDWord) &
+ 0x3FF0000) >>
+ 16;
+ result[t][3] = (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rRx_Power_After_IQK_A_2,
+ bMaskDWord) &
+ 0x3FF0000) >>
+ 16;
break;
}
}
-/* path B IQK */
+ /* path B IQK */
if (is2T) {
-
/* path B TX IQK */
- for (i = 0 ; i < retryCount ; i++) {
+ for (i = 0; i < retryCount; i++) {
PathBOK = phy_PathB_IQK_8723B(padapter);
if (PathBOK == 0x01) {
/* Path B Tx IQK Success */
- PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000);
- pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_B] = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_B, 0x8, bRFRegOffsetMask);
-
- result[t][4] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16;
- result[t][5] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16;
+ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK,
+ bMaskH3Bytes, 0x000000);
+ pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_B] =
+ PHY_QueryRFReg(pDM_Odm->Adapter,
+ RF_PATH_B, 0x8,
+ bRFRegOffsetMask);
+
+ result[t][4] =
+ (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rTx_Power_Before_IQK_A,
+ bMaskDWord) &
+ 0x3FF0000) >>
+ 16;
+ result[t][5] =
+ (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rTx_Power_After_IQK_A,
+ bMaskDWord) &
+ 0x3FF0000) >>
+ 16;
break;
}
}
-/* path B RX IQK */
- for (i = 0 ; i < retryCount ; i++) {
+ /* path B RX IQK */
+ for (i = 0; i < retryCount; i++) {
PathBOK = phy_PathB_RxIQK8723B(padapter, is2T);
if (PathBOK == 0x03) {
-/* result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16; */
-/* result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; */
- result[t][6] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord)&0x3FF0000)>>16;
- result[t][7] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord)&0x3FF0000)>>16;
+ /* result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16; */
+ /* result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; */
+ result[t][6] =
+ (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rRx_Power_Before_IQK_A_2,
+ bMaskDWord) &
+ 0x3FF0000) >>
+ 16;
+ result[t][7] =
+ (PHY_QueryBBReg(pDM_Odm->Adapter,
+ rRx_Power_After_IQK_A_2,
+ bMaskDWord) &
+ 0x3FF0000) >>
+ 16;
break;
}
}
-/* Allen end */
+ /* Allen end */
}
/* Back to BB mode, load original value */
@@ -1433,16 +1613,22 @@ static void phy_IQCalibrate_8723B(
if (t != 0) {
/* Reload ADDA power saving parameters */
- _PHY_ReloadADDARegisters8723B(padapter, ADDA_REG, pDM_Odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM);
+ _PHY_ReloadADDARegisters8723B(
+ padapter, ADDA_REG,
+ pDM_Odm->RFCalibrateInfo.ADDA_backup, IQK_ADDA_REG_NUM);
/* Reload MAC parameters */
- _PHY_ReloadMACRegisters8723B(padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup);
+ _PHY_ReloadMACRegisters8723B(
+ padapter, IQK_MAC_REG,
+ pDM_Odm->RFCalibrateInfo.IQK_MAC_backup);
- _PHY_ReloadADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM);
+ _PHY_ReloadADDARegisters8723B(
+ padapter, IQK_BB_REG_92C,
+ pDM_Odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM);
/* Reload RF path */
-/* PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff, Path_SEL_RF); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff, Path_SEL_RF); */
/* Allen initial gain 0xc50 */
/* Restore RX initial gain */
@@ -1450,15 +1636,16 @@ static void phy_IQCalibrate_8723B(
PHY_SetBBReg(pDM_Odm->Adapter, 0xc50, bMaskByte0, tmp0xc50);
if (is2T) {
PHY_SetBBReg(pDM_Odm->Adapter, 0xc58, bMaskByte0, 0x50);
- PHY_SetBBReg(pDM_Odm->Adapter, 0xc58, bMaskByte0, tmp0xc58);
+ PHY_SetBBReg(pDM_Odm->Adapter, 0xc58, bMaskByte0,
+ tmp0xc58);
}
/* load 0xe30 IQC default value */
- PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord, 0x01008c00);
- PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x01008c00);
-
+ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_A, bMaskDWord,
+ 0x01008c00);
+ PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord,
+ 0x01008c00);
}
-
}
static void phy_LCCalibrate_8723B(struct dm_odm_t *pDM_Odm, bool is2T)
@@ -1470,91 +1657,99 @@ static void phy_LCCalibrate_8723B(struct dm_odm_t *pDM_Odm, bool is2T)
/* Check continuous TX and Packet TX */
tmpReg = rtw_read8(pDM_Odm->Adapter, 0xd03);
- if ((tmpReg&0x70) != 0) /* Deal with contisuous TX case */
- rtw_write8(pDM_Odm->Adapter, 0xd03, tmpReg&0x8F); /* disable all continuous TX */
- else /* Deal with Packet TX case */
- rtw_write8(pDM_Odm->Adapter, REG_TXPAUSE, 0xFF); /* block all queues */
+ if ((tmpReg & 0x70) != 0) /* Deal with contisuous TX case */
+ rtw_write8(pDM_Odm->Adapter, 0xd03,
+ tmpReg & 0x8F); /* disable all continuous TX */
+ else /* Deal with Packet TX case */
+ rtw_write8(pDM_Odm->Adapter, REG_TXPAUSE,
+ 0xFF); /* block all queues */
- if ((tmpReg&0x70) != 0) {
+ if ((tmpReg & 0x70) != 0) {
/* 1. Read original RF mode */
/* Path-A */
- RF_Amode = PHY_QueryRFReg(padapter, RF_PATH_A, RF_AC, bMask12Bits);
+ RF_Amode =
+ PHY_QueryRFReg(padapter, RF_PATH_A, RF_AC, bMask12Bits);
/* Path-B */
if (is2T)
- RF_Bmode = PHY_QueryRFReg(padapter, RF_PATH_B, RF_AC, bMask12Bits);
+ RF_Bmode = PHY_QueryRFReg(padapter, RF_PATH_B, RF_AC,
+ bMask12Bits);
/* 2. Set RF mode = standby mode */
/* Path-A */
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_AC, bMask12Bits, (RF_Amode&0x8FFFF)|0x10000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_AC, bMask12Bits,
+ (RF_Amode & 0x8FFFF) | 0x10000);
/* Path-B */
if (is2T)
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_AC, bMask12Bits, (RF_Bmode&0x8FFFF)|0x10000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_AC,
+ bMask12Bits,
+ (RF_Bmode & 0x8FFFF) | 0x10000);
}
/* 3. Read RF reg18 */
LC_Cal = PHY_QueryRFReg(padapter, RF_PATH_A, RF_CHNLBW, bMask12Bits);
/* 4. Set LC calibration begin bit15 */
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xB0, bRFRegOffsetMask, 0xDFBE0); /* LDO ON */
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_CHNLBW, bMask12Bits, LC_Cal|0x08000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xB0, bRFRegOffsetMask,
+ 0xDFBE0); /* LDO ON */
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_CHNLBW, bMask12Bits,
+ LC_Cal | 0x08000);
mdelay(100);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xB0, bRFRegOffsetMask, 0xDFFE0); /* LDO OFF */
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xB0, bRFRegOffsetMask,
+ 0xDFFE0); /* LDO OFF */
/* Channel 10 LC calibration issue for 8723bs with 26M xtal */
- if (pDM_Odm->SupportInterface == ODM_ITRF_SDIO && pDM_Odm->PackageType >= 0x2) {
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_CHNLBW, bMask12Bits, LC_Cal);
+ if (pDM_Odm->SupportInterface == ODM_ITRF_SDIO &&
+ pDM_Odm->PackageType >= 0x2) {
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_CHNLBW,
+ bMask12Bits, LC_Cal);
}
/* Restore original situation */
- if ((tmpReg&0x70) != 0) { /* Deal with contisuous TX case */
+ if ((tmpReg & 0x70) != 0) { /* Deal with contisuous TX case */
/* Path-A */
rtw_write8(pDM_Odm->Adapter, 0xd03, tmpReg);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_AC, bMask12Bits, RF_Amode);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_AC, bMask12Bits,
+ RF_Amode);
/* Path-B */
if (is2T)
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_AC, bMask12Bits, RF_Bmode);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_AC,
+ bMask12Bits, RF_Bmode);
} else /* Deal with Packet TX case */
rtw_write8(pDM_Odm->Adapter, REG_TXPAUSE, 0x00);
}
/* IQK version:V2.5 20140123 */
/* IQK is controlled by Is2ant, RF path */
-void PHY_IQCalibrate_8723B(
- struct adapter *padapter,
- bool bReCovery,
- bool bRestore,
- bool Is2ant, /* false:1ant, true:2-ant */
- u8 RF_Path /* 0:S1, 1:S0 */
+void PHY_IQCalibrate_8723B(struct adapter *padapter, bool bReCovery,
+ bool bRestore,
+ bool Is2ant, /* false:1ant, true:2-ant */
+ u8 RF_Path /* 0:S1, 1:S0 */
)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
- s32 result[4][8]; /* last is final result */
+ s32 result[4][8]; /* last is final result */
u8 i, final_candidate;
bool bPathAOK, bPathBOK;
s32 RegE94, RegE9C, RegEA4, RegEB4, RegEBC, RegEC4, RegTmp = 0;
bool is12simular, is13simular, is23simular;
bool bSingleTone = false, bCarrierSuppression = false;
u32 IQK_BB_REG_92C[IQK_BB_REG_NUM] = {
- rOFDM0_XARxIQImbalance,
- rOFDM0_XBRxIQImbalance,
- rOFDM0_ECCAThreshold,
- rOFDM0_AGCRSSITable,
- rOFDM0_XATxIQImbalance,
- rOFDM0_XBTxIQImbalance,
- rOFDM0_XCTxAFE,
- rOFDM0_XDTxAFE,
+ rOFDM0_XARxIQImbalance, rOFDM0_XBRxIQImbalance,
+ rOFDM0_ECCAThreshold, rOFDM0_AGCRSSITable,
+ rOFDM0_XATxIQImbalance, rOFDM0_XBTxIQImbalance,
+ rOFDM0_XCTxAFE, rOFDM0_XDTxAFE,
rOFDM0_RxIQExtAnta
};
-/* u32 Path_SEL_BB = 0; */
- u32 GNT_BT_default;
+ /* u32 Path_SEL_BB = 0; */
+ u32 GNT_BT_default;
if (!ODM_CheckPowerStatus(padapter))
return;
@@ -1574,9 +1769,13 @@ void PHY_IQCalibrate_8723B(
if (bRestore) {
u32 offset, data;
u8 path, bResult = SUCCESS;
- struct odm_rf_cal_t *pRFCalibrateInfo = &pDM_Odm->RFCalibrateInfo;
+ struct odm_rf_cal_t *pRFCalibrateInfo =
+ &pDM_Odm->RFCalibrateInfo;
- path = (PHY_QueryBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskByte0) == 0x00) ? RF_PATH_A : RF_PATH_B;
+ path = (PHY_QueryBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch,
+ bMaskByte0) == 0x00) ?
+ RF_PATH_A :
+ RF_PATH_B;
/* Restore TX IQK */
for (i = 0; i < 3; ++i) {
@@ -1586,7 +1785,8 @@ void PHY_IQCalibrate_8723B(
bResult = FAIL;
break;
}
- PHY_SetBBReg(pDM_Odm->Adapter, offset, bMaskDWord, data);
+ PHY_SetBBReg(pDM_Odm->Adapter, offset, bMaskDWord,
+ data);
}
/* Restore RX IQK */
@@ -1597,14 +1797,19 @@ void PHY_IQCalibrate_8723B(
bResult = FAIL;
break;
}
- PHY_SetBBReg(pDM_Odm->Adapter, offset, bMaskDWord, data);
+ PHY_SetBBReg(pDM_Odm->Adapter, offset, bMaskDWord,
+ data);
}
if (pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_A] == 0) {
bResult = FAIL;
} else {
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXM_IDAC, bRFRegOffsetMask, pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_A]);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_TXM_IDAC, bRFRegOffsetMask, pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_B]);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXM_IDAC,
+ bRFRegOffsetMask,
+ pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_A]);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, RF_TXM_IDAC,
+ bRFRegOffsetMask,
+ pDM_Odm->RFCalibrateInfo.TxLOK[RF_PATH_B]);
}
if (bResult == SUCCESS)
@@ -1612,19 +1817,21 @@ void PHY_IQCalibrate_8723B(
}
if (bReCovery) {
- _PHY_ReloadADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
+ _PHY_ReloadADDARegisters8723B(
+ padapter, IQK_BB_REG_92C,
+ pDM_Odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
return;
}
/* save default GNT_BT */
GNT_BT_default = PHY_QueryBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord);
/* Save RF Path */
-/* Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); */
-/* Path_SEL_RF = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff); */
+ /* Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); */
+ /* Path_SEL_RF = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff); */
- /* set GNT_BT = 0, pause BT traffic */
-/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT12, 0x0); */
-/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT11, 0x1); */
+ /* set GNT_BT = 0, pause BT traffic */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT12, 0x0); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT11, 0x1); */
for (i = 0; i < 8; i++) {
result[0][i] = 0;
@@ -1644,7 +1851,8 @@ void PHY_IQCalibrate_8723B(
phy_IQCalibrate_8723B(padapter, result, i, Is2ant, RF_Path);
if (i == 1) {
- is12simular = phy_SimularityCompare_8723B(padapter, result, 0, 1);
+ is12simular = phy_SimularityCompare_8723B(padapter,
+ result, 0, 1);
if (is12simular) {
final_candidate = 0;
break;
@@ -1652,14 +1860,16 @@ void PHY_IQCalibrate_8723B(
}
if (i == 2) {
- is13simular = phy_SimularityCompare_8723B(padapter, result, 0, 2);
+ is13simular = phy_SimularityCompare_8723B(padapter,
+ result, 0, 2);
if (is13simular) {
final_candidate = 0;
break;
}
- is23simular = phy_SimularityCompare_8723B(padapter, result, 1, 2);
+ is23simular = phy_SimularityCompare_8723B(padapter,
+ result, 1, 2);
if (is23simular) {
final_candidate = 1;
} else {
@@ -1684,58 +1894,78 @@ void PHY_IQCalibrate_8723B(
}
if (final_candidate != 0xff) {
- pDM_Odm->RFCalibrateInfo.RegE94 = RegE94 = result[final_candidate][0];
- pDM_Odm->RFCalibrateInfo.RegE9C = RegE9C = result[final_candidate][1];
+ pDM_Odm->RFCalibrateInfo.RegE94 = RegE94 =
+ result[final_candidate][0];
+ pDM_Odm->RFCalibrateInfo.RegE9C = RegE9C =
+ result[final_candidate][1];
RegEA4 = result[final_candidate][2];
- pDM_Odm->RFCalibrateInfo.RegEB4 = RegEB4 = result[final_candidate][4];
- pDM_Odm->RFCalibrateInfo.RegEBC = RegEBC = result[final_candidate][5];
+ pDM_Odm->RFCalibrateInfo.RegEB4 = RegEB4 =
+ result[final_candidate][4];
+ pDM_Odm->RFCalibrateInfo.RegEBC = RegEBC =
+ result[final_candidate][5];
RegEC4 = result[final_candidate][6];
bPathAOK = bPathBOK = true;
} else {
- pDM_Odm->RFCalibrateInfo.RegE94 = pDM_Odm->RFCalibrateInfo.RegEB4 = 0x100; /* X default value */
- pDM_Odm->RFCalibrateInfo.RegE9C = pDM_Odm->RFCalibrateInfo.RegEBC = 0x0; /* Y default value */
+ pDM_Odm->RFCalibrateInfo.RegE94 =
+ pDM_Odm->RFCalibrateInfo.RegEB4 =
+ 0x100; /* X default value */
+ pDM_Odm->RFCalibrateInfo.RegE9C =
+ pDM_Odm->RFCalibrateInfo.RegEBC =
+ 0x0; /* Y default value */
}
{
if (RegE94 != 0)
- _PHY_PathAFillIQKMatrix8723B(padapter, bPathAOK, result, final_candidate, (RegEA4 == 0));
+ _PHY_PathAFillIQKMatrix8723B(padapter, bPathAOK, result,
+ final_candidate,
+ (RegEA4 == 0));
}
{
if (RegEB4 != 0)
- _PHY_PathBFillIQKMatrix8723B(padapter, bPathBOK, result, final_candidate, (RegEC4 == 0));
+ _PHY_PathBFillIQKMatrix8723B(padapter, bPathBOK, result,
+ final_candidate,
+ (RegEC4 == 0));
}
-/* To Fix BSOD when final_candidate is 0xff */
-/* by sherry 20120321 */
+ /* To Fix BSOD when final_candidate is 0xff */
+ /* by sherry 20120321 */
if (final_candidate < 4) {
for (i = 0; i < IQK_MATRIX_REG_NUM; i++)
- pDM_Odm->RFCalibrateInfo.iqk_matrix_regs_setting_value[0][i] = result[final_candidate][i];
+ pDM_Odm->RFCalibrateInfo
+ .iqk_matrix_regs_setting_value[0][i] =
+ result[final_candidate][i];
}
- _PHY_SaveADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
+ _PHY_SaveADDARegisters8723B(
+ padapter, IQK_BB_REG_92C,
+ pDM_Odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
/* restore GNT_BT */
PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, GNT_BT_default);
/* Restore RF Path */
-/* PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); */
-/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff, Path_SEL_RF); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); */
+ /* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff, Path_SEL_RF); */
/* Resotr RX mode table parameter */
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xe6177);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask,
+ 0x18000);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask,
+ 0x0001f);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask,
+ 0xe6177);
PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1);
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x300bd);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask,
+ 0x300bd);
/* set GNT_BT = HW control */
-/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT12, 0x0); */
-/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT11, 0x0); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT12, 0x0); */
+ /* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT11, 0x0); */
if (Is2ant) {
- if (RF_Path == 0x0) /* S1 */
+ if (RF_Path == 0x0) /* S1 */
ODM_SetIQCbyRFpath(pDM_Odm, 0);
- else /* S0 */
+ else /* S0 */
ODM_SetIQCbyRFpath(pDM_Odm, 1);
}
@@ -1744,8 +1974,8 @@ void PHY_IQCalibrate_8723B(
void PHY_LCCalibrate_8723B(struct dm_odm_t *pDM_Odm)
{
- bool bSingleTone = false, bCarrierSuppression = false;
- u32 timeout = 2000, timecount = 0;
+ bool bSingleTone = false, bCarrierSuppression = false;
+ u32 timeout = 2000, timecount = 0;
if (!(pDM_Odm->SupportAbility & ODM_RF_CALIBRATION))
return;
diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
index 14b328378b8b1..5fb51fdbf8d4c 100644
--- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
+++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h
@@ -9,29 +9,21 @@
#define __HAL_PHY_RF_8723B_H__
/*--------------------------Define Parameters-------------------------------*/
-#define IQK_DELAY_TIME_8723B 20 /* ms */
-#define IQK_DEFERRED_TIME_8723B 4
-#define index_mapping_NUM_8723B 15
-#define AVG_THERMAL_NUM_8723B 4
-#define RF_T_METER_8723B 0x42 /* */
+#define IQK_DELAY_TIME_8723B 20 /* ms */
+#define IQK_DEFERRED_TIME_8723B 4
+#define index_mapping_NUM_8723B 15
+#define AVG_THERMAL_NUM_8723B 4
+#define RF_T_METER_8723B 0x42 /* */
void ConfigureTxpowerTrack_8723B(struct txpwrtrack_cfg *pConfig);
-void ODM_TxPwrTrackSetPwr_8723B(
- struct dm_odm_t *pDM_Odm,
- enum pwrtrack_method Method,
- u8 RFPath,
- u8 ChannelMappedIndex
-);
+void ODM_TxPwrTrackSetPwr_8723B(struct dm_odm_t *pDM_Odm,
+ enum pwrtrack_method Method, u8 RFPath,
+ u8 ChannelMappedIndex);
/* 1 7. IQK */
-void PHY_IQCalibrate_8723B(
- struct adapter *Adapter,
- bool bReCovery,
- bool bRestore,
- bool Is2ant,
- u8 RF_Path
-);
+void PHY_IQCalibrate_8723B(struct adapter *Adapter, bool bReCovery,
+ bool bRestore, bool Is2ant, u8 RF_Path);
void ODM_SetIQCbyRFpath(struct dm_odm_t *pDM_Odm, u32 RFpath);
@@ -45,22 +37,13 @@ void PHY_LCCalibrate_8723B(struct dm_odm_t *pDM_Odm);
/* */
void PHY_DigitalPredistortion_8723B(struct adapter *padapter);
-void _PHY_SaveADDARegisters_8723B(
- struct adapter *padapter,
- u32 *ADDAReg,
- u32 *ADDABackup,
- u32 RegisterNum
-);
+void _PHY_SaveADDARegisters_8723B(struct adapter *padapter, u32 *ADDAReg,
+ u32 *ADDABackup, u32 RegisterNum);
-void _PHY_PathADDAOn_8723B(
- struct adapter *padapter,
- u32 *ADDAReg,
- bool isPathAOn,
- bool is2T
-);
+void _PHY_PathADDAOn_8723B(struct adapter *padapter, u32 *ADDAReg,
+ bool isPathAOn, bool is2T);
-void _PHY_MACSettingCalibration_8723B(
- struct adapter *padapter, u32 *MACReg, u32 *MACBackup
-);
+void _PHY_MACSettingCalibration_8723B(struct adapter *padapter, u32 *MACReg,
+ u32 *MACBackup);
#endif /* #ifndef __HAL_PHY_RF_8188E_H__ */
diff --git a/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c b/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c
index a59505cc4a073..d4f010ab6601b 100644
--- a/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c
+++ b/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c
@@ -32,13 +32,8 @@ Major Change History:
/* */
/* 2011.07.07, added by Roger. */
/* */
-u8 HalPwrSeqCmdParsing(
- struct adapter *padapter,
- u8 CutVersion,
- u8 FabVersion,
- u8 InterfaceType,
- struct wlan_pwr_cfg PwrSeqCmd[]
-)
+u8 HalPwrSeqCmdParsing(struct adapter *padapter, u8 CutVersion, u8 FabVersion,
+ u8 InterfaceType, struct wlan_pwr_cfg PwrSeqCmd[])
{
struct wlan_pwr_cfg PwrCfgCmd;
u8 bPollingBit = false;
@@ -52,11 +47,9 @@ u8 HalPwrSeqCmdParsing(
PwrCfgCmd = PwrSeqCmd[AryIdx];
/* 2 Only Handle the command whose FAB, CUT, and Interface are matched */
- if (
- (GET_PWR_CFG_FAB_MASK(PwrCfgCmd) & FabVersion) &&
- (GET_PWR_CFG_CUT_MASK(PwrCfgCmd) & CutVersion) &&
- (GET_PWR_CFG_INTF_MASK(PwrCfgCmd) & InterfaceType)
- ) {
+ if ((GET_PWR_CFG_FAB_MASK(PwrCfgCmd) & FabVersion) &&
+ (GET_PWR_CFG_CUT_MASK(PwrCfgCmd) & CutVersion) &&
+ (GET_PWR_CFG_INTF_MASK(PwrCfgCmd) & InterfaceType)) {
switch (GET_PWR_CFG_CMD(PwrCfgCmd)) {
case PWR_CMD_READ:
break;
@@ -68,27 +61,27 @@ u8 HalPwrSeqCmdParsing(
/* <Roger_Notes> We should deal with interface specific address mapping for some interfaces, e.g., SDIO interface */
/* 2011.07.07. */
/* */
- if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO) {
+ if (GET_PWR_CFG_BASE(PwrCfgCmd) ==
+ PWR_BASEADDR_SDIO) {
/* Read Back SDIO Local value */
- value = SdioLocalCmd52Read1Byte(padapter, offset);
+ value = SdioLocalCmd52Read1Byte(
+ padapter, offset);
value &= ~(GET_PWR_CFG_MASK(PwrCfgCmd));
- value |= (
- GET_PWR_CFG_VALUE(PwrCfgCmd) &
- GET_PWR_CFG_MASK(PwrCfgCmd)
- );
+ value |= (GET_PWR_CFG_VALUE(PwrCfgCmd) &
+ GET_PWR_CFG_MASK(PwrCfgCmd));
/* Write Back SDIO Local value */
- SdioLocalCmd52Write1Byte(padapter, offset, value);
+ SdioLocalCmd52Write1Byte(padapter,
+ offset, value);
} else {
/* Read the value from system register */
value = rtw_read8(padapter, offset);
- value &= (~(GET_PWR_CFG_MASK(PwrCfgCmd)));
- value |= (
- GET_PWR_CFG_VALUE(PwrCfgCmd)
- &GET_PWR_CFG_MASK(PwrCfgCmd)
- );
+ value &= (~(
+ GET_PWR_CFG_MASK(PwrCfgCmd)));
+ value |= (GET_PWR_CFG_VALUE(PwrCfgCmd) &
+ GET_PWR_CFG_MASK(PwrCfgCmd));
/* Write the value back to system register */
rtw_write8(padapter, offset, value);
@@ -100,16 +93,19 @@ u8 HalPwrSeqCmdParsing(
bPollingBit = false;
offset = GET_PWR_CFG_OFFSET(PwrCfgCmd);
do {
- if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO)
- value = SdioLocalCmd52Read1Byte(padapter, offset);
+ if (GET_PWR_CFG_BASE(PwrCfgCmd) ==
+ PWR_BASEADDR_SDIO)
+ value = SdioLocalCmd52Read1Byte(
+ padapter, offset);
else
- value = rtw_read8(padapter, offset);
-
- value = value&GET_PWR_CFG_MASK(PwrCfgCmd);
- if (
- value == (GET_PWR_CFG_VALUE(PwrCfgCmd) &
- GET_PWR_CFG_MASK(PwrCfgCmd))
- )
+ value = rtw_read8(padapter,
+ offset);
+
+ value = value &
+ GET_PWR_CFG_MASK(PwrCfgCmd);
+ if (value ==
+ (GET_PWR_CFG_VALUE(PwrCfgCmd) &
+ GET_PWR_CFG_MASK(PwrCfgCmd)))
bPollingBit = true;
else
udelay(10);
@@ -122,10 +118,12 @@ u8 HalPwrSeqCmdParsing(
break;
case PWR_CMD_DELAY:
- if (GET_PWR_CFG_VALUE(PwrCfgCmd) == PWRSEQ_DELAY_US)
+ if (GET_PWR_CFG_VALUE(PwrCfgCmd) ==
+ PWRSEQ_DELAY_US)
udelay(GET_PWR_CFG_OFFSET(PwrCfgCmd));
else
- udelay(GET_PWR_CFG_OFFSET(PwrCfgCmd)*1000);
+ udelay(GET_PWR_CFG_OFFSET(PwrCfgCmd) *
+ 1000);
break;
case PWR_CMD_END:
@@ -137,7 +135,7 @@ u8 HalPwrSeqCmdParsing(
}
}
- AryIdx++;/* Add Array Index */
+ AryIdx++; /* Add Array Index */
} while (1);
return true;
diff --git a/drivers/staging/rtl8723bs/hal/Mp_Precomp.h b/drivers/staging/rtl8723bs/hal/Mp_Precomp.h
index f08823a8dd7b3..5e9d23f1d8c94 100644
--- a/drivers/staging/rtl8723bs/hal/Mp_Precomp.h
+++ b/drivers/staging/rtl8723bs/hal/Mp_Precomp.h
@@ -10,7 +10,7 @@
#include <drv_types.h>
#include <hal_data.h>
-#define BT_TMP_BUF_SIZE 100
+#define BT_TMP_BUF_SIZE 100
#ifdef bEnable
#undef bEnable
diff --git a/drivers/staging/rtl8723bs/hal/hal_btcoex.c b/drivers/staging/rtl8723bs/hal/hal_btcoex.c
index 195ccc4b710f1..e7dc0c4ee299a 100644
--- a/drivers/staging/rtl8723bs/hal/hal_btcoex.c
+++ b/drivers/staging/rtl8723bs/hal/hal_btcoex.c
@@ -111,13 +111,16 @@ static void halbtcoutsrc_NormalLowPower(struct btc_coexist *pBtCoexist)
rtw_unregister_task_alive(padapter, BTCOEX_ALIVE);
}
-static void halbtcoutsrc_DisableLowPower(struct btc_coexist *pBtCoexist, u8 bLowPwrDisable)
+static void halbtcoutsrc_DisableLowPower(struct btc_coexist *pBtCoexist,
+ u8 bLowPwrDisable)
{
pBtCoexist->btInfo.bBtDisableLowPwr = bLowPwrDisable;
if (bLowPwrDisable)
- halbtcoutsrc_LeaveLowPower(pBtCoexist); /* leave 32k low power. */
+ halbtcoutsrc_LeaveLowPower(
+ pBtCoexist); /* leave 32k low power. */
else
- halbtcoutsrc_NormalLowPower(pBtCoexist); /* original 32k low power behavior. */
+ halbtcoutsrc_NormalLowPower(
+ pBtCoexist); /* original 32k low power behavior. */
}
static void halbtcoutsrc_AggregationCheck(struct btc_coexist *pBtCoexist)
@@ -132,17 +135,19 @@ static void halbtcoutsrc_AggregationCheck(struct btc_coexist *pBtCoexist)
rtw_btcoex_reject_ap_aggregated_packet(padapter, true);
} else {
if (pBtCoexist->btInfo.bPreBtCtrlAggBufSize !=
- pBtCoexist->btInfo.bBtCtrlAggBufSize) {
+ pBtCoexist->btInfo.bBtCtrlAggBufSize) {
bNeedToAct = true;
- pBtCoexist->btInfo.bPreBtCtrlAggBufSize = pBtCoexist->btInfo.bBtCtrlAggBufSize;
+ pBtCoexist->btInfo.bPreBtCtrlAggBufSize =
+ pBtCoexist->btInfo.bBtCtrlAggBufSize;
}
if (pBtCoexist->btInfo.bBtCtrlAggBufSize) {
if (pBtCoexist->btInfo.preAggBufSize !=
- pBtCoexist->btInfo.aggBufSize){
+ pBtCoexist->btInfo.aggBufSize) {
bNeedToAct = true;
}
- pBtCoexist->btInfo.preAggBufSize = pBtCoexist->btInfo.aggBufSize;
+ pBtCoexist->btInfo.preAggBufSize =
+ pBtCoexist->btInfo.aggBufSize;
}
if (bNeedToAct) {
@@ -352,18 +357,17 @@ static u8 halbtcoutsrc_Get(void *pBtcContext, u8 getType, void *pOutBuf)
*pU4Tmp = BTC_WIFI_BW_HT40;
break;
- case BTC_GET_U4_WIFI_TRAFFIC_DIRECTION:
- {
- struct rt_link_detect_t *plinkinfo;
+ case BTC_GET_U4_WIFI_TRAFFIC_DIRECTION: {
+ struct rt_link_detect_t *plinkinfo;
- plinkinfo = &padapter->mlmepriv.link_detect_info;
+ plinkinfo = &padapter->mlmepriv.link_detect_info;
- if (plinkinfo->num_tx_ok_in_period > plinkinfo->num_rx_ok_in_period)
- *pU4Tmp = BTC_WIFI_TRAFFIC_TX;
- else
- *pU4Tmp = BTC_WIFI_TRAFFIC_RX;
- }
- break;
+ if (plinkinfo->num_tx_ok_in_period >
+ plinkinfo->num_rx_ok_in_period)
+ *pU4Tmp = BTC_WIFI_TRAFFIC_TX;
+ else
+ *pU4Tmp = BTC_WIFI_TRAFFIC_RX;
+ } break;
case BTC_GET_U4_WIFI_FW_VER:
*pU4Tmp = pHalData->FirmwareVersion << 16;
@@ -519,8 +523,10 @@ static u8 halbtcoutsrc_Set(void *pBtcContext, u8 setType, void *pInBuf)
struct sta_info *psta;
struct wlan_bssid_ex *cur_network;
- cur_network = &padapter->mlmeextpriv.mlmext_info.network;
- psta = rtw_get_stainfo(&padapter->stapriv, cur_network->mac_address);
+ cur_network =
+ &padapter->mlmeextpriv.mlmext_info.network;
+ psta = rtw_get_stainfo(&padapter->stapriv,
+ cur_network->mac_address);
rtw_hal_update_ra_mask(psta, 0);
}
break;
@@ -570,7 +576,7 @@ static u16 halbtcoutsrc_Read2Byte(void *pBtcContext, u32 RegAddr)
pBtCoexist = (struct btc_coexist *)pBtcContext;
padapter = pBtCoexist->Adapter;
- return rtw_read16(padapter, RegAddr);
+ return rtw_read16(padapter, RegAddr);
}
static u32 halbtcoutsrc_Read4Byte(void *pBtcContext, u32 RegAddr)
@@ -581,7 +587,7 @@ static u32 halbtcoutsrc_Read4Byte(void *pBtcContext, u32 RegAddr)
pBtCoexist = (struct btc_coexist *)pBtcContext;
padapter = pBtCoexist->Adapter;
- return rtw_read32(padapter, RegAddr);
+ return rtw_read32(padapter, RegAddr);
}
static void halbtcoutsrc_Write1Byte(void *pBtcContext, u32 RegAddr, u8 Data)
@@ -595,7 +601,8 @@ static void halbtcoutsrc_Write1Byte(void *pBtcContext, u32 RegAddr, u8 Data)
rtw_write8(padapter, RegAddr, Data);
}
-static void halbtcoutsrc_BitMaskWrite1Byte(void *pBtcContext, u32 regAddr, u8 bitMask, u8 data1b)
+static void halbtcoutsrc_BitMaskWrite1Byte(void *pBtcContext, u32 regAddr,
+ u8 bitMask, u8 data1b)
{
struct btc_coexist *pBtCoexist;
struct adapter *padapter;
@@ -616,7 +623,8 @@ static void halbtcoutsrc_BitMaskWrite1Byte(void *pBtcContext, u32 regAddr, u8 bi
}
bitShift = i;
- data1b = (originalValue & ~bitMask) | ((data1b << bitShift) & bitMask);
+ data1b = (originalValue & ~bitMask) |
+ ((data1b << bitShift) & bitMask);
}
rtw_write8(padapter, regAddr, data1b);
@@ -644,7 +652,8 @@ static void halbtcoutsrc_Write4Byte(void *pBtcContext, u32 RegAddr, u32 Data)
rtw_write32(padapter, RegAddr, Data);
}
-static void halbtcoutsrc_WriteLocalReg1Byte(void *pBtcContext, u32 RegAddr, u8 Data)
+static void halbtcoutsrc_WriteLocalReg1Byte(void *pBtcContext, u32 RegAddr,
+ u8 Data)
{
struct btc_coexist *pBtCoexist = (struct btc_coexist *)pBtcContext;
struct adapter *Adapter = pBtCoexist->Adapter;
@@ -655,7 +664,8 @@ static void halbtcoutsrc_WriteLocalReg1Byte(void *pBtcContext, u32 RegAddr, u8 D
rtw_write8(Adapter, RegAddr, Data);
}
-static void halbtcoutsrc_SetBbReg(void *pBtcContext, u32 RegAddr, u32 BitMask, u32 Data)
+static void halbtcoutsrc_SetBbReg(void *pBtcContext, u32 RegAddr, u32 BitMask,
+ u32 Data)
{
struct btc_coexist *pBtCoexist;
struct adapter *padapter;
@@ -677,7 +687,8 @@ static u32 halbtcoutsrc_GetBbReg(void *pBtcContext, u32 RegAddr, u32 BitMask)
return PHY_QueryBBReg(padapter, RegAddr, BitMask);
}
-static void halbtcoutsrc_SetRfReg(void *pBtcContext, u8 eRFPath, u32 RegAddr, u32 BitMask, u32 Data)
+static void halbtcoutsrc_SetRfReg(void *pBtcContext, u8 eRFPath, u32 RegAddr,
+ u32 BitMask, u32 Data)
{
struct btc_coexist *pBtCoexist;
struct adapter *padapter;
@@ -688,7 +699,8 @@ static void halbtcoutsrc_SetRfReg(void *pBtcContext, u8 eRFPath, u32 RegAddr, u3
PHY_SetRFReg(padapter, eRFPath, RegAddr, BitMask, Data);
}
-static u32 halbtcoutsrc_GetRfReg(void *pBtcContext, u8 eRFPath, u32 RegAddr, u32 BitMask)
+static u32 halbtcoutsrc_GetRfReg(void *pBtcContext, u8 eRFPath, u32 RegAddr,
+ u32 BitMask)
{
struct btc_coexist *pBtCoexist;
struct adapter *padapter;
@@ -699,12 +711,13 @@ static u32 halbtcoutsrc_GetRfReg(void *pBtcContext, u8 eRFPath, u32 RegAddr, u32
return PHY_QueryRFReg(padapter, eRFPath, RegAddr, BitMask);
}
-static void halbtcoutsrc_SetBtReg(void *pBtcContext, u8 RegType, u32 RegAddr, u32 Data)
+static void halbtcoutsrc_SetBtReg(void *pBtcContext, u8 RegType, u32 RegAddr,
+ u32 Data)
{
struct btc_coexist *pBtCoexist;
struct adapter *padapter;
- u8 CmdBuffer1[4] = {0};
- u8 CmdBuffer2[4] = {0};
+ u8 CmdBuffer1[4] = { 0 };
+ u8 CmdBuffer2[4] = { 0 };
u8 *AddrToSet = (u8 *)&RegAddr;
u8 *ValueToSet = (u8 *)&Data;
u8 OperVer = 0;
@@ -713,19 +726,19 @@ static void halbtcoutsrc_SetBtReg(void *pBtcContext, u8 RegType, u32 RegAddr, u3
pBtCoexist = (struct btc_coexist *)pBtcContext;
padapter = pBtCoexist->Adapter;
- CmdBuffer1[0] |= (OperVer & 0x0f); /* Set OperVer */
- CmdBuffer1[0] |= ((ReqNum << 4) & 0xf0); /* Set ReqNum */
- CmdBuffer1[1] = 0x0d; /* Set OpCode to BT_LO_OP_WRITE_REG_VALUE */
- CmdBuffer1[2] = ValueToSet[0]; /* Set WriteRegValue */
+ CmdBuffer1[0] |= (OperVer & 0x0f); /* Set OperVer */
+ CmdBuffer1[0] |= ((ReqNum << 4) & 0xf0); /* Set ReqNum */
+ CmdBuffer1[1] = 0x0d; /* Set OpCode to BT_LO_OP_WRITE_REG_VALUE */
+ CmdBuffer1[2] = ValueToSet[0]; /* Set WriteRegValue */
rtw_hal_fill_h2c_cmd(padapter, 0x67, 4, &(CmdBuffer1[0]));
msleep(200);
ReqNum++;
- CmdBuffer2[0] |= (OperVer & 0x0f); /* Set OperVer */
- CmdBuffer2[0] |= ((ReqNum << 4) & 0xf0); /* Set ReqNum */
- CmdBuffer2[1] = 0x0c; /* Set OpCode of BT_LO_OP_WRITE_REG_ADDR */
- CmdBuffer2[3] = AddrToSet[0]; /* Set WriteRegAddr */
+ CmdBuffer2[0] |= (OperVer & 0x0f); /* Set OperVer */
+ CmdBuffer2[0] |= ((ReqNum << 4) & 0xf0); /* Set ReqNum */
+ CmdBuffer2[1] = 0x0c; /* Set OpCode of BT_LO_OP_WRITE_REG_ADDR */
+ CmdBuffer2[3] = AddrToSet[0]; /* Set WriteRegAddr */
rtw_hal_fill_h2c_cmd(padapter, 0x67, 4, &(CmdBuffer2[0]));
}
@@ -735,7 +748,8 @@ static u32 halbtcoutsrc_GetBtReg(void *pBtcContext, u8 RegType, u32 RegAddr)
return 0;
}
-static void halbtcoutsrc_FillH2cCmd(void *pBtcContext, u8 elementId, u32 cmdLen, u8 *pCmdBuffer)
+static void halbtcoutsrc_FillH2cCmd(void *pBtcContext, u8 elementId, u32 cmdLen,
+ u8 *pCmdBuffer)
{
struct btc_coexist *pBtCoexist;
struct adapter *padapter;
@@ -875,14 +889,14 @@ void EXhalbtcoutsrc_IpsNotify(struct btc_coexist *pBtCoexist, u8 type)
ipsType = BTC_IPS_ENTER;
/* All notify is called in cmd thread, don't need to leave low power again */
-/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
+ /* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
if (pBtCoexist->boardInfo.btdmAntNum == 2)
EXhalbtc8723b2ant_IpsNotify(pBtCoexist, ipsType);
else if (pBtCoexist->boardInfo.btdmAntNum == 1)
EXhalbtc8723b1ant_IpsNotify(pBtCoexist, ipsType);
-/* halbtcoutsrc_NormalLowPower(pBtCoexist); */
+ /* halbtcoutsrc_NormalLowPower(pBtCoexist); */
}
void EXhalbtcoutsrc_LpsNotify(struct btc_coexist *pBtCoexist, u8 type)
@@ -926,14 +940,14 @@ void EXhalbtcoutsrc_ScanNotify(struct btc_coexist *pBtCoexist, u8 type)
}
/* All notify is called in cmd thread, don't need to leave low power again */
-/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
+ /* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
if (pBtCoexist->boardInfo.btdmAntNum == 2)
EXhalbtc8723b2ant_ScanNotify(pBtCoexist, scanType);
else if (pBtCoexist->boardInfo.btdmAntNum == 1)
EXhalbtc8723b1ant_ScanNotify(pBtCoexist, scanType);
-/* halbtcoutsrc_NormalLowPower(pBtCoexist); */
+ /* halbtcoutsrc_NormalLowPower(pBtCoexist); */
}
void EXhalbtcoutsrc_ConnectNotify(struct btc_coexist *pBtCoexist, u8 action)
@@ -952,18 +966,18 @@ void EXhalbtcoutsrc_ConnectNotify(struct btc_coexist *pBtCoexist, u8 action)
assoType = BTC_ASSOCIATE_FINISH;
/* All notify is called in cmd thread, don't need to leave low power again */
-/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
+ /* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
if (pBtCoexist->boardInfo.btdmAntNum == 2)
EXhalbtc8723b2ant_ConnectNotify(pBtCoexist, assoType);
else if (pBtCoexist->boardInfo.btdmAntNum == 1)
EXhalbtc8723b1ant_ConnectNotify(pBtCoexist, assoType);
-/* halbtcoutsrc_NormalLowPower(pBtCoexist); */
+ /* halbtcoutsrc_NormalLowPower(pBtCoexist); */
}
-void EXhalbtcoutsrc_MediaStatusNotify(struct btc_coexist *pBtCoexist, enum
- rt_media_status mediaStatus)
+void EXhalbtcoutsrc_MediaStatusNotify(struct btc_coexist *pBtCoexist,
+ enum rt_media_status mediaStatus)
{
u8 mStatus;
@@ -980,17 +994,18 @@ void EXhalbtcoutsrc_MediaStatusNotify(struct btc_coexist *pBtCoexist, enum
mStatus = BTC_MEDIA_DISCONNECT;
/* All notify is called in cmd thread, don't need to leave low power again */
-/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
+ /* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
if (pBtCoexist->boardInfo.btdmAntNum == 2)
EXhalbtc8723b2ant_MediaStatusNotify(pBtCoexist, mStatus);
else if (pBtCoexist->boardInfo.btdmAntNum == 1)
EXhalbtc8723b1ant_MediaStatusNotify(pBtCoexist, mStatus);
-/* halbtcoutsrc_NormalLowPower(pBtCoexist); */
+ /* halbtcoutsrc_NormalLowPower(pBtCoexist); */
}
-void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 pktType)
+void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist,
+ u8 pktType)
{
u8 packetType;
@@ -1011,17 +1026,18 @@ void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 pktTy
}
/* All notify is called in cmd thread, don't need to leave low power again */
-/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
+ /* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
if (pBtCoexist->boardInfo.btdmAntNum == 2)
EXhalbtc8723b2ant_SpecialPacketNotify(pBtCoexist, packetType);
else if (pBtCoexist->boardInfo.btdmAntNum == 1)
EXhalbtc8723b1ant_SpecialPacketNotify(pBtCoexist, packetType);
-/* halbtcoutsrc_NormalLowPower(pBtCoexist); */
+ /* halbtcoutsrc_NormalLowPower(pBtCoexist); */
}
-void EXhalbtcoutsrc_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length)
+void EXhalbtcoutsrc_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf,
+ u8 length)
{
if (!halbtcoutsrc_IsBtCoexistAvailable(pBtCoexist))
return;
@@ -1029,14 +1045,14 @@ void EXhalbtcoutsrc_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8
pBtCoexist->statistics.cntBtInfoNotify++;
/* All notify is called in cmd thread, don't need to leave low power again */
-/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
+ /* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
if (pBtCoexist->boardInfo.btdmAntNum == 2)
EXhalbtc8723b2ant_BtInfoNotify(pBtCoexist, tmpBuf, length);
else if (pBtCoexist->boardInfo.btdmAntNum == 1)
EXhalbtc8723b1ant_BtInfoNotify(pBtCoexist, tmpBuf, length);
-/* halbtcoutsrc_NormalLowPower(pBtCoexist); */
+ /* halbtcoutsrc_NormalLowPower(pBtCoexist); */
}
void EXhalbtcoutsrc_HaltNotify(struct btc_coexist *pBtCoexist)
@@ -1076,14 +1092,14 @@ void EXhalbtcoutsrc_Periodical(struct btc_coexist *pBtCoexist)
/* Periodical should be called in cmd thread, */
/* don't need to leave low power again */
-/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
+ /* halbtcoutsrc_LeaveLowPower(pBtCoexist); */
if (pBtCoexist->boardInfo.btdmAntNum == 2)
EXhalbtc8723b2ant_Periodical(pBtCoexist);
else if (pBtCoexist->boardInfo.btdmAntNum == 1)
EXhalbtc8723b1ant_Periodical(pBtCoexist);
-/* halbtcoutsrc_NormalLowPower(pBtCoexist); */
+ /* halbtcoutsrc_NormalLowPower(pBtCoexist); */
}
void EXhalbtcoutsrc_SetAntNum(u8 type, u8 antNum)
diff --git a/drivers/staging/rtl8723bs/hal/hal_com.c b/drivers/staging/rtl8723bs/hal/hal_com.c
index 634af4657eeeb..775e0623d4060 100644
--- a/drivers/staging/rtl8723bs/hal/hal_com.c
+++ b/drivers/staging/rtl8723bs/hal/hal_com.c
@@ -30,7 +30,7 @@ void rtw_hal_data_deinit(struct adapter *padapter)
}
}
-#define EEPROM_CHANNEL_PLAN_BY_HW_MASK 0x80
+#define EEPROM_CHANNEL_PLAN_BY_HW_MASK 0x80
/*
* Description:
@@ -50,13 +50,9 @@ void rtw_hal_data_deinit(struct adapter *padapter)
*Final channel plan decision
*
*/
-u8 hal_com_config_channel_plan(
- struct adapter *padapter,
- u8 hw_channel_plan,
- u8 sw_channel_plan,
- u8 def_channel_plan,
- bool auto_load_fail
-)
+u8 hal_com_config_channel_plan(struct adapter *padapter, u8 hw_channel_plan,
+ u8 sw_channel_plan, u8 def_channel_plan,
+ bool auto_load_fail)
{
struct hal_com_data *pHalData;
u8 chnlPlan;
@@ -71,7 +67,8 @@ u8 hal_com_config_channel_plan(
if (!auto_load_fail) {
u8 hw_chnlPlan;
- hw_chnlPlan = hw_channel_plan & (~EEPROM_CHANNEL_PLAN_BY_HW_MASK);
+ hw_chnlPlan = hw_channel_plan &
+ (~EEPROM_CHANNEL_PLAN_BY_HW_MASK);
if (rtw_is_channel_plan_valid(hw_chnlPlan)) {
if (hw_channel_plan & EEPROM_CHANNEL_PLAN_BY_HW_MASK)
pHalData->bDisableSWChannelPlan = true;
@@ -80,10 +77,8 @@ u8 hal_com_config_channel_plan(
}
}
- if (
- (false == pHalData->bDisableSWChannelPlan) &&
- rtw_is_channel_plan_valid(sw_channel_plan)
- )
+ if ((false == pHalData->bDisableSWChannelPlan) &&
+ rtw_is_channel_plan_valid(sw_channel_plan))
chnlPlan = sw_channel_plan;
return chnlPlan;
@@ -302,15 +297,15 @@ static void _OneOutPipeMapping(struct adapter *padapter)
{
struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);
- pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[0];/* VO */
- pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[0];/* VI */
- pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[0];/* BE */
- pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[0];/* BK */
+ pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[0]; /* VO */
+ pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[0]; /* VI */
+ pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[0]; /* BE */
+ pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[0]; /* BK */
- pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0];/* BCN */
- pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0];/* MGT */
- pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0];/* HIGH */
- pdvobjpriv->Queue2Pipe[7] = pdvobjpriv->RtOutPipe[0];/* TXCMD */
+ pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0]; /* BCN */
+ pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0]; /* MGT */
+ pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0]; /* HIGH */
+ pdvobjpriv->Queue2Pipe[7] = pdvobjpriv->RtOutPipe[0]; /* TXCMD */
}
static void _TwoOutPipeMapping(struct adapter *padapter, bool bWIFICfg)
@@ -323,15 +318,16 @@ static void _TwoOutPipeMapping(struct adapter *padapter, bool bWIFICfg)
/* 0, 1, 0, 1, 0, 0, 0, 0, 0 }; */
/* 0:ep_0 num, 1:ep_1 num */
- pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[1];/* VO */
- pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[0];/* VI */
- pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[1];/* BE */
- pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[0];/* BK */
+ pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[1]; /* VO */
+ pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[0]; /* VI */
+ pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[1]; /* BE */
+ pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[0]; /* BK */
- pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0];/* BCN */
- pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0];/* MGT */
- pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0];/* HIGH */
- pdvobjpriv->Queue2Pipe[7] = pdvobjpriv->RtOutPipe[0];/* TXCMD */
+ pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0]; /* BCN */
+ pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0]; /* MGT */
+ pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0]; /* HIGH */
+ pdvobjpriv->Queue2Pipe[7] =
+ pdvobjpriv->RtOutPipe[0]; /* TXCMD */
} else { /* typical setting */
@@ -339,18 +335,17 @@ static void _TwoOutPipeMapping(struct adapter *padapter, bool bWIFICfg)
/* 1, 1, 0, 0, 0, 0, 0, 0, 0 }; */
/* 0:ep_0 num, 1:ep_1 num */
- pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[0];/* VO */
- pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[0];/* VI */
- pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[1];/* BE */
- pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[1];/* BK */
-
- pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0];/* BCN */
- pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0];/* MGT */
- pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0];/* HIGH */
- pdvobjpriv->Queue2Pipe[7] = pdvobjpriv->RtOutPipe[0];/* TXCMD */
+ pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[0]; /* VO */
+ pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[0]; /* VI */
+ pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[1]; /* BE */
+ pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[1]; /* BK */
+ pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0]; /* BCN */
+ pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0]; /* MGT */
+ pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0]; /* HIGH */
+ pdvobjpriv->Queue2Pipe[7] =
+ pdvobjpriv->RtOutPipe[0]; /* TXCMD */
}
-
}
static void _ThreeOutPipeMapping(struct adapter *padapter, bool bWIFICfg)
@@ -363,15 +358,16 @@ static void _ThreeOutPipeMapping(struct adapter *padapter, bool bWIFICfg)
/* 1, 2, 1, 0, 0, 0, 0, 0, 0 }; */
/* 0:H, 1:N, 2:L */
- pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[0];/* VO */
- pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[1];/* VI */
- pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[2];/* BE */
- pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[1];/* BK */
+ pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[0]; /* VO */
+ pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[1]; /* VI */
+ pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[2]; /* BE */
+ pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[1]; /* BK */
- pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0];/* BCN */
- pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0];/* MGT */
- pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0];/* HIGH */
- pdvobjpriv->Queue2Pipe[7] = pdvobjpriv->RtOutPipe[0];/* TXCMD */
+ pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0]; /* BCN */
+ pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0]; /* MGT */
+ pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0]; /* HIGH */
+ pdvobjpriv->Queue2Pipe[7] =
+ pdvobjpriv->RtOutPipe[0]; /* TXCMD */
} else { /* typical setting */
@@ -379,17 +375,17 @@ static void _ThreeOutPipeMapping(struct adapter *padapter, bool bWIFICfg)
/* 2, 2, 1, 0, 0, 0, 0, 0, 0 }; */
/* 0:H, 1:N, 2:L */
- pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[0];/* VO */
- pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[1];/* VI */
- pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[2];/* BE */
- pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[2];/* BK */
+ pdvobjpriv->Queue2Pipe[0] = pdvobjpriv->RtOutPipe[0]; /* VO */
+ pdvobjpriv->Queue2Pipe[1] = pdvobjpriv->RtOutPipe[1]; /* VI */
+ pdvobjpriv->Queue2Pipe[2] = pdvobjpriv->RtOutPipe[2]; /* BE */
+ pdvobjpriv->Queue2Pipe[3] = pdvobjpriv->RtOutPipe[2]; /* BK */
- pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0];/* BCN */
- pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0];/* MGT */
- pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0];/* HIGH */
- pdvobjpriv->Queue2Pipe[7] = pdvobjpriv->RtOutPipe[0];/* TXCMD */
+ pdvobjpriv->Queue2Pipe[4] = pdvobjpriv->RtOutPipe[0]; /* BCN */
+ pdvobjpriv->Queue2Pipe[5] = pdvobjpriv->RtOutPipe[0]; /* MGT */
+ pdvobjpriv->Queue2Pipe[6] = pdvobjpriv->RtOutPipe[0]; /* HIGH */
+ pdvobjpriv->Queue2Pipe[7] =
+ pdvobjpriv->RtOutPipe[0]; /* TXCMD */
}
-
}
bool Hal_MappingOutPipe(struct adapter *padapter, u8 NumOutPipe)
@@ -417,12 +413,12 @@ bool Hal_MappingOutPipe(struct adapter *padapter, u8 NumOutPipe)
}
return result;
-
}
void hal_init_macaddr(struct adapter *adapter)
{
- rtw_hal_set_hwreg(adapter, HW_VAR_MAC_ADDR, adapter->eeprompriv.mac_addr);
+ rtw_hal_set_hwreg(adapter, HW_VAR_MAC_ADDR,
+ adapter->eeprompriv.mac_addr);
}
void rtw_init_hal_com_default_value(struct adapter *Adapter)
@@ -475,7 +471,8 @@ s32 c2h_evt_read_88xx(struct adapter *adapter, u8 *buf)
/* Read the content */
for (i = 0; i < c2h_evt->plen; i++)
- c2h_evt->payload[i] = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 2 + i);
+ c2h_evt->payload[i] =
+ rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 2 + i);
ret = _SUCCESS;
@@ -494,7 +491,8 @@ u8 rtw_get_mgntframe_raid(struct adapter *adapter, unsigned char network_type)
return (network_type & WIRELESS_11B) ? RATEID_IDX_B : RATEID_IDX_G;
}
-void rtw_hal_update_sta_rate_mask(struct adapter *padapter, struct sta_info *psta)
+void rtw_hal_update_sta_rate_mask(struct adapter *padapter,
+ struct sta_info *psta)
{
u8 i, limit;
u32 tx_ra_bitmap;
@@ -507,7 +505,8 @@ void rtw_hal_update_sta_rate_mask(struct adapter *padapter, struct sta_info *pst
/* b/g mode ra_bitmap */
for (i = 0; i < sizeof(psta->bssrateset); i++) {
if (psta->bssrateset[i])
- tx_ra_bitmap |= rtw_get_bit_value_from_ieee_value(psta->bssrateset[i]&0x7f);
+ tx_ra_bitmap |= rtw_get_bit_value_from_ieee_value(
+ psta->bssrateset[i] & 0x7f);
}
/* n mode ra_bitmap */
@@ -515,13 +514,13 @@ void rtw_hal_update_sta_rate_mask(struct adapter *padapter, struct sta_info *pst
limit = 8; /* 1R */
for (i = 0; i < limit; i++) {
- if (psta->htpriv.ht_cap.mcs.rx_mask[i/8] & BIT(i%8))
- tx_ra_bitmap |= BIT(i+12);
+ if (psta->htpriv.ht_cap.mcs.rx_mask[i / 8] & BIT(i % 8))
+ tx_ra_bitmap |= BIT(i + 12);
}
}
psta->ra_mask = tx_ra_bitmap;
- psta->init_rate = get_highest_rate_idx(tx_ra_bitmap)&0x3f;
+ psta->init_rate = get_highest_rate_idx(tx_ra_bitmap) & 0x3f;
}
void SetHwReg(struct adapter *adapter, u8 variable, u8 *val)
@@ -533,29 +532,28 @@ void SetHwReg(struct adapter *adapter, u8 variable, u8 *val)
case HW_VAR_INIT_RTS_RATE:
WARN_ON(1);
break;
- case HW_VAR_SEC_CFG:
- {
+ case HW_VAR_SEC_CFG: {
u16 reg_scr;
reg_scr = rtw_read16(adapter, REG_SECCFG);
- rtw_write16(adapter, REG_SECCFG, reg_scr|SCR_CHK_KEYID|SCR_RxDecEnable|SCR_TxEncEnable);
- }
- break;
- case HW_VAR_SEC_DK_CFG:
- {
+ rtw_write16(adapter, REG_SECCFG,
+ reg_scr | SCR_CHK_KEYID | SCR_RxDecEnable |
+ SCR_TxEncEnable);
+ } break;
+ case HW_VAR_SEC_DK_CFG: {
struct security_priv *sec = &adapter->securitypriv;
u8 reg_scr = rtw_read8(adapter, REG_SECCFG);
if (val) { /* Enable default key related setting */
reg_scr |= SCR_TXBCUSEDK;
if (sec->dot11AuthAlgrthm != dot11AuthAlgrthm_8021X)
- reg_scr |= (SCR_RxUseDK|SCR_TxUseDK);
+ reg_scr |= (SCR_RxUseDK | SCR_TxUseDK);
} else /* Disable default key related setting */
- reg_scr &= ~(SCR_RXBCUSEDK|SCR_TXBCUSEDK|SCR_RxUseDK|SCR_TxUseDK);
+ reg_scr &= ~(SCR_RXBCUSEDK | SCR_TXBCUSEDK |
+ SCR_RxUseDK | SCR_TxUseDK);
rtw_write8(adapter, REG_SECCFG, reg_scr);
- }
- break;
+ } break;
case HW_VAR_DM_FLAG:
odm->SupportAbility = *((u32 *)val);
break;
@@ -619,27 +617,26 @@ void GetHwReg(struct adapter *adapter, u8 variable, u8 *val)
}
}
-u8 GetHalDefVar(
- struct adapter *adapter, enum hal_def_variable variable, void *value
-)
+u8 GetHalDefVar(struct adapter *adapter, enum hal_def_variable variable,
+ void *value)
{
struct hal_com_data *hal_data = GET_HAL_DATA(adapter);
u8 bResult = _SUCCESS;
switch (variable) {
- case HAL_DEF_UNDERCORATEDSMOOTHEDPWDB:
- {
- struct mlme_priv *pmlmepriv;
- struct sta_priv *pstapriv;
- struct sta_info *psta;
-
- pmlmepriv = &adapter->mlmepriv;
- pstapriv = &adapter->stapriv;
- psta = rtw_get_stainfo(pstapriv, pmlmepriv->cur_network.network.mac_address);
- if (psta)
- *((int *)value) = psta->rssi_stat.UndecoratedSmoothedPWDB;
- }
- break;
+ case HAL_DEF_UNDERCORATEDSMOOTHEDPWDB: {
+ struct mlme_priv *pmlmepriv;
+ struct sta_priv *pstapriv;
+ struct sta_info *psta;
+
+ pmlmepriv = &adapter->mlmepriv;
+ pstapriv = &adapter->stapriv;
+ psta = rtw_get_stainfo(
+ pstapriv, pmlmepriv->cur_network.network.mac_address);
+ if (psta)
+ *((int *)value) =
+ psta->rssi_stat.UndecoratedSmoothedPWDB;
+ } break;
case HAL_DEF_DBG_DM_FUNC:
*((u32 *)value) = hal_data->odmpriv.SupportAbility;
break;
@@ -669,36 +666,34 @@ u8 GetHalDefVar(
return bResult;
}
-void SetHalODMVar(
- struct adapter *Adapter,
- enum hal_odm_variable eVariable,
- void *pValue1,
- bool bSet
-)
+void SetHalODMVar(struct adapter *Adapter, enum hal_odm_variable eVariable,
+ void *pValue1, bool bSet)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
struct dm_odm_t *podmpriv = &pHalData->odmpriv;
/* _irqL irqL; */
switch (eVariable) {
- case HAL_ODM_STA_INFO:
- {
- struct sta_info *psta = pValue1;
-
- if (bSet) {
- ODM_CmnInfoPtrArrayHook(podmpriv, ODM_CMNINFO_STA_STATUS, psta->mac_id, psta);
- } else {
- /* spin_lock_bh(&pHalData->odm_stainfo_lock); */
- ODM_CmnInfoPtrArrayHook(podmpriv, ODM_CMNINFO_STA_STATUS, psta->mac_id, NULL);
-
- /* spin_unlock_bh(&pHalData->odm_stainfo_lock); */
- }
+ case HAL_ODM_STA_INFO: {
+ struct sta_info *psta = pValue1;
+
+ if (bSet) {
+ ODM_CmnInfoPtrArrayHook(podmpriv,
+ ODM_CMNINFO_STA_STATUS,
+ psta->mac_id, psta);
+ } else {
+ /* spin_lock_bh(&pHalData->odm_stainfo_lock); */
+ ODM_CmnInfoPtrArrayHook(podmpriv,
+ ODM_CMNINFO_STA_STATUS,
+ psta->mac_id, NULL);
+
+ /* spin_unlock_bh(&pHalData->odm_stainfo_lock); */
}
- break;
+ } break;
case HAL_ODM_P2P_STATE:
- ODM_CmnInfoUpdate(podmpriv, ODM_CMNINFO_WIFI_DIRECT, bSet);
+ ODM_CmnInfoUpdate(podmpriv, ODM_CMNINFO_WIFI_DIRECT, bSet);
break;
case HAL_ODM_WIFI_DISPLAY_STATE:
- ODM_CmnInfoUpdate(podmpriv, ODM_CMNINFO_WIFI_DISPLAY, bSet);
+ ODM_CmnInfoUpdate(podmpriv, ODM_CMNINFO_WIFI_DISPLAY, bSet);
break;
default:
@@ -727,23 +722,16 @@ bool GetU1ByteIntegerFromStringInDecimal(char *Str, u8 *pInt)
void rtw_hal_check_rxfifo_full(struct adapter *adapter)
{
/* switch counter to RX fifo */
- rtw_write8(adapter, REG_RXERR_RPT+3, rtw_read8(adapter, REG_RXERR_RPT+3)|0xf0);
+ rtw_write8(adapter, REG_RXERR_RPT + 3,
+ rtw_read8(adapter, REG_RXERR_RPT + 3) | 0xf0);
}
static u32 Array_kfreemap[] = {
- 0xf8, 0xe,
- 0xf6, 0xc,
- 0xf4, 0xa,
- 0xf2, 0x8,
- 0xf0, 0x6,
- 0xf3, 0x4,
- 0xf5, 0x2,
- 0xf7, 0x0,
- 0xf9, 0x0,
- 0xfc, 0x0,
+ 0xf8, 0xe, 0xf6, 0xc, 0xf4, 0xa, 0xf2, 0x8, 0xf0, 0x6,
+ 0xf3, 0x4, 0xf5, 0x2, 0xf7, 0x0, 0xf9, 0x0, 0xfc, 0x0,
};
-#define REG_RF_BB_GAIN_OFFSET 0x7f
+#define REG_RF_BB_GAIN_OFFSET 0x7f
//#define RF_GAIN_OFFSET_MASK 0xfffff
void rtw_bb_rf_gain_offset(struct adapter *padapter)
@@ -755,19 +743,24 @@ void rtw_bb_rf_gain_offset(struct adapter *padapter)
if (value & BIT(4)) {
if (padapter->eeprompriv.EEPROMRFGainVal != 0xff) {
- rtw_hal_read_rfreg(padapter, RF_PATH_A, 0x7f, 0xffffffff);
+ rtw_hal_read_rfreg(padapter, RF_PATH_A, 0x7f,
+ 0xffffffff);
for (i = 0; i < ARRAY_SIZE(Array_kfreemap); i += 2) {
v1 = Array[i];
- v2 = Array[i+1];
- if (v1 == padapter->eeprompriv.EEPROMRFGainVal) {
+ v2 = Array[i + 1];
+ if (v1 ==
+ padapter->eeprompriv.EEPROMRFGainVal) {
target = v2;
break;
}
}
- PHY_SetRFReg(padapter, RF_PATH_A, REG_RF_BB_GAIN_OFFSET, BIT(18)|BIT(17)|BIT(16)|BIT(15), target);
+ PHY_SetRFReg(padapter, RF_PATH_A, REG_RF_BB_GAIN_OFFSET,
+ BIT(18) | BIT(17) | BIT(16) | BIT(15),
+ target);
- rtw_hal_read_rfreg(padapter, RF_PATH_A, 0x7f, 0xffffffff);
+ rtw_hal_read_rfreg(padapter, RF_PATH_A, 0x7f,
+ 0xffffffff);
}
}
}
diff --git a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
index b16456d5b6bba..8f5cc2816f734 100644
--- a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
+++ b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c
@@ -13,8 +13,8 @@
u8 PHY_GetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath,
enum rate_section RateSection)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
- u8 value = 0;
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ u8 value = 0;
if (RfPath >= RF_PATH_MAX)
return 0;
@@ -36,11 +36,10 @@ u8 PHY_GetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath,
return value;
}
-static void
-phy_SetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath,
- enum rate_section RateSection, u8 Value)
+static void phy_SetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath,
+ enum rate_section RateSection, u8 Value)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
if (RfPath >= RF_PATH_MAX)
return;
@@ -76,13 +75,12 @@ static void phy_StoreTxPowerByRateBase(struct adapter *padapter)
}
}
-u8 PHY_GetRateSectionIndexOfTxPowerByRate(
- struct adapter *padapter, u32 RegAddr, u32 BitMask
-)
+u8 PHY_GetRateSectionIndexOfTxPowerByRate(struct adapter *padapter, u32 RegAddr,
+ u32 BitMask)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
- u8 index = 0;
+ u8 index = 0;
if (pDM_Odm->PhyRegPgVersion == 0) {
switch (RegAddr) {
@@ -131,16 +129,9 @@ u8 PHY_GetRateSectionIndexOfTxPowerByRate(
return index;
}
-void
-PHY_GetRateValuesOfTxPowerByRate(
- struct adapter *padapter,
- u32 RegAddr,
- u32 BitMask,
- u32 Value,
- u8 *RateIndex,
- s8 *PwrByRateVal,
- u8 *RateNum
-)
+void PHY_GetRateValuesOfTxPowerByRate(struct adapter *padapter, u32 RegAddr,
+ u32 BitMask, u32 Value, u8 *RateIndex,
+ s8 *PwrByRateVal, u8 *RateNum)
{
u8 i = 0;
@@ -152,8 +143,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_12M);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_18M);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
@@ -165,32 +157,37 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_48M);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_54M);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
case rTxAGC_A_CCK1_Mcs32:
RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_1M);
- PwrByRateVal[0] = (s8) ((((Value >> (8 + 4)) & 0xF)) * 10 +
- ((Value >> 8) & 0xF));
+ PwrByRateVal[0] = (s8)((((Value >> (8 + 4)) & 0xF)) * 10 +
+ ((Value >> 8) & 0xF));
*RateNum = 1;
break;
case rTxAGC_B_CCK11_A_CCK2_11:
if (BitMask == 0xffffff00) {
RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_2M);
- RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_5_5M);
+ RateIndex[1] =
+ PHY_GetRateIndexOfTxPowerByRate(MGN_5_5M);
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_11M);
for (i = 1; i < 4; ++i) {
- PwrByRateVal[i - 1] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i - 1] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) *
+ 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 3;
} else if (BitMask == 0x000000ff) {
RateIndex[0] = PHY_GetRateIndexOfTxPowerByRate(MGN_11M);
- PwrByRateVal[0] = (s8) ((((Value >> 4) & 0xF)) * 10 + (Value & 0xF));
+ PwrByRateVal[0] = (s8)((((Value >> 4) & 0xF)) * 10 +
+ (Value & 0xF));
*RateNum = 1;
}
break;
@@ -202,8 +199,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS2);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS3);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
@@ -215,8 +213,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS6);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS7);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
@@ -226,8 +225,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[1] = PHY_GetRateIndexOfTxPowerByRate(MGN_2M);
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_5_5M);
for (i = 1; i < 4; ++i) {
- PwrByRateVal[i - 1] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i - 1] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 3;
break;
@@ -241,8 +241,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_5_5M);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_11M);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
@@ -256,8 +257,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_12M);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_18M);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
@@ -271,8 +273,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_48M);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_54M);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
@@ -286,8 +289,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS2);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS3);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
@@ -301,8 +305,9 @@ PHY_GetRateValuesOfTxPowerByRate(
RateIndex[2] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS6);
RateIndex[3] = PHY_GetRateIndexOfTxPowerByRate(MGN_MCS7);
for (i = 0; i < 4; ++i) {
- PwrByRateVal[i] = (s8) ((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
- ((Value >> (i * 8)) & 0xF));
+ PwrByRateVal[i] =
+ (s8)((((Value >> (i * 8 + 4)) & 0xF)) * 10 +
+ ((Value >> (i * 8)) & 0xF));
}
*RateNum = 4;
break;
@@ -312,36 +317,39 @@ PHY_GetRateValuesOfTxPowerByRate(
}
}
-static void PHY_StoreTxPowerByRateNew(struct adapter *padapter, u32 RfPath,
+static void PHY_StoreTxPowerByRateNew(struct adapter *padapter, u32 RfPath,
u32 RegAddr, u32 BitMask, u32 Data)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
- u8 i = 0, rateIndex[4] = {0}, rateNum = 0;
- s8 PwrByRateVal[4] = {0};
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ u8 i = 0, rateIndex[4] = { 0 }, rateNum = 0;
+ s8 PwrByRateVal[4] = { 0 };
- PHY_GetRateValuesOfTxPowerByRate(padapter, RegAddr, BitMask, Data, rateIndex, PwrByRateVal, &rateNum);
+ PHY_GetRateValuesOfTxPowerByRate(padapter, RegAddr, BitMask, Data,
+ rateIndex, PwrByRateVal, &rateNum);
if (RfPath >= RF_PATH_MAX)
return;
for (i = 0; i < rateNum; ++i) {
- pHalData->TxPwrByRateOffset[RfPath][rateIndex[i]] = PwrByRateVal[i];
+ pHalData->TxPwrByRateOffset[RfPath][rateIndex[i]] =
+ PwrByRateVal[i];
}
}
-static void PHY_StoreTxPowerByRateOld(
- struct adapter *padapter, u32 RegAddr, u32 BitMask, u32 Data
-)
+static void PHY_StoreTxPowerByRateOld(struct adapter *padapter, u32 RegAddr,
+ u32 BitMask, u32 Data)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
- u8 index = PHY_GetRateSectionIndexOfTxPowerByRate(padapter, RegAddr, BitMask);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ u8 index = PHY_GetRateSectionIndexOfTxPowerByRate(padapter, RegAddr,
+ BitMask);
- pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][index] = Data;
+ pHalData->MCSTxPowerLevelOriginalOffset[pHalData->pwrGroupCnt][index] =
+ Data;
}
void PHY_InitTxPowerByRate(struct adapter *padapter)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
u8 rfPath, rate;
for (rfPath = RF_PATH_A; rfPath < MAX_RF_PATH_NUM; ++rfPath)
@@ -349,59 +357,55 @@ void PHY_InitTxPowerByRate(struct adapter *padapter)
pHalData->TxPwrByRateOffset[rfPath][rate] = 0;
}
-void PHY_StoreTxPowerByRate(
- struct adapter *padapter,
- u32 RfPath,
- u32 RegAddr,
- u32 BitMask,
- u32 Data
-)
+void PHY_StoreTxPowerByRate(struct adapter *padapter, u32 RfPath, u32 RegAddr,
+ u32 BitMask, u32 Data)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
if (pDM_Odm->PhyRegPgVersion > 0)
- PHY_StoreTxPowerByRateNew(padapter, RfPath, RegAddr, BitMask, Data);
+ PHY_StoreTxPowerByRateNew(padapter, RfPath, RegAddr, BitMask,
+ Data);
else if (pDM_Odm->PhyRegPgVersion == 0) {
PHY_StoreTxPowerByRateOld(padapter, RegAddr, BitMask, Data);
}
}
static void
-phy_ConvertTxPowerByRateInDbmToRelativeValues(
-struct adapter *padapter
- )
+phy_ConvertTxPowerByRateInDbmToRelativeValues(struct adapter *padapter)
{
- u8 base = 0, i = 0, value = 0, path = 0;
- u8 cckRates[4] = {
- MGN_1M, MGN_2M, MGN_5_5M, MGN_11M
- };
- u8 ofdmRates[8] = {
- MGN_6M, MGN_9M, MGN_12M, MGN_18M, MGN_24M, MGN_36M, MGN_48M, MGN_54M
- };
- u8 mcs0_7Rates[8] = {
- MGN_MCS0, MGN_MCS1, MGN_MCS2, MGN_MCS3, MGN_MCS4, MGN_MCS5, MGN_MCS6, MGN_MCS7
- };
+ u8 base = 0, i = 0, value = 0, path = 0;
+ u8 cckRates[4] = { MGN_1M, MGN_2M, MGN_5_5M, MGN_11M };
+ u8 ofdmRates[8] = { MGN_6M, MGN_9M, MGN_12M, MGN_18M,
+ MGN_24M, MGN_36M, MGN_48M, MGN_54M };
+ u8 mcs0_7Rates[8] = { MGN_MCS0, MGN_MCS1, MGN_MCS2, MGN_MCS3,
+ MGN_MCS4, MGN_MCS5, MGN_MCS6, MGN_MCS7 };
for (path = RF_PATH_A; path < RF_PATH_MAX; ++path) {
/* CCK */
base = PHY_GetTxPowerByRate(padapter, path, MGN_11M);
for (i = 0; i < ARRAY_SIZE(cckRates); ++i) {
- value = PHY_GetTxPowerByRate(padapter, path, cckRates[i]);
- PHY_SetTxPowerByRate(padapter, path, cckRates[i], value - base);
+ value = PHY_GetTxPowerByRate(padapter, path,
+ cckRates[i]);
+ PHY_SetTxPowerByRate(padapter, path, cckRates[i],
+ value - base);
}
/* OFDM */
base = PHY_GetTxPowerByRate(padapter, path, MGN_54M);
for (i = 0; i < sizeof(ofdmRates); ++i) {
- value = PHY_GetTxPowerByRate(padapter, path, ofdmRates[i]);
- PHY_SetTxPowerByRate(padapter, path, ofdmRates[i], value - base);
+ value = PHY_GetTxPowerByRate(padapter, path,
+ ofdmRates[i]);
+ PHY_SetTxPowerByRate(padapter, path, ofdmRates[i],
+ value - base);
}
/* HT MCS0~7 */
base = PHY_GetTxPowerByRate(padapter, path, MGN_MCS7);
for (i = 0; i < sizeof(mcs0_7Rates); ++i) {
- value = PHY_GetTxPowerByRate(padapter, path, mcs0_7Rates[i]);
- PHY_SetTxPowerByRate(padapter, path, mcs0_7Rates[i], value - base);
+ value = PHY_GetTxPowerByRate(padapter, path,
+ mcs0_7Rates[i]);
+ PHY_SetTxPowerByRate(padapter, path, mcs0_7Rates[i],
+ value - base);
}
}
}
@@ -416,22 +420,22 @@ void PHY_TxPowerByRateConfiguration(struct adapter *padapter)
phy_ConvertTxPowerByRateInDbmToRelativeValues(padapter);
}
-void PHY_SetTxPowerIndexByRateSection(
- struct adapter *padapter, u8 RFPath, u8 Channel, u8 RateSection
-)
+void PHY_SetTxPowerIndexByRateSection(struct adapter *padapter, u8 RFPath,
+ u8 Channel, u8 RateSection)
{
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
if (RateSection == CCK) {
- u8 cckRates[] = {MGN_1M, MGN_2M, MGN_5_5M, MGN_11M};
+ u8 cckRates[] = { MGN_1M, MGN_2M, MGN_5_5M, MGN_11M };
PHY_SetTxPowerIndexByRateArray(padapter, RFPath,
- pHalData->CurrentChannelBW,
- Channel, cckRates,
- ARRAY_SIZE(cckRates));
+ pHalData->CurrentChannelBW,
+ Channel, cckRates,
+ ARRAY_SIZE(cckRates));
} else if (RateSection == OFDM) {
- u8 ofdmRates[] = {MGN_6M, MGN_9M, MGN_12M, MGN_18M, MGN_24M, MGN_36M, MGN_48M, MGN_54M};
+ u8 ofdmRates[] = { MGN_6M, MGN_9M, MGN_12M, MGN_18M,
+ MGN_24M, MGN_36M, MGN_48M, MGN_54M };
PHY_SetTxPowerIndexByRateArray(padapter, RFPath,
pHalData->CurrentChannelBW,
@@ -439,27 +443,22 @@ void PHY_SetTxPowerIndexByRateSection(
ARRAY_SIZE(ofdmRates));
} else if (RateSection == HT_MCS0_MCS7) {
- u8 htRates1T[] = {MGN_MCS0, MGN_MCS1, MGN_MCS2, MGN_MCS3, MGN_MCS4, MGN_MCS5, MGN_MCS6, MGN_MCS7};
+ u8 htRates1T[] = { MGN_MCS0, MGN_MCS1, MGN_MCS2, MGN_MCS3,
+ MGN_MCS4, MGN_MCS5, MGN_MCS6, MGN_MCS7 };
PHY_SetTxPowerIndexByRateArray(padapter, RFPath,
pHalData->CurrentChannelBW,
Channel, htRates1T,
ARRAY_SIZE(htRates1T));
-
}
}
-u8 PHY_GetTxPowerIndexBase(
- struct adapter *padapter,
- u8 RFPath,
- u8 Rate,
- enum channel_width BandWidth,
- u8 Channel
-)
+u8 PHY_GetTxPowerIndexBase(struct adapter *padapter, u8 RFPath, u8 Rate,
+ enum channel_width BandWidth, u8 Channel)
{
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
u8 txPower = 0;
- u8 chnlIdx = (Channel-1);
+ u8 chnlIdx = (Channel - 1);
if (!HAL_IsLegalChannel(padapter, Channel))
chnlIdx = 0;
@@ -492,7 +491,8 @@ s8 PHY_GetTxPowerTrackingOffset(struct adapter *padapter, u8 RFPath, u8 Rate)
if (!pDM_Odm->RFCalibrateInfo.TxPowerTrackControl)
return offset;
- if ((Rate == MGN_1M) || (Rate == MGN_2M) || (Rate == MGN_5_5M) || (Rate == MGN_11M))
+ if ((Rate == MGN_1M) || (Rate == MGN_2M) || (Rate == MGN_5_5M) ||
+ (Rate == MGN_11M))
offset = pDM_Odm->Remnant_CCKSwingIdx;
else
offset = pDM_Odm->Remnant_OFDMSwingIdx[RFPath];
@@ -573,13 +573,13 @@ u8 PHY_GetRateIndexOfTxPowerByRate(u8 Rate)
s8 PHY_GetTxPowerByRate(struct adapter *padapter, u8 RFPath, u8 Rate)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
s8 value = 0;
u8 rateIndex = PHY_GetRateIndexOfTxPowerByRate(Rate);
if ((padapter->registrypriv.reg_enable_tx_power_by_rate == 2 &&
pHalData->EEPROMRegulatory == 2) ||
- padapter->registrypriv.reg_enable_tx_power_by_rate == 0)
+ padapter->registrypriv.reg_enable_tx_power_by_rate == 0)
return 0;
if (RFPath >= RF_PATH_MAX)
@@ -589,17 +589,12 @@ s8 PHY_GetTxPowerByRate(struct adapter *padapter, u8 RFPath, u8 Rate)
return value;
return pHalData->TxPwrByRateOffset[RFPath][rateIndex];
-
}
-void PHY_SetTxPowerByRate(
- struct adapter *padapter,
- u8 RFPath,
- u8 Rate,
- s8 Value
-)
+void PHY_SetTxPowerByRate(struct adapter *padapter, u8 RFPath, u8 Rate,
+ s8 Value)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
u8 rateIndex = PHY_GetRateIndexOfTxPowerByRate(Rate);
if (RFPath >= RF_PATH_MAX)
@@ -619,27 +614,23 @@ void PHY_SetTxPowerLevelByPath(struct adapter *Adapter, u8 channel, u8 path)
PHY_SetTxPowerIndexByRateSection(Adapter, path, channel, HT_MCS0_MCS7);
}
-void PHY_SetTxPowerIndexByRateArray(
- struct adapter *padapter,
- u8 RFPath,
- enum channel_width BandWidth,
- u8 Channel,
- u8 *Rates,
- u8 RateArraySize
-)
+void PHY_SetTxPowerIndexByRateArray(struct adapter *padapter, u8 RFPath,
+ enum channel_width BandWidth, u8 Channel,
+ u8 *Rates, u8 RateArraySize)
{
u32 powerIndex = 0;
- int i = 0;
+ int i = 0;
for (i = 0; i < RateArraySize; ++i) {
- powerIndex = PHY_GetTxPowerIndex(padapter, RFPath, Rates[i], BandWidth, Channel);
+ powerIndex = PHY_GetTxPowerIndex(padapter, RFPath, Rates[i],
+ BandWidth, Channel);
PHY_SetTxPowerIndex(padapter, powerIndex, RFPath, Rates[i]);
}
}
static s8 phy_GetWorldWideLimit(s8 *LimitTable)
{
- s8 min = LimitTable[0];
+ s8 min = LimitTable[0];
u8 i = 0;
for (i = 0; i < MAX_REGULATION_NUM; ++i) {
@@ -670,13 +661,28 @@ static s16 get_bandwidth_idx(const enum channel_width bandwidth)
static s16 get_rate_sctn_idx(const u8 rate)
{
switch (rate) {
- case MGN_1M: case MGN_2M: case MGN_5_5M: case MGN_11M:
+ case MGN_1M:
+ case MGN_2M:
+ case MGN_5_5M:
+ case MGN_11M:
return 0;
- case MGN_6M: case MGN_9M: case MGN_12M: case MGN_18M:
- case MGN_24M: case MGN_36M: case MGN_48M: case MGN_54M:
+ case MGN_6M:
+ case MGN_9M:
+ case MGN_12M:
+ case MGN_18M:
+ case MGN_24M:
+ case MGN_36M:
+ case MGN_48M:
+ case MGN_54M:
return 1;
- case MGN_MCS0: case MGN_MCS1: case MGN_MCS2: case MGN_MCS3:
- case MGN_MCS4: case MGN_MCS5: case MGN_MCS6: case MGN_MCS7:
+ case MGN_MCS0:
+ case MGN_MCS1:
+ case MGN_MCS2:
+ case MGN_MCS3:
+ case MGN_MCS4:
+ case MGN_MCS5:
+ case MGN_MCS6:
+ case MGN_MCS7:
return 2;
default:
return -1;
@@ -684,16 +690,17 @@ static s16 get_rate_sctn_idx(const u8 rate)
}
s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 reg_pwr_tbl_sel,
- enum channel_width bandwidth,
- u8 rf_path, u8 data_rate, u8 channel)
+ enum channel_width bandwidth, u8 rf_path, u8 data_rate,
+ u8 channel)
{
s16 idx_regulation = -1;
- s16 idx_bandwidth = -1;
- s16 idx_rate_sctn = -1;
- s16 idx_channel = -1;
+ s16 idx_bandwidth = -1;
+ s16 idx_rate_sctn = -1;
+ s16 idx_channel = -1;
s8 pwr_lmt = MAX_POWER_INDEX;
struct hal_com_data *hal_data = GET_HAL_DATA(adapter);
- s8 limits[10] = {0}; u8 i = 0;
+ s8 limits[10] = { 0 };
+ u8 i = 0;
if (((adapter->registrypriv.reg_enable_tx_power_limit == 2) &&
(hal_data->EEPROMRegulatory != 1)) ||
@@ -735,26 +742,23 @@ s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 reg_pwr_tbl_sel,
return MAX_POWER_INDEX;
for (i = 0; i < MAX_REGULATION_NUM; i++)
- limits[i] = hal_data->TxPwrLimit_2_4G[i]
- [idx_bandwidth]
+ limits[i] = hal_data->TxPwrLimit_2_4G[i][idx_bandwidth]
[idx_rate_sctn]
- [idx_channel]
- [rf_path];
+ [idx_channel][rf_path];
- pwr_lmt = (idx_regulation == TXPWR_LMT_WW) ?
- phy_GetWorldWideLimit(limits) :
- hal_data->TxPwrLimit_2_4G[idx_regulation]
- [idx_bandwidth]
- [idx_rate_sctn]
- [idx_channel]
- [rf_path];
+ pwr_lmt =
+ (idx_regulation == TXPWR_LMT_WW) ?
+ phy_GetWorldWideLimit(limits) :
+ hal_data->TxPwrLimit_2_4G[idx_regulation][idx_bandwidth]
+ [idx_rate_sctn][idx_channel]
+ [rf_path];
return pwr_lmt;
}
void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
struct registry_priv *r = &Adapter->registrypriv;
u8 BW40PwrBasedBm2_4G = 0x2E;
u8 regulation, bw, channel, rateSection;
@@ -763,24 +767,57 @@ void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter)
for (regulation = 0; regulation < MAX_REGULATION_NUM; ++regulation) {
for (bw = 0; bw < MAX_2_4G_BANDWIDTH_NUM; ++bw) {
- for (channel = 0; channel < CHANNEL_MAX_NUMBER_2G; ++channel) {
- for (rateSection = 0; rateSection < MAX_RATE_SECTION_NUM; ++rateSection) {
- tempPwrLmt = pHalData->TxPwrLimit_2_4G[regulation][bw][rateSection][channel][RF_PATH_A];
-
- for (rfPath = RF_PATH_A; rfPath < MAX_RF_PATH_NUM; ++rfPath) {
- if (pHalData->odmpriv.PhyRegPgValueType == PHY_REG_PG_EXACT_VALUE) {
- if (rateSection == 2) /* HT 1T */
- BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, HT_MCS0_MCS7);
- else if (rateSection == 1) /* OFDM */
- BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, OFDM);
- else if (rateSection == 0) /* CCK */
- BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(Adapter, rfPath, CCK);
+ for (channel = 0; channel < CHANNEL_MAX_NUMBER_2G;
+ ++channel) {
+ for (rateSection = 0;
+ rateSection < MAX_RATE_SECTION_NUM;
+ ++rateSection) {
+ tempPwrLmt =
+ pHalData->TxPwrLimit_2_4G
+ [regulation][bw]
+ [rateSection][channel]
+ [RF_PATH_A];
+
+ for (rfPath = RF_PATH_A;
+ rfPath < MAX_RF_PATH_NUM;
+ ++rfPath) {
+ if (pHalData->odmpriv
+ .PhyRegPgValueType ==
+ PHY_REG_PG_EXACT_VALUE) {
+ if (rateSection ==
+ 2) /* HT 1T */
+ BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(
+ Adapter,
+ rfPath,
+ HT_MCS0_MCS7);
+ else if (rateSection ==
+ 1) /* OFDM */
+ BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(
+ Adapter,
+ rfPath,
+ OFDM);
+ else if (rateSection ==
+ 0) /* CCK */
+ BW40PwrBasedBm2_4G = PHY_GetTxPowerByRateBase(
+ Adapter,
+ rfPath,
+ CCK);
} else
- BW40PwrBasedBm2_4G = r->reg_power_base * 2;
-
- if (tempPwrLmt != MAX_POWER_INDEX) {
- tempValue = tempPwrLmt - BW40PwrBasedBm2_4G;
- pHalData->TxPwrLimit_2_4G[regulation][bw][rateSection][channel][rfPath] = tempValue;
+ BW40PwrBasedBm2_4G =
+ r->reg_power_base *
+ 2;
+
+ if (tempPwrLmt !=
+ MAX_POWER_INDEX) {
+ tempValue =
+ tempPwrLmt -
+ BW40PwrBasedBm2_4G;
+ pHalData->TxPwrLimit_2_4G
+ [regulation][bw]
+ [rateSection]
+ [channel]
+ [rfPath] =
+ tempValue;
}
}
}
@@ -791,7 +828,7 @@ void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter)
void PHY_InitTxPowerLimit(struct adapter *Adapter)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
u8 i, j, k, l, m;
for (i = 0; i < MAX_REGULATION_NUM; ++i) {
@@ -799,28 +836,26 @@ void PHY_InitTxPowerLimit(struct adapter *Adapter)
for (k = 0; k < MAX_RATE_SECTION_NUM; ++k)
for (m = 0; m < CHANNEL_MAX_NUMBER_2G; ++m)
for (l = 0; l < MAX_RF_PATH_NUM; ++l)
- pHalData->TxPwrLimit_2_4G[i][j][k][m][l] = MAX_POWER_INDEX;
+ pHalData->TxPwrLimit_2_4G[i][j]
+ [k][m]
+ [l] =
+ MAX_POWER_INDEX;
}
}
-void PHY_SetTxPowerLimit(
- struct adapter *Adapter,
- u8 *Regulation,
- u8 *Bandwidth,
- u8 *RateSection,
- u8 *RfPath,
- u8 *Channel,
- u8 *PowerLimit
-)
+void PHY_SetTxPowerLimit(struct adapter *Adapter, u8 *Regulation, u8 *Bandwidth,
+ u8 *RateSection, u8 *RfPath, u8 *Channel,
+ u8 *PowerLimit)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
u8 regulation = 0, bandwidth = 0, rateSection = 0, channel;
s8 powerLimit = 0, prevPowerLimit, channelIndex;
GetU1ByteIntegerFromStringInDecimal((s8 *)Channel, &channel);
GetU1ByteIntegerFromStringInDecimal((s8 *)PowerLimit, &powerLimit);
- powerLimit = powerLimit > MAX_POWER_INDEX ? MAX_POWER_INDEX : powerLimit;
+ powerLimit = powerLimit > MAX_POWER_INDEX ? MAX_POWER_INDEX :
+ powerLimit;
if (strcmp(Regulation, "FCC") == 0)
regulation = 0;
@@ -850,10 +885,13 @@ void PHY_SetTxPowerLimit(
if (channelIndex == -1)
return;
- prevPowerLimit = pHalData->TxPwrLimit_2_4G[regulation][bandwidth][rateSection][channelIndex][RF_PATH_A];
+ prevPowerLimit =
+ pHalData->TxPwrLimit_2_4G[regulation][bandwidth][rateSection]
+ [channelIndex][RF_PATH_A];
if (powerLimit < prevPowerLimit)
- pHalData->TxPwrLimit_2_4G[regulation][bandwidth][rateSection][channelIndex][RF_PATH_A] = powerLimit;
+ pHalData->TxPwrLimit_2_4G[regulation][bandwidth][rateSection]
+ [channelIndex][RF_PATH_A] = powerLimit;
}
void Hal_ChannelPlanToRegulation(struct adapter *Adapter, u16 ChannelPlan)
diff --git a/drivers/staging/rtl8723bs/hal/hal_intf.c b/drivers/staging/rtl8723bs/hal/hal_intf.c
index 9a3ebad35efc0..177a4d3c484b9 100644
--- a/drivers/staging/rtl8723bs/hal/hal_intf.c
+++ b/drivers/staging/rtl8723bs/hal/hal_intf.c
@@ -9,8 +9,9 @@
static void rtw_hal_init_opmode(struct adapter *padapter)
{
- enum ndis_802_11_network_infrastructure networkType = Ndis802_11InfrastructureMax;
- struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
+ enum ndis_802_11_network_infrastructure networkType =
+ Ndis802_11InfrastructureMax;
+ struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
signed int fw_state;
fw_state = get_fwstate(pmlmepriv);
@@ -79,17 +80,21 @@ void rtw_hal_get_hwreg(struct adapter *padapter, u8 variable, u8 *val)
GetHwReg8723BS(padapter, variable, val);
}
-void rtw_hal_set_hwreg_with_buf(struct adapter *padapter, u8 variable, u8 *pbuf, int len)
+void rtw_hal_set_hwreg_with_buf(struct adapter *padapter, u8 variable, u8 *pbuf,
+ int len)
{
SetHwRegWithBuf8723B(padapter, variable, pbuf, len);
}
-u8 rtw_hal_get_def_var(struct adapter *padapter, enum hal_def_variable eVariable, void *pValue)
+u8 rtw_hal_get_def_var(struct adapter *padapter,
+ enum hal_def_variable eVariable, void *pValue)
{
return GetHalDefVar8723BSDIO(padapter, eVariable, pValue);
}
-void rtw_hal_set_odm_var(struct adapter *padapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet)
+void rtw_hal_set_odm_var(struct adapter *padapter,
+ enum hal_odm_variable eVariable, void *pValue1,
+ bool bSet)
{
SetHalODMVar(padapter, eVariable, pValue1, bSet);
}
@@ -99,12 +104,13 @@ u8 rtw_hal_check_ips_status(struct adapter *padapter)
return CheckIPSStatus(padapter);
}
-int rtw_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe)
+int rtw_hal_xmitframe_enqueue(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
return rtl8723bs_hal_xmitframe_enqueue(padapter, pxmitframe);
}
-s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe)
+s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe)
{
if (rtl8723bs_hal_xmit(padapter, pxmitframe))
return _FAIL;
@@ -115,7 +121,7 @@ s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe)
/*
* [IMPORTANT] This function would be run in interrupt context.
*/
-s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe)
+s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe)
{
update_mgntframe_attrib_addr(padapter, pmgntframe);
/* pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET; */
@@ -130,13 +136,14 @@ s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe)
pmgntframe->attrib.encrypt = _AES_;
pmgntframe->attrib.bswenc = true;
}
- rtw_mgmt_xmitframe_coalesce(padapter, pmgntframe->pkt, pmgntframe);
+ rtw_mgmt_xmitframe_coalesce(padapter, pmgntframe->pkt,
+ pmgntframe);
}
return rtl8723bs_mgnt_xmit(padapter, pmgntframe);
}
-s32 rtw_hal_init_xmit_priv(struct adapter *padapter)
+s32 rtw_hal_init_xmit_priv(struct adapter *padapter)
{
return rtl8723bs_init_xmit_priv(padapter);
}
@@ -146,7 +153,7 @@ void rtw_hal_free_xmit_priv(struct adapter *padapter)
rtl8723bs_free_xmit_priv(padapter);
}
-s32 rtw_hal_init_recv_priv(struct adapter *padapter)
+s32 rtw_hal_init_recv_priv(struct adapter *padapter)
{
return rtl8723bs_init_recv_priv(padapter);
}
@@ -175,7 +182,8 @@ void rtw_hal_update_ra_mask(struct sta_info *psta, u8 rssi_level)
}
}
-void rtw_hal_add_ra_tid(struct adapter *padapter, u32 bitmap, u8 *arg, u8 rssi_level)
+void rtw_hal_add_ra_tid(struct adapter *padapter, u32 bitmap, u8 *arg,
+ u8 rssi_level)
{
rtl8723b_Add_RateATid(padapter, bitmap, arg, rssi_level);
}
@@ -184,16 +192,19 @@ u32 rtw_hal_read_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask)
{
return PHY_QueryBBReg_8723B(padapter, RegAddr, BitMask);
}
-void rtw_hal_write_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask, u32 Data)
+void rtw_hal_write_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask,
+ u32 Data)
{
PHY_SetBBReg_8723B(padapter, RegAddr, BitMask, Data);
}
-u32 rtw_hal_read_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr, u32 BitMask)
+u32 rtw_hal_read_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr,
+ u32 BitMask)
{
return PHY_QueryRFReg_8723B(padapter, eRFPath, RegAddr, BitMask);
}
-void rtw_hal_write_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr, u32 BitMask, u32 Data)
+void rtw_hal_write_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr,
+ u32 BitMask, u32 Data)
{
PHY_SetRFReg_8723B(padapter, eRFPath, RegAddr, BitMask, Data);
}
@@ -206,7 +217,8 @@ void rtw_hal_set_chan(struct adapter *padapter, u8 channel)
void rtw_hal_set_chnl_bw(struct adapter *padapter, u8 channel,
enum channel_width Bandwidth, u8 Offset40, u8 Offset80)
{
- PHY_SetSwChnlBWMode8723B(padapter, channel, Bandwidth, Offset40, Offset80);
+ PHY_SetSwChnlBWMode8723B(padapter, channel, Bandwidth, Offset40,
+ Offset80);
}
void rtw_hal_dm_watchdog(struct adapter *padapter)
@@ -217,7 +229,8 @@ void rtw_hal_dm_watchdog(struct adapter *padapter)
void rtw_hal_dm_watchdog_in_lps(struct adapter *padapter)
{
if (adapter_to_pwrctl(padapter)->fw_current_in_ps_mode) {
- rtl8723b_HalDmWatchDog_in_LPS(padapter); /* this function caller is in interrupt context */
+ rtl8723b_HalDmWatchDog_in_LPS(
+ padapter); /* this function caller is in interrupt context */
}
}
@@ -279,7 +292,8 @@ s32 rtw_hal_macid_wakeup(struct adapter *padapter, u32 macid)
return _SUCCESS;
}
-s32 rtw_hal_fill_h2c_cmd(struct adapter *padapter, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer)
+s32 rtw_hal_fill_h2c_cmd(struct adapter *padapter, u8 ElementID, u32 CmdLen,
+ u8 *pCmdBuffer)
{
return FillH2CCmd8723B(padapter, ElementID, CmdLen, pCmdBuffer);
}
diff --git a/drivers/staging/rtl8723bs/hal/hal_pwr_seq.c b/drivers/staging/rtl8723bs/hal/hal_pwr_seq.c
index 0b60eba128afa..4136685df1dfd 100644
--- a/drivers/staging/rtl8723bs/hal/hal_pwr_seq.c
+++ b/drivers/staging/rtl8723bs/hal/hal_pwr_seq.c
@@ -19,110 +19,83 @@
/* drivers should parse below arrays and do the corresponding actions */
/* 3 Power on Array */
-struct wlan_pwr_cfg rtl8723B_power_on_flow[
- RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS+
- RTL8723B_TRANS_END_STEPS
-] = {
- RTL8723B_TRANS_CARDEMU_TO_ACT
- RTL8723B_TRANS_END
+struct wlan_pwr_cfg rtl8723B_power_on_flow[RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
+ RTL8723B_TRANS_CARDEMU_TO_ACT RTL8723B_TRANS_END
};
/* 3Radio off GPIO Array */
-struct wlan_pwr_cfg rtl8723B_radio_off_flow[
- RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
- RTL8723B_TRANS_END_STEPS
-] = {
- RTL8723B_TRANS_ACT_TO_CARDEMU
- RTL8723B_TRANS_END
+struct wlan_pwr_cfg rtl8723B_radio_off_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
+ RTL8723B_TRANS_ACT_TO_CARDEMU RTL8723B_TRANS_END
};
/* 3Card Disable Array */
-struct wlan_pwr_cfg rtl8723B_card_disable_flow[
- RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
- RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
- RTL8723B_TRANS_END_STEPS
-] = {
- RTL8723B_TRANS_ACT_TO_CARDEMU
- RTL8723B_TRANS_CARDEMU_TO_CARDDIS
- RTL8723B_TRANS_END
-};
+struct wlan_pwr_cfg
+ rtl8723B_card_disable_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
+ RTL8723B_TRANS_ACT_TO_CARDEMU RTL8723B_TRANS_CARDEMU_TO_CARDDIS
+ RTL8723B_TRANS_END
+ };
/* 3 Card Enable Array */
-struct wlan_pwr_cfg rtl8723B_card_enable_flow[
- RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
- RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
- RTL8723B_TRANS_END_STEPS
-] = {
- RTL8723B_TRANS_CARDDIS_TO_CARDEMU
- RTL8723B_TRANS_CARDEMU_TO_ACT
- RTL8723B_TRANS_END
-};
+struct wlan_pwr_cfg
+ rtl8723B_card_enable_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
+ RTL8723B_TRANS_CARDDIS_TO_CARDEMU RTL8723B_TRANS_CARDEMU_TO_ACT
+ RTL8723B_TRANS_END
+ };
/* 3Suspend Array */
-struct wlan_pwr_cfg rtl8723B_suspend_flow[
- RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
- RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS+
- RTL8723B_TRANS_END_STEPS
-] = {
- RTL8723B_TRANS_ACT_TO_CARDEMU
- RTL8723B_TRANS_CARDEMU_TO_SUS
- RTL8723B_TRANS_END
+struct wlan_pwr_cfg rtl8723B_suspend_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
+ RTL8723B_TRANS_ACT_TO_CARDEMU RTL8723B_TRANS_CARDEMU_TO_SUS
+ RTL8723B_TRANS_END
};
/* 3 Resume Array */
-struct wlan_pwr_cfg rtl8723B_resume_flow[
- RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
- RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS+
- RTL8723B_TRANS_END_STEPS
-] = {
- RTL8723B_TRANS_SUS_TO_CARDEMU
- RTL8723B_TRANS_CARDEMU_TO_ACT
- RTL8723B_TRANS_END
+struct wlan_pwr_cfg rtl8723B_resume_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
+ RTL8723B_TRANS_SUS_TO_CARDEMU RTL8723B_TRANS_CARDEMU_TO_ACT
+ RTL8723B_TRANS_END
};
/* 3HWPDN Array */
-struct wlan_pwr_cfg rtl8723B_hwpdn_flow[
- RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
- RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
- RTL8723B_TRANS_END_STEPS
-] = {
- RTL8723B_TRANS_ACT_TO_CARDEMU
- RTL8723B_TRANS_CARDEMU_TO_PDN
- RTL8723B_TRANS_END
+struct wlan_pwr_cfg rtl8723B_hwpdn_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
+ RTL8723B_TRANS_ACT_TO_CARDEMU RTL8723B_TRANS_CARDEMU_TO_PDN
+ RTL8723B_TRANS_END
};
/* 3 Enter LPS */
-struct wlan_pwr_cfg rtl8723B_enter_lps_flow[
- RTL8723B_TRANS_ACT_TO_LPS_STEPS+RTL8723B_TRANS_END_STEPS
-] = {
+struct wlan_pwr_cfg rtl8723B_enter_lps_flow[RTL8723B_TRANS_ACT_TO_LPS_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
/* FW behavior */
- RTL8723B_TRANS_ACT_TO_LPS
- RTL8723B_TRANS_END
+ RTL8723B_TRANS_ACT_TO_LPS RTL8723B_TRANS_END
};
/* 3 Leave LPS */
-struct wlan_pwr_cfg rtl8723B_leave_lps_flow[
- RTL8723B_TRANS_LPS_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS
-] = {
+struct wlan_pwr_cfg rtl8723B_leave_lps_flow[RTL8723B_TRANS_LPS_TO_ACT_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
/* FW behavior */
- RTL8723B_TRANS_LPS_TO_ACT
- RTL8723B_TRANS_END
+ RTL8723B_TRANS_LPS_TO_ACT RTL8723B_TRANS_END
};
/* 3 Enter SW LPS */
-struct wlan_pwr_cfg rtl8723B_enter_swlps_flow[
- RTL8723B_TRANS_ACT_TO_SWLPS_STEPS+RTL8723B_TRANS_END_STEPS
-] = {
+struct wlan_pwr_cfg rtl8723B_enter_swlps_flow[RTL8723B_TRANS_ACT_TO_SWLPS_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
/* SW behavior */
- RTL8723B_TRANS_ACT_TO_SWLPS
- RTL8723B_TRANS_END
+ RTL8723B_TRANS_ACT_TO_SWLPS RTL8723B_TRANS_END
};
/* 3 Leave SW LPS */
-struct wlan_pwr_cfg rtl8723B_leave_swlps_flow[
- RTL8723B_TRANS_SWLPS_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS
-] = {
+struct wlan_pwr_cfg rtl8723B_leave_swlps_flow[RTL8723B_TRANS_SWLPS_TO_ACT_STEPS +
+ RTL8723B_TRANS_END_STEPS] = {
/* SW behavior */
- RTL8723B_TRANS_SWLPS_TO_ACT
- RTL8723B_TRANS_END
+ RTL8723B_TRANS_SWLPS_TO_ACT RTL8723B_TRANS_END
};
diff --git a/drivers/staging/rtl8723bs/hal/hal_sdio.c b/drivers/staging/rtl8723bs/hal/hal_sdio.c
index 1a865d4de8ac7..31a262286a0e8 100644
--- a/drivers/staging/rtl8723bs/hal/hal_sdio.c
+++ b/drivers/staging/rtl8723bs/hal/hal_sdio.c
@@ -10,7 +10,7 @@
u8 rtw_hal_sdio_max_txoqt_free_space(struct adapter *padapter)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
if (pHalData->SdioTxOQTMaxFreeSpace < 8)
pHalData->SdioTxOQTMaxFreeSpace = 8;
@@ -18,23 +18,23 @@ u8 rtw_hal_sdio_max_txoqt_free_space(struct adapter *padapter)
return pHalData->SdioTxOQTMaxFreeSpace;
}
-u8 rtw_hal_sdio_query_tx_freepage(
- struct adapter *padapter, u8 PageIdx, u8 RequiredPageNum
-)
+u8 rtw_hal_sdio_query_tx_freepage(struct adapter *padapter, u8 PageIdx,
+ u8 RequiredPageNum)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
- if ((pHalData->SdioTxFIFOFreePage[PageIdx]+pHalData->SdioTxFIFOFreePage[PUBLIC_QUEUE_IDX]) >= (RequiredPageNum))
+ if ((pHalData->SdioTxFIFOFreePage[PageIdx] +
+ pHalData->SdioTxFIFOFreePage[PUBLIC_QUEUE_IDX]) >=
+ (RequiredPageNum))
return true;
else
return false;
}
-void rtw_hal_sdio_update_tx_freepage(
- struct adapter *padapter, u8 PageIdx, u8 RequiredPageNum
-)
+void rtw_hal_sdio_update_tx_freepage(struct adapter *padapter, u8 PageIdx,
+ u8 RequiredPageNum)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
u8 DedicatedPgNum = 0;
u8 RequiredPublicFreePgNum = 0;
/* _irqL irql; */
@@ -47,17 +47,17 @@ void rtw_hal_sdio_update_tx_freepage(
} else {
pHalData->SdioTxFIFOFreePage[PageIdx] = 0;
RequiredPublicFreePgNum = RequiredPageNum - DedicatedPgNum;
- pHalData->SdioTxFIFOFreePage[PUBLIC_QUEUE_IDX] -= RequiredPublicFreePgNum;
+ pHalData->SdioTxFIFOFreePage[PUBLIC_QUEUE_IDX] -=
+ RequiredPublicFreePgNum;
}
/* spin_unlock_bh(&pHalData->SdioTxFIFOFreePageLock); */
}
-void rtw_hal_set_sdio_tx_max_length(
- struct adapter *padapter, u8 numHQ, u8 numNQ, u8 numLQ, u8 numPubQ
-)
+void rtw_hal_set_sdio_tx_max_length(struct adapter *padapter, u8 numHQ,
+ u8 numNQ, u8 numLQ, u8 numPubQ)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
u32 page_size;
u32 lenHQ, lenNQ, lenLQ;
@@ -78,7 +78,7 @@ void rtw_hal_set_sdio_tx_max_length(
u32 rtw_hal_get_sdio_tx_max_length(struct adapter *padapter, u8 queue_idx)
{
struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
u32 deviceId, max_len;
deviceId = ffaddr2deviceId(pdvobjpriv, queue_idx);
diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c
index 180aac640a14d..4f6ebea0c5814 100644
--- a/drivers/staging/rtl8723bs/hal/odm.c
+++ b/drivers/staging/rtl8723bs/hal/odm.c
@@ -52,87 +52,90 @@ u32 OFDMSwingTable_New[OFDM_TABLE_SIZE] = {
0x6b8001ae, /* 39, +4.5dB */
0x71c001c7, /* 40, +5.0dB */
0x788001e2, /* 41, +5.5dB */
- 0x7f8001fe /* 42, +6.0dB */
+ 0x7f8001fe /* 42, +6.0dB */
};
u8 CCKSwingTable_Ch1_Ch13_New[CCK_TABLE_SIZE][8] = {
- {0x09, 0x08, 0x07, 0x06, 0x04, 0x03, 0x01, 0x01}, /* 0, -16.0dB */
- {0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x01, 0x01}, /* 1, -15.5dB */
- {0x0a, 0x09, 0x08, 0x07, 0x05, 0x03, 0x02, 0x01}, /* 2, -15.0dB */
- {0x0a, 0x0a, 0x09, 0x07, 0x05, 0x03, 0x02, 0x01}, /* 3, -14.5dB */
- {0x0b, 0x0a, 0x09, 0x08, 0x06, 0x04, 0x02, 0x01}, /* 4, -14.0dB */
- {0x0b, 0x0b, 0x0a, 0x08, 0x06, 0x04, 0x02, 0x01}, /* 5, -13.5dB */
- {0x0c, 0x0c, 0x0a, 0x09, 0x06, 0x04, 0x02, 0x01}, /* 6, -13.0dB */
- {0x0d, 0x0c, 0x0b, 0x09, 0x07, 0x04, 0x02, 0x01}, /* 7, -12.5dB */
- {0x0d, 0x0d, 0x0c, 0x0a, 0x07, 0x05, 0x02, 0x01}, /* 8, -12.0dB */
- {0x0e, 0x0e, 0x0c, 0x0a, 0x08, 0x05, 0x02, 0x01}, /* 9, -11.5dB */
- {0x0f, 0x0f, 0x0d, 0x0b, 0x08, 0x05, 0x03, 0x01}, /* 10, -11.0dB */
- {0x10, 0x10, 0x0e, 0x0b, 0x08, 0x05, 0x03, 0x01}, /* 11, -10.5dB */
- {0x11, 0x11, 0x0f, 0x0c, 0x09, 0x06, 0x03, 0x01}, /* 12, -10.0dB */
- {0x12, 0x12, 0x0f, 0x0c, 0x09, 0x06, 0x03, 0x01}, /* 13, -9.5dB */
- {0x13, 0x13, 0x10, 0x0d, 0x0a, 0x06, 0x03, 0x01}, /* 14, -9.0dB */
- {0x14, 0x14, 0x11, 0x0e, 0x0b, 0x07, 0x03, 0x02}, /* 15, -8.5dB */
- {0x16, 0x15, 0x12, 0x0f, 0x0b, 0x07, 0x04, 0x01}, /* 16, -8.0dB */
- {0x17, 0x16, 0x13, 0x10, 0x0c, 0x08, 0x04, 0x02}, /* 17, -7.5dB */
- {0x18, 0x17, 0x15, 0x11, 0x0c, 0x08, 0x04, 0x02}, /* 18, -7.0dB */
- {0x1a, 0x19, 0x16, 0x12, 0x0d, 0x09, 0x04, 0x02}, /* 19, -6.5dB */
- {0x1b, 0x1a, 0x17, 0x13, 0x0e, 0x09, 0x04, 0x02}, /* 20, -6.0dB */
- {0x1d, 0x1c, 0x18, 0x14, 0x0f, 0x0a, 0x05, 0x02}, /* 21, -5.5dB */
- {0x1f, 0x1e, 0x1a, 0x15, 0x10, 0x0a, 0x05, 0x02}, /* 22, -5.0dB */
- {0x20, 0x20, 0x1b, 0x16, 0x11, 0x08, 0x05, 0x02}, /* 23, -4.5dB */
- {0x22, 0x21, 0x1d, 0x18, 0x11, 0x0b, 0x06, 0x02}, /* 24, -4.0dB */
- {0x24, 0x23, 0x1f, 0x19, 0x13, 0x0c, 0x06, 0x03}, /* 25, -3.5dB */
- {0x26, 0x25, 0x21, 0x1b, 0x14, 0x0d, 0x06, 0x03}, /* 26, -3.0dB */
- {0x28, 0x28, 0x22, 0x1c, 0x15, 0x0d, 0x07, 0x03}, /* 27, -2.5dB */
- {0x2b, 0x2a, 0x25, 0x1e, 0x16, 0x0e, 0x07, 0x03}, /* 28, -2.0dB */
- {0x2d, 0x2d, 0x27, 0x1f, 0x18, 0x0f, 0x08, 0x03}, /* 29, -1.5dB */
- {0x30, 0x2f, 0x29, 0x21, 0x19, 0x10, 0x08, 0x03}, /* 30, -1.0dB */
- {0x33, 0x32, 0x2b, 0x23, 0x1a, 0x11, 0x08, 0x04}, /* 31, -0.5dB */
- {0x36, 0x35, 0x2e, 0x25, 0x1c, 0x12, 0x09, 0x04} /* 32, +0dB */
+ { 0x09, 0x08, 0x07, 0x06, 0x04, 0x03, 0x01, 0x01 }, /* 0, -16.0dB */
+ { 0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x01, 0x01 }, /* 1, -15.5dB */
+ { 0x0a, 0x09, 0x08, 0x07, 0x05, 0x03, 0x02, 0x01 }, /* 2, -15.0dB */
+ { 0x0a, 0x0a, 0x09, 0x07, 0x05, 0x03, 0x02, 0x01 }, /* 3, -14.5dB */
+ { 0x0b, 0x0a, 0x09, 0x08, 0x06, 0x04, 0x02, 0x01 }, /* 4, -14.0dB */
+ { 0x0b, 0x0b, 0x0a, 0x08, 0x06, 0x04, 0x02, 0x01 }, /* 5, -13.5dB */
+ { 0x0c, 0x0c, 0x0a, 0x09, 0x06, 0x04, 0x02, 0x01 }, /* 6, -13.0dB */
+ { 0x0d, 0x0c, 0x0b, 0x09, 0x07, 0x04, 0x02, 0x01 }, /* 7, -12.5dB */
+ { 0x0d, 0x0d, 0x0c, 0x0a, 0x07, 0x05, 0x02, 0x01 }, /* 8, -12.0dB */
+ { 0x0e, 0x0e, 0x0c, 0x0a, 0x08, 0x05, 0x02, 0x01 }, /* 9, -11.5dB */
+ { 0x0f, 0x0f, 0x0d, 0x0b, 0x08, 0x05, 0x03, 0x01 }, /* 10, -11.0dB */
+ { 0x10, 0x10, 0x0e, 0x0b, 0x08, 0x05, 0x03, 0x01 }, /* 11, -10.5dB */
+ { 0x11, 0x11, 0x0f, 0x0c, 0x09, 0x06, 0x03, 0x01 }, /* 12, -10.0dB */
+ { 0x12, 0x12, 0x0f, 0x0c, 0x09, 0x06, 0x03, 0x01 }, /* 13, -9.5dB */
+ { 0x13, 0x13, 0x10, 0x0d, 0x0a, 0x06, 0x03, 0x01 }, /* 14, -9.0dB */
+ { 0x14, 0x14, 0x11, 0x0e, 0x0b, 0x07, 0x03, 0x02 }, /* 15, -8.5dB */
+ { 0x16, 0x15, 0x12, 0x0f, 0x0b, 0x07, 0x04, 0x01 }, /* 16, -8.0dB */
+ { 0x17, 0x16, 0x13, 0x10, 0x0c, 0x08, 0x04, 0x02 }, /* 17, -7.5dB */
+ { 0x18, 0x17, 0x15, 0x11, 0x0c, 0x08, 0x04, 0x02 }, /* 18, -7.0dB */
+ { 0x1a, 0x19, 0x16, 0x12, 0x0d, 0x09, 0x04, 0x02 }, /* 19, -6.5dB */
+ { 0x1b, 0x1a, 0x17, 0x13, 0x0e, 0x09, 0x04, 0x02 }, /* 20, -6.0dB */
+ { 0x1d, 0x1c, 0x18, 0x14, 0x0f, 0x0a, 0x05, 0x02 }, /* 21, -5.5dB */
+ { 0x1f, 0x1e, 0x1a, 0x15, 0x10, 0x0a, 0x05, 0x02 }, /* 22, -5.0dB */
+ { 0x20, 0x20, 0x1b, 0x16, 0x11, 0x08, 0x05, 0x02 }, /* 23, -4.5dB */
+ { 0x22, 0x21, 0x1d, 0x18, 0x11, 0x0b, 0x06, 0x02 }, /* 24, -4.0dB */
+ { 0x24, 0x23, 0x1f, 0x19, 0x13, 0x0c, 0x06, 0x03 }, /* 25, -3.5dB */
+ { 0x26, 0x25, 0x21, 0x1b, 0x14, 0x0d, 0x06, 0x03 }, /* 26, -3.0dB */
+ { 0x28, 0x28, 0x22, 0x1c, 0x15, 0x0d, 0x07, 0x03 }, /* 27, -2.5dB */
+ { 0x2b, 0x2a, 0x25, 0x1e, 0x16, 0x0e, 0x07, 0x03 }, /* 28, -2.0dB */
+ { 0x2d, 0x2d, 0x27, 0x1f, 0x18, 0x0f, 0x08, 0x03 }, /* 29, -1.5dB */
+ { 0x30, 0x2f, 0x29, 0x21, 0x19, 0x10, 0x08, 0x03 }, /* 30, -1.0dB */
+ { 0x33, 0x32, 0x2b, 0x23, 0x1a, 0x11, 0x08, 0x04 }, /* 31, -0.5dB */
+ { 0x36, 0x35, 0x2e, 0x25, 0x1c, 0x12, 0x09, 0x04 } /* 32, +0dB */
};
u8 CCKSwingTable_Ch14_New[CCK_TABLE_SIZE][8] = {
- {0x09, 0x08, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00}, /* 0, -16.0dB */
- {0x09, 0x09, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 1, -15.5dB */
- {0x0a, 0x09, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 2, -15.0dB */
- {0x0a, 0x0a, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 3, -14.5dB */
- {0x0b, 0x0a, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00}, /* 4, -14.0dB */
- {0x0b, 0x0b, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 5, -13.5dB */
- {0x0c, 0x0c, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 6, -13.0dB */
- {0x0d, 0x0c, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x00}, /* 7, -12.5dB */
- {0x0d, 0x0d, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00}, /* 8, -12.0dB */
- {0x0e, 0x0e, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00}, /* 9, -11.5dB */
- {0x0f, 0x0f, 0x0d, 0x08, 0x00, 0x00, 0x00, 0x00}, /* 10, -11.0dB */
- {0x10, 0x10, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x00}, /* 11, -10.5dB */
- {0x11, 0x11, 0x0f, 0x09, 0x00, 0x00, 0x00, 0x00}, /* 12, -10.0dB */
- {0x12, 0x12, 0x0f, 0x09, 0x00, 0x00, 0x00, 0x00}, /* 13, -9.5dB */
- {0x13, 0x13, 0x10, 0x0a, 0x00, 0x00, 0x00, 0x00}, /* 14, -9.0dB */
- {0x14, 0x14, 0x11, 0x0a, 0x00, 0x00, 0x00, 0x00}, /* 15, -8.5dB */
- {0x16, 0x15, 0x12, 0x0b, 0x00, 0x00, 0x00, 0x00}, /* 16, -8.0dB */
- {0x17, 0x16, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00}, /* 17, -7.5dB */
- {0x18, 0x17, 0x15, 0x0c, 0x00, 0x00, 0x00, 0x00}, /* 18, -7.0dB */
- {0x1a, 0x19, 0x16, 0x0d, 0x00, 0x00, 0x00, 0x00}, /* 19, -6.5dB */
- {0x1b, 0x1a, 0x17, 0x0e, 0x00, 0x00, 0x00, 0x00}, /* 20, -6.0dB */
- {0x1d, 0x1c, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00}, /* 21, -5.5dB */
- {0x1f, 0x1e, 0x1a, 0x0f, 0x00, 0x00, 0x00, 0x00}, /* 22, -5.0dB */
- {0x20, 0x20, 0x1b, 0x10, 0x00, 0x00, 0x00, 0x00}, /* 23, -4.5dB */
- {0x22, 0x21, 0x1d, 0x11, 0x00, 0x00, 0x00, 0x00}, /* 24, -4.0dB */
- {0x24, 0x23, 0x1f, 0x12, 0x00, 0x00, 0x00, 0x00}, /* 25, -3.5dB */
- {0x26, 0x25, 0x21, 0x13, 0x00, 0x00, 0x00, 0x00}, /* 26, -3.0dB */
- {0x28, 0x28, 0x24, 0x14, 0x00, 0x00, 0x00, 0x00}, /* 27, -2.5dB */
- {0x2b, 0x2a, 0x25, 0x15, 0x00, 0x00, 0x00, 0x00}, /* 28, -2.0dB */
- {0x2d, 0x2d, 0x17, 0x17, 0x00, 0x00, 0x00, 0x00}, /* 29, -1.5dB */
- {0x30, 0x2f, 0x29, 0x18, 0x00, 0x00, 0x00, 0x00}, /* 30, -1.0dB */
- {0x33, 0x32, 0x2b, 0x19, 0x00, 0x00, 0x00, 0x00}, /* 31, -0.5dB */
- {0x36, 0x35, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00} /* 32, +0dB */
+ { 0x09, 0x08, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00 }, /* 0, -16.0dB */
+ { 0x09, 0x09, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00 }, /* 1, -15.5dB */
+ { 0x0a, 0x09, 0x08, 0x05, 0x00, 0x00, 0x00, 0x00 }, /* 2, -15.0dB */
+ { 0x0a, 0x0a, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00 }, /* 3, -14.5dB */
+ { 0x0b, 0x0a, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00 }, /* 4, -14.0dB */
+ { 0x0b, 0x0b, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00 }, /* 5, -13.5dB */
+ { 0x0c, 0x0c, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00 }, /* 6, -13.0dB */
+ { 0x0d, 0x0c, 0x0b, 0x06, 0x00, 0x00, 0x00, 0x00 }, /* 7, -12.5dB */
+ { 0x0d, 0x0d, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00 }, /* 8, -12.0dB */
+ { 0x0e, 0x0e, 0x0c, 0x07, 0x00, 0x00, 0x00, 0x00 }, /* 9, -11.5dB */
+ { 0x0f, 0x0f, 0x0d, 0x08, 0x00, 0x00, 0x00, 0x00 }, /* 10, -11.0dB */
+ { 0x10, 0x10, 0x0e, 0x08, 0x00, 0x00, 0x00, 0x00 }, /* 11, -10.5dB */
+ { 0x11, 0x11, 0x0f, 0x09, 0x00, 0x00, 0x00, 0x00 }, /* 12, -10.0dB */
+ { 0x12, 0x12, 0x0f, 0x09, 0x00, 0x00, 0x00, 0x00 }, /* 13, -9.5dB */
+ { 0x13, 0x13, 0x10, 0x0a, 0x00, 0x00, 0x00, 0x00 }, /* 14, -9.0dB */
+ { 0x14, 0x14, 0x11, 0x0a, 0x00, 0x00, 0x00, 0x00 }, /* 15, -8.5dB */
+ { 0x16, 0x15, 0x12, 0x0b, 0x00, 0x00, 0x00, 0x00 }, /* 16, -8.0dB */
+ { 0x17, 0x16, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x00 }, /* 17, -7.5dB */
+ { 0x18, 0x17, 0x15, 0x0c, 0x00, 0x00, 0x00, 0x00 }, /* 18, -7.0dB */
+ { 0x1a, 0x19, 0x16, 0x0d, 0x00, 0x00, 0x00, 0x00 }, /* 19, -6.5dB */
+ { 0x1b, 0x1a, 0x17, 0x0e, 0x00, 0x00, 0x00, 0x00 }, /* 20, -6.0dB */
+ { 0x1d, 0x1c, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00 }, /* 21, -5.5dB */
+ { 0x1f, 0x1e, 0x1a, 0x0f, 0x00, 0x00, 0x00, 0x00 }, /* 22, -5.0dB */
+ { 0x20, 0x20, 0x1b, 0x10, 0x00, 0x00, 0x00, 0x00 }, /* 23, -4.5dB */
+ { 0x22, 0x21, 0x1d, 0x11, 0x00, 0x00, 0x00, 0x00 }, /* 24, -4.0dB */
+ { 0x24, 0x23, 0x1f, 0x12, 0x00, 0x00, 0x00, 0x00 }, /* 25, -3.5dB */
+ { 0x26, 0x25, 0x21, 0x13, 0x00, 0x00, 0x00, 0x00 }, /* 26, -3.0dB */
+ { 0x28, 0x28, 0x24, 0x14, 0x00, 0x00, 0x00, 0x00 }, /* 27, -2.5dB */
+ { 0x2b, 0x2a, 0x25, 0x15, 0x00, 0x00, 0x00, 0x00 }, /* 28, -2.0dB */
+ { 0x2d, 0x2d, 0x17, 0x17, 0x00, 0x00, 0x00, 0x00 }, /* 29, -1.5dB */
+ { 0x30, 0x2f, 0x29, 0x18, 0x00, 0x00, 0x00, 0x00 }, /* 30, -1.0dB */
+ { 0x33, 0x32, 0x2b, 0x19, 0x00, 0x00, 0x00, 0x00 }, /* 31, -0.5dB */
+ { 0x36, 0x35, 0x2e, 0x1b, 0x00, 0x00, 0x00, 0x00 } /* 32, +0dB */
};
/* Remove Edca by Yu Chen */
static void odm_CommonInfoSelfInit(struct dm_odm_t *pDM_Odm)
{
- pDM_Odm->bCckHighPower = (bool) PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(CCK_RPT_FORMAT), ODM_BIT(CCK_RPT_FORMAT));
- pDM_Odm->RFPathRxEnable = (u8) PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(BB_RX_PATH), ODM_BIT(BB_RX_PATH));
+ pDM_Odm->bCckHighPower = (bool)PHY_QueryBBReg(pDM_Odm->Adapter,
+ ODM_REG(CCK_RPT_FORMAT),
+ ODM_BIT(CCK_RPT_FORMAT));
+ pDM_Odm->RFPathRxEnable = (u8)PHY_QueryBBReg(
+ pDM_Odm->Adapter, ODM_REG(BB_RX_PATH), ODM_BIT(BB_RX_PATH));
pDM_Odm->TxRate = 0xFF;
}
@@ -141,13 +144,13 @@ static void odm_CommonInfoSelfUpdate(struct dm_odm_t *pDM_Odm)
{
u8 EntryCnt = 0;
u8 i;
- PSTA_INFO_T pEntry;
+ PSTA_INFO_T pEntry;
if (*(pDM_Odm->pBandWidth) == ODM_BW40M) {
if (*(pDM_Odm->pSecChOffset) == 1)
- pDM_Odm->ControlChannel = *(pDM_Odm->pChannel)-2;
+ pDM_Odm->ControlChannel = *(pDM_Odm->pChannel) - 2;
else if (*(pDM_Odm->pSecChOffset) == 2)
- pDM_Odm->ControlChannel = *(pDM_Odm->pChannel)+2;
+ pDM_Odm->ControlChannel = *(pDM_Odm->pChannel) + 2;
} else
pDM_Odm->ControlChannel = *(pDM_Odm->pChannel);
@@ -187,14 +190,10 @@ static void odm_RateAdaptiveMaskInit(struct dm_odm_t *pDM_Odm)
pOdmRA->LowRSSIThresh = 20;
}
-u32 ODM_Get_Rate_Bitmap(
- struct dm_odm_t *pDM_Odm,
- u32 macid,
- u32 ra_mask,
- u8 rssi_level
-)
+u32 ODM_Get_Rate_Bitmap(struct dm_odm_t *pDM_Odm, u32 macid, u32 ra_mask,
+ u8 rssi_level)
{
- PSTA_INFO_T pEntry;
+ PSTA_INFO_T pEntry;
u32 rate_bitmap = 0;
u8 WirelessMode;
@@ -206,7 +205,7 @@ u32 ODM_Get_Rate_Bitmap(
switch (WirelessMode) {
case ODM_WM_B:
- if (ra_mask & 0x0000000c) /* 11M or 5.5M enable */
+ if (ra_mask & 0x0000000c) /* 11M or 5.5M enable */
rate_bitmap = 0x0000000d;
else
rate_bitmap = 0x0000000f;
@@ -219,7 +218,7 @@ u32 ODM_Get_Rate_Bitmap(
rate_bitmap = 0x00000ff0;
break;
- case (ODM_WM_B|ODM_WM_G):
+ case (ODM_WM_B | ODM_WM_G):
if (rssi_level == DM_RATR_STA_HIGH)
rate_bitmap = 0x00000f00;
else if (rssi_level == DM_RATR_STA_MIDDLE)
@@ -228,9 +227,9 @@ u32 ODM_Get_Rate_Bitmap(
rate_bitmap = 0x00000ff5;
break;
- case (ODM_WM_B|ODM_WM_G|ODM_WM_N24G):
- case (ODM_WM_B|ODM_WM_N24G):
- case (ODM_WM_G|ODM_WM_N24G):
+ case (ODM_WM_B | ODM_WM_G | ODM_WM_N24G):
+ case (ODM_WM_B | ODM_WM_N24G):
+ case (ODM_WM_G | ODM_WM_N24G):
if (rssi_level == DM_RATR_STA_HIGH)
rate_bitmap = 0x000f0000;
else if (rssi_level == DM_RATR_STA_MIDDLE)
@@ -249,13 +248,12 @@ u32 ODM_Get_Rate_Bitmap(
}
return ra_mask & rate_bitmap;
-
}
static void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm)
{
u8 i;
- struct adapter *padapter = pDM_Odm->Adapter;
+ struct adapter *padapter = pDM_Odm->Adapter;
if (padapter->bDriverStopped)
return;
@@ -267,13 +265,18 @@ static void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm)
PSTA_INFO_T pstat = pDM_Odm->pODM_StaInfo[i];
if (IS_STA_VALID(pstat)) {
- if (is_multicast_ether_addr(pstat->hwaddr)) /* if (psta->mac_id == 1) */
+ if (is_multicast_ether_addr(
+ pstat->hwaddr)) /* if (psta->mac_id == 1) */
continue;
- if (true == ODM_RAStateCheck(pDM_Odm, pstat->rssi_stat.UndecoratedSmoothedPWDB, false, &pstat->rssi_level)) {
- rtw_hal_update_ra_mask(pstat, pstat->rssi_level);
+ if (true ==
+ ODM_RAStateCheck(
+ pDM_Odm,
+ pstat->rssi_stat.UndecoratedSmoothedPWDB,
+ false, &pstat->rssi_level)) {
+ rtw_hal_update_ra_mask(pstat,
+ pstat->rssi_level);
}
-
}
}
}
@@ -297,7 +300,6 @@ static void odm_RefreshRateAdaptiveMaskCE(struct dm_odm_t *pDM_Odm)
*/
static void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm)
{
-
if (!(pDM_Odm->SupportAbility & ODM_BB_RA_MASK))
return;
@@ -306,12 +308,8 @@ static void odm_RefreshRateAdaptiveMask(struct dm_odm_t *pDM_Odm)
/* Return Value: bool */
/* - true: RATRState is changed. */
-bool ODM_RAStateCheck(
- struct dm_odm_t *pDM_Odm,
- s32 RSSI,
- bool bForceUpdate,
- u8 *pRATRState
-)
+bool ODM_RAStateCheck(struct dm_odm_t *pDM_Odm, s32 RSSI, bool bForceUpdate,
+ u8 *pRATRState)
{
struct odm_rate_adaptive *pRA = &pDM_Odm->RateAdaptive;
const u8 GoUpGap = 5;
@@ -343,9 +341,9 @@ bool ODM_RAStateCheck(
}
/* Decide RATRState by RSSI. */
- if (RSSI > HighRSSIThreshForRA)
+ if (HighRSSIThreshForRA < RSSI)
RATRState = DM_RATR_STA_HIGH;
- else if (RSSI > LowRSSIThreshForRA)
+ else if (LowRSSIThreshForRA < RSSI)
RATRState = DM_RATR_STA_MIDDLE;
else
RATRState = DM_RATR_STA_LOW;
@@ -369,32 +367,33 @@ static void odm_RSSIMonitorInit(struct dm_odm_t *pDM_Odm)
struct ra_t *pRA_Table = &pDM_Odm->DM_RA_Table;
pRA_Table->firstconnect = false;
-
}
static void FindMinimumRSSI(struct adapter *padapter)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_priv *pdmpriv = &pHalData->dmpriv;
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
/* 1 1.Determine the minimum RSSI */
- if (!pDM_Odm->bLinked && (pdmpriv->EntryMinUndecoratedSmoothedPWDB == 0))
+ if (!pDM_Odm->bLinked &&
+ (pdmpriv->EntryMinUndecoratedSmoothedPWDB == 0))
pdmpriv->MinUndecoratedPWDBForDM = 0;
else
- pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;
+ pdmpriv->MinUndecoratedPWDBForDM =
+ pdmpriv->EntryMinUndecoratedSmoothedPWDB;
}
static void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm)
{
struct adapter *Adapter = pDM_Odm->Adapter;
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
struct dm_priv *pdmpriv = &pHalData->dmpriv;
int i;
int tmpEntryMaxPWDB = 0, tmpEntryMinPWDB = 0xff;
u8 sta_cnt = 0;
- u32 PWDB_rssi[NUM_STA] = {0};/* 0~15]:MACID, [16~31]:PWDB_rssi */
+ u32 PWDB_rssi[NUM_STA] = { 0 }; /* 0~15]:MACID, [16~31]:PWDB_rssi */
struct ra_t *pRA_Table = &pDM_Odm->DM_RA_Table;
if (!pDM_Odm->bLinked)
@@ -409,32 +408,46 @@ static void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm)
for (i = 0; i < ODM_ASSOCIATE_ENTRY_NUM; i++) {
psta = pDM_Odm->pODM_StaInfo[i];
if (IS_STA_VALID(psta)) {
- if (is_multicast_ether_addr(psta->hwaddr)) /* if (psta->mac_id == 1) */
+ if (is_multicast_ether_addr(
+ psta->hwaddr)) /* if (psta->mac_id == 1) */
continue;
- if (psta->rssi_stat.UndecoratedSmoothedPWDB == (-1))
+ if (psta->rssi_stat.UndecoratedSmoothedPWDB ==
+ (-1))
continue;
- if (psta->rssi_stat.UndecoratedSmoothedPWDB < tmpEntryMinPWDB)
- tmpEntryMinPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB;
-
- if (psta->rssi_stat.UndecoratedSmoothedPWDB > tmpEntryMaxPWDB)
- tmpEntryMaxPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB;
-
- if (psta->rssi_stat.UndecoratedSmoothedPWDB != (-1))
- PWDB_rssi[sta_cnt++] = (psta->mac_id | (psta->rssi_stat.UndecoratedSmoothedPWDB<<16));
+ if (psta->rssi_stat.UndecoratedSmoothedPWDB <
+ tmpEntryMinPWDB)
+ tmpEntryMinPWDB =
+ psta->rssi_stat
+ .UndecoratedSmoothedPWDB;
+
+ if (psta->rssi_stat.UndecoratedSmoothedPWDB >
+ tmpEntryMaxPWDB)
+ tmpEntryMaxPWDB =
+ psta->rssi_stat
+ .UndecoratedSmoothedPWDB;
+
+ if (psta->rssi_stat.UndecoratedSmoothedPWDB !=
+ (-1))
+ PWDB_rssi[sta_cnt++] =
+ (psta->mac_id |
+ (psta->rssi_stat
+ .UndecoratedSmoothedPWDB
+ << 16));
}
}
for (i = 0; i < sta_cnt; i++) {
if (PWDB_rssi[i] != (0)) {
- if (pHalData->fw_ractrl)/* Report every sta's RSSI to FW */
- rtl8723b_set_rssi_cmd(Adapter, (u8 *)(&PWDB_rssi[i]));
+ if (pHalData->fw_ractrl) /* Report every sta's RSSI to FW */
+ rtl8723b_set_rssi_cmd(
+ Adapter, (u8 *)(&PWDB_rssi[i]));
}
}
}
- if (tmpEntryMaxPWDB != 0) /* If associated entry is found */
+ if (tmpEntryMaxPWDB != 0) /* If associated entry is found */
pdmpriv->EntryMaxUndecoratedSmoothedPWDB = tmpEntryMaxPWDB;
else
pdmpriv->EntryMaxUndecoratedSmoothedPWDB = 0;
@@ -444,7 +457,7 @@ static void odm_RSSIMonitorCheckCE(struct dm_odm_t *pDM_Odm)
else
pdmpriv->EntryMinUndecoratedSmoothedPWDB = 0;
- FindMinimumRSSI(Adapter);/* get pdmpriv->MinUndecoratedPWDBForDM */
+ FindMinimumRSSI(Adapter); /* get pdmpriv->MinUndecoratedPWDBForDM */
pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM;
/* ODM_CmnInfoUpdate(&pHalData->odmpriv , ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); */
@@ -457,7 +470,7 @@ static void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm)
odm_RSSIMonitorCheckCE(pDM_Odm);
-} /* odm_RSSIMonitorCheck */
+} /* odm_RSSIMonitorCheck */
/* 3 ============================================================ */
/* 3 SW Antenna Diversity */
@@ -466,7 +479,8 @@ static void odm_SwAntDetectInit(struct dm_odm_t *pDM_Odm)
{
struct swat_t *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
- pDM_SWAT_Table->SWAS_NoLink_BK_Reg92c = rtw_read32(pDM_Odm->Adapter, rDPDT_control);
+ pDM_SWAT_Table->SWAS_NoLink_BK_Reg92c =
+ rtw_read32(pDM_Odm->Adapter, rDPDT_control);
pDM_SWAT_Table->PreAntenna = MAIN_ANT;
pDM_SWAT_Table->CurAntenna = MAIN_ANT;
pDM_SWAT_Table->SWAS_NoLink_State = 0;
@@ -520,11 +534,14 @@ void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm)
/* pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true; */
pDM_Odm->RFCalibrateInfo.ThermalValue = pHalData->EEPROMThermalMeter;
- pDM_Odm->RFCalibrateInfo.ThermalValue_IQK = pHalData->EEPROMThermalMeter;
- pDM_Odm->RFCalibrateInfo.ThermalValue_LCK = pHalData->EEPROMThermalMeter;
+ pDM_Odm->RFCalibrateInfo.ThermalValue_IQK =
+ pHalData->EEPROMThermalMeter;
+ pDM_Odm->RFCalibrateInfo.ThermalValue_LCK =
+ pHalData->EEPROMThermalMeter;
/* The index of "0 dB" in SwingTable. */
- pDM_Odm->DefaultOfdmIndex = (defaultSwingIndex >= OFDM_TABLE_SIZE) ? 30 : defaultSwingIndex;
+ pDM_Odm->DefaultOfdmIndex =
+ (defaultSwingIndex >= OFDM_TABLE_SIZE) ? 30 : defaultSwingIndex;
pDM_Odm->DefaultCckIndex = 20;
pDM_Odm->BbSwingIdxCckBase = pDM_Odm->DefaultCckIndex;
@@ -532,12 +549,12 @@ void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm)
for (p = RF_PATH_A; p < MAX_RF_PATH; ++p) {
pDM_Odm->BbSwingIdxOfdmBase[p] = pDM_Odm->DefaultOfdmIndex;
- pDM_Odm->RFCalibrateInfo.OFDM_index[p] = pDM_Odm->DefaultOfdmIndex;
+ pDM_Odm->RFCalibrateInfo.OFDM_index[p] =
+ pDM_Odm->DefaultOfdmIndex;
pDM_Odm->RFCalibrateInfo.DeltaPowerIndex[p] = 0;
pDM_Odm->RFCalibrateInfo.DeltaPowerIndexLast[p] = 0;
pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0;
}
-
}
void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm)
@@ -548,7 +565,8 @@ void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm)
return;
if (!pDM_Odm->RFCalibrateInfo.TM_Trigger) { /* at least delay 1 sec */
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_T_METER_NEW, (BIT(17) | BIT(16)), 0x03);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_T_METER_NEW,
+ (BIT(17) | BIT(16)), 0x03);
pDM_Odm->RFCalibrateInfo.TM_Trigger = 1;
return;
@@ -567,7 +585,6 @@ void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm)
/* */
void ODM_DMInit(struct dm_odm_t *pDM_Odm)
{
-
odm_CommonInfoSelfInit(pDM_Odm);
odm_DIGInit(pDM_Odm);
odm_NHMCounterStatisticsInit(pDM_Odm);
@@ -636,7 +653,8 @@ void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm)
/* */
/* Init /.. Fixed HW value. Only init time. */
/* */
-void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 Value)
+void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo,
+ u32 Value)
{
/* */
/* This section is used for init value */
@@ -673,7 +691,7 @@ void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 V
pDM_Odm->RFEType = (u8)Value;
break;
- case ODM_CMNINFO_RF_ANTENNA_TYPE:
+ case ODM_CMNINFO_RF_ANTENNA_TYPE:
pDM_Odm->AntDivType = (u8)Value;
break;
@@ -724,10 +742,10 @@ void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 V
/* do nothing */
break;
}
-
}
-void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void *pValue)
+void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo,
+ void *pValue)
{
/* */
/* Hook call by reference pointer. */
@@ -793,19 +811,19 @@ void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void
break;
case ODM_CMNINFO_DRV_STOP:
- pDM_Odm->pbDriverStopped = pValue;
+ pDM_Odm->pbDriverStopped = pValue;
break;
case ODM_CMNINFO_PNP_IN:
- pDM_Odm->pbDriverIsGoingToPnpSetPowerSleep = pValue;
+ pDM_Odm->pbDriverIsGoingToPnpSetPowerSleep = pValue;
break;
case ODM_CMNINFO_INIT_ON:
- pDM_Odm->pinit_adpt_in_progress = pValue;
+ pDM_Odm->pinit_adpt_in_progress = pValue;
break;
case ODM_CMNINFO_ANT_TEST:
- pDM_Odm->pAntennaTest = pValue;
+ pDM_Odm->pAntennaTest = pValue;
break;
case ODM_CMNINFO_NET_CLOSED:
@@ -847,15 +865,11 @@ void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void
/* do nothing */
break;
}
-
}
-void ODM_CmnInfoPtrArrayHook(
- struct dm_odm_t *pDM_Odm,
- enum odm_cmninfo_e CmnInfo,
- u16 Index,
- void *pValue
-)
+void ODM_CmnInfoPtrArrayHook(struct dm_odm_t *pDM_Odm,
+ enum odm_cmninfo_e CmnInfo, u16 Index,
+ void *pValue)
{
/* */
/* Hook call by reference pointer. */
@@ -872,7 +886,6 @@ void ODM_CmnInfoPtrArrayHook(
/* do nothing */
break;
}
-
}
/* */
@@ -985,4 +998,3 @@ void ODM_CmnInfoUpdate(struct dm_odm_t *pDM_Odm, u32 CmnInfo, u64 Value)
/* 3 ============================================================ */
/* Remove BY YuChen */
-
diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h
index ee263790b32be..afb6e3ab92d7d 100644
--- a/drivers/staging/rtl8723bs/hal/odm.h
+++ b/drivers/staging/rtl8723bs/hal/odm.h
@@ -5,7 +5,7 @@
*
******************************************************************************/
-#ifndef __HALDMOUTSRC_H__
+#ifndef __HALDMOUTSRC_H__
#define __HALDMOUTSRC_H__
#include "odm_EdcaTurboCheck.h"
@@ -14,63 +14,63 @@
#include "odm_DynamicTxPower.h"
#include "odm_CfoTracking.h"
-#define TP_MODE 0
-#define RSSI_MODE 1
-#define TRAFFIC_LOW 0
-#define TRAFFIC_HIGH 1
-#define NONE 0
+#define TP_MODE 0
+#define RSSI_MODE 1
+#define TRAFFIC_LOW 0
+#define TRAFFIC_HIGH 1
+#define NONE 0
/* 3 Tx Power Tracking */
/* 3 ============================================================ */
-#define DPK_DELTA_MAPPING_NUM 13
-#define index_mapping_HP_NUM 15
-#define OFDM_TABLE_SIZE 43
-#define CCK_TABLE_SIZE 33
-#define TXSCALE_TABLE_SIZE 37
-#define TXPWR_TRACK_TABLE_SIZE 30
-#define DELTA_SWINGIDX_SIZE 30
-#define BAND_NUM 4
+#define DPK_DELTA_MAPPING_NUM 13
+#define index_mapping_HP_NUM 15
+#define OFDM_TABLE_SIZE 43
+#define CCK_TABLE_SIZE 33
+#define TXSCALE_TABLE_SIZE 37
+#define TXPWR_TRACK_TABLE_SIZE 30
+#define DELTA_SWINGIDX_SIZE 30
+#define BAND_NUM 4
/* 3 PSD Handler */
/* 3 ============================================================ */
-#define AFH_PSD 1 /* 0:normal PSD scan, 1: only do 20 pts PSD */
-#define MODE_40M 0 /* 0:20M, 1:40M */
-#define PSD_TH2 3
-#define PSD_CHMIN 20 /* Minimum channel number for BT AFH */
-#define SIR_STEP_SIZE 3
-#define Smooth_Size_1 5
-#define Smooth_TH_1 3
-#define Smooth_Size_2 10
-#define Smooth_TH_2 4
-#define Smooth_Size_3 20
-#define Smooth_TH_3 4
-#define Smooth_Step_Size 5
-#define Adaptive_SIR 1
-#define PSD_RESCAN 4
-#define PSD_SCAN_INTERVAL 700 /* ms */
+#define AFH_PSD 1 /* 0:normal PSD scan, 1: only do 20 pts PSD */
+#define MODE_40M 0 /* 0:20M, 1:40M */
+#define PSD_TH2 3
+#define PSD_CHMIN 20 /* Minimum channel number for BT AFH */
+#define SIR_STEP_SIZE 3
+#define Smooth_Size_1 5
+#define Smooth_TH_1 3
+#define Smooth_Size_2 10
+#define Smooth_TH_2 4
+#define Smooth_Size_3 20
+#define Smooth_TH_3 4
+#define Smooth_Step_Size 5
+#define Adaptive_SIR 1
+#define PSD_RESCAN 4
+#define PSD_SCAN_INTERVAL 700 /* ms */
/* 8723A High Power IGI Setting */
-#define DM_DIG_HIGH_PWR_IGI_LOWER_BOUND 0x22
-#define DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND 0x28
-#define DM_DIG_HIGH_PWR_THRESHOLD 0x3a
-#define DM_DIG_LOW_PWR_THRESHOLD 0x14
+#define DM_DIG_HIGH_PWR_IGI_LOWER_BOUND 0x22
+#define DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND 0x28
+#define DM_DIG_HIGH_PWR_THRESHOLD 0x3a
+#define DM_DIG_LOW_PWR_THRESHOLD 0x14
/* ANT Test */
-#define ANTTESTALL 0x00 /* Ant A or B will be Testing */
-#define ANTTESTA 0x01 /* Ant A will be Testing */
-#define ANTTESTB 0x02 /* Ant B will be testing */
+#define ANTTESTALL 0x00 /* Ant A or B will be Testing */
+#define ANTTESTA 0x01 /* Ant A will be Testing */
+#define ANTTESTB 0x02 /* Ant B will be testing */
-#define PS_MODE_ACTIVE 0x01
+#define PS_MODE_ACTIVE 0x01
/* for 8723A Ant Definition--2012--06--07 due to different IC may be different ANT define */
-#define MAIN_ANT 1 /* Ant A or Ant Main */
-#define AUX_ANT 2 /* AntB or Ant Aux */
-#define MAX_ANT 3 /* 3 for AP using */
+#define MAIN_ANT 1 /* Ant A or Ant Main */
+#define AUX_ANT 2 /* AntB or Ant Aux */
+#define MAX_ANT 3 /* 3 for AP using */
/* Antenna Diversity Type */
-#define SW_ANTDIV 0
-#define HW_ANTDIV 1
+#define SW_ANTDIV 0
+#define HW_ANTDIV 1
/* structure and define */
/* Remove DIG by Yuchen */
@@ -107,21 +107,21 @@ struct rxhp_t {
struct timer_list PSDTimer;
};
-#define ASSOCIATE_ENTRY_NUM 32 /* Max size of AsocEntry[]. */
-#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM
+#define ASSOCIATE_ENTRY_NUM 32 /* Max size of AsocEntry[]. */
+#define ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM
/* This indicates two different the steps. */
/* In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air. */
/* In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK */
/* with original RSSI to determine if it is necessary to switch antenna. */
-#define SWAW_STEP_PEAK 0
-#define SWAW_STEP_DETERMINE 1
+#define SWAW_STEP_PEAK 0
+#define SWAW_STEP_DETERMINE 1
-#define TP_MODE 0
-#define RSSI_MODE 1
-#define TRAFFIC_LOW 0
-#define TRAFFIC_HIGH 1
-#define TRAFFIC_UltraLOW 2
+#define TP_MODE 0
+#define RSSI_MODE 1
+#define TRAFFIC_LOW 0
+#define TRAFFIC_HIGH 1
+#define TRAFFIC_UltraLOW 2
struct swat_t { /* _SW_Antenna_Switch_ */
u8 Double_chk_flag;
@@ -145,8 +145,8 @@ struct swat_t { /* _SW_Antenna_Switch_ */
u32 SWAS_NoLink_BK_Reg860;
u32 SWAS_NoLink_BK_Reg92c;
u32 SWAS_NoLink_BK_Reg948;
- bool ANTA_ON; /* To indicate Ant A is or not */
- bool ANTB_ON; /* To indicate Ant B is on or not */
+ bool ANTA_ON; /* To indicate Ant A is or not */
+ bool ANTB_ON; /* To indicate Ant B is on or not */
bool Pre_Aux_FailDetec;
bool RSSI_AntDect_bResult;
u8 Ant2G;
@@ -174,36 +174,35 @@ struct swat_t { /* _SW_Antenna_Switch_ */
/* Remove Edca by YuChen */
struct odm_rate_adaptive {
- u8 Type; /* DM_Type_ByFW/DM_Type_ByDriver */
- u8 LdpcThres; /* if RSSI > LdpcThres => switch from LPDC to BCC */
+ u8 Type; /* DM_Type_ByFW/DM_Type_ByDriver */
+ u8 LdpcThres; /* if RSSI > LdpcThres => switch from LPDC to BCC */
bool bUseLdpc;
bool bLowerRtsRate;
- u8 HighRSSIThresh; /* if RSSI > HighRSSIThresh => RATRState is DM_RATR_STA_HIGH */
- u8 LowRSSIThresh; /* if RSSI <= LowRSSIThresh => RATRState is DM_RATR_STA_LOW */
- u8 RATRState; /* Current RSSI level, DM_RATR_STA_HIGH/DM_RATR_STA_MIDDLE/DM_RATR_STA_LOW */
-
+ u8 HighRSSIThresh; /* if RSSI > HighRSSIThresh => RATRState is DM_RATR_STA_HIGH */
+ u8 LowRSSIThresh; /* if RSSI <= LowRSSIThresh => RATRState is DM_RATR_STA_LOW */
+ u8 RATRState; /* Current RSSI level, DM_RATR_STA_HIGH/DM_RATR_STA_MIDDLE/DM_RATR_STA_LOW */
};
-#define IQK_MAC_REG_NUM 4
-#define IQK_ADDA_REG_NUM 16
-#define IQK_BB_REG_NUM_MAX 10
-#define IQK_BB_REG_NUM 9
-#define HP_THERMAL_NUM 8
+#define IQK_MAC_REG_NUM 4
+#define IQK_ADDA_REG_NUM 16
+#define IQK_BB_REG_NUM_MAX 10
+#define IQK_BB_REG_NUM 9
+#define HP_THERMAL_NUM 8
-#define AVG_THERMAL_NUM 8
-#define IQK_MATRIX_REG_NUM 8
-#define IQK_MATRIX_SETTINGS_NUM 14 /* Channels_2_4G_NUM */
+#define AVG_THERMAL_NUM 8
+#define IQK_MATRIX_REG_NUM 8
+#define IQK_MATRIX_SETTINGS_NUM 14 /* Channels_2_4G_NUM */
-#define DM_Type_ByFW 0
-#define DM_Type_ByDriver 1
+#define DM_Type_ByFW 0
+#define DM_Type_ByDriver 1
/* */
/* Declare for common info */
/* */
-#define MAX_PATH_NUM_8723B 1
+#define MAX_PATH_NUM_8723B 1
-#define IQK_THRESHOLD 8
-#define DPK_THRESHOLD 4
+#define IQK_THRESHOLD 8
+#define DPK_THRESHOLD 4
struct odm_phy_info {
/*
@@ -212,16 +211,16 @@ struct odm_phy_info {
*/
u8 rx_pwd_ba11;
- u8 signal_quality; /* in 0-100 index. */
- s8 rx_mimo_signal_quality[4]; /* per-path's EVM */
- u8 rx_mimo_evm_dbm[4]; /* per-path's EVM dbm */
+ u8 signal_quality; /* in 0-100 index. */
+ s8 rx_mimo_signal_quality[4]; /* per-path's EVM */
+ u8 rx_mimo_evm_dbm[4]; /* per-path's EVM dbm */
u8 rx_mimo_signal_strength[4]; /* in 0~100 index */
- u16 cfo_short[4]; /* per-path's Cfo_short */
- u16 cfo_tail[4]; /* per-path's Cfo_tail */
+ u16 cfo_short[4]; /* per-path's Cfo_short */
+ u16 cfo_tail[4]; /* per-path's Cfo_tail */
- s8 rx_power; /* in dBm Translate from PWdB */
+ s8 rx_power; /* in dBm Translate from PWdB */
/*
* Real power in dBm for this packet, no beautification and
@@ -229,11 +228,11 @@ struct odm_phy_info {
*/
s8 recv_signal_power;
u8 bt_rx_rssi_percentage;
- u8 signal_strength; /* in 0-100 index. */
+ u8 signal_strength; /* in 0-100 index. */
- s8 rx_pwr[4]; /* per-path's pwdb */
+ s8 rx_pwr[4]; /* per-path's pwdb */
- u8 rx_snr[4]; /* per-path's SNR */
+ u8 rx_snr[4]; /* per-path's SNR */
u8 band_width;
u8 bt_coex_pwr_adjust;
};
@@ -255,7 +254,6 @@ struct odm_phy_dbg_info {
u8 NumQryBeaconPkt;
/* Others */
s32 RxEVM[4];
-
};
struct odm_mac_status_info {
@@ -270,35 +268,35 @@ enum odm_cmninfo_e {
/* HOOK BEFORE REG INIT----------- */
ODM_CMNINFO_PLATFORM = 0,
- ODM_CMNINFO_ABILITY, /* ODM_ABILITY_E */
- ODM_CMNINFO_INTERFACE, /* ODM_INTERFACE_E */
- ODM_CMNINFO_IC_TYPE, /* ODM_IC_TYPE_E */
- ODM_CMNINFO_CUT_VER, /* ODM_CUT_VERSION_E */
- ODM_CMNINFO_FAB_VER, /* ODM_FAB_E */
+ ODM_CMNINFO_ABILITY, /* ODM_ABILITY_E */
+ ODM_CMNINFO_INTERFACE, /* ODM_INTERFACE_E */
+ ODM_CMNINFO_IC_TYPE, /* ODM_IC_TYPE_E */
+ ODM_CMNINFO_CUT_VER, /* ODM_CUT_VERSION_E */
+ ODM_CMNINFO_FAB_VER, /* ODM_FAB_E */
ODM_CMNINFO_RFE_TYPE,
ODM_CMNINFO_PACKAGE_TYPE,
- ODM_CMNINFO_EXT_LNA, /* true */
+ ODM_CMNINFO_EXT_LNA, /* true */
ODM_CMNINFO_EXT_PA,
ODM_CMNINFO_GPA,
ODM_CMNINFO_APA,
ODM_CMNINFO_GLNA,
ODM_CMNINFO_ALNA,
ODM_CMNINFO_EXT_TRSW,
- ODM_CMNINFO_PATCH_ID, /* CUSTOMER ID */
+ ODM_CMNINFO_PATCH_ID, /* CUSTOMER ID */
ODM_CMNINFO_BINHCT_TEST,
ODM_CMNINFO_BWIFI_TEST,
ODM_CMNINFO_SMART_CONCURRENT,
/* HOOK BEFORE REG INIT----------- */
/* Dynamic value: */
-/* POINTER REFERENCE----------- */
- ODM_CMNINFO_MAC_PHY_MODE, /* ODM_MAC_PHY_MODE_E */
+ /* POINTER REFERENCE----------- */
+ ODM_CMNINFO_MAC_PHY_MODE, /* ODM_MAC_PHY_MODE_E */
ODM_CMNINFO_TX_UNI,
ODM_CMNINFO_RX_UNI,
- ODM_CMNINFO_WM_MODE, /* ODM_WIRELESS_MODE_E */
- ODM_CMNINFO_SEC_CHNL_OFFSET, /* ODM_SEC_CHNL_OFFSET_E */
- ODM_CMNINFO_SEC_MODE, /* ODM_SECURITY_E */
- ODM_CMNINFO_BW, /* ODM_BW_E */
+ ODM_CMNINFO_WM_MODE, /* ODM_WIRELESS_MODE_E */
+ ODM_CMNINFO_SEC_CHNL_OFFSET, /* ODM_SEC_CHNL_OFFSET_E */
+ ODM_CMNINFO_SEC_MODE, /* ODM_SECURITY_E */
+ ODM_CMNINFO_BW, /* ODM_BW_E */
ODM_CMNINFO_CHNL,
ODM_CMNINFO_FORCED_RATE,
@@ -307,7 +305,7 @@ enum odm_cmninfo_e {
ODM_CMNINFO_DMSP_IS_MASTER,
ODM_CMNINFO_SCAN,
ODM_CMNINFO_POWER_SAVING,
- ODM_CMNINFO_ONE_PATH_CCA, /* ODM_CCA_PATH_E */
+ ODM_CMNINFO_ONE_PATH_CCA, /* ODM_CCA_PATH_E */
ODM_CMNINFO_DRV_STOP,
ODM_CMNINFO_PNP_IN,
ODM_CMNINFO_INIT_ON,
@@ -318,27 +316,27 @@ enum odm_cmninfo_e {
ODM_CMNINFO_FORCED_IGI_LB,
ODM_CMNINFO_IS1ANTENNA,
ODM_CMNINFO_RFDEFAULTPATH,
-/* POINTER REFERENCE----------- */
+ /* POINTER REFERENCE----------- */
-/* CALL BY VALUE------------- */
+ /* CALL BY VALUE------------- */
ODM_CMNINFO_WIFI_DIRECT,
ODM_CMNINFO_WIFI_DISPLAY,
ODM_CMNINFO_LINK_IN_PROGRESS,
ODM_CMNINFO_LINK,
ODM_CMNINFO_STATION_STATE,
ODM_CMNINFO_RSSI_MIN,
- ODM_CMNINFO_DBG_COMP, /* u64 */
- ODM_CMNINFO_DBG_LEVEL, /* u32 */
- ODM_CMNINFO_RA_THRESHOLD_HIGH, /* u8 */
- ODM_CMNINFO_RA_THRESHOLD_LOW, /* u8 */
- ODM_CMNINFO_RF_ANTENNA_TYPE, /* u8 */
+ ODM_CMNINFO_DBG_COMP, /* u64 */
+ ODM_CMNINFO_DBG_LEVEL, /* u32 */
+ ODM_CMNINFO_RA_THRESHOLD_HIGH, /* u8 */
+ ODM_CMNINFO_RA_THRESHOLD_LOW, /* u8 */
+ ODM_CMNINFO_RF_ANTENNA_TYPE, /* u8 */
ODM_CMNINFO_BT_ENABLED,
ODM_CMNINFO_BT_HS_CONNECT_PROCESS,
ODM_CMNINFO_BT_HS_RSSI,
ODM_CMNINFO_BT_OPERATION,
- ODM_CMNINFO_BT_LIMITED_DIG, /* Need to Limited Dig or not */
+ ODM_CMNINFO_BT_LIMITED_DIG, /* Need to Limited Dig or not */
ODM_CMNINFO_BT_DISABLE_EDCA,
-/* CALL BY VALUE------------- */
+ /* CALL BY VALUE------------- */
/* Dynamic ptr array hook itms. */
ODM_CMNINFO_STA_STATUS,
@@ -350,79 +348,79 @@ enum odm_cmninfo_e {
/* 2011/10/20 MH Define ODM support ability. ODM_CMNINFO_ABILITY */
enum { /* _ODM_Support_Ability_Definition */
- /* */
- /* BB ODM section BIT 0-15 */
- /* */
- ODM_BB_DIG = BIT(0),
- ODM_BB_RA_MASK = BIT(1),
- ODM_BB_DYNAMIC_TXPWR = BIT(2),
- ODM_BB_FA_CNT = BIT(3),
- ODM_BB_RSSI_MONITOR = BIT(4),
- ODM_BB_CCK_PD = BIT(5),
- ODM_BB_ANT_DIV = BIT(6),
- ODM_BB_PWR_SAVE = BIT(7),
- ODM_BB_PWR_TRAIN = BIT(8),
- ODM_BB_RATE_ADAPTIVE = BIT(9),
- ODM_BB_PATH_DIV = BIT(10),
- ODM_BB_PSD = BIT(11),
- ODM_BB_RXHP = BIT(12),
- ODM_BB_ADAPTIVITY = BIT(13),
- ODM_BB_CFO_TRACKING = BIT(14),
-
- /* MAC DM section BIT 16-23 */
- ODM_MAC_EDCA_TURBO = BIT(16),
- ODM_MAC_EARLY_MODE = BIT(17),
-
- /* RF ODM section BIT 24-31 */
- ODM_RF_TX_PWR_TRACK = BIT(24),
- ODM_RF_RX_GAIN_TRACK = BIT(25),
- ODM_RF_CALIBRATION = BIT(26),
+ /* */
+ /* BB ODM section BIT 0-15 */
+ /* */
+ ODM_BB_DIG = BIT(0),
+ ODM_BB_RA_MASK = BIT(1),
+ ODM_BB_DYNAMIC_TXPWR = BIT(2),
+ ODM_BB_FA_CNT = BIT(3),
+ ODM_BB_RSSI_MONITOR = BIT(4),
+ ODM_BB_CCK_PD = BIT(5),
+ ODM_BB_ANT_DIV = BIT(6),
+ ODM_BB_PWR_SAVE = BIT(7),
+ ODM_BB_PWR_TRAIN = BIT(8),
+ ODM_BB_RATE_ADAPTIVE = BIT(9),
+ ODM_BB_PATH_DIV = BIT(10),
+ ODM_BB_PSD = BIT(11),
+ ODM_BB_RXHP = BIT(12),
+ ODM_BB_ADAPTIVITY = BIT(13),
+ ODM_BB_CFO_TRACKING = BIT(14),
+
+ /* MAC DM section BIT 16-23 */
+ ODM_MAC_EDCA_TURBO = BIT(16),
+ ODM_MAC_EARLY_MODE = BIT(17),
+
+ /* RF ODM section BIT 24-31 */
+ ODM_RF_TX_PWR_TRACK = BIT(24),
+ ODM_RF_RX_GAIN_TRACK = BIT(25),
+ ODM_RF_CALIBRATION = BIT(26),
};
-/* ODM_CMNINFO_INTERFACE */
+/* ODM_CMNINFO_INTERFACE */
enum { /* tag_ODM_Support_Interface_Definition */
- ODM_ITRF_SDIO = 0x4,
- ODM_ITRF_ALL = 0x7,
+ ODM_ITRF_SDIO = 0x4,
+ ODM_ITRF_ALL = 0x7,
};
/* ODM_CMNINFO_IC_TYPE */
enum { /* tag_ODM_Support_IC_Type_Definition */
- ODM_RTL8723B = BIT(8),
+ ODM_RTL8723B = BIT(8),
};
/* ODM_CMNINFO_CUT_VER */
enum { /* tag_ODM_Cut_Version_Definition */
- ODM_CUT_A = 0,
- ODM_CUT_B = 1,
- ODM_CUT_C = 2,
- ODM_CUT_D = 3,
- ODM_CUT_E = 4,
- ODM_CUT_F = 5,
-
- ODM_CUT_I = 8,
- ODM_CUT_J = 9,
- ODM_CUT_K = 10,
- ODM_CUT_TEST = 15,
+ ODM_CUT_A = 0,
+ ODM_CUT_B = 1,
+ ODM_CUT_C = 2,
+ ODM_CUT_D = 3,
+ ODM_CUT_E = 4,
+ ODM_CUT_F = 5,
+
+ ODM_CUT_I = 8,
+ ODM_CUT_J = 9,
+ ODM_CUT_K = 10,
+ ODM_CUT_TEST = 15,
};
/* ODM_CMNINFO_FAB_VER */
enum { /* tag_ODM_Fab_Version_Definition */
- ODM_TSMC = 0,
- ODM_UMC = 1,
+ ODM_TSMC = 0,
+ ODM_UMC = 1,
};
/* */
/* For example 1T2R (A+AB = BIT0|BIT4|BIT5) */
/* */
enum { /* tag_ODM_RF_Type_Definition */
- ODM_1T1R = 0,
- ODM_1T2R = 1,
- ODM_2T2R = 2,
- ODM_2T3R = 3,
- ODM_2T4R = 4,
- ODM_3T3R = 5,
- ODM_3T4R = 6,
- ODM_4T4R = 7,
+ ODM_1T1R = 0,
+ ODM_1T2R = 1,
+ ODM_2T2R = 2,
+ ODM_2T3R = 3,
+ ODM_2T4R = 4,
+ ODM_3T3R = 5,
+ ODM_3T4R = 6,
+ ODM_4T4R = 7,
};
/* */
@@ -431,43 +429,43 @@ enum { /* tag_ODM_RF_Type_Definition */
/* ODM_CMNINFO_WM_MODE */
enum { /* tag_Wireless_Mode_Definition */
- ODM_WM_UNKNOWN = 0x0,
- ODM_WM_B = BIT(0),
- ODM_WM_G = BIT(1),
- ODM_WM_N24G = BIT(3),
- ODM_WM_AUTO = BIT(5),
+ ODM_WM_UNKNOWN = 0x0,
+ ODM_WM_B = BIT(0),
+ ODM_WM_G = BIT(1),
+ ODM_WM_N24G = BIT(3),
+ ODM_WM_AUTO = BIT(5),
};
/* ODM_CMNINFO_BW */
enum { /* tag_Bandwidth_Definition */
- ODM_BW20M = 0,
- ODM_BW40M = 1,
+ ODM_BW20M = 0,
+ ODM_BW40M = 1,
};
/* For AC-series IC, external PA & LNA can be individually added on 2.4G */
enum odm_type_gpa_e { /* tag_ODM_TYPE_GPA_Definition */
- TYPE_GPA0 = 0,
- TYPE_GPA1 = BIT(1)|BIT(0)
+ TYPE_GPA0 = 0,
+ TYPE_GPA1 = BIT(1) | BIT(0)
};
enum odm_type_apa_e { /* tag_ODM_TYPE_APA_Definition */
- TYPE_APA0 = 0,
- TYPE_APA1 = BIT(1)|BIT(0)
+ TYPE_APA0 = 0,
+ TYPE_APA1 = BIT(1) | BIT(0)
};
enum odm_type_glna_e { /* tag_ODM_TYPE_GLNA_Definition */
- TYPE_GLNA0 = 0,
- TYPE_GLNA1 = BIT(2)|BIT(0),
- TYPE_GLNA2 = BIT(3)|BIT(1),
- TYPE_GLNA3 = BIT(3)|BIT(2)|BIT(1)|BIT(0)
+ TYPE_GLNA0 = 0,
+ TYPE_GLNA1 = BIT(2) | BIT(0),
+ TYPE_GLNA2 = BIT(3) | BIT(1),
+ TYPE_GLNA3 = BIT(3) | BIT(2) | BIT(1) | BIT(0)
};
enum odm_type_alna_e { /* tag_ODM_TYPE_ALNA_Definition */
- TYPE_ALNA0 = 0,
- TYPE_ALNA1 = BIT(2)|BIT(0),
- TYPE_ALNA2 = BIT(3)|BIT(1),
- TYPE_ALNA3 = BIT(3)|BIT(2)|BIT(1)|BIT(0)
+ TYPE_ALNA0 = 0,
+ TYPE_ALNA1 = BIT(2) | BIT(0),
+ TYPE_ALNA2 = BIT(3) | BIT(1),
+ TYPE_ALNA3 = BIT(3) | BIT(2) | BIT(1) | BIT(0)
};
/* Remove PATHDIV_PARA struct to odm_PathDiv.h */
@@ -487,7 +485,7 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */
u8 TxPowerTrackControl; /* for mp mode, turn off txpwrtracking as default */
u8 TM_Trigger;
- u8 ThermalMeter[2]; /* ThermalMeter, index 0 for RFIC0, and 1 for RFIC1 */
+ u8 ThermalMeter[2]; /* ThermalMeter, index 0 for RFIC0, and 1 for RFIC1 */
u8 ThermalValue;
u8 ThermalValue_LCK;
u8 ThermalValue_IQK;
@@ -515,7 +513,8 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */
u8 ThermalValue_HP[HP_THERMAL_NUM];
u8 ThermalValue_HP_index;
- s32 iqk_matrix_regs_setting_value[IQK_MATRIX_SETTINGS_NUM][IQK_MATRIX_REG_NUM];
+ s32 iqk_matrix_regs_setting_value[IQK_MATRIX_SETTINGS_NUM]
+ [IQK_MATRIX_REG_NUM];
bool bNeedIQK;
bool bIQKInProgress;
u8 Delta_IQK;
@@ -551,8 +550,12 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */
u32 IQK_MAC_backup[IQK_MAC_REG_NUM];
u32 IQK_BB_backup_recover[9];
u32 IQK_BB_backup[IQK_BB_REG_NUM];
- u32 TxIQC_8723B[2][3][2]; /* { {S1: 0xc94, 0xc80, 0xc4c} , {S0: 0xc9c, 0xc88, 0xc4c}} */
- u32 RxIQC_8723B[2][2][2]; /* { {S1: 0xc14, 0xca0} , {S0: 0xc14, 0xca0}} */
+ u32 TxIQC_8723B
+ [2][3]
+ [2]; /* { {S1: 0xc94, 0xc80, 0xc4c} , {S0: 0xc9c, 0xc88, 0xc4c}} */
+ u32 RxIQC_8723B
+ [2][2]
+ [2]; /* { {S1: 0xc14, 0xca0} , {S0: 0xc14, 0xca0}} */
/* for APK */
u32 APKoutput[2][2]; /* path A/B; output1_1a/output1_2a */
@@ -566,7 +569,6 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */
u8 bDPPathBOK;
u32 TxLOK[2];
-
};
/* */
/* ODM Dynamic common info value definition */
@@ -591,7 +593,7 @@ struct fat_t { /* _FAST_ANTENNA_TRAINNING_ */
u32 MainAnt_Cnt[ODM_ASSOCIATE_ENTRY_NUM];
u32 AuxAnt_Cnt[ODM_ASSOCIATE_ENTRY_NUM];
u8 RxIdleAnt;
- bool bBecomeLinked;
+ bool bBecomeLinked;
u32 MinMaxRSSI;
u8 idx_AntDiv_counter_2G;
u32 CCK_counter_main;
@@ -607,17 +609,16 @@ struct fat_t { /* _FAST_ANTENNA_TRAINNING_ */
u32 AuxAnt_CtrlFrame_Sum;
u32 MainAnt_CtrlFrame_Cnt;
u32 AuxAnt_CtrlFrame_Cnt;
-
};
enum {
- NO_ANTDIV = 0xFF,
- CG_TRX_HW_ANTDIV = 0x01,
- CGCS_RX_HW_ANTDIV = 0x02,
- FIXED_HW_ANTDIV = 0x03,
- CG_TRX_SMART_ANTDIV = 0x04,
- CGCS_RX_SW_ANTDIV = 0x05,
- S0S1_SW_ANTDIV = 0x06 /* 8723B intrnal switch S0 S1 */
+ NO_ANTDIV = 0xFF,
+ CG_TRX_HW_ANTDIV = 0x01,
+ CGCS_RX_HW_ANTDIV = 0x02,
+ FIXED_HW_ANTDIV = 0x03,
+ CG_TRX_SMART_ANTDIV = 0x04,
+ CGCS_RX_SW_ANTDIV = 0x05,
+ S0S1_SW_ANTDIV = 0x06 /* 8723B intrnal switch S0 S1 */
};
struct pathdiv_t { /* _ODM_PATH_DIVERSITY_ */
@@ -630,8 +631,8 @@ struct pathdiv_t { /* _ODM_PATH_DIVERSITY_ */
};
enum phy_reg_pg_type { /* _BASEBAND_CONFIG_PHY_REG_PG_VALUE_TYPE */
- PHY_REG_PG_RELATIVE_VALUE = 0,
- PHY_REG_PG_EXACT_VALUE = 1
+ PHY_REG_PG_RELATIVE_VALUE = 0,
+ PHY_REG_PG_EXACT_VALUE = 1
};
/* */
@@ -648,31 +649,31 @@ struct ant_detected_info {
/* 2011/09/22 MH Copy from SD4 defined structure. We use to support PHY DM integration. */
/* */
struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
- struct adapter *Adapter; /* For CE/NIC team */
+ struct adapter *Adapter; /* For CE/NIC team */
/* WHen you use Adapter or priv pointer, you must make sure the pointer is ready. */
bool odm_ready;
enum phy_reg_pg_type PhyRegPgValueType;
u8 PhyRegPgVersion;
- u32 NumQryPhyStatusAll; /* CCK + OFDM */
+ u32 NumQryPhyStatusAll; /* CCK + OFDM */
u32 LastNumQryPhyStatusAll;
u32 RxPWDBAve;
- bool MPDIG_2G; /* off MPDIG */
+ bool MPDIG_2G; /* off MPDIG */
u8 Times_2G;
-/* ODM HANDLE, DRIVER NEEDS NOT TO HOOK------ */
+ /* ODM HANDLE, DRIVER NEEDS NOT TO HOOK------ */
bool bCckHighPower;
- u8 RFPathRxEnable; /* ODM_CMNINFO_RFPATH_ENABLE */
+ u8 RFPathRxEnable; /* ODM_CMNINFO_RFPATH_ENABLE */
u8 ControlChannel;
-/* ODM HANDLE, DRIVER NEEDS NOT TO HOOK------ */
+ /* ODM HANDLE, DRIVER NEEDS NOT TO HOOK------ */
-/* 1 COMMON INFORMATION */
+ /* 1 COMMON INFORMATION */
/* */
/* Init Value */
/* */
-/* HOOK BEFORE REG INIT----------- */
+ /* HOOK BEFORE REG INIT----------- */
/* ODM Platform info AP/ADSL/CE/MP = 1/2/3/4 */
u8 SupportPlatform;
/* ODM Support Ability DIG/RATR/TX_PWR_TRACK/... = 1/2/3/... */
@@ -707,12 +708,12 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
bool bDualMacSmartConcurrent;
u32 BK_SupportAbility;
u8 AntDivType;
-/* HOOK BEFORE REG INIT----------- */
+ /* HOOK BEFORE REG INIT----------- */
/* */
/* Dynamic Value */
/* */
-/* POINTER REFERENCE----------- */
+ /* POINTER REFERENCE----------- */
u8 u8_temp;
bool bool_temp;
@@ -750,14 +751,14 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
bool *pbNet_closed;
u8 *mp_mode;
u8 *pu1ForcedIgiLb;
-/* For 8723B IQK----------- */
+ /* For 8723B IQK----------- */
bool *pIs1Antenna;
u8 *pRFDefaultPath;
/* 0:S1, 1:S0 */
-/* POINTER REFERENCE----------- */
+ /* POINTER REFERENCE----------- */
u16 *pForcedDataRate;
-/* CALL BY VALUE------------- */
+ /* CALL BY VALUE------------- */
bool bLinkInProcess;
bool bWIFI_Direct;
bool bWIFI_Display;
@@ -768,13 +769,13 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
u8 InterfaceIndex; /* Add for 92D dual MAC: 0--Mac0 1--Mac1 */
bool bOneEntryOnly;
/* Common info for BTDM */
- bool bBtEnabled; /* BT is disabled */
- bool bBtConnectProcess; /* BT HS is under connection progress. */
- u8 btHsRssi; /* BT HS mode wifi rssi value. */
- bool bBtHsOperation; /* BT HS mode is under progress */
- bool bBtDisableEdcaTurbo; /* Under some condition, don't enable the EDCA Turbo */
- bool bBtLimitedDig; /* BT is busy. */
-/* CALL BY VALUE------------- */
+ bool bBtEnabled; /* BT is disabled */
+ bool bBtConnectProcess; /* BT HS is under connection progress. */
+ u8 btHsRssi; /* BT HS mode wifi rssi value. */
+ bool bBtHsOperation; /* BT HS mode is under progress */
+ bool bBtDisableEdcaTurbo; /* Under some condition, don't enable the EDCA Turbo */
+ bool bBtLimitedDig; /* BT is busy. */
+ /* CALL BY VALUE------------- */
u8 RSSI_A;
u8 RSSI_B;
u64 RSSI_TRSW;
@@ -791,8 +792,8 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
bool IsTxagcOffsetPositiveA;
u32 TxagcOffsetValueB;
bool IsTxagcOffsetPositiveB;
- u64 lastTxOkCnt;
- u64 lastRxOkCnt;
+ u64 lastTxOkCnt;
+ u64 lastRxOkCnt;
u32 BbSwingOffsetA;
bool IsBbSwingOffsetPositiveA;
u32 BbSwingOffsetB;
@@ -883,7 +884,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
/* PSD */
bool bUserAssignLevel;
struct timer_list PSDTimer;
- u8 RSSI_BT; /* come from BT */
+ u8 RSSI_BT; /* come from BT */
bool bPSDinProcess;
bool bPSDactive;
bool bDMInitialGainEnable;
@@ -896,7 +897,8 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
struct odm_rate_adaptive RateAdaptive;
- struct ant_detected_info AntDetectedInfo; /* Antenna detected information for RSSI tool */
+ struct ant_detected_info
+ AntDetectedInfo; /* Antenna detected information for RSSI tool */
struct odm_rf_cal_t RFCalibrateInfo;
@@ -917,7 +919,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
s8 Absolute_OFDMSwingIdx[MAX_RF_PATH];
s8 Remnant_OFDMSwingIdx[MAX_RF_PATH];
s8 Remnant_CCKSwingIdx;
- s8 Modify_TxAGC_Value; /* Remnat compensate value at TxAGC */
+ s8 Modify_TxAGC_Value; /* Remnat compensate value at TxAGC */
bool Modify_TxAGC_Flag_PathA;
bool Modify_TxAGC_Flag_PathB;
bool Modify_TxAGC_Flag_PathC;
@@ -937,9 +939,9 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */
/* ODM relative workitem. */
- #if (BEAMFORMING_SUPPORT == 1)
+#if (BEAMFORMING_SUPPORT == 1)
RT_BEAMFORMING_INFO BeamformingInfo;
- #endif
+#endif
};
enum odm_rf_content {
@@ -984,15 +986,15 @@ enum ODM_FW_Config_Type {
/* 3 =========================================================== */
/* 3 AGC RX High Power Mode */
/* 3 =========================================================== */
-#define LNA_Low_Gain_1 0x64
-#define LNA_Low_Gain_2 0x5A
-#define LNA_Low_Gain_3 0x58
+#define LNA_Low_Gain_1 0x64
+#define LNA_Low_Gain_2 0x5A
+#define LNA_Low_Gain_3 0x58
-#define FA_RXHP_TH1 5000
-#define FA_RXHP_TH2 1500
-#define FA_RXHP_TH3 800
-#define FA_RXHP_TH4 600
-#define FA_RXHP_TH5 500
+#define FA_RXHP_TH1 5000
+#define FA_RXHP_TH2 1500
+#define FA_RXHP_TH3 800
+#define FA_RXHP_TH4 600
+#define FA_RXHP_TH5 500
/* 3 =========================================================== */
/* 3 EDCA */
@@ -1006,95 +1008,85 @@ enum ODM_FW_Config_Type {
/* 3 =========================================================== */
/* 3 Rate Adaptive */
/* 3 =========================================================== */
-#define DM_RATR_STA_INIT 0
-#define DM_RATR_STA_HIGH 1
-#define DM_RATR_STA_MIDDLE 2
-#define DM_RATR_STA_LOW 3
+#define DM_RATR_STA_INIT 0
+#define DM_RATR_STA_HIGH 1
+#define DM_RATR_STA_MIDDLE 2
+#define DM_RATR_STA_LOW 3
/* 3 =========================================================== */
/* 3 BB Power Save */
/* 3 =========================================================== */
enum { /* tag_1R_CCA_Type_Definition */
- CCA_1R = 0,
- CCA_2R = 1,
- CCA_MAX = 2,
+ CCA_1R = 0,
+ CCA_2R = 1,
+ CCA_MAX = 2,
};
enum { /* tag_RF_Type_Definition */
- RF_Save = 0,
- RF_Normal = 1,
- RF_MAX = 2,
+ RF_Save = 0,
+ RF_Normal = 1,
+ RF_MAX = 2,
};
/* Maximal number of antenna detection mechanism needs to perform, added by Roger, 2011.12.28. */
-#define MAX_ANTENNA_DETECTION_CNT 10
+#define MAX_ANTENNA_DETECTION_CNT 10
/* */
/* Extern Global Variables. */
/* */
-extern u32 OFDMSwingTable_New[OFDM_TABLE_SIZE];
-extern u8 CCKSwingTable_Ch1_Ch13_New[CCK_TABLE_SIZE][8];
-extern u8 CCKSwingTable_Ch14_New[CCK_TABLE_SIZE][8];
+extern u32 OFDMSwingTable_New[OFDM_TABLE_SIZE];
+extern u8 CCKSwingTable_Ch1_Ch13_New[CCK_TABLE_SIZE][8];
+extern u8 CCKSwingTable_Ch14_New[CCK_TABLE_SIZE][8];
/* */
/* check Sta pointer valid or not */
/* */
-#define IS_STA_VALID(pSta) (pSta)
+#define IS_STA_VALID(pSta) (pSta)
/* 20100514 Joseph: Add definition for antenna switching test after link. */
/* This indicates two different the steps. */
/* In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the signal on the air. */
/* In SWAW_STEP_DETERMINE, driver just compares the signal captured in SWAW_STEP_PEAK */
/* with original RSSI to determine if it is necessary to switch antenna. */
-#define SWAW_STEP_PEAK 0
-#define SWAW_STEP_DETERMINE 1
+#define SWAW_STEP_PEAK 0
+#define SWAW_STEP_DETERMINE 1
/* Remove BB power saving by Yuchen */
#define dm_CheckTXPowerTracking ODM_TXPowerTrackingCheck
void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm);
-bool ODM_RAStateCheck(
- struct dm_odm_t *pDM_Odm,
- s32 RSSI,
- bool bForceUpdate,
- u8 *pRATRState
-);
-
-#define dm_SWAW_RSSI_Check ODM_SwAntDivChkPerPktRssi
-void ODM_SwAntDivChkPerPktRssi(
- struct dm_odm_t *pDM_Odm,
- u8 StationID,
- struct odm_phy_info *pPhyInfo
-);
-
-u32 ODM_Get_Rate_Bitmap(
- struct dm_odm_t *pDM_Odm,
- u32 macid,
- u32 ra_mask,
- u8 rssi_level
-);
+bool ODM_RAStateCheck(struct dm_odm_t *pDM_Odm, s32 RSSI, bool bForceUpdate,
+ u8 *pRATRState);
+
+#define dm_SWAW_RSSI_Check ODM_SwAntDivChkPerPktRssi
+void ODM_SwAntDivChkPerPktRssi(struct dm_odm_t *pDM_Odm, u8 StationID,
+ struct odm_phy_info *pPhyInfo);
+
+u32 ODM_Get_Rate_Bitmap(struct dm_odm_t *pDM_Odm, u32 macid, u32 ra_mask,
+ u8 rssi_level);
#if (BEAMFORMING_SUPPORT == 1)
-BEAMFORMING_CAP Beamforming_GetEntryBeamCapByMacId(PMGNT_INFO pMgntInfo, u8 MacId);
+BEAMFORMING_CAP Beamforming_GetEntryBeamCapByMacId(PMGNT_INFO pMgntInfo,
+ u8 MacId);
#endif
void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm);
void ODM_DMInit(struct dm_odm_t *pDM_Odm);
-void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm); /* For common use in the future */
+void ODM_DMWatchdog(
+ struct dm_odm_t *pDM_Odm); /* For common use in the future */
-void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 Value);
+void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo,
+ u32 Value);
-void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void *pValue);
+void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo,
+ void *pValue);
-void ODM_CmnInfoPtrArrayHook(
- struct dm_odm_t *pDM_Odm,
- enum odm_cmninfo_e CmnInfo,
- u16 Index,
- void *pValue
-);
+void ODM_CmnInfoPtrArrayHook(struct dm_odm_t *pDM_Odm,
+ enum odm_cmninfo_e CmnInfo, u16 Index,
+ void *pValue);
void ODM_CmnInfoUpdate(struct dm_odm_t *pDM_Odm, u32 CmnInfo, u64 Value);
@@ -1104,13 +1096,10 @@ void ODM_CancelAllTimers(struct dm_odm_t *pDM_Odm);
void ODM_ReleaseAllTimers(struct dm_odm_t *pDM_Odm);
-void ODM_AntselStatistics_88C(
- struct dm_odm_t *pDM_Odm,
- u8 MacId,
- u32 PWDBAll,
- bool isCCKrate
-);
+void ODM_AntselStatistics_88C(struct dm_odm_t *pDM_Odm, u8 MacId, u32 PWDBAll,
+ bool isCCKrate);
-void ODM_DynamicARFBSelect(struct dm_odm_t *pDM_Odm, u8 rate, bool Collision_State);
+void ODM_DynamicARFBSelect(struct dm_odm_t *pDM_Odm, u8 rate,
+ bool Collision_State);
#endif
diff --git a/drivers/staging/rtl8723bs/hal/odm_CfoTracking.c b/drivers/staging/rtl8723bs/hal/odm_CfoTracking.c
index 7e6b49399abbf..f955eedbd0912 100644
--- a/drivers/staging/rtl8723bs/hal/odm_CfoTracking.c
+++ b/drivers/staging/rtl8723bs/hal/odm_CfoTracking.c
@@ -19,12 +19,8 @@ static void odm_SetCrystalCap(void *pDM_VOID, u8 CrystalCap)
/* 0x2C[23:18] = 0x2C[17:12] = CrystalCap */
CrystalCap = CrystalCap & 0x3F;
- PHY_SetBBReg(
- pDM_Odm->Adapter,
- REG_MAC_PHY_CTRL,
- 0x00FFF000,
- (CrystalCap | (CrystalCap << 6))
- );
+ PHY_SetBBReg(pDM_Odm->Adapter, REG_MAC_PHY_CTRL, 0x00FFF000,
+ (CrystalCap | (CrystalCap << 6)));
}
static u8 odm_GetDefaultCrytaltalCap(void *pDM_VOID)
@@ -45,12 +41,8 @@ static void odm_SetATCStatus(void *pDM_VOID, bool ATCStatus)
if (pCfoTrack->bATCStatus == ATCStatus)
return;
- PHY_SetBBReg(
- pDM_Odm->Adapter,
- ODM_REG(BB_ATC),
- ODM_BIT(BB_ATC),
- ATCStatus
- );
+ PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG(BB_ATC), ODM_BIT(BB_ATC),
+ ATCStatus);
pCfoTrack->bATCStatus = ATCStatus;
}
@@ -59,11 +51,8 @@ static bool odm_GetATCStatus(void *pDM_VOID)
bool ATCStatus;
struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
- ATCStatus = (bool)PHY_QueryBBReg(
- pDM_Odm->Adapter,
- ODM_REG(BB_ATC),
- ODM_BIT(BB_ATC)
- );
+ ATCStatus = (bool)PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(BB_ATC),
+ ODM_BIT(BB_ATC));
return ATCStatus;
}
@@ -84,8 +73,8 @@ void ODM_CfoTrackingInit(void *pDM_VOID)
struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
struct cfo_tracking *pCfoTrack = &pDM_Odm->DM_CfoTrack;
- pCfoTrack->DefXCap =
- pCfoTrack->CrystalCap = odm_GetDefaultCrytaltalCap(pDM_Odm);
+ pCfoTrack->DefXCap = pCfoTrack->CrystalCap =
+ odm_GetDefaultCrytaltalCap(pDM_Odm);
pCfoTrack->bATCStatus = odm_GetATCStatus(pDM_Odm);
pCfoTrack->bAdjust = true;
}
@@ -115,21 +104,17 @@ void ODM_CfoTracking(void *pDM_VOID)
pCfoTrack->packetCount_pre = pCfoTrack->packetCount;
/* 4 1.2 Calculate CFO */
- CFO_kHz_A = (int)(pCfoTrack->CFO_tail[0] * 3125) / 1280;
+ CFO_kHz_A = (int)(pCfoTrack->CFO_tail[0] * 3125) / 1280;
CFO_ave = CFO_kHz_A;
/* 4 1.3 Avoid abnormal large CFO */
- CFO_ave_diff =
- (pCfoTrack->CFO_ave_pre >= CFO_ave) ?
- (pCfoTrack->CFO_ave_pre-CFO_ave) :
- (CFO_ave-pCfoTrack->CFO_ave_pre);
-
- if (
- CFO_ave_diff > 20 &&
- pCfoTrack->largeCFOHit == 0 &&
- !pCfoTrack->bAdjust
- ) {
+ CFO_ave_diff = (pCfoTrack->CFO_ave_pre >= CFO_ave) ?
+ (pCfoTrack->CFO_ave_pre - CFO_ave) :
+ (CFO_ave - pCfoTrack->CFO_ave_pre);
+
+ if (CFO_ave_diff > 20 && pCfoTrack->largeCFOHit == 0 &&
+ !pCfoTrack->bAdjust) {
pCfoTrack->largeCFOHit = 1;
return;
}
@@ -139,10 +124,12 @@ void ODM_CfoTracking(void *pDM_VOID)
/* 4 1.4 Dynamic Xtal threshold */
if (!pCfoTrack->bAdjust) {
- if (CFO_ave > CFO_TH_XTAL_HIGH || CFO_ave < (-CFO_TH_XTAL_HIGH))
+ if (CFO_ave > CFO_TH_XTAL_HIGH ||
+ CFO_ave < (-CFO_TH_XTAL_HIGH))
pCfoTrack->bAdjust = true;
} else {
- if (CFO_ave < CFO_TH_XTAL_LOW && CFO_ave > (-CFO_TH_XTAL_LOW))
+ if (CFO_ave < CFO_TH_XTAL_LOW &&
+ CFO_ave > (-CFO_TH_XTAL_LOW))
pCfoTrack->bAdjust = false;
}
@@ -155,9 +142,13 @@ void ODM_CfoTracking(void *pDM_VOID)
/* 4 1.6 Big jump */
if (pCfoTrack->bAdjust) {
if (CFO_ave > CFO_TH_XTAL_LOW)
- Adjust_Xtal = Adjust_Xtal + ((CFO_ave - CFO_TH_XTAL_LOW) >> 2);
+ Adjust_Xtal =
+ Adjust_Xtal +
+ ((CFO_ave - CFO_TH_XTAL_LOW) >> 2);
else if (CFO_ave < (-CFO_TH_XTAL_LOW))
- Adjust_Xtal = Adjust_Xtal + ((CFO_TH_XTAL_LOW - CFO_ave) >> 2);
+ Adjust_Xtal =
+ Adjust_Xtal +
+ ((CFO_TH_XTAL_LOW - CFO_ave) >> 2);
}
/* 4 1.7 Adjust Crystal Cap. */
diff --git a/drivers/staging/rtl8723bs/hal/odm_CfoTracking.h b/drivers/staging/rtl8723bs/hal/odm_CfoTracking.h
index 8fa6d9ec58807..33d30d406c916 100644
--- a/drivers/staging/rtl8723bs/hal/odm_CfoTracking.h
+++ b/drivers/staging/rtl8723bs/hal/odm_CfoTracking.h
@@ -5,12 +5,12 @@
*
******************************************************************************/
-#ifndef __ODMCFOTRACK_H__
-#define __ODMCFOTRACK_H__
+#ifndef __ODMCFOTRACK_H__
+#define __ODMCFOTRACK_H__
-#define CFO_TH_XTAL_HIGH 20 /* kHz */
-#define CFO_TH_XTAL_LOW 10 /* kHz */
-#define CFO_TH_ATC 80 /* kHz */
+#define CFO_TH_XTAL_HIGH 20 /* kHz */
+#define CFO_TH_XTAL_LOW 10 /* kHz */
+#define CFO_TH_ATC 80 /* kHz */
struct cfo_tracking {
bool bATCStatus;
@@ -27,8 +27,7 @@ struct cfo_tracking {
bool bReset;
};
-void ODM_CfoTrackingReset(void *pDM_VOID
-);
+void ODM_CfoTrackingReset(void *pDM_VOID);
void ODM_CfoTrackingInit(void *pDM_VOID);
diff --git a/drivers/staging/rtl8723bs/hal/odm_DIG.c b/drivers/staging/rtl8723bs/hal/odm_DIG.c
index 4e28b7742bfe3..eaed76f626f81 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DIG.c
+++ b/drivers/staging/rtl8723bs/hal/odm_DIG.c
@@ -9,18 +9,30 @@
void odm_NHMCounterStatisticsInit(void *pDM_VOID)
{
- struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
+ struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
/* PHY parameters initialize for n series */
- rtw_write16(pDM_Odm->Adapter, ODM_REG_NHM_TIMER_11N+2, 0x2710); /* 0x894[31:16]= 0x2710 Time duration for NHM unit: 4us, 0x2710 =40ms */
+ rtw_write16(
+ pDM_Odm->Adapter, ODM_REG_NHM_TIMER_11N + 2,
+ 0x2710); /* 0x894[31:16]= 0x2710 Time duration for NHM unit: 4us, 0x2710 =40ms */
/* rtw_write16(pDM_Odm->Adapter, ODM_REG_NHM_TIMER_11N+2, 0x4e20); 0x894[31:16]= 0x4e20 Time duration for NHM unit: 4us, 0x4e20 =80ms */
- rtw_write16(pDM_Odm->Adapter, ODM_REG_NHM_TH9_TH10_11N+2, 0xffff); /* 0x890[31:16]= 0xffff th_9, th_10 */
+ rtw_write16(pDM_Odm->Adapter, ODM_REG_NHM_TH9_TH10_11N + 2,
+ 0xffff); /* 0x890[31:16]= 0xffff th_9, th_10 */
/* rtw_write32(pDM_Odm->Adapter, ODM_REG_NHM_TH3_TO_TH0_11N, 0xffffff5c); 0x898 = 0xffffff5c th_3, th_2, th_1, th_0 */
- rtw_write32(pDM_Odm->Adapter, ODM_REG_NHM_TH3_TO_TH0_11N, 0xffffff52); /* 0x898 = 0xffffff52 th_3, th_2, th_1, th_0 */
- rtw_write32(pDM_Odm->Adapter, ODM_REG_NHM_TH7_TO_TH4_11N, 0xffffffff); /* 0x89c = 0xffffffff th_7, th_6, th_5, th_4 */
- PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_FPGA0_IQK_11N, bMaskByte0, 0xff); /* 0xe28[7:0]= 0xff th_8 */
- PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_NHM_TH9_TH10_11N, BIT(10)|BIT(9)|BIT(8), 0x7); /* 0x890[9:8]=3 enable CCX */
- PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_RSTC_11N, BIT(7), 0x1); /* 0xc0c[7]= 1 max power among all RX ants */
+ rtw_write32(
+ pDM_Odm->Adapter, ODM_REG_NHM_TH3_TO_TH0_11N,
+ 0xffffff52); /* 0x898 = 0xffffff52 th_3, th_2, th_1, th_0 */
+ rtw_write32(
+ pDM_Odm->Adapter, ODM_REG_NHM_TH7_TO_TH4_11N,
+ 0xffffffff); /* 0x89c = 0xffffffff th_7, th_6, th_5, th_4 */
+ PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_FPGA0_IQK_11N, bMaskByte0,
+ 0xff); /* 0xe28[7:0]= 0xff th_8 */
+ PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_NHM_TH9_TH10_11N,
+ BIT(10) | BIT(9) | BIT(8),
+ 0x7); /* 0x890[9:8]=3 enable CCX */
+ PHY_SetBBReg(
+ pDM_Odm->Adapter, ODM_REG_OFDM_FA_RSTC_11N, BIT(7),
+ 0x1); /* 0xc0c[7]= 1 max power among all RX ants */
}
void odm_NHMCounterStatistics(void *pDM_VOID)
@@ -39,7 +51,8 @@ void odm_GetNHMCounterStatistics(void *pDM_VOID)
struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
u32 value32 = 0;
- value32 = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_NHM_CNT_11N, bMaskDWord);
+ value32 = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_NHM_CNT_11N,
+ bMaskDWord);
pDM_Odm->NHM_cnt_0 = (u8)(value32 & bMaskByte0);
}
@@ -72,15 +85,15 @@ void odm_NHMBB(void *pDM_VOID)
/* struct false_ALARM_STATISTICS *pFalseAlmCnt = &pDM_Odm->FalseAlmCnt; */
pDM_Odm->NHMCurTxOkcnt =
- *(pDM_Odm->pNumTxBytesUnicast)-pDM_Odm->NHMLastTxOkcnt;
+ *(pDM_Odm->pNumTxBytesUnicast) - pDM_Odm->NHMLastTxOkcnt;
pDM_Odm->NHMCurRxOkcnt =
- *(pDM_Odm->pNumRxBytesUnicast)-pDM_Odm->NHMLastRxOkcnt;
- pDM_Odm->NHMLastTxOkcnt =
- *(pDM_Odm->pNumTxBytesUnicast);
- pDM_Odm->NHMLastRxOkcnt =
- *(pDM_Odm->pNumRxBytesUnicast);
+ *(pDM_Odm->pNumRxBytesUnicast) - pDM_Odm->NHMLastRxOkcnt;
+ pDM_Odm->NHMLastTxOkcnt = *(pDM_Odm->pNumTxBytesUnicast);
+ pDM_Odm->NHMLastRxOkcnt = *(pDM_Odm->pNumRxBytesUnicast);
- if ((pDM_Odm->NHMCurTxOkcnt) + 1 > (u64)(pDM_Odm->NHMCurRxOkcnt<<2) + 1) { /* Tx > 4*Rx possible for adaptivity test */
+ if ((pDM_Odm->NHMCurTxOkcnt) + 1 >
+ (u64)(pDM_Odm->NHMCurRxOkcnt << 2) +
+ 1) { /* Tx > 4*Rx possible for adaptivity test */
if (pDM_Odm->NHM_cnt_0 >= 190 || pDM_Odm->adaptivity_flag) {
/* Enable EDCCA since it is possible running Adaptivity testing */
/* test_status = 1; */
@@ -88,7 +101,8 @@ void odm_NHMBB(void *pDM_VOID)
pDM_Odm->tolerance_cnt = 0;
} else {
if (pDM_Odm->tolerance_cnt < 3)
- pDM_Odm->tolerance_cnt = pDM_Odm->tolerance_cnt + 1;
+ pDM_Odm->tolerance_cnt =
+ pDM_Odm->tolerance_cnt + 1;
else
pDM_Odm->tolerance_cnt = 4;
/* test_status = 5; */
@@ -103,7 +117,8 @@ void odm_NHMBB(void *pDM_VOID)
pDM_Odm->tolerance_cnt = 0;
} else {
if (pDM_Odm->tolerance_cnt < 3)
- pDM_Odm->tolerance_cnt = pDM_Odm->tolerance_cnt + 1;
+ pDM_Odm->tolerance_cnt =
+ pDM_Odm->tolerance_cnt + 1;
else
pDM_Odm->tolerance_cnt = 4;
/* test_status = 5; */
@@ -127,19 +142,22 @@ void odm_SearchPwdBLowerBound(void *pDM_VOID, u8 IGI_target)
IGI = 0x50; /* find H2L, L2H lower bound */
ODM_Write_DIG(pDM_Odm, IGI);
- Diff = IGI_target-(s8)IGI;
+ Diff = IGI_target - (s8)IGI;
TH_L2H_dmc = pDM_Odm->TH_L2H_ini + Diff;
if (TH_L2H_dmc > 10)
TH_L2H_dmc = 10;
TH_H2L_dmc = TH_L2H_dmc - pDM_Odm->TH_EDCCA_HL_diff;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0, (u8)TH_L2H_dmc);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2, (u8)TH_H2L_dmc);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0,
+ (u8)TH_L2H_dmc);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2,
+ (u8)TH_H2L_dmc);
mdelay(5);
while (bAdjust) {
for (cnt = 0; cnt < 20; cnt++) {
- value32 = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_RPT_11N, bMaskDWord);
+ value32 = PHY_QueryBBReg(pDM_Odm->Adapter,
+ ODM_REG_RPT_11N, bMaskDWord);
if (value32 & BIT(30))
pDM_Odm->txEdcca1 = pDM_Odm->txEdcca1 + 1;
@@ -150,13 +168,15 @@ void odm_SearchPwdBLowerBound(void *pDM_VOID, u8 IGI_target)
}
if (pDM_Odm->txEdcca1 > 5) {
- IGI = IGI-1;
+ IGI = IGI - 1;
TH_L2H_dmc = TH_L2H_dmc + 1;
if (TH_L2H_dmc > 10)
TH_L2H_dmc = 10;
TH_H2L_dmc = TH_L2H_dmc - pDM_Odm->TH_EDCCA_HL_diff;
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0, (u8)TH_L2H_dmc);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2, (u8)TH_H2L_dmc);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold,
+ bMaskByte0, (u8)TH_L2H_dmc);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold,
+ bMaskByte2, (u8)TH_H2L_dmc);
pDM_Odm->TxHangFlg = true;
pDM_Odm->txEdcca1 = 0;
@@ -207,7 +227,8 @@ void odm_AdaptivityInit(void *pDM_VOID)
pDM_Odm->Adaptivity_IGI_upper = 0;
odm_NHMBBInit(pDM_Odm);
- PHY_SetBBReg(pDM_Odm->Adapter, REG_RD_CTRL, BIT(11), 1); /* stop counting if EDCCA is asserted */
+ PHY_SetBBReg(pDM_Odm->Adapter, REG_RD_CTRL, BIT(11),
+ 1); /* stop counting if EDCCA is asserted */
}
void odm_Adaptivity(void *pDM_VOID, u8 IGI)
@@ -226,17 +247,21 @@ void odm_Adaptivity(void *pDM_VOID, u8 IGI)
IGI_target = pDM_Odm->IGI_Base + 2;
else
IGI_target = pDM_Odm->IGI_Base;
- pDM_Odm->IGI_target = (u8) IGI_target;
+ pDM_Odm->IGI_target = (u8)IGI_target;
/* Search pwdB lower bound */
if (pDM_Odm->TxHangFlg) {
- PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_DBG_RPT_11N, bMaskDWord, 0x208);
+ PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_DBG_RPT_11N, bMaskDWord,
+ 0x208);
odm_SearchPwdBLowerBound(pDM_Odm, pDM_Odm->IGI_target);
}
- if ((!pDM_Odm->bLinked) || (*pDM_Odm->pChannel > 149)) { /* Band4 doesn't need adaptivity */
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0, 0x7f);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2, 0x7f);
+ if ((!pDM_Odm->bLinked) ||
+ (*pDM_Odm->pChannel > 149)) { /* Band4 doesn't need adaptivity */
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0,
+ 0x7f);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2,
+ 0x7f);
return;
}
@@ -248,14 +273,12 @@ void odm_Adaptivity(void *pDM_VOID, u8 IGI)
} else
EDCCA_State = true;
- if (pDM_Odm->bLinked &&
- !pDM_Odm->Carrier_Sense_enable &&
- !pDM_Odm->NHM_disable &&
- !pDM_Odm->TxHangFlg)
+ if (pDM_Odm->bLinked && !pDM_Odm->Carrier_Sense_enable &&
+ !pDM_Odm->NHM_disable && !pDM_Odm->TxHangFlg)
odm_NHMBB(pDM_Odm);
if (EDCCA_State) {
- Diff = IGI_target-(s8)IGI;
+ Diff = IGI_target - (s8)IGI;
TH_L2H_dmc = pDM_Odm->TH_L2H_ini + Diff;
if (TH_L2H_dmc > 10)
TH_L2H_dmc = 10;
@@ -271,8 +294,10 @@ void odm_Adaptivity(void *pDM_VOID, u8 IGI)
TH_L2H_dmc = 0x7f;
TH_H2L_dmc = 0x7f;
}
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0, (u8)TH_L2H_dmc);
- PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2, (u8)TH_H2L_dmc);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte0,
+ (u8)TH_L2H_dmc);
+ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_ECCAThreshold, bMaskByte2,
+ (u8)TH_H2L_dmc);
}
void ODM_Write_DIG(void *pDM_VOID, u8 CurrentIGI)
@@ -288,17 +313,17 @@ void ODM_Write_DIG(void *pDM_VOID, u8 CurrentIGI)
if (!pDM_DigTable->bPSDInProgress) {
if (CurrentIGI > pDM_DigTable->rx_gain_range_max)
CurrentIGI = pDM_DigTable->rx_gain_range_max;
-
}
/* 1 Set IGI value */
- PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG(IGI_A), ODM_BIT(IGI), CurrentIGI);
+ PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG(IGI_A), ODM_BIT(IGI),
+ CurrentIGI);
- PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG(IGI_B), ODM_BIT(IGI), CurrentIGI);
+ PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG(IGI_B), ODM_BIT(IGI),
+ CurrentIGI);
pDM_DigTable->CurIGValue = CurrentIGI;
}
-
}
bool odm_DigAbort(void *pDM_VOID)
@@ -307,21 +332,21 @@ bool odm_DigAbort(void *pDM_VOID)
/* SupportAbility */
if (!(pDM_Odm->SupportAbility & ODM_BB_FA_CNT))
- return true;
+ return true;
/* SupportAbility */
if (!(pDM_Odm->SupportAbility & ODM_BB_DIG))
- return true;
+ return true;
/* ScanInProcess */
if (*(pDM_Odm->pbScanInProcess))
- return true;
+ return true;
/* add by Neil Chen to avoid PSD is processing */
if (!pDM_Odm->bDMInitialGainEnable)
- return true;
+ return true;
- return false;
+ return false;
}
void odm_DIGInit(void *pDM_VOID)
@@ -331,11 +356,12 @@ void odm_DIGInit(void *pDM_VOID)
pDM_DigTable->bStopDIG = false;
pDM_DigTable->bPSDInProgress = false;
- pDM_DigTable->CurIGValue = (u8) PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG(IGI_A), ODM_BIT(IGI));
- pDM_DigTable->RssiLowThresh = DM_DIG_THRESH_LOW;
- pDM_DigTable->RssiHighThresh = DM_DIG_THRESH_HIGH;
- pDM_DigTable->FALowThresh = DMfalseALARM_THRESH_LOW;
- pDM_DigTable->FAHighThresh = DMfalseALARM_THRESH_HIGH;
+ pDM_DigTable->CurIGValue = (u8)PHY_QueryBBReg(
+ pDM_Odm->Adapter, ODM_REG(IGI_A), ODM_BIT(IGI));
+ pDM_DigTable->RssiLowThresh = DM_DIG_THRESH_LOW;
+ pDM_DigTable->RssiHighThresh = DM_DIG_THRESH_HIGH;
+ pDM_DigTable->FALowThresh = DMfalseALARM_THRESH_LOW;
+ pDM_DigTable->FAHighThresh = DMfalseALARM_THRESH_HIGH;
pDM_DigTable->BackoffVal = DM_DIG_BACKOFF_DEFAULT;
pDM_DigTable->BackoffVal_range_max = DM_DIG_BACKOFF_MAX;
pDM_DigTable->BackoffVal_range_min = DM_DIG_BACKOFF_MIN;
@@ -376,7 +402,8 @@ void odm_DIG(void *pDM_VOID)
u8 Adap_IGI_Upper = 0;
u32 TxTp = 0, RxTp = 0;
bool bDFSBand = false;
- bool bPerformance = true, bFirstTpTarget = false, bFirstCoverage = false;
+ bool bPerformance = true, bFirstTpTarget = false,
+ bFirstCoverage = false;
if (odm_DigAbort(pDM_Odm))
return;
@@ -409,7 +436,8 @@ void odm_DIG(void *pDM_VOID)
else if ((pDM_Odm->RSSI_Min + offset) < dm_dig_min)
pDM_DigTable->rx_gain_range_max = dm_dig_min;
else
- pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + offset;
+ pDM_DigTable->rx_gain_range_max =
+ pDM_Odm->RSSI_Min + offset;
/* 2 Modify DIG lower bound */
/* if (pDM_Odm->bOneEntryOnly) */
@@ -429,15 +457,16 @@ void odm_DIG(void *pDM_VOID)
/* 1 Force Lower Bound for AntDiv */
if (pDM_Odm->bLinked && !pDM_Odm->bOneEntryOnly) {
if (pDM_Odm->SupportAbility & ODM_BB_ANT_DIV) {
- if (
- pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV ||
- pDM_Odm->AntDivType == CG_TRX_SMART_ANTDIV ||
- pDM_Odm->AntDivType == S0S1_SW_ANTDIV
- ) {
- if (pDM_DigTable->AntDiv_RSSI_max > DIG_MaxOfMin)
+ if (pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV ||
+ pDM_Odm->AntDivType == CG_TRX_SMART_ANTDIV ||
+ pDM_Odm->AntDivType == S0S1_SW_ANTDIV) {
+ if (pDM_DigTable->AntDiv_RSSI_max >
+ DIG_MaxOfMin)
DIG_Dynamic_MIN = DIG_MaxOfMin;
else
- DIG_Dynamic_MIN = (u8) pDM_DigTable->AntDiv_RSSI_max;
+ DIG_Dynamic_MIN =
+ (u8)pDM_DigTable
+ ->AntDiv_RSSI_max;
}
}
}
@@ -448,28 +477,27 @@ void odm_DIG(void *pDM_VOID)
pDM_DigTable->rx_gain_range_min = DIG_Dynamic_MIN;
pDM_DigTable->ForbiddenIGI = DIG_Dynamic_MIN;
} else
- pDM_DigTable->rx_gain_range_min =
- odm_ForbiddenIGICheck(pDM_Odm, DIG_Dynamic_MIN, CurrentIGI);
+ pDM_DigTable->rx_gain_range_min = odm_ForbiddenIGICheck(
+ pDM_Odm, DIG_Dynamic_MIN, CurrentIGI);
if (pDM_Odm->bLinked && !FirstConnect) {
- if (
- (pDM_Odm->PhyDbgInfo.NumQryBeaconPkt < 5) &&
- pDM_Odm->bsta_state
- ) {
+ if ((pDM_Odm->PhyDbgInfo.NumQryBeaconPkt < 5) &&
+ pDM_Odm->bsta_state) {
pDM_DigTable->rx_gain_range_min = dm_dig_min;
}
}
/* 2 Abnormal lower bound case */
if (pDM_DigTable->rx_gain_range_min > pDM_DigTable->rx_gain_range_max)
- pDM_DigTable->rx_gain_range_min = pDM_DigTable->rx_gain_range_max;
+ pDM_DigTable->rx_gain_range_min =
+ pDM_DigTable->rx_gain_range_max;
/* 1 False alarm threshold decision */
- odm_FAThresholdCheck(pDM_Odm, bDFSBand, bPerformance, RxTp, TxTp, dm_FA_thres);
+ odm_FAThresholdCheck(pDM_Odm, bDFSBand, bPerformance, RxTp, TxTp,
+ dm_FA_thres);
/* 1 Adjust initial gain by false alarm */
if (pDM_Odm->bLinked && bPerformance) {
-
if (bFirstTpTarget || FirstConnect) {
pDM_DigTable->LargeFAHit = 0;
@@ -489,16 +517,13 @@ void odm_DIG(void *pDM_VOID)
else if (pFalseAlmCnt->Cnt_all < dm_FA_thres[0])
CurrentIGI = CurrentIGI - 2;
- if (
- (pDM_Odm->PhyDbgInfo.NumQryBeaconPkt < 5) &&
- (pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH1) &&
- (pDM_Odm->bsta_state)
- ) {
+ if ((pDM_Odm->PhyDbgInfo.NumQryBeaconPkt < 5) &&
+ (pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH1) &&
+ (pDM_Odm->bsta_state)) {
CurrentIGI = pDM_DigTable->rx_gain_range_min;
}
}
} else {
-
if (FirstDisConnect || bFirstCoverage) {
CurrentIGI = dm_dig_min;
} else {
@@ -536,7 +561,8 @@ void odm_DIG(void *pDM_VOID)
if (pDM_DigTable->BT30_CurIGI > (CurrentIGI))
ODM_Write_DIG(pDM_Odm, CurrentIGI);
else
- ODM_Write_DIG(pDM_Odm, pDM_DigTable->BT30_CurIGI);
+ ODM_Write_DIG(pDM_Odm,
+ pDM_DigTable->BT30_CurIGI);
pDM_DigTable->bMediaConnect_0 = pDM_Odm->bLinked;
pDM_DigTable->DIG_Dynamic_MIN_0 = DIG_Dynamic_MIN;
@@ -546,10 +572,15 @@ void odm_DIG(void *pDM_VOID)
else if (pDM_Odm->bBtConnectProcess)
ODM_Write_DIG(pDM_Odm, 0x28);
else
- ODM_Write_DIG(pDM_Odm, pDM_DigTable->BT30_CurIGI);/* ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); */
+ ODM_Write_DIG(
+ pDM_Odm,
+ pDM_DigTable
+ ->BT30_CurIGI); /* ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); */
}
} else { /* BT is not using */
- ODM_Write_DIG(pDM_Odm, CurrentIGI);/* ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); */
+ ODM_Write_DIG(
+ pDM_Odm,
+ CurrentIGI); /* ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); */
pDM_DigTable->bMediaConnect_0 = pDM_Odm->bLinked;
pDM_DigTable->DIG_Dynamic_MIN_0 = DIG_Dynamic_MIN;
}
@@ -560,19 +591,19 @@ void odm_DIGbyRSSI_LPS(void *pDM_VOID)
struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
struct false_ALARM_STATISTICS *pFalseAlmCnt = &pDM_Odm->FalseAlmCnt;
- u8 RSSI_Lower = DM_DIG_MIN_NIC; /* 0x1E or 0x1C */
+ u8 RSSI_Lower = DM_DIG_MIN_NIC; /* 0x1E or 0x1C */
u8 CurrentIGI = pDM_Odm->RSSI_Min;
- CurrentIGI = CurrentIGI+RSSI_OFFSET_DIG;
+ CurrentIGI = CurrentIGI + RSSI_OFFSET_DIG;
/* Using FW PS mode to make IGI */
/* Adjust by FA in LPS MODE */
if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH2_LPS)
- CurrentIGI = CurrentIGI+4;
+ CurrentIGI = CurrentIGI + 4;
else if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH1_LPS)
- CurrentIGI = CurrentIGI+2;
+ CurrentIGI = CurrentIGI + 2;
else if (pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0_LPS)
- CurrentIGI = CurrentIGI-2;
+ CurrentIGI = CurrentIGI - 2;
/* Lower bound checking */
@@ -608,81 +639,63 @@ void odm_FalseAlarmCounterStatistics(void *pDM_VOID)
/* hold page D counter */
PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_RSTD_11N, BIT(31), 1);
- ret_value = PHY_QueryBBReg(
- pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE1_11N, bMaskDWord
- );
- FalseAlmCnt->Cnt_Fast_Fsync = (ret_value&0xffff);
- FalseAlmCnt->Cnt_SB_Search_fail = ((ret_value&0xffff0000)>>16);
-
- ret_value = PHY_QueryBBReg(
- pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE2_11N, bMaskDWord
- );
- FalseAlmCnt->Cnt_OFDM_CCA = (ret_value&0xffff);
- FalseAlmCnt->Cnt_Parity_Fail = ((ret_value&0xffff0000)>>16);
-
- ret_value = PHY_QueryBBReg(
- pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE3_11N, bMaskDWord
- );
- FalseAlmCnt->Cnt_Rate_Illegal = (ret_value&0xffff);
- FalseAlmCnt->Cnt_Crc8_fail = ((ret_value&0xffff0000)>>16);
-
- ret_value = PHY_QueryBBReg(
- pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE4_11N, bMaskDWord
- );
- FalseAlmCnt->Cnt_Mcs_fail = (ret_value&0xffff);
+ ret_value = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE1_11N,
+ bMaskDWord);
+ FalseAlmCnt->Cnt_Fast_Fsync = (ret_value & 0xffff);
+ FalseAlmCnt->Cnt_SB_Search_fail = ((ret_value & 0xffff0000) >> 16);
+
+ ret_value = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE2_11N,
+ bMaskDWord);
+ FalseAlmCnt->Cnt_OFDM_CCA = (ret_value & 0xffff);
+ FalseAlmCnt->Cnt_Parity_Fail = ((ret_value & 0xffff0000) >> 16);
+
+ ret_value = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE3_11N,
+ bMaskDWord);
+ FalseAlmCnt->Cnt_Rate_Illegal = (ret_value & 0xffff);
+ FalseAlmCnt->Cnt_Crc8_fail = ((ret_value & 0xffff0000) >> 16);
+
+ ret_value = PHY_QueryBBReg(pDM_Odm->Adapter, ODM_REG_OFDM_FA_TYPE4_11N,
+ bMaskDWord);
+ FalseAlmCnt->Cnt_Mcs_fail = (ret_value & 0xffff);
FalseAlmCnt->Cnt_Ofdm_fail =
- FalseAlmCnt->Cnt_Parity_Fail +
- FalseAlmCnt->Cnt_Rate_Illegal +
- FalseAlmCnt->Cnt_Crc8_fail +
- FalseAlmCnt->Cnt_Mcs_fail +
- FalseAlmCnt->Cnt_Fast_Fsync +
- FalseAlmCnt->Cnt_SB_Search_fail;
+ FalseAlmCnt->Cnt_Parity_Fail + FalseAlmCnt->Cnt_Rate_Illegal +
+ FalseAlmCnt->Cnt_Crc8_fail + FalseAlmCnt->Cnt_Mcs_fail +
+ FalseAlmCnt->Cnt_Fast_Fsync + FalseAlmCnt->Cnt_SB_Search_fail;
{
/* hold cck counter */
- PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_CCK_FA_RST_11N, BIT(12), 1);
- PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_CCK_FA_RST_11N, BIT(14), 1);
+ PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_CCK_FA_RST_11N, BIT(12),
+ 1);
+ PHY_SetBBReg(pDM_Odm->Adapter, ODM_REG_CCK_FA_RST_11N, BIT(14),
+ 1);
- ret_value = PHY_QueryBBReg(
- pDM_Odm->Adapter, ODM_REG_CCK_FA_LSB_11N, bMaskByte0
- );
+ ret_value = PHY_QueryBBReg(pDM_Odm->Adapter,
+ ODM_REG_CCK_FA_LSB_11N, bMaskByte0);
FalseAlmCnt->Cnt_Cck_fail = ret_value;
- ret_value = PHY_QueryBBReg(
- pDM_Odm->Adapter, ODM_REG_CCK_FA_MSB_11N, bMaskByte3
- );
- FalseAlmCnt->Cnt_Cck_fail += (ret_value&0xff)<<8;
+ ret_value = PHY_QueryBBReg(pDM_Odm->Adapter,
+ ODM_REG_CCK_FA_MSB_11N, bMaskByte3);
+ FalseAlmCnt->Cnt_Cck_fail += (ret_value & 0xff) << 8;
- ret_value = PHY_QueryBBReg(
- pDM_Odm->Adapter, ODM_REG_CCK_CCA_CNT_11N, bMaskDWord
- );
- FalseAlmCnt->Cnt_CCK_CCA =
- ((ret_value&0xFF)<<8) | ((ret_value&0xFF00)>>8);
+ ret_value = PHY_QueryBBReg(pDM_Odm->Adapter,
+ ODM_REG_CCK_CCA_CNT_11N, bMaskDWord);
+ FalseAlmCnt->Cnt_CCK_CCA = ((ret_value & 0xFF) << 8) |
+ ((ret_value & 0xFF00) >> 8);
}
- FalseAlmCnt->Cnt_all = (
- FalseAlmCnt->Cnt_Fast_Fsync +
- FalseAlmCnt->Cnt_SB_Search_fail +
- FalseAlmCnt->Cnt_Parity_Fail +
- FalseAlmCnt->Cnt_Rate_Illegal +
- FalseAlmCnt->Cnt_Crc8_fail +
- FalseAlmCnt->Cnt_Mcs_fail +
- FalseAlmCnt->Cnt_Cck_fail
- );
+ FalseAlmCnt->Cnt_all =
+ (FalseAlmCnt->Cnt_Fast_Fsync + FalseAlmCnt->Cnt_SB_Search_fail +
+ FalseAlmCnt->Cnt_Parity_Fail + FalseAlmCnt->Cnt_Rate_Illegal +
+ FalseAlmCnt->Cnt_Crc8_fail + FalseAlmCnt->Cnt_Mcs_fail +
+ FalseAlmCnt->Cnt_Cck_fail);
FalseAlmCnt->Cnt_CCA_all =
FalseAlmCnt->Cnt_OFDM_CCA + FalseAlmCnt->Cnt_CCK_CCA;
}
-void odm_FAThresholdCheck(
- void *pDM_VOID,
- bool bDFSBand,
- bool bPerformance,
- u32 RxTp,
- u32 TxTp,
- u32 *dm_FA_thres
-)
+void odm_FAThresholdCheck(void *pDM_VOID, bool bDFSBand, bool bPerformance,
+ u32 RxTp, u32 TxTp, u32 *dm_FA_thres)
{
struct dm_odm_t *pDM_Odm = (struct dm_odm_t *)pDM_VOID;
@@ -717,10 +730,13 @@ u8 odm_ForbiddenIGICheck(void *pDM_VOID, u8 DIG_Dynamic_MIN, u8 CurrentIGI)
}
if (pDM_DigTable->LargeFAHit >= 3) {
- if ((pDM_DigTable->ForbiddenIGI + 2) > pDM_DigTable->rx_gain_range_max)
- rx_gain_range_min = pDM_DigTable->rx_gain_range_max;
+ if ((pDM_DigTable->ForbiddenIGI + 2) >
+ pDM_DigTable->rx_gain_range_max)
+ rx_gain_range_min =
+ pDM_DigTable->rx_gain_range_max;
else
- rx_gain_range_min = (pDM_DigTable->ForbiddenIGI + 2);
+ rx_gain_range_min =
+ (pDM_DigTable->ForbiddenIGI + 2);
pDM_DigTable->Recover_cnt = 1800;
}
} else {
@@ -728,12 +744,17 @@ u8 odm_ForbiddenIGICheck(void *pDM_VOID, u8 DIG_Dynamic_MIN, u8 CurrentIGI)
pDM_DigTable->Recover_cnt--;
} else {
if (pDM_DigTable->LargeFAHit < 3) {
- if ((pDM_DigTable->ForbiddenIGI - 2) < DIG_Dynamic_MIN) { /* DM_DIG_MIN) */
- pDM_DigTable->ForbiddenIGI = DIG_Dynamic_MIN; /* DM_DIG_MIN; */
- rx_gain_range_min = DIG_Dynamic_MIN; /* DM_DIG_MIN; */
+ if ((pDM_DigTable->ForbiddenIGI - 2) <
+ DIG_Dynamic_MIN) { /* DM_DIG_MIN) */
+ pDM_DigTable->ForbiddenIGI =
+ DIG_Dynamic_MIN; /* DM_DIG_MIN; */
+ rx_gain_range_min =
+ DIG_Dynamic_MIN; /* DM_DIG_MIN; */
} else {
pDM_DigTable->ForbiddenIGI -= 2;
- rx_gain_range_min = (pDM_DigTable->ForbiddenIGI + 2);
+ rx_gain_range_min =
+ (pDM_DigTable->ForbiddenIGI +
+ 2);
}
} else
pDM_DigTable->LargeFAHit = 0;
@@ -741,7 +762,6 @@ u8 odm_ForbiddenIGICheck(void *pDM_VOID, u8 DIG_Dynamic_MIN, u8 CurrentIGI)
}
return rx_gain_range_min;
-
}
/* 3 ============================================================ */
@@ -754,10 +774,8 @@ void odm_CCKPacketDetectionThresh(void *pDM_VOID)
struct false_ALARM_STATISTICS *FalseAlmCnt = &pDM_Odm->FalseAlmCnt;
u8 CurCCK_CCAThres;
- if (
- !(pDM_Odm->SupportAbility & ODM_BB_CCK_PD) ||
- !(pDM_Odm->SupportAbility & ODM_BB_FA_CNT)
- ) {
+ if (!(pDM_Odm->SupportAbility & ODM_BB_CCK_PD) ||
+ !(pDM_Odm->SupportAbility & ODM_BB_FA_CNT)) {
return;
}
diff --git a/drivers/staging/rtl8723bs/hal/odm_DIG.h b/drivers/staging/rtl8723bs/hal/odm_DIG.h
index 032c4abae49be..19e0fe1f8d148 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DIG.h
+++ b/drivers/staging/rtl8723bs/hal/odm_DIG.h
@@ -27,7 +27,7 @@ struct dig_t { /* _Dynamic_Initial_Gain_Threshold_ */
u8 PreIGValue;
u8 CurIGValue;
- u8 BackupIGValue; /* MP DIG */
+ u8 BackupIGValue; /* MP DIG */
u8 BT30_CurIGI;
u8 IGIBackup;
@@ -59,7 +59,7 @@ struct dig_t { /* _Dynamic_Initial_Gain_Threshold_ */
u8 *pbP2pLinkInProgress;
};
-struct false_ALARM_STATISTICS {
+struct false_ALARM_STATISTICS {
u32 Cnt_Parity_Fail;
u32 Cnt_Rate_Illegal;
u32 Cnt_Crc8_fail;
@@ -77,49 +77,46 @@ struct false_ALARM_STATISTICS {
u32 Cnt_BW_LSC; /* Gary */
};
-enum ODM_Pause_DIG_TYPE {
- ODM_PAUSE_DIG = BIT(0),
- ODM_RESUME_DIG = BIT(1)
-};
+enum ODM_Pause_DIG_TYPE { ODM_PAUSE_DIG = BIT(0), ODM_RESUME_DIG = BIT(1) };
-#define DM_DIG_THRESH_HIGH 40
-#define DM_DIG_THRESH_LOW 35
+#define DM_DIG_THRESH_HIGH 40
+#define DM_DIG_THRESH_LOW 35
-#define DMfalseALARM_THRESH_LOW 400
-#define DMfalseALARM_THRESH_HIGH 1000
+#define DMfalseALARM_THRESH_LOW 400
+#define DMfalseALARM_THRESH_HIGH 1000
-#define DM_DIG_MAX_NIC 0x3e
-#define DM_DIG_MIN_NIC 0x1e /* 0x22//0x1c */
-#define DM_DIG_MAX_OF_MIN_NIC 0x3e
+#define DM_DIG_MAX_NIC 0x3e
+#define DM_DIG_MIN_NIC 0x1e /* 0x22//0x1c */
+#define DM_DIG_MAX_OF_MIN_NIC 0x3e
-#define DM_DIG_MAX_AP 0x3e
-#define DM_DIG_MIN_AP 0x1c
-#define DM_DIG_MAX_OF_MIN 0x2A /* 0x32 */
-#define DM_DIG_MIN_AP_DFS 0x20
+#define DM_DIG_MAX_AP 0x3e
+#define DM_DIG_MIN_AP 0x1c
+#define DM_DIG_MAX_OF_MIN 0x2A /* 0x32 */
+#define DM_DIG_MIN_AP_DFS 0x20
-#define DM_DIG_MAX_NIC_HP 0x46
-#define DM_DIG_MIN_NIC_HP 0x2e
+#define DM_DIG_MAX_NIC_HP 0x46
+#define DM_DIG_MIN_NIC_HP 0x2e
-#define DM_DIG_MAX_AP_HP 0x42
-#define DM_DIG_MIN_AP_HP 0x30
+#define DM_DIG_MAX_AP_HP 0x42
+#define DM_DIG_MIN_AP_HP 0x30
-#define DM_DIG_FA_TH0 0x200/* 0x20 */
+#define DM_DIG_FA_TH0 0x200 /* 0x20 */
-#define DM_DIG_FA_TH1 0x300
-#define DM_DIG_FA_TH2 0x400
+#define DM_DIG_FA_TH1 0x300
+#define DM_DIG_FA_TH2 0x400
/* this is for 92d */
-#define DM_DIG_FA_TH0_92D 0x100
-#define DM_DIG_FA_TH1_92D 0x400
-#define DM_DIG_FA_TH2_92D 0x600
+#define DM_DIG_FA_TH0_92D 0x100
+#define DM_DIG_FA_TH1_92D 0x400
+#define DM_DIG_FA_TH2_92D 0x600
-#define DM_DIG_BACKOFF_MAX 12
-#define DM_DIG_BACKOFF_MIN -4
-#define DM_DIG_BACKOFF_DEFAULT 10
+#define DM_DIG_BACKOFF_MAX 12
+#define DM_DIG_BACKOFF_MIN -4
+#define DM_DIG_BACKOFF_DEFAULT 10
-#define DM_DIG_FA_TH0_LPS 4 /* 4 in lps */
-#define DM_DIG_FA_TH1_LPS 15 /* 15 lps */
-#define DM_DIG_FA_TH2_LPS 30 /* 30 lps */
-#define RSSI_OFFSET_DIG 0x05
+#define DM_DIG_FA_TH0_LPS 4 /* 4 in lps */
+#define DM_DIG_FA_TH1_LPS 15 /* 15 lps */
+#define DM_DIG_FA_TH2_LPS 30 /* 30 lps */
+#define RSSI_OFFSET_DIG 0x05
void odm_NHMCounterStatisticsInit(void *pDM_VOID);
@@ -149,14 +146,8 @@ void odm_DIGbyRSSI_LPS(void *pDM_VOID);
void odm_FalseAlarmCounterStatistics(void *pDM_VOID);
-void odm_FAThresholdCheck(
- void *pDM_VOID,
- bool bDFSBand,
- bool bPerformance,
- u32 RxTp,
- u32 TxTp,
- u32 *dm_FA_thres
-);
+void odm_FAThresholdCheck(void *pDM_VOID, bool bDFSBand, bool bPerformance,
+ u32 RxTp, u32 TxTp, u32 *dm_FA_thres);
u8 odm_ForbiddenIGICheck(void *pDM_VOID, u8 DIG_Dynamic_MIN, u8 CurrentIGI);
diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c b/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c
index ba6357c6a7ede..c945eb08dca63 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c
+++ b/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.c
@@ -33,11 +33,22 @@ void ODM_RF_Saving(void *pDM_VOID, u8 bForceInNormal)
}
if (pDM_PSTable->initialize == 0) {
-
- pDM_PSTable->Reg874 = (PHY_QueryBBReg(pDM_Odm->Adapter, 0x874, bMaskDWord)&0x1CC000)>>14;
- pDM_PSTable->RegC70 = (PHY_QueryBBReg(pDM_Odm->Adapter, 0xc70, bMaskDWord)&BIT(3))>>3;
- pDM_PSTable->Reg85C = (PHY_QueryBBReg(pDM_Odm->Adapter, 0x85c, bMaskDWord)&0xFF000000)>>24;
- pDM_PSTable->RegA74 = (PHY_QueryBBReg(pDM_Odm->Adapter, 0xa74, bMaskDWord)&0xF000)>>12;
+ pDM_PSTable->Reg874 =
+ (PHY_QueryBBReg(pDM_Odm->Adapter, 0x874, bMaskDWord) &
+ 0x1CC000) >>
+ 14;
+ pDM_PSTable->RegC70 =
+ (PHY_QueryBBReg(pDM_Odm->Adapter, 0xc70, bMaskDWord) &
+ BIT(3)) >>
+ 3;
+ pDM_PSTable->Reg85C =
+ (PHY_QueryBBReg(pDM_Odm->Adapter, 0x85c, bMaskDWord) &
+ 0xFF000000) >>
+ 24;
+ pDM_PSTable->RegA74 =
+ (PHY_QueryBBReg(pDM_Odm->Adapter, 0xa74, bMaskDWord) &
+ 0xF000) >>
+ 12;
/* Reg818 = PHY_QueryBBReg(padapter, 0x818, bMaskDWord); */
pDM_PSTable->initialize = 1;
}
@@ -62,18 +73,29 @@ void ODM_RF_Saving(void *pDM_VOID, u8 bForceInNormal)
if (pDM_PSTable->PreRFState != pDM_PSTable->CurRFState) {
if (pDM_PSTable->CurRFState == RF_Save) {
- PHY_SetBBReg(pDM_Odm->Adapter, 0x874, 0x1C0000, 0x2); /* Reg874[20:18]=3'b010 */
- PHY_SetBBReg(pDM_Odm->Adapter, 0xc70, BIT(3), 0); /* RegC70[3]= 1'b0 */
- PHY_SetBBReg(pDM_Odm->Adapter, 0x85c, 0xFF000000, 0x63); /* Reg85C[31:24]= 0x63 */
- PHY_SetBBReg(pDM_Odm->Adapter, 0x874, 0xC000, 0x2); /* Reg874[15:14]=2'b10 */
- PHY_SetBBReg(pDM_Odm->Adapter, 0xa74, 0xF000, 0x3); /* RegA75[7:4]= 0x3 */
- PHY_SetBBReg(pDM_Odm->Adapter, 0x818, BIT(28), 0x0); /* Reg818[28]= 1'b0 */
- PHY_SetBBReg(pDM_Odm->Adapter, 0x818, BIT(28), 0x1); /* Reg818[28]= 1'b1 */
+ PHY_SetBBReg(pDM_Odm->Adapter, 0x874, 0x1C0000,
+ 0x2); /* Reg874[20:18]=3'b010 */
+ PHY_SetBBReg(pDM_Odm->Adapter, 0xc70, BIT(3),
+ 0); /* RegC70[3]= 1'b0 */
+ PHY_SetBBReg(pDM_Odm->Adapter, 0x85c, 0xFF000000,
+ 0x63); /* Reg85C[31:24]= 0x63 */
+ PHY_SetBBReg(pDM_Odm->Adapter, 0x874, 0xC000,
+ 0x2); /* Reg874[15:14]=2'b10 */
+ PHY_SetBBReg(pDM_Odm->Adapter, 0xa74, 0xF000,
+ 0x3); /* RegA75[7:4]= 0x3 */
+ PHY_SetBBReg(pDM_Odm->Adapter, 0x818, BIT(28),
+ 0x0); /* Reg818[28]= 1'b0 */
+ PHY_SetBBReg(pDM_Odm->Adapter, 0x818, BIT(28),
+ 0x1); /* Reg818[28]= 1'b1 */
} else {
- PHY_SetBBReg(pDM_Odm->Adapter, 0x874, 0x1CC000, pDM_PSTable->Reg874);
- PHY_SetBBReg(pDM_Odm->Adapter, 0xc70, BIT(3), pDM_PSTable->RegC70);
- PHY_SetBBReg(pDM_Odm->Adapter, 0x85c, 0xFF000000, pDM_PSTable->Reg85C);
- PHY_SetBBReg(pDM_Odm->Adapter, 0xa74, 0xF000, pDM_PSTable->RegA74);
+ PHY_SetBBReg(pDM_Odm->Adapter, 0x874, 0x1CC000,
+ pDM_PSTable->Reg874);
+ PHY_SetBBReg(pDM_Odm->Adapter, 0xc70, BIT(3),
+ pDM_PSTable->RegC70);
+ PHY_SetBBReg(pDM_Odm->Adapter, 0x85c, 0xFF000000,
+ pDM_PSTable->Reg85C);
+ PHY_SetBBReg(pDM_Odm->Adapter, 0xa74, 0xF000,
+ pDM_PSTable->RegA74);
PHY_SetBBReg(pDM_Odm->Adapter, 0x818, BIT(28), 0x0);
}
pDM_PSTable->PreRFState = pDM_PSTable->CurRFState;
diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h b/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h
index 3ebbbfd1dd1fe..ef5172d204388 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h
+++ b/drivers/staging/rtl8723bs/hal/odm_DynamicBBPowerSaving.h
@@ -5,8 +5,8 @@
*
******************************************************************************/
-#ifndef __ODMDYNAMICBBPOWERSAVING_H__
-#define __ODMDYNAMICBBPOWERSAVING_H__
+#ifndef __ODMDYNAMICBBPOWERSAVING_H__
+#define __ODMDYNAMICBBPOWERSAVING_H__
struct ps_t { /* _Dynamic_Power_Saving_ */
u8 PreCCAState;
@@ -19,7 +19,6 @@ struct ps_t { /* _Dynamic_Power_Saving_ */
u8 initialize;
u32 Reg874, RegC70, Reg85C, RegA74;
-
};
#define dm_RF_Saving ODM_RF_Saving
diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h
index e2d244324ebe9..9ad2c9bcfde89 100644
--- a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h
+++ b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h
@@ -5,24 +5,24 @@
*
******************************************************************************/
-#ifndef __ODMDYNAMICTXPOWER_H__
-#define __ODMDYNAMICTXPOWER_H__
+#ifndef __ODMDYNAMICTXPOWER_H__
+#define __ODMDYNAMICTXPOWER_H__
-#define TX_POWER_NEAR_FIELD_THRESH_LVL2 74
-#define TX_POWER_NEAR_FIELD_THRESH_LVL1 67
-#define TX_POWER_NEAR_FIELD_THRESH_AP 0x3F
-#define TX_POWER_NEAR_FIELD_THRESH_8812 60
+#define TX_POWER_NEAR_FIELD_THRESH_LVL2 74
+#define TX_POWER_NEAR_FIELD_THRESH_LVL1 67
+#define TX_POWER_NEAR_FIELD_THRESH_AP 0x3F
+#define TX_POWER_NEAR_FIELD_THRESH_8812 60
-#define TxHighPwrLevel_Normal 0
-#define TxHighPwrLevel_Level1 1
-#define TxHighPwrLevel_Level2 2
-#define TxHighPwrLevel_BT1 3
-#define TxHighPwrLevel_BT2 4
-#define TxHighPwrLevel_15 5
-#define TxHighPwrLevel_35 6
-#define TxHighPwrLevel_50 7
-#define TxHighPwrLevel_70 8
-#define TxHighPwrLevel_100 9
+#define TxHighPwrLevel_Normal 0
+#define TxHighPwrLevel_Level1 1
+#define TxHighPwrLevel_Level2 2
+#define TxHighPwrLevel_BT1 3
+#define TxHighPwrLevel_BT2 4
+#define TxHighPwrLevel_15 5
+#define TxHighPwrLevel_35 6
+#define TxHighPwrLevel_50 7
+#define TxHighPwrLevel_70 8
+#define TxHighPwrLevel_100 9
void odm_DynamicTxPowerInit(void *pDM_VOID);
diff --git a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c
index 578d5712645c8..21a352f87bb2b 100644
--- a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c
+++ b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c
@@ -8,26 +8,28 @@
#include "odm_precomp.h"
static u32 edca_setting_DL_GMode[HT_IOT_PEER_MAX] = {
-/*UNKNOWN, REALTEK_90, ALTEK_92SE BROADCOM, LINK ATHEROS,
+ /*UNKNOWN, REALTEK_90, ALTEK_92SE BROADCOM, LINK ATHEROS,
*CISCO, MERU, MARVELL, 92U_AP, SELF_AP
*/
- 0x4322, 0xa44f, 0x5e4322, 0xa42b, 0x5e4322, 0x4322,
- 0xa42b, 0x5ea42b, 0xa44f, 0x5e4322, 0x5ea42b
+ 0x4322, 0xa44f, 0x5e4322, 0xa42b, 0x5e4322, 0x4322,
+ 0xa42b, 0x5ea42b, 0xa44f, 0x5e4322, 0x5ea42b
};
static u32 edca_setting_UL[HT_IOT_PEER_MAX] = {
-/*UNKNOWN, REALTEK_90, REALTEK_92SE, BROADCOM, RALINK, ATHEROS,
+ /*UNKNOWN, REALTEK_90, REALTEK_92SE, BROADCOM, RALINK, ATHEROS,
*CISCO, MERU, MARVELL, 92U_AP, SELF_AP(DownLink/Tx)
*/
- 0x5e4322, 0xa44f, 0x5e4322, 0x5ea32b, 0x5ea422, 0x5ea322,
- 0x3ea430, 0x5ea42b, 0x5ea44f, 0x5e4322, 0x5e4322};
+ 0x5e4322, 0xa44f, 0x5e4322, 0x5ea32b, 0x5ea422, 0x5ea322,
+ 0x3ea430, 0x5ea42b, 0x5ea44f, 0x5e4322, 0x5e4322
+};
static u32 edca_setting_DL[HT_IOT_PEER_MAX] = {
-/*UNKNOWN, REALTEK_90, REALTEK_92SE, BROADCOM, RALINK, ATHEROS,
+ /*UNKNOWN, REALTEK_90, REALTEK_92SE, BROADCOM, RALINK, ATHEROS,
*CISCO, MERU, MARVELL, 92U_AP, SELF_AP(UpLink/Rx)
*/
- 0xa44f, 0x5ea44f, 0x5e4322, 0x5ea42b, 0xa44f, 0xa630,
- 0x5ea630, 0x5ea42b, 0xa44f, 0xa42b, 0xa42b};
+ 0xa44f, 0x5ea44f, 0x5e4322, 0x5ea42b, 0xa44f, 0xa630,
+ 0x5ea630, 0x5ea42b, 0xa44f, 0xa42b, 0xa42b
+};
void ODM_EdcaTurboInit(void *pDM_VOID)
{
@@ -37,7 +39,7 @@ void ODM_EdcaTurboInit(void *pDM_VOID)
pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA = false;
pDM_Odm->DM_EDCA_Table.bIsCurRDLState = false;
Adapter->recvpriv.bIsAnyNonBEPkts = false;
-} /* ODM_InitEdcaTurbo */
+} /* ODM_InitEdcaTurbo */
void odm_EdcaTurboCheck(void *pDM_VOID)
{
@@ -51,7 +53,7 @@ void odm_EdcaTurboCheck(void *pDM_VOID)
return;
odm_EdcaTurboCheckCE(pDM_Odm);
-} /* odm_CheckEdcaTurbo */
+} /* odm_CheckEdcaTurbo */
void odm_EdcaTurboCheckCE(void *pDM_VOID)
{
@@ -65,14 +67,14 @@ void odm_EdcaTurboCheckCE(void *pDM_VOID)
u32 EDCA_BE_UL = 0x5ea42b;
u32 EDCA_BE_DL = 0x5ea42b;
u32 iot_peer = 0;
- u8 wirelessmode = 0xFF; /* invalid value */
+ u8 wirelessmode = 0xFF; /* invalid value */
u32 trafficIndex;
u32 edca_param;
- u64 cur_tx_bytes = 0;
- u64 cur_rx_bytes = 0;
+ u64 cur_tx_bytes = 0;
+ u64 cur_rx_bytes = 0;
u8 bbtchange = false;
u8 biasonrx = false;
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
if (!pDM_Odm->bLinked) {
precvpriv->bIsAnyNonBEPkts = false;
@@ -89,7 +91,7 @@ void odm_EdcaTurboCheckCE(void *pDM_VOID)
iot_peer = pmlmeinfo->assoc_AP_vendor;
- if (iot_peer >= HT_IOT_PEER_MAX) {
+ if (iot_peer >= HT_IOT_PEER_MAX) {
precvpriv->bIsAnyNonBEPkts = false;
return;
}
@@ -150,8 +152,9 @@ void odm_EdcaTurboCheckCE(void *pDM_VOID)
} else {
/* Turn Off EDCA turbo here. */
/* Restore original EDCA according to the declaration of AP. */
- if (pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA) {
- rtw_write32(Adapter, REG_EDCA_BE_PARAM, pHalData->AcParam_BE);
+ if (pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA) {
+ rtw_write32(Adapter, REG_EDCA_BE_PARAM,
+ pHalData->AcParam_BE);
pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA = false;
}
}
diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c
index c88d669cb086d..3aa73361a6f64 100644
--- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c
+++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c
@@ -10,23 +10,22 @@
static u8 odm_query_rx_pwr_percentage(s8 ant_power)
{
if ((ant_power <= -100) || (ant_power >= 20))
- return 0;
+ return 0;
else if (ant_power >= 0)
- return 100;
+ return 100;
else
return 100 + ant_power;
-
}
s32 odm_signal_scale_mapping(struct dm_odm_t *dm_odm, s32 curr_sig)
{
s32 ret_sig = 0;
- if (dm_odm->SupportInterface == ODM_ITRF_SDIO) {
+ if (dm_odm->SupportInterface == ODM_ITRF_SDIO) {
if (curr_sig >= 51 && curr_sig <= 100)
ret_sig = 100;
else if (curr_sig >= 41 && curr_sig <= 50)
- ret_sig = 80 + ((curr_sig - 40)*2);
+ ret_sig = 80 + ((curr_sig - 40) * 2);
else if (curr_sig >= 31 && curr_sig <= 40)
ret_sig = 66 + (curr_sig - 30);
else if (curr_sig >= 21 && curr_sig <= 30)
@@ -73,8 +72,8 @@ static s8 odm_cck_rssi(u8 lna_idx, u8 vga_idx)
s8 rx_pwr_all = 0x00;
switch (lna_idx) {
- /* 46 53 73 95 201301231630 */
- /* 46 53 77 99 201301241630 */
+ /* 46 53 73 95 201301231630 */
+ /* 46 53 77 99 201301241630 */
case 6:
rx_pwr_all = -34 - (2 * vga_idx);
@@ -107,7 +106,8 @@ static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm,
bool is_cck_rate = false;
u8 rf_rx_num = 0;
u8 lna_idx, vga_idx;
- struct phy_status_rpt_8192cd_t *phy_sta_rpt = (struct phy_status_rpt_8192cd_t *)phy_status;
+ struct phy_status_rpt_8192cd_t *phy_sta_rpt =
+ (struct phy_status_rpt_8192cd_t *)phy_status;
is_cck_rate = pkt_info->data_rate <= DESC_RATE11M;
phy_info->rx_mimo_signal_quality[RF_PATH_A] = -1;
@@ -130,7 +130,7 @@ static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm,
* 2011.11.28 LukeLee: 88E use different LNA & VGA gain table
* The RSSI formula should be modified according to the gain table
*/
- lna_idx = ((cck_agc_rpt & 0xE0)>>5);
+ lna_idx = ((cck_agc_rpt & 0xE0) >> 5);
vga_idx = (cck_agc_rpt & 0x1F);
rx_pwr_all = odm_cck_rssi(lna_idx, vga_idx);
pwdb_all = odm_query_rx_pwr_percentage(rx_pwr_all);
@@ -150,15 +150,15 @@ static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm,
if (phy_info->rx_pwd_ba11 > 40 && !dm_odm->bInHctTest)
sq = 100;
else {
- sq_rpt = phy_sta_rpt->cck_sig_qual_ofdm_pwdb_all;
+ sq_rpt =
+ phy_sta_rpt->cck_sig_qual_ofdm_pwdb_all;
if (sq_rpt > 64)
sq = 0;
else if (sq_rpt < 20)
sq = 100;
else
- sq = ((64-sq_rpt) * 100) / 44;
-
+ sq = ((64 - sq_rpt) * 100) / 44;
}
phy_info->signal_quality = sq;
@@ -177,9 +177,11 @@ static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm,
if (dm_odm->RFPathRxEnable & BIT(i))
rf_rx_num++;
/* else */
- /* continue; */
+ /* continue; */
- rx_pwr[i] = ((phy_sta_rpt->path_agc[i].gain & 0x3F) * 2) - 110;
+ rx_pwr[i] =
+ ((phy_sta_rpt->path_agc[i].gain & 0x3F) * 2) -
+ 110;
phy_info->rx_pwr[i] = rx_pwr[i];
@@ -190,15 +192,19 @@ static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm,
phy_info->rx_mimo_signal_strength[i] = (u8)rssi;
/* Get Rx snr value in DB */
- phy_info->rx_snr[i] = dm_odm->PhyDbgInfo.RxSNRdB[i] = (s32)(phy_sta_rpt->path_rxsnr[i]/2);
+ phy_info->rx_snr[i] = dm_odm->PhyDbgInfo.RxSNRdB[i] =
+ (s32)(phy_sta_rpt->path_rxsnr[i] / 2);
}
/*
* (2)PWDB, Average PWDB calculated by hardware (for rate adaptive)
*/
- rx_pwr_all = ((phy_sta_rpt->cck_sig_qual_ofdm_pwdb_all >> 1) & 0x7f) - 110;
+ rx_pwr_all = ((phy_sta_rpt->cck_sig_qual_ofdm_pwdb_all >> 1) &
+ 0x7f) -
+ 110;
- pwdb_all_bt = pwdb_all = odm_query_rx_pwr_percentage(rx_pwr_all);
+ pwdb_all_bt = pwdb_all =
+ odm_query_rx_pwr_percentage(rx_pwr_all);
phy_info->rx_pwd_ba11 = pwdb_all;
phy_info->bt_rx_rssi_percentage = pwdb_all_bt;
@@ -218,7 +224,8 @@ static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm,
* is supposed to be negative) is not correct
* anymore.
*/
- evm = odm_evm_db_to_percentage(phy_sta_rpt->stream_rxevm[0]); /* dbm */
+ evm = odm_evm_db_to_percentage(
+ phy_sta_rpt->stream_rxevm[0]); /* dbm */
/* Fill value in RFD, Get the first spatial stream only */
phy_info->signal_quality = (u8)(evm & 0xff);
@@ -234,20 +241,23 @@ static void odm_rx_phy_status_parsing(struct dm_odm_t *dm_odm,
* It is assigned to the BSS List in GetValueFromBeaconOrProbeRsp().
*/
if (is_cck_rate) {
- phy_info->signal_strength = (u8)(odm_signal_scale_mapping(dm_odm, pwdb_all));
+ phy_info->signal_strength =
+ (u8)(odm_signal_scale_mapping(dm_odm, pwdb_all));
} else {
if (rf_rx_num != 0) {
- phy_info->signal_strength = (u8)(odm_signal_scale_mapping(dm_odm, total_rssi /= rf_rx_num));
+ phy_info->signal_strength =
+ (u8)(odm_signal_scale_mapping(
+ dm_odm, total_rssi /= rf_rx_num));
}
}
}
-static void odm_Process_RSSIForDM(
- struct dm_odm_t *pDM_Odm, struct odm_phy_info *pPhyInfo, struct odm_packet_info *pPktinfo
-)
+static void odm_Process_RSSIForDM(struct dm_odm_t *pDM_Odm,
+ struct odm_phy_info *pPhyInfo,
+ struct odm_packet_info *pPktinfo)
{
-
- s32 UndecoratedSmoothedPWDB, UndecoratedSmoothedCCK, UndecoratedSmoothedOFDM, RSSI_Ave;
+ s32 UndecoratedSmoothedPWDB, UndecoratedSmoothedCCK,
+ UndecoratedSmoothedOFDM, RSSI_Ave;
u8 isCCKrate = 0;
u8 RSSI_max, RSSI_min, i;
u32 OFDM_pkt = 0;
@@ -273,7 +283,6 @@ static void odm_Process_RSSIForDM(
/* Statistic for antenna/path diversity------------------ */
if (pDM_Odm->SupportAbility & ODM_BB_ANT_DIV) {
-
}
/* Smart Antenna Debug Message------------------ */
@@ -283,76 +292,102 @@ static void odm_Process_RSSIForDM(
UndecoratedSmoothedPWDB = pEntry->rssi_stat.UndecoratedSmoothedPWDB;
if (pPktinfo->to_self || pPktinfo->is_beacon) {
-
if (!isCCKrate) { /* ofdm rate */
if (pPhyInfo->rx_mimo_signal_strength[RF_PATH_B] == 0) {
- RSSI_Ave = pPhyInfo->rx_mimo_signal_strength[RF_PATH_A];
- pDM_Odm->RSSI_A = pPhyInfo->rx_mimo_signal_strength[RF_PATH_A];
+ RSSI_Ave = pPhyInfo->rx_mimo_signal_strength
+ [RF_PATH_A];
+ pDM_Odm->RSSI_A =
+ pPhyInfo->rx_mimo_signal_strength
+ [RF_PATH_A];
pDM_Odm->RSSI_B = 0;
} else {
- pDM_Odm->RSSI_A = pPhyInfo->rx_mimo_signal_strength[RF_PATH_A];
- pDM_Odm->RSSI_B = pPhyInfo->rx_mimo_signal_strength[RF_PATH_B];
-
- if (
- pPhyInfo->rx_mimo_signal_strength[RF_PATH_A] >
- pPhyInfo->rx_mimo_signal_strength[RF_PATH_B]
- ) {
- RSSI_max = pPhyInfo->rx_mimo_signal_strength[RF_PATH_A];
- RSSI_min = pPhyInfo->rx_mimo_signal_strength[RF_PATH_B];
+ pDM_Odm->RSSI_A =
+ pPhyInfo->rx_mimo_signal_strength
+ [RF_PATH_A];
+ pDM_Odm->RSSI_B =
+ pPhyInfo->rx_mimo_signal_strength
+ [RF_PATH_B];
+
+ if (pPhyInfo->rx_mimo_signal_strength[RF_PATH_A] >
+ pPhyInfo->rx_mimo_signal_strength[RF_PATH_B]) {
+ RSSI_max =
+ pPhyInfo->rx_mimo_signal_strength
+ [RF_PATH_A];
+ RSSI_min =
+ pPhyInfo->rx_mimo_signal_strength
+ [RF_PATH_B];
} else {
- RSSI_max = pPhyInfo->rx_mimo_signal_strength[RF_PATH_B];
- RSSI_min = pPhyInfo->rx_mimo_signal_strength[RF_PATH_A];
+ RSSI_max =
+ pPhyInfo->rx_mimo_signal_strength
+ [RF_PATH_B];
+ RSSI_min =
+ pPhyInfo->rx_mimo_signal_strength
+ [RF_PATH_A];
}
- if ((RSSI_max-RSSI_min) < 3)
+ if ((RSSI_max - RSSI_min) < 3)
RSSI_Ave = RSSI_max;
- else if ((RSSI_max-RSSI_min) < 6)
+ else if ((RSSI_max - RSSI_min) < 6)
RSSI_Ave = RSSI_max - 1;
- else if ((RSSI_max-RSSI_min) < 10)
+ else if ((RSSI_max - RSSI_min) < 10)
RSSI_Ave = RSSI_max - 2;
else
RSSI_Ave = RSSI_max - 3;
}
/* 1 Process OFDM RSSI */
- if (UndecoratedSmoothedOFDM <= 0) /* initialize */
+ if (UndecoratedSmoothedOFDM <= 0) /* initialize */
UndecoratedSmoothedOFDM = pPhyInfo->rx_pwd_ba11;
else {
- if (pPhyInfo->rx_pwd_ba11 > (u32)UndecoratedSmoothedOFDM) {
+ if (pPhyInfo->rx_pwd_ba11 >
+ (u32)UndecoratedSmoothedOFDM) {
UndecoratedSmoothedOFDM =
- ((UndecoratedSmoothedOFDM*(Rx_Smooth_Factor-1)) +
- RSSI_Ave)/Rx_Smooth_Factor;
- UndecoratedSmoothedOFDM = UndecoratedSmoothedOFDM + 1;
+ ((UndecoratedSmoothedOFDM *
+ (Rx_Smooth_Factor - 1)) +
+ RSSI_Ave) /
+ Rx_Smooth_Factor;
+ UndecoratedSmoothedOFDM =
+ UndecoratedSmoothedOFDM + 1;
} else {
UndecoratedSmoothedOFDM =
- ((UndecoratedSmoothedOFDM*(Rx_Smooth_Factor-1)) +
- RSSI_Ave)/Rx_Smooth_Factor;
+ ((UndecoratedSmoothedOFDM *
+ (Rx_Smooth_Factor - 1)) +
+ RSSI_Ave) /
+ Rx_Smooth_Factor;
}
}
- pEntry->rssi_stat.PacketMap = (pEntry->rssi_stat.PacketMap<<1) | BIT(0);
+ pEntry->rssi_stat.PacketMap =
+ (pEntry->rssi_stat.PacketMap << 1) | BIT(0);
} else {
RSSI_Ave = pPhyInfo->rx_pwd_ba11;
- pDM_Odm->RSSI_A = (u8) pPhyInfo->rx_pwd_ba11;
+ pDM_Odm->RSSI_A = (u8)pPhyInfo->rx_pwd_ba11;
pDM_Odm->RSSI_B = 0;
/* 1 Process CCK RSSI */
- if (UndecoratedSmoothedCCK <= 0) /* initialize */
+ if (UndecoratedSmoothedCCK <= 0) /* initialize */
UndecoratedSmoothedCCK = pPhyInfo->rx_pwd_ba11;
else {
- if (pPhyInfo->rx_pwd_ba11 > (u32)UndecoratedSmoothedCCK) {
+ if (pPhyInfo->rx_pwd_ba11 >
+ (u32)UndecoratedSmoothedCCK) {
+ UndecoratedSmoothedCCK =
+ ((UndecoratedSmoothedCCK *
+ (Rx_Smooth_Factor - 1)) +
+ pPhyInfo->rx_pwd_ba11) /
+ Rx_Smooth_Factor;
UndecoratedSmoothedCCK =
- ((UndecoratedSmoothedCCK*(Rx_Smooth_Factor-1)) +
- pPhyInfo->rx_pwd_ba11)/Rx_Smooth_Factor;
- UndecoratedSmoothedCCK = UndecoratedSmoothedCCK + 1;
+ UndecoratedSmoothedCCK + 1;
} else {
UndecoratedSmoothedCCK =
- ((UndecoratedSmoothedCCK*(Rx_Smooth_Factor-1)) +
- pPhyInfo->rx_pwd_ba11)/Rx_Smooth_Factor;
+ ((UndecoratedSmoothedCCK *
+ (Rx_Smooth_Factor - 1)) +
+ pPhyInfo->rx_pwd_ba11) /
+ Rx_Smooth_Factor;
}
}
- pEntry->rssi_stat.PacketMap = pEntry->rssi_stat.PacketMap<<1;
+ pEntry->rssi_stat.PacketMap =
+ pEntry->rssi_stat.PacketMap << 1;
}
/* if (pEntry) */
@@ -364,33 +399,49 @@ static void odm_Process_RSSIForDM(
pEntry->rssi_stat.ValidBit++;
for (i = 0; i < pEntry->rssi_stat.ValidBit; i++)
- OFDM_pkt += (u8)(pEntry->rssi_stat.PacketMap>>i)&BIT(0);
+ OFDM_pkt +=
+ (u8)(pEntry->rssi_stat.PacketMap >> i) &
+ BIT(0);
if (pEntry->rssi_stat.ValidBit == 64) {
- Weighting = ((OFDM_pkt<<4) > 64)?64:(OFDM_pkt<<4);
- UndecoratedSmoothedPWDB = (Weighting*UndecoratedSmoothedOFDM+(64-Weighting)*UndecoratedSmoothedCCK)>>6;
+ Weighting = ((OFDM_pkt << 4) > 64) ?
+ 64 :
+ (OFDM_pkt << 4);
+ UndecoratedSmoothedPWDB =
+ (Weighting * UndecoratedSmoothedOFDM +
+ (64 - Weighting) *
+ UndecoratedSmoothedCCK) >>
+ 6;
} else {
if (pEntry->rssi_stat.ValidBit != 0)
- UndecoratedSmoothedPWDB = (OFDM_pkt*UndecoratedSmoothedOFDM+(pEntry->rssi_stat.ValidBit-OFDM_pkt)*UndecoratedSmoothedCCK)/pEntry->rssi_stat.ValidBit;
+ UndecoratedSmoothedPWDB =
+ (OFDM_pkt *
+ UndecoratedSmoothedOFDM +
+ (pEntry->rssi_stat.ValidBit -
+ OFDM_pkt) *
+ UndecoratedSmoothedCCK) /
+ pEntry->rssi_stat.ValidBit;
else
UndecoratedSmoothedPWDB = 0;
}
- pEntry->rssi_stat.UndecoratedSmoothedCCK = UndecoratedSmoothedCCK;
- pEntry->rssi_stat.UndecoratedSmoothedOFDM = UndecoratedSmoothedOFDM;
- pEntry->rssi_stat.UndecoratedSmoothedPWDB = UndecoratedSmoothedPWDB;
+ pEntry->rssi_stat.UndecoratedSmoothedCCK =
+ UndecoratedSmoothedCCK;
+ pEntry->rssi_stat.UndecoratedSmoothedOFDM =
+ UndecoratedSmoothedOFDM;
+ pEntry->rssi_stat.UndecoratedSmoothedPWDB =
+ UndecoratedSmoothedPWDB;
}
-
}
}
/* */
/* Endianness before calling this API */
/* */
-void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info,
- u8 *phy_status, struct odm_packet_info *pkt_info)
+void odm_phy_status_query(struct dm_odm_t *dm_odm,
+ struct odm_phy_info *phy_info, u8 *phy_status,
+ struct odm_packet_info *pkt_info)
{
-
odm_rx_phy_status_parsing(dm_odm, phy_info, phy_status, pkt_info);
if (!dm_odm->RSSI_test)
@@ -402,11 +453,9 @@ void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info
/* */
/* */
-enum hal_status ODM_ConfigRFWithHeaderFile(
- struct dm_odm_t *pDM_Odm,
- enum ODM_RF_Config_Type ConfigType,
- enum rf_path eRFPath
-)
+enum hal_status ODM_ConfigRFWithHeaderFile(struct dm_odm_t *pDM_Odm,
+ enum ODM_RF_Config_Type ConfigType,
+ enum rf_path eRFPath)
{
if (ConfigType == CONFIG_RF_RADIO)
ODM_ReadAndConfig_MP_8723B_RadioA(pDM_Odm);
@@ -424,9 +473,8 @@ enum hal_status ODM_ConfigRFWithTxPwrTrackHeaderFile(struct dm_odm_t *pDM_Odm)
return HAL_STATUS_SUCCESS;
}
-enum hal_status ODM_ConfigBBWithHeaderFile(
- struct dm_odm_t *pDM_Odm, enum ODM_BB_Config_Type ConfigType
-)
+enum hal_status ODM_ConfigBBWithHeaderFile(struct dm_odm_t *pDM_Odm,
+ enum ODM_BB_Config_Type ConfigType)
{
if (ConfigType == CONFIG_BB_PHY_REG)
ODM_ReadAndConfig_MP_8723B_PHY_REG(pDM_Odm);
@@ -437,4 +485,3 @@ enum hal_status ODM_ConfigBBWithHeaderFile(
return HAL_STATUS_SUCCESS;
}
-
diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h
index 615145812ed23..1e95e1b8ae401 100644
--- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h
+++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h
@@ -13,11 +13,11 @@
/* */
struct phy_rx_agc_info_t {
- #if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE)
- u8 gain:7, trsw:1;
- #else
- u8 trsw:1, gain:7;
- #endif
+#if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE)
+ u8 gain : 7, trsw : 1;
+#else
+ u8 trsw : 1, gain : 7;
+#endif
};
struct phy_status_rpt_8192cd_t {
@@ -26,7 +26,7 @@ struct phy_status_rpt_8192cd_t {
u8 cck_sig_qual_ofdm_pwdb_all;
u8 cck_agc_rpt_ofdm_cfosho_a;
u8 cck_rpt_b_ofdm_cfosho_b;
- u8 rsvd_1;/* ch_corr_msb; */
+ u8 rsvd_1; /* ch_corr_msb; */
u8 noise_power_db_msb;
s8 path_cfotail[2];
u8 pcts_mask[2];
@@ -36,49 +36,44 @@ struct phy_status_rpt_8192cd_t {
u8 rsvd_2[3];
u8 stream_csi[2];
u8 stream_target_csi[2];
- s8 sig_evm;
+ s8 sig_evm;
u8 rsvd_3;
#if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE)
- u8 antsel_rx_keep_2:1; /* ex_intf_flg:1; */
- u8 sgi_en:1;
- u8 rxsc:2;
- u8 idle_long:1;
- u8 r_ant_train_en:1;
- u8 ant_sel_b:1;
- u8 ant_sel:1;
-#else /* _BIG_ENDIAN_ */
- u8 ant_sel:1;
- u8 ant_sel_b:1;
- u8 r_ant_train_en:1;
- u8 idle_long:1;
- u8 rxsc:2;
- u8 sgi_en:1;
- u8 antsel_rx_keep_2:1; /* ex_intf_flg:1; */
+ u8 antsel_rx_keep_2 : 1; /* ex_intf_flg:1; */
+ u8 sgi_en : 1;
+ u8 rxsc : 2;
+ u8 idle_long : 1;
+ u8 r_ant_train_en : 1;
+ u8 ant_sel_b : 1;
+ u8 ant_sel : 1;
+#else /* _BIG_ENDIAN_ */
+ u8 ant_sel : 1;
+ u8 ant_sel_b : 1;
+ u8 r_ant_train_en : 1;
+ u8 idle_long : 1;
+ u8 rxsc : 2;
+ u8 sgi_en : 1;
+ u8 antsel_rx_keep_2 : 1; /* ex_intf_flg:1; */
#endif
};
-void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info,
- u8 *phy_status, struct odm_packet_info *pkt_info);
+void odm_phy_status_query(struct dm_odm_t *dm_odm,
+ struct odm_phy_info *phy_info, u8 *phy_status,
+ struct odm_packet_info *pkt_info);
enum hal_status ODM_ConfigRFWithTxPwrTrackHeaderFile(struct dm_odm_t *pDM_Odm);
-enum hal_status ODM_ConfigRFWithHeaderFile(
- struct dm_odm_t *pDM_Odm,
- enum ODM_RF_Config_Type ConfigType,
- enum rf_path eRFPath
-);
+enum hal_status ODM_ConfigRFWithHeaderFile(struct dm_odm_t *pDM_Odm,
+ enum ODM_RF_Config_Type ConfigType,
+ enum rf_path eRFPath);
-enum hal_status ODM_ConfigBBWithHeaderFile(
- struct dm_odm_t *pDM_Odm, enum ODM_BB_Config_Type ConfigType
-);
+enum hal_status ODM_ConfigBBWithHeaderFile(struct dm_odm_t *pDM_Odm,
+ enum ODM_BB_Config_Type ConfigType);
-enum hal_status ODM_ConfigFWWithHeaderFile(
- struct dm_odm_t *pDM_Odm,
- enum ODM_FW_Config_Type ConfigType,
- u8 *pFirmware,
- u32 *pSize
-);
+enum hal_status ODM_ConfigFWWithHeaderFile(struct dm_odm_t *pDM_Odm,
+ enum ODM_FW_Config_Type ConfigType,
+ u8 *pFirmware, u32 *pSize);
s32 odm_signal_scale_mapping(struct dm_odm_t *pDM_Odm, s32 CurrSig);
diff --git a/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c b/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c
index 6514a711e6bd2..ee812526f9ced 100644
--- a/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c
+++ b/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.c
@@ -7,18 +7,14 @@
#include "odm_precomp.h"
-void odm_ConfigRFReg_8723B(
- struct dm_odm_t *pDM_Odm,
- u32 Addr,
- u32 Data,
- enum rf_path RF_PATH,
- u32 RegAddr
-)
+void odm_ConfigRFReg_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Data,
+ enum rf_path RF_PATH, u32 RegAddr)
{
if (Addr == 0xfe || Addr == 0xffe)
msleep(50);
else {
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH, RegAddr, bRFRegOffsetMask, Data);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH, RegAddr,
+ bRFRegOffsetMask, Data);
/* Add 1us delay between BB/RF register setting. */
udelay(1);
@@ -27,17 +23,19 @@ void odm_ConfigRFReg_8723B(
u32 getvalue = 0;
u8 count = 0;
- getvalue = PHY_QueryRFReg(
- pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord
- );
+ getvalue = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH,
+ Addr, bMaskDWord);
udelay(1);
- while ((getvalue>>8) != (Data>>8)) {
+ while ((getvalue >> 8) != (Data >> 8)) {
count++;
- PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH, RegAddr, bRFRegOffsetMask, Data);
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH, RegAddr,
+ bRFRegOffsetMask, Data);
udelay(1);
- getvalue = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord);
+ getvalue = PHY_QueryRFReg(pDM_Odm->Adapter,
+ RF_PATH, Addr,
+ bMaskDWord);
if (count > 5)
break;
}
@@ -47,34 +45,23 @@ void odm_ConfigRFReg_8723B(
u32 getvalue = 0;
u8 count = 0;
- getvalue = PHY_QueryRFReg(
- pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord
- );
+ getvalue = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH,
+ Addr, bMaskDWord);
udelay(1);
while (getvalue != Data) {
count++;
- PHY_SetRFReg(
- pDM_Odm->Adapter,
- RF_PATH,
- RegAddr,
- bRFRegOffsetMask,
- Data
- );
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH, RegAddr,
+ bRFRegOffsetMask, Data);
udelay(1);
/* Do LCK againg */
- PHY_SetRFReg(
- pDM_Odm->Adapter,
- RF_PATH,
- 0x18,
- bRFRegOffsetMask,
- 0x0fc07
- );
+ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH, 0x18,
+ bRFRegOffsetMask, 0x0fc07);
udelay(1);
- getvalue = PHY_QueryRFReg(
- pDM_Odm->Adapter, RF_PATH, Addr, bMaskDWord
- );
+ getvalue = PHY_QueryRFReg(pDM_Odm->Adapter,
+ RF_PATH, Addr,
+ bMaskDWord);
if (count > 5)
break;
@@ -85,16 +72,11 @@ void odm_ConfigRFReg_8723B(
void odm_ConfigRF_RadioA_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Data)
{
- u32 content = 0x1000; /* RF_Content: radioa_txt */
- u32 maskforPhySet = (u32)(content&0xE000);
-
- odm_ConfigRFReg_8723B(
- pDM_Odm,
- Addr,
- Data,
- RF_PATH_A,
- Addr|maskforPhySet
- );
+ u32 content = 0x1000; /* RF_Content: radioa_txt */
+ u32 maskforPhySet = (u32)(content & 0xE000);
+
+ odm_ConfigRFReg_8723B(pDM_Odm, Addr, Data, RF_PATH_A,
+ Addr | maskforPhySet);
}
void odm_ConfigMAC_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u8 Data)
@@ -102,38 +84,26 @@ void odm_ConfigMAC_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u8 Data)
rtw_write8(pDM_Odm->Adapter, Addr, Data);
}
-void odm_ConfigBB_AGC_8723B(
- struct dm_odm_t *pDM_Odm,
- u32 Addr,
- u32 Bitmask,
- u32 Data
-)
+void odm_ConfigBB_AGC_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Bitmask,
+ u32 Data)
{
PHY_SetBBReg(pDM_Odm->Adapter, Addr, Bitmask, Data);
/* Add 1us delay between BB/RF register setting. */
udelay(1);
}
-void odm_ConfigBB_PHY_REG_PG_8723B(
- struct dm_odm_t *pDM_Odm,
- u32 RfPath,
- u32 Addr,
- u32 Bitmask,
- u32 Data
-)
+void odm_ConfigBB_PHY_REG_PG_8723B(struct dm_odm_t *pDM_Odm, u32 RfPath,
+ u32 Addr, u32 Bitmask, u32 Data)
{
if (Addr == 0xfe || Addr == 0xffe)
msleep(50);
else
- PHY_StoreTxPowerByRate(pDM_Odm->Adapter, RfPath, Addr, Bitmask, Data);
+ PHY_StoreTxPowerByRate(pDM_Odm->Adapter, RfPath, Addr, Bitmask,
+ Data);
}
-void odm_ConfigBB_PHY_8723B(
- struct dm_odm_t *pDM_Odm,
- u32 Addr,
- u32 Bitmask,
- u32 Data
-)
+void odm_ConfigBB_PHY_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Bitmask,
+ u32 Data)
{
if (Addr == 0xfe)
msleep(50);
@@ -154,23 +124,10 @@ void odm_ConfigBB_PHY_8723B(
udelay(1);
}
-void odm_ConfigBB_TXPWR_LMT_8723B(
- struct dm_odm_t *pDM_Odm,
- u8 *Regulation,
- u8 *Bandwidth,
- u8 *RateSection,
- u8 *RfPath,
- u8 *Channel,
- u8 *PowerLimit
-)
+void odm_ConfigBB_TXPWR_LMT_8723B(struct dm_odm_t *pDM_Odm, u8 *Regulation,
+ u8 *Bandwidth, u8 *RateSection, u8 *RfPath,
+ u8 *Channel, u8 *PowerLimit)
{
- PHY_SetTxPowerLimit(
- pDM_Odm->Adapter,
- Regulation,
- Bandwidth,
- RateSection,
- RfPath,
- Channel,
- PowerLimit
- );
+ PHY_SetTxPowerLimit(pDM_Odm->Adapter, Regulation, Bandwidth,
+ RateSection, RfPath, Channel, PowerLimit);
}
diff --git a/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h b/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h
index fba7053ee3e13..30237c2966a15 100644
--- a/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h
+++ b/drivers/staging/rtl8723bs/hal/odm_RegConfig8723B.h
@@ -7,39 +7,24 @@
#ifndef __INC_ODM_REGCONFIG_H_8723B
#define __INC_ODM_REGCONFIG_H_8723B
-void odm_ConfigRFReg_8723B(struct dm_odm_t *pDM_Odm,
- u32 Addr,
- u32 Data,
- enum rf_path RF_PATH,
- u32 RegAddr
-);
+void odm_ConfigRFReg_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Data,
+ enum rf_path RF_PATH, u32 RegAddr);
void odm_ConfigRF_RadioA_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Data);
void odm_ConfigMAC_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u8 Data);
-void odm_ConfigBB_AGC_8723B(struct dm_odm_t *pDM_Odm,
- u32 Addr,
- u32 Bitmask,
- u32 Data
-);
-
-void odm_ConfigBB_PHY_REG_PG_8723B(struct dm_odm_t *pDM_Odm, u32 RfPath, u32 Addr,
- u32 Bitmask, u32 Data);
-
-void odm_ConfigBB_PHY_8723B(struct dm_odm_t *pDM_Odm,
- u32 Addr,
- u32 Bitmask,
- u32 Data
-);
-
-void odm_ConfigBB_TXPWR_LMT_8723B(struct dm_odm_t *pDM_Odm,
- u8 *Regulation,
- u8 *Bandwidth,
- u8 *RateSection,
- u8 *RfPath,
- u8 *Channel,
- u8 *PowerLimit
-);
+void odm_ConfigBB_AGC_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Bitmask,
+ u32 Data);
+
+void odm_ConfigBB_PHY_REG_PG_8723B(struct dm_odm_t *pDM_Odm, u32 RfPath,
+ u32 Addr, u32 Bitmask, u32 Data);
+
+void odm_ConfigBB_PHY_8723B(struct dm_odm_t *pDM_Odm, u32 Addr, u32 Bitmask,
+ u32 Data);
+
+void odm_ConfigBB_TXPWR_LMT_8723B(struct dm_odm_t *pDM_Odm, u8 *Regulation,
+ u8 *Bandwidth, u8 *RateSection, u8 *RfPath,
+ u8 *Channel, u8 *PowerLimit);
#endif
diff --git a/drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h b/drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h
index 9ba8e06e5ad55..603da3e4fac4c 100644
--- a/drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h
+++ b/drivers/staging/rtl8723bs/hal/odm_RegDefine11N.h
@@ -5,156 +5,156 @@
*
******************************************************************************/
-#ifndef __ODM_REGDEFINE11N_H__
+#ifndef __ODM_REGDEFINE11N_H__
#define __ODM_REGDEFINE11N_H__
/* 2 RF REG LIST */
-#define ODM_REG_RF_MODE_11N 0x00
-#define ODM_REG_RF_0B_11N 0x0B
-#define ODM_REG_CHNBW_11N 0x18
-#define ODM_REG_T_METER_11N 0x24
-#define ODM_REG_RF_25_11N 0x25
-#define ODM_REG_RF_26_11N 0x26
-#define ODM_REG_RF_27_11N 0x27
-#define ODM_REG_RF_2B_11N 0x2B
-#define ODM_REG_RF_2C_11N 0x2C
-#define ODM_REG_RXRF_A3_11N 0x3C
-#define ODM_REG_T_METER_92D_11N 0x42
-#define ODM_REG_T_METER_88E_11N 0x42
+#define ODM_REG_RF_MODE_11N 0x00
+#define ODM_REG_RF_0B_11N 0x0B
+#define ODM_REG_CHNBW_11N 0x18
+#define ODM_REG_T_METER_11N 0x24
+#define ODM_REG_RF_25_11N 0x25
+#define ODM_REG_RF_26_11N 0x26
+#define ODM_REG_RF_27_11N 0x27
+#define ODM_REG_RF_2B_11N 0x2B
+#define ODM_REG_RF_2C_11N 0x2C
+#define ODM_REG_RXRF_A3_11N 0x3C
+#define ODM_REG_T_METER_92D_11N 0x42
+#define ODM_REG_T_METER_88E_11N 0x42
/* 2 BB REG LIST */
/* PAGE 8 */
-#define ODM_REG_BB_CTRL_11N 0x800
-#define ODM_REG_RF_PIN_11N 0x804
-#define ODM_REG_PSD_CTRL_11N 0x808
-#define ODM_REG_TX_ANT_CTRL_11N 0x80C
-#define ODM_REG_BB_PWR_SAV5_11N 0x818
-#define ODM_REG_CCK_RPT_FORMAT_11N 0x824
-#define ODM_REG_RX_DEFAULT_A_11N 0x858
-#define ODM_REG_RX_DEFAULT_B_11N 0x85A
-#define ODM_REG_BB_PWR_SAV3_11N 0x85C
-#define ODM_REG_ANTSEL_CTRL_11N 0x860
-#define ODM_REG_RX_ANT_CTRL_11N 0x864
-#define ODM_REG_PIN_CTRL_11N 0x870
-#define ODM_REG_BB_PWR_SAV1_11N 0x874
-#define ODM_REG_ANTSEL_PATH_11N 0x878
-#define ODM_REG_BB_3WIRE_11N 0x88C
-#define ODM_REG_SC_CNT_11N 0x8C4
-#define ODM_REG_PSD_DATA_11N 0x8B4
-#define ODM_REG_PSD_DATA_11N 0x8B4
-#define ODM_REG_NHM_TIMER_11N 0x894
-#define ODM_REG_NHM_TH9_TH10_11N 0x890
-#define ODM_REG_NHM_TH3_TO_TH0_11N 0x898
-#define ODM_REG_NHM_TH7_TO_TH4_11N 0x89c
-#define ODM_REG_NHM_CNT_11N 0x8d8
+#define ODM_REG_BB_CTRL_11N 0x800
+#define ODM_REG_RF_PIN_11N 0x804
+#define ODM_REG_PSD_CTRL_11N 0x808
+#define ODM_REG_TX_ANT_CTRL_11N 0x80C
+#define ODM_REG_BB_PWR_SAV5_11N 0x818
+#define ODM_REG_CCK_RPT_FORMAT_11N 0x824
+#define ODM_REG_RX_DEFAULT_A_11N 0x858
+#define ODM_REG_RX_DEFAULT_B_11N 0x85A
+#define ODM_REG_BB_PWR_SAV3_11N 0x85C
+#define ODM_REG_ANTSEL_CTRL_11N 0x860
+#define ODM_REG_RX_ANT_CTRL_11N 0x864
+#define ODM_REG_PIN_CTRL_11N 0x870
+#define ODM_REG_BB_PWR_SAV1_11N 0x874
+#define ODM_REG_ANTSEL_PATH_11N 0x878
+#define ODM_REG_BB_3WIRE_11N 0x88C
+#define ODM_REG_SC_CNT_11N 0x8C4
+#define ODM_REG_PSD_DATA_11N 0x8B4
+#define ODM_REG_PSD_DATA_11N 0x8B4
+#define ODM_REG_NHM_TIMER_11N 0x894
+#define ODM_REG_NHM_TH9_TH10_11N 0x890
+#define ODM_REG_NHM_TH3_TO_TH0_11N 0x898
+#define ODM_REG_NHM_TH7_TO_TH4_11N 0x89c
+#define ODM_REG_NHM_CNT_11N 0x8d8
/* PAGE 9 */
-#define ODM_REG_DBG_RPT_11N 0x908
-#define ODM_REG_ANT_MAPPING1_11N 0x914
-#define ODM_REG_ANT_MAPPING2_11N 0x918
+#define ODM_REG_DBG_RPT_11N 0x908
+#define ODM_REG_ANT_MAPPING1_11N 0x914
+#define ODM_REG_ANT_MAPPING2_11N 0x918
/* PAGE A */
-#define ODM_REG_CCK_ANTDIV_PARA1_11N 0xA00
-#define ODM_REG_CCK_CCA_11N 0xA0A
-#define ODM_REG_CCK_ANTDIV_PARA2_11N 0xA0C
-#define ODM_REG_CCK_ANTDIV_PARA3_11N 0xA10
-#define ODM_REG_CCK_ANTDIV_PARA4_11N 0xA14
-#define ODM_REG_CCK_FILTER_PARA1_11N 0xA22
-#define ODM_REG_CCK_FILTER_PARA2_11N 0xA23
-#define ODM_REG_CCK_FILTER_PARA3_11N 0xA24
-#define ODM_REG_CCK_FILTER_PARA4_11N 0xA25
-#define ODM_REG_CCK_FILTER_PARA5_11N 0xA26
-#define ODM_REG_CCK_FILTER_PARA6_11N 0xA27
-#define ODM_REG_CCK_FILTER_PARA7_11N 0xA28
-#define ODM_REG_CCK_FILTER_PARA8_11N 0xA29
-#define ODM_REG_CCK_FA_RST_11N 0xA2C
-#define ODM_REG_CCK_FA_MSB_11N 0xA58
-#define ODM_REG_CCK_FA_LSB_11N 0xA5C
-#define ODM_REG_CCK_CCA_CNT_11N 0xA60
-#define ODM_REG_BB_PWR_SAV4_11N 0xA74
+#define ODM_REG_CCK_ANTDIV_PARA1_11N 0xA00
+#define ODM_REG_CCK_CCA_11N 0xA0A
+#define ODM_REG_CCK_ANTDIV_PARA2_11N 0xA0C
+#define ODM_REG_CCK_ANTDIV_PARA3_11N 0xA10
+#define ODM_REG_CCK_ANTDIV_PARA4_11N 0xA14
+#define ODM_REG_CCK_FILTER_PARA1_11N 0xA22
+#define ODM_REG_CCK_FILTER_PARA2_11N 0xA23
+#define ODM_REG_CCK_FILTER_PARA3_11N 0xA24
+#define ODM_REG_CCK_FILTER_PARA4_11N 0xA25
+#define ODM_REG_CCK_FILTER_PARA5_11N 0xA26
+#define ODM_REG_CCK_FILTER_PARA6_11N 0xA27
+#define ODM_REG_CCK_FILTER_PARA7_11N 0xA28
+#define ODM_REG_CCK_FILTER_PARA8_11N 0xA29
+#define ODM_REG_CCK_FA_RST_11N 0xA2C
+#define ODM_REG_CCK_FA_MSB_11N 0xA58
+#define ODM_REG_CCK_FA_LSB_11N 0xA5C
+#define ODM_REG_CCK_CCA_CNT_11N 0xA60
+#define ODM_REG_BB_PWR_SAV4_11N 0xA74
/* PAGE B */
-#define ODM_REG_LNA_SWITCH_11N 0xB2C
-#define ODM_REG_PATH_SWITCH_11N 0xB30
-#define ODM_REG_RSSI_CTRL_11N 0xB38
-#define ODM_REG_CONFIG_ANTA_11N 0xB68
-#define ODM_REG_RSSI_BT_11N 0xB9C
+#define ODM_REG_LNA_SWITCH_11N 0xB2C
+#define ODM_REG_PATH_SWITCH_11N 0xB30
+#define ODM_REG_RSSI_CTRL_11N 0xB38
+#define ODM_REG_CONFIG_ANTA_11N 0xB68
+#define ODM_REG_RSSI_BT_11N 0xB9C
/* PAGE C */
-#define ODM_REG_OFDM_FA_HOLDC_11N 0xC00
-#define ODM_REG_BB_RX_PATH_11N 0xC04
-#define ODM_REG_TRMUX_11N 0xC08
-#define ODM_REG_OFDM_FA_RSTC_11N 0xC0C
-#define ODM_REG_RXIQI_MATRIX_11N 0xC14
-#define ODM_REG_TXIQK_MATRIX_LSB1_11N 0xC4C
-#define ODM_REG_IGI_A_11N 0xC50
-#define ODM_REG_ANTDIV_PARA2_11N 0xC54
-#define ODM_REG_IGI_B_11N 0xC58
-#define ODM_REG_ANTDIV_PARA3_11N 0xC5C
-#define ODM_REG_L1SBD_PD_CH_11N 0XC6C
-#define ODM_REG_BB_PWR_SAV2_11N 0xC70
-#define ODM_REG_RX_OFF_11N 0xC7C
-#define ODM_REG_TXIQK_MATRIXA_11N 0xC80
-#define ODM_REG_TXIQK_MATRIXB_11N 0xC88
-#define ODM_REG_TXIQK_MATRIXA_LSB2_11N 0xC94
-#define ODM_REG_TXIQK_MATRIXB_LSB2_11N 0xC9C
-#define ODM_REG_RXIQK_MATRIX_LSB_11N 0xCA0
-#define ODM_REG_ANTDIV_PARA1_11N 0xCA4
-#define ODM_REG_OFDM_FA_TYPE1_11N 0xCF0
+#define ODM_REG_OFDM_FA_HOLDC_11N 0xC00
+#define ODM_REG_BB_RX_PATH_11N 0xC04
+#define ODM_REG_TRMUX_11N 0xC08
+#define ODM_REG_OFDM_FA_RSTC_11N 0xC0C
+#define ODM_REG_RXIQI_MATRIX_11N 0xC14
+#define ODM_REG_TXIQK_MATRIX_LSB1_11N 0xC4C
+#define ODM_REG_IGI_A_11N 0xC50
+#define ODM_REG_ANTDIV_PARA2_11N 0xC54
+#define ODM_REG_IGI_B_11N 0xC58
+#define ODM_REG_ANTDIV_PARA3_11N 0xC5C
+#define ODM_REG_L1SBD_PD_CH_11N 0XC6C
+#define ODM_REG_BB_PWR_SAV2_11N 0xC70
+#define ODM_REG_RX_OFF_11N 0xC7C
+#define ODM_REG_TXIQK_MATRIXA_11N 0xC80
+#define ODM_REG_TXIQK_MATRIXB_11N 0xC88
+#define ODM_REG_TXIQK_MATRIXA_LSB2_11N 0xC94
+#define ODM_REG_TXIQK_MATRIXB_LSB2_11N 0xC9C
+#define ODM_REG_RXIQK_MATRIX_LSB_11N 0xCA0
+#define ODM_REG_ANTDIV_PARA1_11N 0xCA4
+#define ODM_REG_OFDM_FA_TYPE1_11N 0xCF0
/* PAGE D */
-#define ODM_REG_OFDM_FA_RSTD_11N 0xD00
-#define ODM_REG_BB_ATC_11N 0xD2C
-#define ODM_REG_OFDM_FA_TYPE2_11N 0xDA0
-#define ODM_REG_OFDM_FA_TYPE3_11N 0xDA4
-#define ODM_REG_OFDM_FA_TYPE4_11N 0xDA8
-#define ODM_REG_RPT_11N 0xDF4
+#define ODM_REG_OFDM_FA_RSTD_11N 0xD00
+#define ODM_REG_BB_ATC_11N 0xD2C
+#define ODM_REG_OFDM_FA_TYPE2_11N 0xDA0
+#define ODM_REG_OFDM_FA_TYPE3_11N 0xDA4
+#define ODM_REG_OFDM_FA_TYPE4_11N 0xDA8
+#define ODM_REG_RPT_11N 0xDF4
/* PAGE E */
-#define ODM_REG_TXAGC_A_6_18_11N 0xE00
-#define ODM_REG_TXAGC_A_24_54_11N 0xE04
-#define ODM_REG_TXAGC_A_1_MCS32_11N 0xE08
-#define ODM_REG_TXAGC_A_MCS0_3_11N 0xE10
-#define ODM_REG_TXAGC_A_MCS4_7_11N 0xE14
-#define ODM_REG_FPGA0_IQK_11N 0xE28
-#define ODM_REG_TXIQK_TONE_A_11N 0xE30
-#define ODM_REG_RXIQK_TONE_A_11N 0xE34
-#define ODM_REG_TXIQK_PI_A_11N 0xE38
-#define ODM_REG_RXIQK_PI_A_11N 0xE3C
-#define ODM_REG_TXIQK_11N 0xE40
-#define ODM_REG_RXIQK_11N 0xE44
-#define ODM_REG_IQK_AGC_PTS_11N 0xE48
-#define ODM_REG_IQK_AGC_RSP_11N 0xE4C
-#define ODM_REG_BLUETOOTH_11N 0xE6C
-#define ODM_REG_RX_WAIT_CCA_11N 0xE70
-#define ODM_REG_TX_CCK_RFON_11N 0xE74
-#define ODM_REG_TX_CCK_BBON_11N 0xE78
-#define ODM_REG_OFDM_RFON_11N 0xE7C
-#define ODM_REG_OFDM_BBON_11N 0xE80
-#define ODM_REG_TX2RX_11N 0xE84
-#define ODM_REG_TX2TX_11N 0xE88
-#define ODM_REG_RX_CCK_11N 0xE8C
-#define ODM_REG_RX_OFDM_11N 0xED0
-#define ODM_REG_RX_WAIT_RIFS_11N 0xED4
-#define ODM_REG_RX2RX_11N 0xED8
-#define ODM_REG_STANDBY_11N 0xEDC
-#define ODM_REG_SLEEP_11N 0xEE0
-#define ODM_REG_PMPD_ANAEN_11N 0xEEC
-#define ODM_REG_IGI_C_11N 0xF84
-#define ODM_REG_IGI_D_11N 0xF88
+#define ODM_REG_TXAGC_A_6_18_11N 0xE00
+#define ODM_REG_TXAGC_A_24_54_11N 0xE04
+#define ODM_REG_TXAGC_A_1_MCS32_11N 0xE08
+#define ODM_REG_TXAGC_A_MCS0_3_11N 0xE10
+#define ODM_REG_TXAGC_A_MCS4_7_11N 0xE14
+#define ODM_REG_FPGA0_IQK_11N 0xE28
+#define ODM_REG_TXIQK_TONE_A_11N 0xE30
+#define ODM_REG_RXIQK_TONE_A_11N 0xE34
+#define ODM_REG_TXIQK_PI_A_11N 0xE38
+#define ODM_REG_RXIQK_PI_A_11N 0xE3C
+#define ODM_REG_TXIQK_11N 0xE40
+#define ODM_REG_RXIQK_11N 0xE44
+#define ODM_REG_IQK_AGC_PTS_11N 0xE48
+#define ODM_REG_IQK_AGC_RSP_11N 0xE4C
+#define ODM_REG_BLUETOOTH_11N 0xE6C
+#define ODM_REG_RX_WAIT_CCA_11N 0xE70
+#define ODM_REG_TX_CCK_RFON_11N 0xE74
+#define ODM_REG_TX_CCK_BBON_11N 0xE78
+#define ODM_REG_OFDM_RFON_11N 0xE7C
+#define ODM_REG_OFDM_BBON_11N 0xE80
+#define ODM_REG_TX2RX_11N 0xE84
+#define ODM_REG_TX2TX_11N 0xE88
+#define ODM_REG_RX_CCK_11N 0xE8C
+#define ODM_REG_RX_OFDM_11N 0xED0
+#define ODM_REG_RX_WAIT_RIFS_11N 0xED4
+#define ODM_REG_RX2RX_11N 0xED8
+#define ODM_REG_STANDBY_11N 0xEDC
+#define ODM_REG_SLEEP_11N 0xEE0
+#define ODM_REG_PMPD_ANAEN_11N 0xEEC
+#define ODM_REG_IGI_C_11N 0xF84
+#define ODM_REG_IGI_D_11N 0xF88
/* 2 MAC REG LIST */
-#define ODM_REG_BB_RST_11N 0x02
-#define ODM_REG_ANTSEL_PIN_11N 0x4C
-#define ODM_REG_EARLY_MODE_11N 0x4D0
-#define ODM_REG_RSSI_MONITOR_11N 0x4FE
-#define ODM_REG_EDCA_VO_11N 0x500
-#define ODM_REG_EDCA_VI_11N 0x504
-#define ODM_REG_EDCA_BE_11N 0x508
-#define ODM_REG_EDCA_BK_11N 0x50C
-#define ODM_REG_TXPAUSE_11N 0x522
-#define ODM_REG_RESP_TX_11N 0x6D8
-#define ODM_REG_ANT_TRAIN_PARA1_11N 0x7b0
-#define ODM_REG_ANT_TRAIN_PARA2_11N 0x7b4
+#define ODM_REG_BB_RST_11N 0x02
+#define ODM_REG_ANTSEL_PIN_11N 0x4C
+#define ODM_REG_EARLY_MODE_11N 0x4D0
+#define ODM_REG_RSSI_MONITOR_11N 0x4FE
+#define ODM_REG_EDCA_VO_11N 0x500
+#define ODM_REG_EDCA_VI_11N 0x504
+#define ODM_REG_EDCA_BE_11N 0x508
+#define ODM_REG_EDCA_BK_11N 0x50C
+#define ODM_REG_TXPAUSE_11N 0x522
+#define ODM_REG_RESP_TX_11N 0x6D8
+#define ODM_REG_ANT_TRAIN_PARA1_11N 0x7b0
+#define ODM_REG_ANT_TRAIN_PARA2_11N 0x7b4
/* DIG Related */
-#define ODM_BIT_IGI_11N 0x0000007F
-#define ODM_BIT_CCK_RPT_FORMAT_11N BIT(9)
-#define ODM_BIT_BB_RX_PATH_11N 0xF
-#define ODM_BIT_BB_ATC_11N BIT(11)
+#define ODM_BIT_IGI_11N 0x0000007F
+#define ODM_BIT_CCK_RPT_FORMAT_11N BIT(9)
+#define ODM_BIT_BB_RX_PATH_11N 0xF
+#define ODM_BIT_BB_ATC_11N BIT(11)
#endif
diff --git a/drivers/staging/rtl8723bs/hal/odm_interface.h b/drivers/staging/rtl8723bs/hal/odm_interface.h
index f79c3d57edffa..45948b2adc186 100644
--- a/drivers/staging/rtl8723bs/hal/odm_interface.h
+++ b/drivers/staging/rtl8723bs/hal/odm_interface.h
@@ -5,25 +5,25 @@
*
******************************************************************************/
-#ifndef __ODM_INTERFACE_H__
+#ifndef __ODM_INTERFACE_H__
#define __ODM_INTERFACE_H__
/* =========== Macro Define */
-#define _reg_all(_name) ODM_##_name
-#define _reg_ic(_name, _ic) ODM_##_name##_ic
-#define _bit_all(_name) BIT_##_name
-#define _bit_ic(_name, _ic) BIT_##_name##_ic
+#define _reg_all(_name) ODM_##_name
+#define _reg_ic(_name, _ic) ODM_##_name##_ic
+#define _bit_all(_name) BIT_##_name
+#define _bit_ic(_name, _ic) BIT_##_name##_ic
-#define _reg_11N(_name) ODM_REG_##_name##_11N
-#define _bit_11N(_name) ODM_BIT_##_name##_11N
+#define _reg_11N(_name) ODM_REG_##_name##_11N
+#define _bit_11N(_name) ODM_BIT_##_name##_11N
#define _cat(_name, _func) _func##_11N(_name)
/* _name: name of register or bit. */
/* Example: "ODM_REG(R_A_AGC_CORE1)" */
/* gets "ODM_R_A_AGC_CORE1" or "ODM_R_A_AGC_CORE1_8192C". */
-#define ODM_REG(_name) _cat(_name, _reg)
-#define ODM_BIT(_name) _cat(_name, _bit)
+#define ODM_REG(_name) _cat(_name, _reg)
+#define ODM_BIT(_name) _cat(_name, _bit)
-#endif /* __ODM_INTERFACE_H__ */
+#endif /* __ODM_INTERFACE_H__ */
diff --git a/drivers/staging/rtl8723bs/hal/odm_precomp.h b/drivers/staging/rtl8723bs/hal/odm_precomp.h
index 2987857a8761f..5acaa70c6dd0b 100644
--- a/drivers/staging/rtl8723bs/hal/odm_precomp.h
+++ b/drivers/staging/rtl8723bs/hal/odm_precomp.h
@@ -5,20 +5,20 @@
*
******************************************************************************/
-#ifndef __ODM_PRECOMP_H__
+#ifndef __ODM_PRECOMP_H__
#define __ODM_PRECOMP_H__
#include "odm_types.h"
-#define TEST_FALG___ 1
+#define TEST_FALG___ 1
/* 2 Config Flags and Structs - defined by each ODM Type */
- /* include <basic_types.h> */
- /* include <osdep_service.h> */
- /* include <drv_types.h> */
- /* include <rtw_byteorder.h> */
- /* include <hal_intf.h> */
+/* include <basic_types.h> */
+/* include <osdep_service.h> */
+/* include <drv_types.h> */
+/* include <rtw_byteorder.h> */
+/* include <hal_intf.h> */
#define BEAMFORMING_SUPPORT 0
/* 2 Hardware Parameter Files */
@@ -34,7 +34,7 @@
#include "odm_DynamicTxPower.h"
#include "odm_CfoTracking.h"
#include "HalPhyRf.h"
-#include "HalPhyRf_8723B.h"/* for IQK, LCK, Power-tracking */
+#include "HalPhyRf_8723B.h" /* for IQK, LCK, Power-tracking */
#include "rtl8723b_hal.h"
#include "odm_interface.h"
#include "odm_reg.h"
@@ -44,4 +44,4 @@
#include "Hal8723BReg.h"
#include "odm_RegConfig8723B.h"
-#endif /* __ODM_PRECOMP_H__ */
+#endif /* __ODM_PRECOMP_H__ */
diff --git a/drivers/staging/rtl8723bs/hal/odm_reg.h b/drivers/staging/rtl8723bs/hal/odm_reg.h
index a3b1f673774c4..5d19a50ea74da 100644
--- a/drivers/staging/rtl8723bs/hal/odm_reg.h
+++ b/drivers/staging/rtl8723bs/hal/odm_reg.h
@@ -7,85 +7,85 @@
/* File Name: odm_reg.h */
/* Description: */
/* This file is for general register definition. */
-#ifndef __HAL_ODM_REG_H__
+#ifndef __HAL_ODM_REG_H__
#define __HAL_ODM_REG_H__
/* Register Definition */
/* MAC REG */
-#define ODM_BB_RESET 0x002
-#define ODM_DUMMY 0x4fe
-#define RF_T_METER_OLD 0x24
-#define RF_T_METER_NEW 0x42
+#define ODM_BB_RESET 0x002
+#define ODM_DUMMY 0x4fe
+#define RF_T_METER_OLD 0x24
+#define RF_T_METER_NEW 0x42
-#define ODM_EDCA_VO_PARAM 0x500
-#define ODM_EDCA_VI_PARAM 0x504
-#define ODM_EDCA_BE_PARAM 0x508
-#define ODM_EDCA_BK_PARAM 0x50C
-#define ODM_TXPAUSE 0x522
+#define ODM_EDCA_VO_PARAM 0x500
+#define ODM_EDCA_VI_PARAM 0x504
+#define ODM_EDCA_BE_PARAM 0x508
+#define ODM_EDCA_BK_PARAM 0x50C
+#define ODM_TXPAUSE 0x522
/* BB REG */
-#define ODM_FPGA_PHY0_PAGE8 0x800
-#define ODM_PSD_SETTING 0x808
-#define ODM_AFE_SETTING 0x818
-#define ODM_TXAGC_B_24_54 0x834
-#define ODM_TXAGC_B_MCS32_5 0x838
-#define ODM_TXAGC_B_MCS0_MCS3 0x83c
-#define ODM_TXAGC_B_MCS4_MCS7 0x848
-#define ODM_ANALOG_REGISTER 0x85c
-#define ODM_RF_INTERFACE_OUTPUT 0x860
-#define ODM_TXAGC_B_11_A_2_11 0x86c
-#define ODM_AD_DA_LSB_MASK 0x874
-#define ODM_ENABLE_3_WIRE 0x88c
-#define ODM_PSD_REPORT 0x8b4
-#define ODM_R_ANT_SELECT 0x90c
-#define ODM_CCK_ANT_SELECT 0xa07
-#define ODM_CCK_PD_THRESH 0xa0a
-#define ODM_CCK_RF_REG1 0xa11
-#define ODM_CCK_MATCH_FILTER 0xa20
-#define ODM_CCK_RAKE_MAC 0xa2e
-#define ODM_CCK_CNT_RESET 0xa2d
-#define ODM_CCK_TX_DIVERSITY 0xa2f
-#define ODM_CCK_FA_CNT_MSB 0xa5b
-#define ODM_CCK_FA_CNT_LSB 0xa5c
-#define ODM_CCK_NEW_FUNCTION 0xa75
-#define ODM_OFDM_PHY0_PAGE_C 0xc00
-#define ODM_OFDM_RX_ANT 0xc04
-#define ODM_R_A_RXIQI 0xc14
-#define ODM_R_A_AGC_CORE1 0xc50
-#define ODM_R_A_AGC_CORE2 0xc54
-#define ODM_R_B_AGC_CORE1 0xc58
-#define ODM_R_AGC_PAR 0xc70
-#define ODM_R_HTSTF_AGC_PAR 0xc7c
-#define ODM_TX_PWR_TRAINING_A 0xc90
-#define ODM_TX_PWR_TRAINING_B 0xc98
-#define ODM_OFDM_FA_CNT1 0xcf0
-#define ODM_OFDM_PHY0_PAGE_D 0xd00
-#define ODM_OFDM_FA_CNT2 0xda0
-#define ODM_OFDM_FA_CNT3 0xda4
-#define ODM_OFDM_FA_CNT4 0xda8
-#define ODM_TXAGC_A_6_18 0xe00
-#define ODM_TXAGC_A_24_54 0xe04
-#define ODM_TXAGC_A_1_MCS32 0xe08
-#define ODM_TXAGC_A_MCS0_MCS3 0xe10
-#define ODM_TXAGC_A_MCS4_MCS7 0xe14
+#define ODM_FPGA_PHY0_PAGE8 0x800
+#define ODM_PSD_SETTING 0x808
+#define ODM_AFE_SETTING 0x818
+#define ODM_TXAGC_B_24_54 0x834
+#define ODM_TXAGC_B_MCS32_5 0x838
+#define ODM_TXAGC_B_MCS0_MCS3 0x83c
+#define ODM_TXAGC_B_MCS4_MCS7 0x848
+#define ODM_ANALOG_REGISTER 0x85c
+#define ODM_RF_INTERFACE_OUTPUT 0x860
+#define ODM_TXAGC_B_11_A_2_11 0x86c
+#define ODM_AD_DA_LSB_MASK 0x874
+#define ODM_ENABLE_3_WIRE 0x88c
+#define ODM_PSD_REPORT 0x8b4
+#define ODM_R_ANT_SELECT 0x90c
+#define ODM_CCK_ANT_SELECT 0xa07
+#define ODM_CCK_PD_THRESH 0xa0a
+#define ODM_CCK_RF_REG1 0xa11
+#define ODM_CCK_MATCH_FILTER 0xa20
+#define ODM_CCK_RAKE_MAC 0xa2e
+#define ODM_CCK_CNT_RESET 0xa2d
+#define ODM_CCK_TX_DIVERSITY 0xa2f
+#define ODM_CCK_FA_CNT_MSB 0xa5b
+#define ODM_CCK_FA_CNT_LSB 0xa5c
+#define ODM_CCK_NEW_FUNCTION 0xa75
+#define ODM_OFDM_PHY0_PAGE_C 0xc00
+#define ODM_OFDM_RX_ANT 0xc04
+#define ODM_R_A_RXIQI 0xc14
+#define ODM_R_A_AGC_CORE1 0xc50
+#define ODM_R_A_AGC_CORE2 0xc54
+#define ODM_R_B_AGC_CORE1 0xc58
+#define ODM_R_AGC_PAR 0xc70
+#define ODM_R_HTSTF_AGC_PAR 0xc7c
+#define ODM_TX_PWR_TRAINING_A 0xc90
+#define ODM_TX_PWR_TRAINING_B 0xc98
+#define ODM_OFDM_FA_CNT1 0xcf0
+#define ODM_OFDM_PHY0_PAGE_D 0xd00
+#define ODM_OFDM_FA_CNT2 0xda0
+#define ODM_OFDM_FA_CNT3 0xda4
+#define ODM_OFDM_FA_CNT4 0xda8
+#define ODM_TXAGC_A_6_18 0xe00
+#define ODM_TXAGC_A_24_54 0xe04
+#define ODM_TXAGC_A_1_MCS32 0xe08
+#define ODM_TXAGC_A_MCS0_MCS3 0xe10
+#define ODM_TXAGC_A_MCS4_MCS7 0xe14
/* RF REG */
-#define ODM_GAIN_SETTING 0x00
-#define ODM_CHANNEL 0x18
+#define ODM_GAIN_SETTING 0x00
+#define ODM_CHANNEL 0x18
/* Ant Detect Reg */
-#define ODM_DPDT 0x300
+#define ODM_DPDT 0x300
/* PSD Init */
-#define ODM_PSDREG 0x808
+#define ODM_PSDREG 0x808
/* 92D Path Div */
-#define PATHDIV_REG 0xB30
-#define PATHDIV_TRI 0xBA0
+#define PATHDIV_REG 0xB30
+#define PATHDIV_TRI 0xBA0
/* Bitmap Definition */
-#define BIT_FA_RESET BIT0
+#define BIT_FA_RESET BIT0
#endif
diff --git a/drivers/staging/rtl8723bs/hal/odm_types.h b/drivers/staging/rtl8723bs/hal/odm_types.h
index 25f0edd716ccd..95bb5ec635c7f 100644
--- a/drivers/staging/rtl8723bs/hal/odm_types.h
+++ b/drivers/staging/rtl8723bs/hal/odm_types.h
@@ -10,31 +10,39 @@
#include <drv_types.h>
/* Deifne HW endian support */
-#define ODM_ENDIAN_BIG 0
-#define ODM_ENDIAN_LITTLE 1
+#define ODM_ENDIAN_BIG 0
+#define ODM_ENDIAN_LITTLE 1
-#define GET_ODM(__padapter) ((PDM_ODM_T)(&((GET_HAL_DATA(__padapter))->odmpriv)))
+#define GET_ODM(__padapter) \
+ ((PDM_ODM_T)(&((GET_HAL_DATA(__padapter))->odmpriv)))
enum hal_status {
HAL_STATUS_SUCCESS,
HAL_STATUS_FAILURE,
};
- #if defined(__LITTLE_ENDIAN)
- #define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE
- #else
- #define ODM_ENDIAN_TYPE ODM_ENDIAN_BIG
- #endif
-
- #define STA_INFO_T struct sta_info
- #define PSTA_INFO_T struct sta_info *
-
- /* define useless flag to avoid compile warning */
- #define USE_WORKITEM 0
- #define FPGA_TWO_MAC_VERIFICATION 0
-
-#define READ_NEXT_PAIR(v1, v2, i) do { if (i+2 >= ArrayLen) break; i += 2; v1 = Array[i]; v2 = Array[i+1]; } while (0)
-#define COND_ELSE 2
+#if defined(__LITTLE_ENDIAN)
+#define ODM_ENDIAN_TYPE ODM_ENDIAN_LITTLE
+#else
+#define ODM_ENDIAN_TYPE ODM_ENDIAN_BIG
+#endif
+
+#define STA_INFO_T struct sta_info
+#define PSTA_INFO_T struct sta_info *
+
+/* define useless flag to avoid compile warning */
+#define USE_WORKITEM 0
+#define FPGA_TWO_MAC_VERIFICATION 0
+
+#define READ_NEXT_PAIR(v1, v2, i) \
+ do { \
+ if (i + 2 >= ArrayLen) \
+ break; \
+ i += 2; \
+ v1 = Array[i]; \
+ v2 = Array[i + 1]; \
+ } while (0)
+#define COND_ELSE 2
#define COND_ENDIF 3
#endif /* __ODM_TYPES_H__ */
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
index c35c7f1c38efa..fe6e640bfbe1d 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
@@ -11,21 +11,20 @@
#include <linux/iopoll.h>
#include "hal_com_h2c.h"
-#define MAX_H2C_BOX_NUMS 4
-#define MESSAGE_BOX_SIZE 4
+#define MAX_H2C_BOX_NUMS 4
+#define MESSAGE_BOX_SIZE 4
-#define RTL8723B_MAX_CMD_LEN 7
-#define RTL8723B_EX_MESSAGE_BOX_SIZE 4
+#define RTL8723B_MAX_CMD_LEN 7
+#define RTL8723B_EX_MESSAGE_BOX_SIZE 4
static u8 _is_fw_read_cmd_down(struct adapter *padapter, u8 msgbox_num)
{
u8 valid;
int ret;
- ret = read_poll_timeout_atomic(rtw_read8,
- valid, !(valid & BIT(msgbox_num)),
- 0, 500, false,
- padapter, REG_HMETFR);
+ ret = read_poll_timeout_atomic(rtw_read8, valid,
+ !(valid & BIT(msgbox_num)), 0, 500,
+ false, padapter, REG_HMETFR);
return !ret;
}
@@ -38,7 +37,8 @@ static u8 _is_fw_read_cmd_down(struct adapter *padapter, u8 msgbox_num)
*| Ext msg |
*
******************************************/
-s32 FillH2CCmd8723B(struct adapter *padapter, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer)
+s32 FillH2CCmd8723B(struct adapter *padapter, u8 ElementID, u32 CmdLen,
+ u8 *pCmdBuffer)
{
u8 h2c_box_num;
u32 msgbox_addr;
@@ -50,7 +50,8 @@ s32 FillH2CCmd8723B(struct adapter *padapter, u8 ElementID, u32 CmdLen, u8 *pCmd
padapter = GET_PRIMARY_ADAPTER(padapter);
pHalData = GET_HAL_DATA(padapter);
- if (mutex_lock_interruptible(&(adapter_to_dvobj(padapter)->h2c_fwcmd_mutex)))
+ if (mutex_lock_interruptible(
+ &(adapter_to_dvobj(padapter)->h2c_fwcmd_mutex)))
return ret;
if (!pCmdBuffer)
@@ -70,23 +71,25 @@ s32 FillH2CCmd8723B(struct adapter *padapter, u8 ElementID, u32 CmdLen, u8 *pCmd
goto exit;
if (CmdLen <= 3)
- memcpy((u8 *)(&h2c_cmd)+1, pCmdBuffer, CmdLen);
+ memcpy((u8 *)(&h2c_cmd) + 1, pCmdBuffer, CmdLen);
else {
- memcpy((u8 *)(&h2c_cmd)+1, pCmdBuffer, 3);
- memcpy((u8 *)(&h2c_cmd_ex), pCmdBuffer+3, CmdLen-3);
-/* *(u8 *)(&h2c_cmd) |= BIT(7); */
+ memcpy((u8 *)(&h2c_cmd) + 1, pCmdBuffer, 3);
+ memcpy((u8 *)(&h2c_cmd_ex), pCmdBuffer + 3, CmdLen - 3);
+ /* *(u8 *)(&h2c_cmd) |= BIT(7); */
}
*(u8 *)(&h2c_cmd) |= ElementID;
if (CmdLen > 3) {
- msgbox_ex_addr = REG_HMEBOX_EXT0_8723B + (h2c_box_num*RTL8723B_EX_MESSAGE_BOX_SIZE);
+ msgbox_ex_addr =
+ REG_HMEBOX_EXT0_8723B +
+ (h2c_box_num * RTL8723B_EX_MESSAGE_BOX_SIZE);
rtw_write32(padapter, msgbox_ex_addr, h2c_cmd_ex);
}
- msgbox_addr = REG_HMEBOX_0 + (h2c_box_num*MESSAGE_BOX_SIZE);
+ msgbox_addr = REG_HMEBOX_0 + (h2c_box_num * MESSAGE_BOX_SIZE);
rtw_write32(padapter, msgbox_addr, h2c_cmd);
- pHalData->LastHMEBoxNum = (h2c_box_num+1) % MAX_H2C_BOX_NUMS;
+ pHalData->LastHMEBoxNum = (h2c_box_num + 1) % MAX_H2C_BOX_NUMS;
} while (0);
@@ -116,7 +119,7 @@ static void ConstructBeacon(struct adapter *padapter, u8 *pframe, u32 *pLength)
ether_addr_copy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)));
ether_addr_copy(pwlanhdr->addr3, get_my_bssid(cur_network));
- SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/);
+ SetSeqNum(pwlanhdr, 0 /*pmlmeext->mgnt_seq*/);
/* pmlmeext->mgnt_seq++; */
SetFrameSubType(pframe, WIFI_BEACON);
@@ -128,20 +131,28 @@ static void ConstructBeacon(struct adapter *padapter, u8 *pframe, u32 *pLength)
pktlen += 8;
/* beacon interval: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_beacon_interval_from_ie(cur_network->ies)), 2);
+ memcpy(pframe,
+ (unsigned char *)(rtw_get_beacon_interval_from_ie(
+ cur_network->ies)),
+ 2);
pframe += 2;
pktlen += 2;
/* capability info: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_capability_from_ie(cur_network->ies)), 2);
+ memcpy(pframe,
+ (unsigned char *)(rtw_get_capability_from_ie(cur_network->ies)),
+ 2);
pframe += 2;
pktlen += 2;
- if ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE) {
- pktlen += cur_network->ie_length - sizeof(struct ndis_802_11_fix_ie);
- memcpy(pframe, cur_network->ies+sizeof(struct ndis_802_11_fix_ie), pktlen);
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) {
+ pktlen += cur_network->ie_length -
+ sizeof(struct ndis_802_11_fix_ie);
+ memcpy(pframe,
+ cur_network->ies + sizeof(struct ndis_802_11_fix_ie),
+ pktlen);
goto _ConstructBeacon;
}
@@ -149,28 +160,39 @@ static void ConstructBeacon(struct adapter *padapter, u8 *pframe, u32 *pLength)
/* below for ad-hoc mode */
/* SSID */
- pframe = rtw_set_ie(pframe, WLAN_EID_SSID, cur_network->ssid.ssid_length, cur_network->ssid.ssid, &pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_SSID,
+ cur_network->ssid.ssid_length,
+ cur_network->ssid.ssid, &pktlen);
/* supported rates... */
rate_len = rtw_get_rateset_len(cur_network->supported_rates);
- pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, ((rate_len > 8) ? 8 : rate_len), cur_network->supported_rates, &pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES,
+ ((rate_len > 8) ? 8 : rate_len),
+ cur_network->supported_rates, &pktlen);
/* DS parameter set */
- pframe = rtw_set_ie(pframe, WLAN_EID_DS_PARAMS, 1, (unsigned char *)&(cur_network->configuration.ds_config), &pktlen);
+ pframe = rtw_set_ie(
+ pframe, WLAN_EID_DS_PARAMS, 1,
+ (unsigned char *)&(cur_network->configuration.ds_config),
+ &pktlen);
- if ((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) {
+ if ((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) {
u32 ATIMWindow;
/* IBSS Parameter Set... */
/* ATIMWindow = cur->configuration.ATIMWindow; */
ATIMWindow = 0;
- pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2, (unsigned char *)(&ATIMWindow), &pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2,
+ (unsigned char *)(&ATIMWindow), &pktlen);
}
/* todo: ERP IE */
/* EXTERNDED SUPPORTED RATE */
if (rate_len > 8)
- pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (cur_network->supported_rates + 8), &pktlen);
+ pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES,
+ (rate_len - 8),
+ (cur_network->supported_rates + 8),
+ &pktlen);
/* todo:HT for adhoc */
@@ -180,7 +202,6 @@ static void ConstructBeacon(struct adapter *padapter, u8 *pframe, u32 *pLength)
return;
*pLength = pktlen;
-
}
static void ConstructPSPoll(struct adapter *padapter, u8 *pframe, u32 *pLength)
@@ -210,16 +231,9 @@ static void ConstructPSPoll(struct adapter *padapter, u8 *pframe, u32 *pLength)
*pLength = 16;
}
-static void ConstructNullFunctionData(
- struct adapter *padapter,
- u8 *pframe,
- u32 *pLength,
- u8 *StaAddr,
- u8 bQoS,
- u8 AC,
- u8 bEosp,
- u8 bForcePowerSave
-)
+static void ConstructNullFunctionData(struct adapter *padapter, u8 *pframe,
+ u32 *pLength, u8 *StaAddr, u8 bQoS, u8 AC,
+ u8 bEosp, u8 bForcePowerSave)
{
struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
@@ -239,21 +253,24 @@ static void ConstructNullFunctionData(
switch (cur_network->network.infrastructure_mode) {
case Ndis802_11Infrastructure:
SetToDs(fctrl);
- ether_addr_copy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)));
+ ether_addr_copy(pwlanhdr->addr1,
+ get_my_bssid(&(pmlmeinfo->network)));
ether_addr_copy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)));
ether_addr_copy(pwlanhdr->addr3, StaAddr);
break;
case Ndis802_11APMode:
SetFrDs(fctrl);
ether_addr_copy(pwlanhdr->addr1, StaAddr);
- ether_addr_copy(pwlanhdr->addr2, get_my_bssid(&(pmlmeinfo->network)));
+ ether_addr_copy(pwlanhdr->addr2,
+ get_my_bssid(&(pmlmeinfo->network)));
ether_addr_copy(pwlanhdr->addr3, myid(&(padapter->eeprompriv)));
break;
case Ndis802_11IBSS:
default:
ether_addr_copy(pwlanhdr->addr1, StaAddr);
ether_addr_copy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)));
- ether_addr_copy(pwlanhdr->addr3, get_my_bssid(&(pmlmeinfo->network)));
+ ether_addr_copy(pwlanhdr->addr3,
+ get_my_bssid(&(pmlmeinfo->network)));
break;
}
@@ -278,60 +295,78 @@ static void ConstructNullFunctionData(
*pLength = pktlen;
}
-static void rtl8723b_set_FwRsvdPage_cmd(struct adapter *padapter, struct rsvdpage_loc *rsvdpageloc)
+static void rtl8723b_set_FwRsvdPage_cmd(struct adapter *padapter,
+ struct rsvdpage_loc *rsvdpageloc)
{
- u8 u1H2CRsvdPageParm[H2C_RSVDPAGE_LOC_LEN] = {0};
-
- SET_8723B_H2CCMD_RSVDPAGE_LOC_PROBE_RSP(u1H2CRsvdPageParm, rsvdpageloc->LocProbeRsp);
- SET_8723B_H2CCMD_RSVDPAGE_LOC_PSPOLL(u1H2CRsvdPageParm, rsvdpageloc->LocPsPoll);
- SET_8723B_H2CCMD_RSVDPAGE_LOC_NULL_DATA(u1H2CRsvdPageParm, rsvdpageloc->LocNullData);
- SET_8723B_H2CCMD_RSVDPAGE_LOC_QOS_NULL_DATA(u1H2CRsvdPageParm, rsvdpageloc->LocQosNull);
- SET_8723B_H2CCMD_RSVDPAGE_LOC_BT_QOS_NULL_DATA(u1H2CRsvdPageParm, rsvdpageloc->LocBTQosNull);
-
- FillH2CCmd8723B(padapter, H2C_8723B_RSVD_PAGE, H2C_RSVDPAGE_LOC_LEN, u1H2CRsvdPageParm);
+ u8 u1H2CRsvdPageParm[H2C_RSVDPAGE_LOC_LEN] = { 0 };
+
+ SET_8723B_H2CCMD_RSVDPAGE_LOC_PROBE_RSP(u1H2CRsvdPageParm,
+ rsvdpageloc->LocProbeRsp);
+ SET_8723B_H2CCMD_RSVDPAGE_LOC_PSPOLL(u1H2CRsvdPageParm,
+ rsvdpageloc->LocPsPoll);
+ SET_8723B_H2CCMD_RSVDPAGE_LOC_NULL_DATA(u1H2CRsvdPageParm,
+ rsvdpageloc->LocNullData);
+ SET_8723B_H2CCMD_RSVDPAGE_LOC_QOS_NULL_DATA(u1H2CRsvdPageParm,
+ rsvdpageloc->LocQosNull);
+ SET_8723B_H2CCMD_RSVDPAGE_LOC_BT_QOS_NULL_DATA(
+ u1H2CRsvdPageParm, rsvdpageloc->LocBTQosNull);
+
+ FillH2CCmd8723B(padapter, H2C_8723B_RSVD_PAGE, H2C_RSVDPAGE_LOC_LEN,
+ u1H2CRsvdPageParm);
}
-void rtl8723b_set_FwMediaStatusRpt_cmd(struct adapter *padapter, u8 mstatus, u8 macid)
+void rtl8723b_set_FwMediaStatusRpt_cmd(struct adapter *padapter, u8 mstatus,
+ u8 macid)
{
- u8 u1H2CMediaStatusRptParm[H2C_MEDIA_STATUS_RPT_LEN] = {0};
+ u8 u1H2CMediaStatusRptParm[H2C_MEDIA_STATUS_RPT_LEN] = { 0 };
u8 macid_end = 0;
SET_8723B_H2CCMD_MSRRPT_PARM_OPMODE(u1H2CMediaStatusRptParm, mstatus);
SET_8723B_H2CCMD_MSRRPT_PARM_MACID_IND(u1H2CMediaStatusRptParm, 0);
SET_8723B_H2CCMD_MSRRPT_PARM_MACID(u1H2CMediaStatusRptParm, macid);
- SET_8723B_H2CCMD_MSRRPT_PARM_MACID_END(u1H2CMediaStatusRptParm, macid_end);
+ SET_8723B_H2CCMD_MSRRPT_PARM_MACID_END(u1H2CMediaStatusRptParm,
+ macid_end);
- FillH2CCmd8723B(padapter, H2C_8723B_MEDIA_STATUS_RPT, H2C_MEDIA_STATUS_RPT_LEN, u1H2CMediaStatusRptParm);
+ FillH2CCmd8723B(padapter, H2C_8723B_MEDIA_STATUS_RPT,
+ H2C_MEDIA_STATUS_RPT_LEN, u1H2CMediaStatusRptParm);
}
-void rtl8723b_set_FwMacIdConfig_cmd(struct adapter *padapter, u8 mac_id, u8 raid, u8 bw, u8 sgi, u32 mask)
+void rtl8723b_set_FwMacIdConfig_cmd(struct adapter *padapter, u8 mac_id,
+ u8 raid, u8 bw, u8 sgi, u32 mask)
{
- u8 u1H2CMacIdConfigParm[H2C_MACID_CFG_LEN] = {0};
+ u8 u1H2CMacIdConfigParm[H2C_MACID_CFG_LEN] = { 0 };
SET_8723B_H2CCMD_MACID_CFG_MACID(u1H2CMacIdConfigParm, mac_id);
SET_8723B_H2CCMD_MACID_CFG_RAID(u1H2CMacIdConfigParm, raid);
SET_8723B_H2CCMD_MACID_CFG_SGI_EN(u1H2CMacIdConfigParm, sgi ? 1 : 0);
SET_8723B_H2CCMD_MACID_CFG_BW(u1H2CMacIdConfigParm, bw);
- SET_8723B_H2CCMD_MACID_CFG_RATE_MASK0(u1H2CMacIdConfigParm, (u8)(mask & 0x000000ff));
- SET_8723B_H2CCMD_MACID_CFG_RATE_MASK1(u1H2CMacIdConfigParm, (u8)((mask & 0x0000ff00) >> 8));
- SET_8723B_H2CCMD_MACID_CFG_RATE_MASK2(u1H2CMacIdConfigParm, (u8)((mask & 0x00ff0000) >> 16));
- SET_8723B_H2CCMD_MACID_CFG_RATE_MASK3(u1H2CMacIdConfigParm, (u8)((mask & 0xff000000) >> 24));
-
- FillH2CCmd8723B(padapter, H2C_8723B_MACID_CFG, H2C_MACID_CFG_LEN, u1H2CMacIdConfigParm);
+ SET_8723B_H2CCMD_MACID_CFG_RATE_MASK0(u1H2CMacIdConfigParm,
+ (u8)(mask & 0x000000ff));
+ SET_8723B_H2CCMD_MACID_CFG_RATE_MASK1(u1H2CMacIdConfigParm,
+ (u8)((mask & 0x0000ff00) >> 8));
+ SET_8723B_H2CCMD_MACID_CFG_RATE_MASK2(u1H2CMacIdConfigParm,
+ (u8)((mask & 0x00ff0000) >> 16));
+ SET_8723B_H2CCMD_MACID_CFG_RATE_MASK3(u1H2CMacIdConfigParm,
+ (u8)((mask & 0xff000000) >> 24));
+
+ FillH2CCmd8723B(padapter, H2C_8723B_MACID_CFG, H2C_MACID_CFG_LEN,
+ u1H2CMacIdConfigParm);
}
void rtl8723b_set_rssi_cmd(struct adapter *padapter, u8 *param)
{
- u8 u1H2CRssiSettingParm[H2C_RSSI_SETTING_LEN] = {0};
+ u8 u1H2CRssiSettingParm[H2C_RSSI_SETTING_LEN] = { 0 };
u8 mac_id = *param;
- u8 rssi = *(param+2);
+ u8 rssi = *(param + 2);
u8 uldl_state = 0;
SET_8723B_H2CCMD_RSSI_SETTING_MACID(u1H2CRssiSettingParm, mac_id);
SET_8723B_H2CCMD_RSSI_SETTING_RSSI(u1H2CRssiSettingParm, rssi);
- SET_8723B_H2CCMD_RSSI_SETTING_ULDL_STATE(u1H2CRssiSettingParm, uldl_state);
+ SET_8723B_H2CCMD_RSSI_SETTING_ULDL_STATE(u1H2CRssiSettingParm,
+ uldl_state);
- FillH2CCmd8723B(padapter, H2C_8723B_RSSI_SETTING, H2C_RSSI_SETTING_LEN, u1H2CRssiSettingParm);
+ FillH2CCmd8723B(padapter, H2C_8723B_RSSI_SETTING, H2C_RSSI_SETTING_LEN,
+ u1H2CRssiSettingParm);
}
void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 psmode)
@@ -339,13 +374,13 @@ void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 psmode)
int i;
struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
- u8 u1H2CPwrModeParm[H2C_PWRMODE_LEN] = {0};
+ u8 u1H2CPwrModeParm[H2C_PWRMODE_LEN] = { 0 };
u8 PowerState = 0, awake_intvl = 1, byte5 = 0, rlbm = 0;
if (pwrpriv->dtim > 0 && pwrpriv->dtim < 16)
- awake_intvl = pwrpriv->dtim+1;/* DTIM = (awake_intvl - 1) */
+ awake_intvl = pwrpriv->dtim + 1; /* DTIM = (awake_intvl - 1) */
else
- awake_intvl = 3;/* DTIM =2 */
+ awake_intvl = 3; /* DTIM =2 */
rlbm = 2;
@@ -366,19 +401,24 @@ void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 psmode)
rlbm = 2;
}
} else {
- PowerState = 0x00;/* AllON(0x0C), RFON(0x04), RFOFF(0x00) */
+ PowerState =
+ 0x00; /* AllON(0x0C), RFON(0x04), RFOFF(0x00) */
byte5 = 0x40;
}
} else {
- PowerState = 0x0C;/* AllON(0x0C), RFON(0x04), RFOFF(0x00) */
+ PowerState = 0x0C; /* AllON(0x0C), RFON(0x04), RFOFF(0x00) */
byte5 = 0x40;
}
- SET_8723B_H2CCMD_PWRMODE_PARM_MODE(u1H2CPwrModeParm, (psmode > 0) ? 1 : 0);
- SET_8723B_H2CCMD_PWRMODE_PARM_SMART_PS(u1H2CPwrModeParm, pwrpriv->smart_ps);
+ SET_8723B_H2CCMD_PWRMODE_PARM_MODE(u1H2CPwrModeParm,
+ (psmode > 0) ? 1 : 0);
+ SET_8723B_H2CCMD_PWRMODE_PARM_SMART_PS(u1H2CPwrModeParm,
+ pwrpriv->smart_ps);
SET_8723B_H2CCMD_PWRMODE_PARM_RLBM(u1H2CPwrModeParm, rlbm);
- SET_8723B_H2CCMD_PWRMODE_PARM_BCN_PASS_TIME(u1H2CPwrModeParm, awake_intvl);
- SET_8723B_H2CCMD_PWRMODE_PARM_ALL_QUEUE_UAPSD(u1H2CPwrModeParm, padapter->registrypriv.uapsd_enable);
+ SET_8723B_H2CCMD_PWRMODE_PARM_BCN_PASS_TIME(u1H2CPwrModeParm,
+ awake_intvl);
+ SET_8723B_H2CCMD_PWRMODE_PARM_ALL_QUEUE_UAPSD(
+ u1H2CPwrModeParm, padapter->registrypriv.uapsd_enable);
SET_8723B_H2CCMD_PWRMODE_PARM_PWR_STATE(u1H2CPwrModeParm, PowerState);
SET_8723B_H2CCMD_PWRMODE_PARM_BYTE5(u1H2CPwrModeParm, byte5);
if (psmode != PS_MODE_ACTIVE) {
@@ -394,63 +434,67 @@ void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 psmode)
pmlmeext->DrvBcnTimeOut = 0xff;
for (i = 0; i < 9; i++) {
- pmlmeext->bcn_delay_ratio[i] = (pmlmeext->bcn_delay_cnt[i]*100)/pmlmeext->bcn_cnt;
+ pmlmeext->bcn_delay_ratio[i] =
+ (pmlmeext->bcn_delay_cnt[i] * 100) /
+ pmlmeext->bcn_cnt;
ratio_20_delay += pmlmeext->bcn_delay_ratio[i];
ratio_80_delay += pmlmeext->bcn_delay_ratio[i];
- if (ratio_20_delay > 20 && pmlmeext->DrvBcnEarly == 0xff)
+ if (ratio_20_delay > 20 &&
+ pmlmeext->DrvBcnEarly == 0xff)
pmlmeext->DrvBcnEarly = i;
- if (ratio_80_delay > 80 && pmlmeext->DrvBcnTimeOut == 0xff)
+ if (ratio_80_delay > 80 &&
+ pmlmeext->DrvBcnTimeOut == 0xff)
pmlmeext->DrvBcnTimeOut = i;
/* reset adaptive_early_32k cnt */
pmlmeext->bcn_delay_cnt[i] = 0;
pmlmeext->bcn_delay_ratio[i] = 0;
-
}
pmlmeext->bcn_cnt = 0;
pmlmeext->adaptive_tsf_done = true;
-
}
-/* offload to FW if fw version > v15.10
+ /* offload to FW if fw version > v15.10
pmlmeext->DrvBcnEarly = 0;
pmlmeext->DrvBcnTimeOut =7;
if ((pmlmeext->DrvBcnEarly!= 0Xff) && (pmlmeext->DrvBcnTimeOut!= 0xff))
u1H2CPwrModeParm[H2C_PWRMODE_LEN-1] = BIT(0) | ((pmlmeext->DrvBcnEarly<<1)&0x0E) |((pmlmeext->DrvBcnTimeOut<<4)&0xf0) ;
*/
-
}
hal_btcoex_RecordPwrMode(padapter, u1H2CPwrModeParm, H2C_PWRMODE_LEN);
- FillH2CCmd8723B(padapter, H2C_8723B_SET_PWR_MODE, H2C_PWRMODE_LEN, u1H2CPwrModeParm);
+ FillH2CCmd8723B(padapter, H2C_8723B_SET_PWR_MODE, H2C_PWRMODE_LEN,
+ u1H2CPwrModeParm);
}
void rtl8723b_set_FwPsTuneParam_cmd(struct adapter *padapter)
{
- u8 u1H2CPsTuneParm[H2C_PSTUNEPARAM_LEN] = {0};
+ u8 u1H2CPsTuneParm[H2C_PSTUNEPARAM_LEN] = { 0 };
u8 bcn_to_limit = 10; /* 10 * 100 * awakeinterval (ms) */
u8 dtim_timeout = 5; /* ms wait broadcast data timer */
- u8 ps_timeout = 20; /* ms Keep awake when tx */
+ u8 ps_timeout = 20; /* ms Keep awake when tx */
u8 dtim_period = 3;
- SET_8723B_H2CCMD_PSTUNE_PARM_BCN_TO_LIMIT(u1H2CPsTuneParm, bcn_to_limit);
- SET_8723B_H2CCMD_PSTUNE_PARM_DTIM_TIMEOUT(u1H2CPsTuneParm, dtim_timeout);
+ SET_8723B_H2CCMD_PSTUNE_PARM_BCN_TO_LIMIT(u1H2CPsTuneParm,
+ bcn_to_limit);
+ SET_8723B_H2CCMD_PSTUNE_PARM_DTIM_TIMEOUT(u1H2CPsTuneParm,
+ dtim_timeout);
SET_8723B_H2CCMD_PSTUNE_PARM_PS_TIMEOUT(u1H2CPsTuneParm, ps_timeout);
SET_8723B_H2CCMD_PSTUNE_PARM_ADOPT(u1H2CPsTuneParm, 1);
SET_8723B_H2CCMD_PSTUNE_PARM_DTIM_PERIOD(u1H2CPsTuneParm, dtim_period);
- FillH2CCmd8723B(padapter, H2C_8723B_PS_TUNING_PARA, H2C_PSTUNEPARAM_LEN, u1H2CPsTuneParm);
+ FillH2CCmd8723B(padapter, H2C_8723B_PS_TUNING_PARA, H2C_PSTUNEPARAM_LEN,
+ u1H2CPsTuneParm);
}
void rtl8723b_set_FwPwrModeInIPS_cmd(struct adapter *padapter, u8 cmd_param)
{
-
FillH2CCmd8723B(padapter, H2C_8723B_FWLPS_IN_IPS_, 1, &cmd_param);
}
@@ -468,9 +512,8 @@ void rtl8723b_set_FwPwrModeInIPS_cmd(struct adapter *padapter, u8 cmd_param)
* to Hw again and set the length in descriptor to the real beacon length.
*/
/* 2009.10.15 by tynli. */
-static void rtl8723b_set_FwRsvdPagePkt(
- struct adapter *padapter, bool bDLFinished
-)
+static void rtl8723b_set_FwRsvdPagePkt(struct adapter *padapter,
+ bool bDLFinished)
{
struct xmit_frame *pcmdframe;
struct pkt_attrib *pattrib;
@@ -493,7 +536,7 @@ static void rtl8723b_set_FwRsvdPagePkt(
pmlmeinfo = &pmlmeext->mlmext_info;
RsvdPageNum = BCNQ_PAGE_NUM_8723B + WOWLAN_PAGE_NUM_8723B;
- MaxRsvdPageBufSize = RsvdPageNum*PageSize;
+ MaxRsvdPageBufSize = RsvdPageNum * PageSize;
pcmdframe = rtw_alloc_cmdxmitframe(pxmitpriv);
if (!pcmdframe)
@@ -515,69 +558,68 @@ static void rtl8723b_set_FwRsvdPagePkt(
TotalPageNum += CurtPktPageNum;
- BufIndex += (CurtPktPageNum*PageSize);
+ BufIndex += (CurtPktPageNum * PageSize);
/* 3 (2) ps-poll */
RsvdPageLoc.LocPsPoll = TotalPageNum;
ConstructPSPoll(padapter, &ReservedPagePacket[BufIndex], &PSPollLength);
- rtl8723b_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], PSPollLength, true, false, false);
+ rtl8723b_fill_fake_txdesc(padapter,
+ &ReservedPagePacket[BufIndex - TxDescLen],
+ PSPollLength, true, false, false);
CurtPktPageNum = (u8)PageNum_128(TxDescLen + PSPollLength);
TotalPageNum += CurtPktPageNum;
- BufIndex += (CurtPktPageNum*PageSize);
+ BufIndex += (CurtPktPageNum * PageSize);
/* 3 (3) null data */
RsvdPageLoc.LocNullData = TotalPageNum;
- ConstructNullFunctionData(
- padapter,
- &ReservedPagePacket[BufIndex],
- &NullDataLength,
- get_my_bssid(&pmlmeinfo->network),
- false, 0, 0, false
- );
- rtl8723b_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], NullDataLength, false, false, false);
+ ConstructNullFunctionData(padapter, &ReservedPagePacket[BufIndex],
+ &NullDataLength,
+ get_my_bssid(&pmlmeinfo->network), false, 0,
+ 0, false);
+ rtl8723b_fill_fake_txdesc(padapter,
+ &ReservedPagePacket[BufIndex - TxDescLen],
+ NullDataLength, false, false, false);
CurtPktPageNum = (u8)PageNum_128(TxDescLen + NullDataLength);
TotalPageNum += CurtPktPageNum;
- BufIndex += (CurtPktPageNum*PageSize);
+ BufIndex += (CurtPktPageNum * PageSize);
/* 3 (5) Qos null data */
RsvdPageLoc.LocQosNull = TotalPageNum;
- ConstructNullFunctionData(
- padapter,
- &ReservedPagePacket[BufIndex],
- &QosNullLength,
- get_my_bssid(&pmlmeinfo->network),
- true, 0, 0, false
- );
- rtl8723b_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], QosNullLength, false, false, false);
+ ConstructNullFunctionData(padapter, &ReservedPagePacket[BufIndex],
+ &QosNullLength,
+ get_my_bssid(&pmlmeinfo->network), true, 0, 0,
+ false);
+ rtl8723b_fill_fake_txdesc(padapter,
+ &ReservedPagePacket[BufIndex - TxDescLen],
+ QosNullLength, false, false, false);
CurtPktPageNum = (u8)PageNum_128(TxDescLen + QosNullLength);
TotalPageNum += CurtPktPageNum;
- BufIndex += (CurtPktPageNum*PageSize);
+ BufIndex += (CurtPktPageNum * PageSize);
/* 3 (6) BT Qos null data */
RsvdPageLoc.LocBTQosNull = TotalPageNum;
- ConstructNullFunctionData(
- padapter,
- &ReservedPagePacket[BufIndex],
- &BTQosNullLength,
- get_my_bssid(&pmlmeinfo->network),
- true, 0, 0, false
- );
- rtl8723b_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], BTQosNullLength, false, true, false);
+ ConstructNullFunctionData(padapter, &ReservedPagePacket[BufIndex],
+ &BTQosNullLength,
+ get_my_bssid(&pmlmeinfo->network), true, 0, 0,
+ false);
+ rtl8723b_fill_fake_txdesc(padapter,
+ &ReservedPagePacket[BufIndex - TxDescLen],
+ BTQosNullLength, false, true, false);
CurtPktPageNum = (u8)PageNum_128(TxDescLen + BTQosNullLength);
TotalPageNum += CurtPktPageNum;
- BufIndex += (CurtPktPageNum*PageSize);
+ BufIndex += (CurtPktPageNum * PageSize);
TotalPacketLen = BufIndex + BTQosNullLength;
@@ -588,7 +630,8 @@ static void rtl8723b_set_FwRsvdPagePkt(
pattrib = &pcmdframe->attrib;
update_mgntframe_attrib(padapter, pattrib);
pattrib->qsel = 0x10;
- pattrib->pktlen = pattrib->last_txcmdsz = TotalPacketLen - TxDescOffset;
+ pattrib->pktlen = pattrib->last_txcmdsz =
+ TotalPacketLen - TxDescOffset;
dump_mgntframe_and_wait(padapter, pcmdframe, 100);
}
@@ -604,7 +647,7 @@ static void rtl8723b_set_FwRsvdPagePkt(
void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv);
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
bool bcn_valid = false;
@@ -618,12 +661,13 @@ void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus)
/* We should set AID, correct TSF, HW seq enable before set JoinBssReport to Fw in 88/92C. */
/* Suggested by filen. Added by tynli. */
- rtw_write16(padapter, REG_BCN_PSR_RPT, (0xC000|pmlmeinfo->aid));
+ rtw_write16(padapter, REG_BCN_PSR_RPT,
+ (0xC000 | pmlmeinfo->aid));
/* set REG_CR bit 8 */
- v8 = rtw_read8(padapter, REG_CR+1);
+ v8 = rtw_read8(padapter, REG_CR + 1);
v8 |= BIT(0); /* ENSWBCN */
- rtw_write8(padapter, REG_CR+1, v8);
+ rtw_write8(padapter, REG_CR + 1, v8);
/* Disable Hw protection for a time which revserd for Hw sending beacon. */
/* Fix download reserved page packet fail that access collision with the protection time. */
@@ -638,7 +682,8 @@ void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus)
bRecover = true;
/* To tell Hw the packet is not a real beacon frame. */
- rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl & ~BIT(6));
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL + 2,
+ pHalData->RegFwHwTxQCtrl & ~BIT(6));
pHalData->RegFwHwTxQCtrl &= ~BIT(6);
/* Clear beacon valid check bit. */
@@ -655,15 +700,21 @@ void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus)
yield();
/* mdelay(10); */
/* check rsvd page download OK. */
- rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID, (u8 *)(&bcn_valid));
+ rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID,
+ (u8 *)(&bcn_valid));
poll++;
- } while (!bcn_valid && (poll%10) != 0 && !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
+ } while (!bcn_valid && (poll % 10) != 0 &&
+ !padapter->bSurpriseRemoved &&
+ !padapter->bDriverStopped);
- } while (!bcn_valid && DLBcnCount <= 100 && !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
+ } while (!bcn_valid && DLBcnCount <= 100 &&
+ !padapter->bSurpriseRemoved &&
+ !padapter->bDriverStopped);
if (padapter->bSurpriseRemoved || padapter->bDriverStopped) {
} else {
- struct pwrctrl_priv *pwrctl = adapter_to_pwrctl(padapter);
+ struct pwrctrl_priv *pwrctl =
+ adapter_to_pwrctl(padapter);
pwrctl->fw_psmode_iface_id = padapter->iface_id;
}
@@ -680,14 +731,15 @@ void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus)
/* the beacon cannot be sent by HW. */
/* 2010.06.23. Added by tynli. */
if (bRecover) {
- rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl | BIT(6));
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL + 2,
+ pHalData->RegFwHwTxQCtrl | BIT(6));
pHalData->RegFwHwTxQCtrl |= BIT(6);
}
/* Clear CR[8] or beacon packet will not be send to TxBuf anymore. */
- v8 = rtw_read8(padapter, REG_CR+1);
+ v8 = rtw_read8(padapter, REG_CR + 1);
v8 &= ~BIT(0); /* ~ENSWBCN */
- rtw_write8(padapter, REG_CR+1, v8);
+ rtw_write8(padapter, REG_CR + 1, v8);
}
}
@@ -701,14 +753,10 @@ void rtl8723b_set_FwJoinBssRpt_cmd(struct adapter *padapter, u8 mstatus)
/* arg[1] = raid */
/* arg[2] = shortGIrate */
/* arg[3] = init_rate */
-void rtl8723b_Add_RateATid(
- struct adapter *padapter,
- u32 bitmap,
- u8 *arg,
- u8 rssi_level
-)
+void rtl8723b_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 *arg,
+ u8 rssi_level)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
struct sta_info *psta;
@@ -716,7 +764,7 @@ void rtl8723b_Add_RateATid(
u8 raid = arg[1];
u8 shortGI = arg[2];
u8 bw;
- u32 mask = bitmap&0x0FFFFFFF;
+ u32 mask = bitmap & 0x0FFFFFFF;
psta = pmlmeinfo->FW_sta_info[mac_id].psta;
if (!psta)
@@ -725,21 +773,16 @@ void rtl8723b_Add_RateATid(
bw = psta->bw_mode;
if (rssi_level != DM_RATR_STA_INIT)
- mask = ODM_Get_Rate_Bitmap(&pHalData->odmpriv, mac_id, mask, rssi_level);
+ mask = ODM_Get_Rate_Bitmap(&pHalData->odmpriv, mac_id, mask,
+ rssi_level);
- rtl8723b_set_FwMacIdConfig_cmd(padapter, mac_id, raid, bw, shortGI, mask);
+ rtl8723b_set_FwMacIdConfig_cmd(padapter, mac_id, raid, bw, shortGI,
+ mask);
}
-static void ConstructBtNullFunctionData(
- struct adapter *padapter,
- u8 *pframe,
- u32 *pLength,
- u8 *StaAddr,
- u8 bQoS,
- u8 AC,
- u8 bEosp,
- u8 bForcePowerSave
-)
+static void ConstructBtNullFunctionData(struct adapter *padapter, u8 *pframe,
+ u32 *pLength, u8 *StaAddr, u8 bQoS,
+ u8 AC, u8 bEosp, u8 bForcePowerSave)
{
struct ieee80211_hdr *pwlanhdr;
__le16 *fctrl;
@@ -805,7 +848,7 @@ static void SetFwRsvdPagePkt_BTCoex(struct adapter *padapter)
PageSize = PAGE_SIZE_TX_8723B;
RsvdPageNum = BCNQ_PAGE_NUM_8723B;
- MaxRsvdPageBufSize = RsvdPageNum*PageSize;
+ MaxRsvdPageBufSize = RsvdPageNum * PageSize;
pcmdframe = rtw_alloc_cmdxmitframe(pxmitpriv);
if (!pcmdframe)
@@ -826,7 +869,7 @@ static void SetFwRsvdPagePkt_BTCoex(struct adapter *padapter)
CurtPktPageNum += 1;
TotalPageNum += CurtPktPageNum;
- BufIndex += (CurtPktPageNum*PageSize);
+ BufIndex += (CurtPktPageNum * PageSize);
/* Jump to lastest page */
if (BufIndex < (MaxRsvdPageBufSize - PageSize)) {
@@ -836,14 +879,11 @@ static void SetFwRsvdPagePkt_BTCoex(struct adapter *padapter)
/* 3 (6) BT Qos null data */
RsvdPageLoc.LocBTQosNull = TotalPageNum;
- ConstructBtNullFunctionData(
- padapter,
- &ReservedPagePacket[BufIndex],
- &BTQosNullLength,
- NULL,
- true, 0, 0, false
- );
- rtl8723b_fill_fake_txdesc(padapter, &ReservedPagePacket[BufIndex-TxDescLen], BTQosNullLength, false, true, false);
+ ConstructBtNullFunctionData(padapter, &ReservedPagePacket[BufIndex],
+ &BTQosNullLength, NULL, true, 0, 0, false);
+ rtl8723b_fill_fake_txdesc(padapter,
+ &ReservedPagePacket[BufIndex - TxDescLen],
+ BTQosNullLength, false, true, false);
CurtPktPageNum = (u8)PageNum_128(TxDescLen + BTQosNullLength);
@@ -885,12 +925,12 @@ void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter)
/* We should set AID, correct TSF, HW seq enable before set JoinBssReport to Fw in 88/92C. */
/* Suggested by filen. Added by tynli. */
- rtw_write16(padapter, REG_BCN_PSR_RPT, (0xC000|pmlmeinfo->aid));
+ rtw_write16(padapter, REG_BCN_PSR_RPT, (0xC000 | pmlmeinfo->aid));
/* set REG_CR bit 8 */
- val8 = rtw_read8(padapter, REG_CR+1);
+ val8 = rtw_read8(padapter, REG_CR + 1);
val8 |= BIT(0); /* ENSWBCN */
- rtw_write8(padapter, REG_CR+1, val8);
+ rtw_write8(padapter, REG_CR + 1, val8);
/* Disable Hw protection for a time which revserd for Hw sending beacon. */
/* Fix download reserved page packet fail that access collision with the protection time. */
@@ -906,7 +946,7 @@ void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter)
/* To tell Hw the packet is not a real beacon frame. */
pHalData->RegFwHwTxQCtrl &= ~BIT(6);
- rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl);
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL + 2, pHalData->RegFwHwTxQCtrl);
/* Clear beacon valid check bit. */
rtw_hal_set_hwreg(padapter, HW_VAR_BCN_VALID, NULL);
@@ -919,12 +959,16 @@ void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter)
DLBcnCount++;
do {
yield();
-/* mdelay(10); */
+ /* mdelay(10); */
/* check rsvd page download OK. */
- rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID, &bcn_valid);
+ rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID,
+ &bcn_valid);
poll++;
- } while (!bcn_valid && (poll%10) != 0 && !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
- } while (!bcn_valid && (DLBcnCount <= 100) && !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
+ } while (!bcn_valid && (poll % 10) != 0 &&
+ !padapter->bSurpriseRemoved &&
+ !padapter->bDriverStopped);
+ } while (!bcn_valid && (DLBcnCount <= 100) &&
+ !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
if (bcn_valid) {
struct pwrctrl_priv *pwrctl = adapter_to_pwrctl(padapter);
@@ -945,11 +989,12 @@ void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter)
/* 2010.06.23. Added by tynli. */
if (bRecover) {
pHalData->RegFwHwTxQCtrl |= BIT(6);
- rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl);
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL + 2,
+ pHalData->RegFwHwTxQCtrl);
}
/* Clear CR[8] or beacon packet will not be send to TxBuf anymore. */
- val8 = rtw_read8(padapter, REG_CR+1);
+ val8 = rtw_read8(padapter, REG_CR + 1);
val8 &= ~BIT(0); /* ~ENSWBCN */
- rtw_write8(padapter, REG_CR+1, val8);
+ rtw_write8(padapter, REG_CR + 1, val8);
}
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
index 2276dc1cb44ac..504dc0bbc1cc2 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c
@@ -17,7 +17,6 @@
/* */
static void Init_ODM_ComInfo_8723b(struct adapter *Adapter)
{
-
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
struct dm_odm_t *pDM_Odm = &pHalData->odmpriv;
struct dm_priv *pdmpriv = &pHalData->dmpriv;
@@ -32,7 +31,8 @@ static void Init_ODM_ComInfo_8723b(struct adapter *Adapter)
#define ODM_CE 0x04
ODM_CmnInfoInit(pDM_Odm, ODM_CMNINFO_PLATFORM, ODM_CE);
ODM_CmnInfoInit(pDM_Odm, ODM_CMNINFO_INTERFACE, RTW_SDIO);
- ODM_CmnInfoInit(pDM_Odm, ODM_CMNINFO_PACKAGE_TYPE, pHalData->PackageType);
+ ODM_CmnInfoInit(pDM_Odm, ODM_CMNINFO_PACKAGE_TYPE,
+ pHalData->PackageType);
ODM_CmnInfoInit(pDM_Odm, ODM_CMNINFO_IC_TYPE, ODM_RTL8723B);
fab_ver = ODM_TSMC;
@@ -43,9 +43,10 @@ static void Init_ODM_ComInfo_8723b(struct adapter *Adapter)
ODM_CmnInfoInit(pDM_Odm, ODM_CMNINFO_PATCH_ID, pHalData->CustomerID);
/* ODM_CMNINFO_BINHCT_TEST only for MP Team */
- ODM_CmnInfoInit(pDM_Odm, ODM_CMNINFO_BWIFI_TEST, Adapter->registrypriv.wifi_spec);
+ ODM_CmnInfoInit(pDM_Odm, ODM_CMNINFO_BWIFI_TEST,
+ Adapter->registrypriv.wifi_spec);
- pdmpriv->InitODMFlag = ODM_RF_CALIBRATION|ODM_RF_TX_PWR_TRACK;
+ pdmpriv->InitODMFlag = ODM_RF_CALIBRATION | ODM_RF_TX_PWR_TRACK;
ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_ABILITY, pdmpriv->InitODMFlag);
}
@@ -62,19 +63,11 @@ static void Update_ODM_ComInfo_8723b(struct adapter *Adapter)
int i;
u8 zero = 0;
- pdmpriv->InitODMFlag = 0
- | ODM_BB_DIG
- | ODM_BB_RA_MASK
- | ODM_BB_DYNAMIC_TXPWR
- | ODM_BB_FA_CNT
- | ODM_BB_RSSI_MONITOR
- | ODM_BB_CCK_PD
- | ODM_BB_PWR_SAVE
- | ODM_BB_CFO_TRACKING
- | ODM_MAC_EDCA_TURBO
- | ODM_RF_TX_PWR_TRACK
- | ODM_RF_CALIBRATION
- ;
+ pdmpriv->InitODMFlag =
+ 0 | ODM_BB_DIG | ODM_BB_RA_MASK | ODM_BB_DYNAMIC_TXPWR |
+ ODM_BB_FA_CNT | ODM_BB_RSSI_MONITOR | ODM_BB_CCK_PD |
+ ODM_BB_PWR_SAVE | ODM_BB_CFO_TRACKING | ODM_MAC_EDCA_TURBO |
+ ODM_RF_TX_PWR_TRACK | ODM_RF_CALIBRATION;
/* */
/* Pointer reference */
@@ -84,23 +77,34 @@ static void Update_ODM_ComInfo_8723b(struct adapter *Adapter)
ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_ABILITY, pdmpriv->InitODMFlag);
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_TX_UNI, &(dvobj->traffic_stat.tx_bytes));
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_RX_UNI, &(dvobj->traffic_stat.rx_bytes));
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_WM_MODE, &(pmlmeext->cur_wireless_mode));
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_SEC_CHNL_OFFSET, &(pHalData->nCur40MhzPrimeSC));
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_SEC_MODE, &(Adapter->securitypriv.dot11PrivacyAlgrthm));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_TX_UNI,
+ &(dvobj->traffic_stat.tx_bytes));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_RX_UNI,
+ &(dvobj->traffic_stat.rx_bytes));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_WM_MODE,
+ &(pmlmeext->cur_wireless_mode));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_SEC_CHNL_OFFSET,
+ &(pHalData->nCur40MhzPrimeSC));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_SEC_MODE,
+ &(Adapter->securitypriv.dot11PrivacyAlgrthm));
ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_BW, &(pHalData->CurrentChannelBW));
ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_CHNL, &(pHalData->CurrentChannel));
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_NET_CLOSED, &(Adapter->net_closed));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_NET_CLOSED,
+ &(Adapter->net_closed));
ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_MP_MODE, &zero);
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_FORCED_IGI_LB, &(pHalData->u1ForcedIgiLb));
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_FORCED_RATE, &(pHalData->ForcedDataRate));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_FORCED_IGI_LB,
+ &(pHalData->u1ForcedIgiLb));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_FORCED_RATE,
+ &(pHalData->ForcedDataRate));
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_SCAN, &(pmlmepriv->bScanInProcess));
- ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_POWER_SAVING, &(pwrctrlpriv->bpower_saving));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_SCAN,
+ &(pmlmepriv->bScanInProcess));
+ ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_POWER_SAVING,
+ &(pwrctrlpriv->bpower_saving));
for (i = 0; i < NUM_STA; i++)
- ODM_CmnInfoPtrArrayHook(pDM_Odm, ODM_CMNINFO_STA_STATUS, i, NULL);
+ ODM_CmnInfoPtrArrayHook(pDM_Odm, ODM_CMNINFO_STA_STATUS, i,
+ NULL);
}
void rtl8723b_InitHalDm(struct adapter *Adapter)
@@ -133,11 +137,11 @@ void rtl8723b_HalDmWatchDog(struct adapter *Adapter)
if (!hw_init_completed)
goto skip_dm;
- fw_current_in_ps_mode = adapter_to_pwrctl(Adapter)->fw_current_in_ps_mode;
+ fw_current_in_ps_mode =
+ adapter_to_pwrctl(Adapter)->fw_current_in_ps_mode;
rtw_hal_get_hwreg(Adapter, HW_VAR_FWLPS_RF_ON, (u8 *)(&bFwPSAwake));
- if (hw_init_completed &&
- (!fw_current_in_ps_mode && bFwPSAwake)) {
+ if (hw_init_completed && (!fw_current_in_ps_mode && bFwPSAwake)) {
rtw_hal_check_rxfifo_full(Adapter);
}
@@ -149,12 +153,15 @@ void rtl8723b_HalDmWatchDog(struct adapter *Adapter)
if (rtw_linked_check(Adapter)) {
bLinked = true;
- if (check_fwstate(&Adapter->mlmepriv, WIFI_STATION_STATE))
+ if (check_fwstate(&Adapter->mlmepriv,
+ WIFI_STATION_STATE))
bsta_state = true;
}
- ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_LINK, bLinked);
- ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_STATION_STATE, bsta_state);
+ ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_LINK,
+ bLinked);
+ ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_STATION_STATE,
+ bsta_state);
/* ODM_CmnInfoUpdate(&pHalData->odmpriv , ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); */
@@ -185,11 +192,11 @@ void rtl8723b_hal_dm_in_lps(struct adapter *padapter)
/* set rssi to fw */
psta = rtw_get_stainfo(pstapriv, get_bssid(pmlmepriv));
if (psta && (psta->rssi_stat.UndecoratedSmoothedPWDB > 0)) {
- PWDB_rssi = (psta->mac_id | (psta->rssi_stat.UndecoratedSmoothedPWDB<<16));
+ PWDB_rssi = (psta->mac_id |
+ (psta->rssi_stat.UndecoratedSmoothedPWDB << 16));
rtl8723b_set_rssi_cmd(padapter, (u8 *)&PWDB_rssi);
}
-
}
void rtl8723b_HalDmWatchDog_in_LPS(struct adapter *Adapter)
@@ -220,31 +227,30 @@ void rtl8723b_HalDmWatchDog_in_LPS(struct adapter *Adapter)
/* ODM_DMWatchdog(&pHalData->odmpriv); */
/* Do DIG by RSSI In LPS-32K */
- /* 1 Find MIN-RSSI */
+ /* 1 Find MIN-RSSI */
psta = rtw_get_stainfo(pstapriv, get_bssid(pmlmepriv));
if (!psta)
goto skip_lps_dm;
- pdmpriv->EntryMinUndecoratedSmoothedPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB;
+ pdmpriv->EntryMinUndecoratedSmoothedPWDB =
+ psta->rssi_stat.UndecoratedSmoothedPWDB;
if (pdmpriv->EntryMinUndecoratedSmoothedPWDB <= 0)
goto skip_lps_dm;
- pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;
+ pdmpriv->MinUndecoratedPWDBForDM =
+ pdmpriv->EntryMinUndecoratedSmoothedPWDB;
pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM;
/* if (pDM_DigTable->CurIGValue != pDM_Odm->RSSI_Min) */
- if (
- (pDM_DigTable->CurIGValue > pDM_Odm->RSSI_Min + 5) ||
- (pDM_DigTable->CurIGValue < pDM_Odm->RSSI_Min - 5)
- )
+ if ((pDM_DigTable->CurIGValue > pDM_Odm->RSSI_Min + 5) ||
+ (pDM_DigTable->CurIGValue < pDM_Odm->RSSI_Min - 5))
rtw_dm_in_lps_wk_cmd(Adapter);
skip_lps_dm:
return;
-
}
void rtl8723b_init_dm_priv(struct adapter *Adapter)
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
index bcaf63b2893cd..6630e5b664ba4 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
@@ -21,23 +21,23 @@ static void _FWDownloadEnable(struct adapter *padapter, bool enable)
rtw_write8(padapter, REG_SYS_FUNC_EN + 1, tmp | 0x04);
tmp = rtw_read8(padapter, REG_MCUFWDL);
- rtw_write8(padapter, REG_MCUFWDL, tmp|0x01);
+ rtw_write8(padapter, REG_MCUFWDL, tmp | 0x01);
do {
tmp = rtw_read8(padapter, REG_MCUFWDL);
if (tmp & 0x01)
break;
- rtw_write8(padapter, REG_MCUFWDL, tmp|0x01);
+ rtw_write8(padapter, REG_MCUFWDL, tmp | 0x01);
msleep(1);
} while (count++ < 100);
/* 8051 reset */
- tmp = rtw_read8(padapter, REG_MCUFWDL+2);
- rtw_write8(padapter, REG_MCUFWDL+2, tmp&0xf7);
+ tmp = rtw_read8(padapter, REG_MCUFWDL + 2);
+ rtw_write8(padapter, REG_MCUFWDL + 2, tmp & 0xf7);
} else {
/* MCU firmware download disable. */
tmp = rtw_read8(padapter, REG_MCUFWDL);
- rtw_write8(padapter, REG_MCUFWDL, tmp&0xfe);
+ rtw_write8(padapter, REG_MCUFWDL, tmp & 0xfe);
}
}
@@ -45,9 +45,12 @@ static int _BlockWrite(struct adapter *padapter, void *buffer, u32 buffSize)
{
int ret = _SUCCESS;
- u32 blockSize_p1 = 4; /* (Default) Phase #1 : PCI muse use 4-byte write to download FW */
- u32 blockSize_p2 = 8; /* Phase #2 : Use 8-byte, if Phase#1 use big size to write FW. */
- u32 blockSize_p3 = 1; /* Phase #3 : Use 1-byte, the remnant of FW image. */
+ u32 blockSize_p1 =
+ 4; /* (Default) Phase #1 : PCI muse use 4-byte write to download FW */
+ u32 blockSize_p2 =
+ 8; /* Phase #2 : Use 8-byte, if Phase#1 use big size to write FW. */
+ u32 blockSize_p3 =
+ 1; /* Phase #3 : Use 1-byte, the remnant of FW image. */
u32 blockCount_p1 = 0, blockCount_p2 = 0, blockCount_p3 = 0;
u32 remainSize_p1 = 0, remainSize_p2 = 0;
u8 *bufferPtr = buffer;
@@ -58,9 +61,12 @@ static int _BlockWrite(struct adapter *padapter, void *buffer, u32 buffSize)
remainSize_p1 = buffSize % blockSize_p1;
for (i = 0; i < blockCount_p1; i++) {
- ret = rtw_write32(padapter, (FW_8723B_START_ADDRESS + i * blockSize_p1), *((u32 *)(bufferPtr + i * blockSize_p1)));
+ ret = rtw_write32(padapter,
+ (FW_8723B_START_ADDRESS + i * blockSize_p1),
+ *((u32 *)(bufferPtr + i * blockSize_p1)));
if (ret == _FAIL) {
- netdev_dbg(padapter->pnetdev, "write failed at %s %d, block:%d\n",
+ netdev_dbg(padapter->pnetdev,
+ "write failed at %s %d, block:%d\n",
__func__, __LINE__, i);
goto exit;
}
@@ -68,21 +74,25 @@ static int _BlockWrite(struct adapter *padapter, void *buffer, u32 buffSize)
/* 3 Phase #2 */
if (remainSize_p1) {
- blockCount_p2 = remainSize_p1/blockSize_p2;
- remainSize_p2 = remainSize_p1%blockSize_p2;
+ blockCount_p2 = remainSize_p1 / blockSize_p2;
+ remainSize_p2 = remainSize_p1 % blockSize_p2;
}
/* 3 Phase #3 */
if (remainSize_p2) {
- offset = (blockCount_p1 * blockSize_p1) + (blockCount_p2 * blockSize_p2);
+ offset = (blockCount_p1 * blockSize_p1) +
+ (blockCount_p2 * blockSize_p2);
blockCount_p3 = remainSize_p2 / blockSize_p3;
for (i = 0; i < blockCount_p3; i++) {
- ret = rtw_write8(padapter, (FW_8723B_START_ADDRESS + offset + i), *(bufferPtr + offset + i));
+ ret = rtw_write8(padapter,
+ (FW_8723B_START_ADDRESS + offset + i),
+ *(bufferPtr + offset + i));
if (ret == _FAIL) {
- netdev_dbg(padapter->pnetdev, "write failed at %s %d, block:%d\n",
+ netdev_dbg(padapter->pnetdev,
+ "write failed at %s %d, block:%d\n",
__func__, __LINE__, i);
goto exit;
}
@@ -92,18 +102,14 @@ static int _BlockWrite(struct adapter *padapter, void *buffer, u32 buffSize)
return ret;
}
-static int _PageWrite(
- struct adapter *padapter,
- u32 page,
- void *buffer,
- u32 size
-)
+static int _PageWrite(struct adapter *padapter, u32 page, void *buffer,
+ u32 size)
{
u8 value8;
- u8 u8Page = (u8) (page & 0x07);
+ u8 u8Page = (u8)(page & 0x07);
- value8 = (rtw_read8(padapter, REG_MCUFWDL+2) & 0xF8) | u8Page;
- rtw_write8(padapter, REG_MCUFWDL+2, value8);
+ value8 = (rtw_read8(padapter, REG_MCUFWDL + 2) & 0xF8) | u8Page;
+ rtw_write8(padapter, REG_MCUFWDL + 2, value8);
return _BlockWrite(padapter, buffer, size);
}
@@ -122,11 +128,13 @@ static int _WriteFW(struct adapter *padapter, void *buffer, u32 size)
for (page = 0; page < pageNums; page++) {
offset = page * MAX_DLFW_PAGE_SIZE;
- ret = _PageWrite(padapter, page, bufferPtr+offset, MAX_DLFW_PAGE_SIZE);
+ ret = _PageWrite(padapter, page, bufferPtr + offset,
+ MAX_DLFW_PAGE_SIZE);
if (ret == _FAIL) {
- netdev_dbg(padapter->pnetdev, "page write failed at %s %d\n",
- __func__, __LINE__);
+ netdev_dbg(padapter->pnetdev,
+ "page write failed at %s %d\n", __func__,
+ __LINE__);
goto exit;
}
}
@@ -134,10 +142,12 @@ static int _WriteFW(struct adapter *padapter, void *buffer, u32 size)
if (remainSize) {
offset = pageNums * MAX_DLFW_PAGE_SIZE;
page = pageNums;
- ret = _PageWrite(padapter, page, bufferPtr+offset, remainSize);
+ ret = _PageWrite(padapter, page, bufferPtr + offset,
+ remainSize);
if (ret == _FAIL) {
- netdev_dbg(padapter->pnetdev, "remaining page write failed at %s %d\n",
+ netdev_dbg(padapter->pnetdev,
+ "remaining page write failed at %s %d\n",
__func__, __LINE__);
goto exit;
}
@@ -176,9 +186,8 @@ void _8051Reset8723(struct adapter *padapter)
u8 g_fwdl_chksum_fail;
-static s32 polling_fwdl_chksum(
- struct adapter *adapter, u32 min_cnt, u32 timeout_ms
-)
+static s32 polling_fwdl_chksum(struct adapter *adapter, u32 min_cnt,
+ u32 timeout_ms)
{
s32 ret = _FAIL;
u32 value32;
@@ -189,10 +198,12 @@ static s32 polling_fwdl_chksum(
do {
cnt++;
value32 = rtw_read32(adapter, REG_MCUFWDL);
- if (value32 & FWDL_ChkSum_rpt || adapter->bSurpriseRemoved || adapter->bDriverStopped)
+ if (value32 & FWDL_ChkSum_rpt || adapter->bSurpriseRemoved ||
+ adapter->bDriverStopped)
break;
yield();
- } while (jiffies_to_msecs(jiffies-start) < timeout_ms || cnt < min_cnt);
+ } while (jiffies_to_msecs(jiffies - start) < timeout_ms ||
+ cnt < min_cnt);
if (!(value32 & FWDL_ChkSum_rpt)) {
goto exit;
@@ -230,10 +241,12 @@ static s32 _FWFreeToGo(struct adapter *adapter, u32 min_cnt, u32 timeout_ms)
do {
cnt++;
value32 = rtw_read32(adapter, REG_MCUFWDL);
- if (value32 & WINTINI_RDY || adapter->bSurpriseRemoved || adapter->bDriverStopped)
+ if (value32 & WINTINI_RDY || adapter->bSurpriseRemoved ||
+ adapter->bDriverStopped)
break;
yield();
- } while (jiffies_to_msecs(jiffies - start) < timeout_ms || cnt < min_cnt);
+ } while (jiffies_to_msecs(jiffies - start) < timeout_ms ||
+ cnt < min_cnt);
if (!(value32 & WINTINI_RDY)) {
goto exit;
@@ -251,7 +264,8 @@ static s32 _FWFreeToGo(struct adapter *adapter, u32 min_cnt, u32 timeout_ms)
return ret;
}
-#define IS_FW_81xxC(padapter) (((GET_HAL_DATA(padapter))->FirmwareSignature & 0xFFF0) == 0x88C0)
+#define IS_FW_81xxC(padapter) \
+ (((GET_HAL_DATA(padapter))->FirmwareSignature & 0xFFF0) == 0x88C0)
void rtl8723b_FirmwareSelfReset(struct adapter *padapter)
{
@@ -259,11 +273,13 @@ void rtl8723b_FirmwareSelfReset(struct adapter *padapter)
u8 val;
u8 Delay = 100;
- if (
- !(IS_FW_81xxC(padapter) && ((pHalData->FirmwareVersion < 0x21) || (pHalData->FirmwareVersion == 0x21 && pHalData->FirmwareSubVersion < 0x01)))
- ) { /* after 88C Fw v33.1 */
+ if (!(IS_FW_81xxC(padapter) &&
+ ((pHalData->FirmwareVersion < 0x21) ||
+ (pHalData->FirmwareVersion == 0x21 &&
+ pHalData->FirmwareSubVersion <
+ 0x01)))) { /* after 88C Fw v33.1 */
/* 0x1cf = 0x20. Inform 8051 to reset. 2009.12.25. tynli_test */
- rtw_write8(padapter, REG_HMETFR+3, 0x20);
+ rtw_write8(padapter, REG_HMETFR + 3, 0x20);
val = rtw_read8(padapter, REG_SYS_FUNC_EN + 1);
while (val & BIT(2)) {
@@ -277,7 +293,8 @@ void rtl8723b_FirmwareSelfReset(struct adapter *padapter)
if (Delay == 0) {
/* force firmware reset */
val = rtw_read8(padapter, REG_SYS_FUNC_EN + 1);
- rtw_write8(padapter, REG_SYS_FUNC_EN + 1, val & (~BIT(2)));
+ rtw_write8(padapter, REG_SYS_FUNC_EN + 1,
+ val & (~BIT(2)));
}
}
}
@@ -287,7 +304,7 @@ void rtl8723b_FirmwareSelfReset(struct adapter *padapter)
/* Download 8192C firmware code. */
/* */
/* */
-s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw)
+s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw)
{
s32 rtStatus = _SUCCESS;
u8 write_fw = 0;
@@ -354,8 +371,7 @@ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw)
release_firmware(fw);
if (pFirmware->fw_length > FW_8723B_SIZE) {
rtStatus = _FAIL;
- netdev_emerg(padapter->pnetdev,
- "Firmware size:%u exceed %u\n",
+ netdev_emerg(padapter->pnetdev, "Firmware size:%u exceed %u\n",
pFirmware->fw_length, FW_8723B_SIZE);
goto release_fw1;
}
@@ -366,7 +382,7 @@ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw)
/* To Check Fw header. Added by tynli. 2009.12.04. */
pFwHdr = (struct rt_firmware_hdr *)pFirmwareBuf;
- pHalData->FirmwareVersion = le16_to_cpu(pFwHdr->version);
+ pHalData->FirmwareVersion = le16_to_cpu(pFwHdr->version);
pHalData->FirmwareSubVersion = le16_to_cpu(pFwHdr->subversion);
pHalData->FirmwareSignature = le16_to_cpu(pFwHdr->signature);
@@ -385,13 +401,12 @@ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw)
_FWDownloadEnable(padapter, true);
fwdl_start_time = jiffies;
- while (
- !padapter->bDriverStopped &&
- !padapter->bSurpriseRemoved &&
- (write_fw++ < 3 || jiffies_to_msecs(jiffies - fwdl_start_time) < 500)
- ) {
+ while (!padapter->bDriverStopped && !padapter->bSurpriseRemoved &&
+ (write_fw++ < 3 ||
+ jiffies_to_msecs(jiffies - fwdl_start_time) < 500)) {
/* reset FWDL chksum */
- rtw_write8(padapter, REG_MCUFWDL, rtw_read8(padapter, REG_MCUFWDL)|FWDL_ChkSum_rpt);
+ rtw_write8(padapter, REG_MCUFWDL,
+ rtw_read8(padapter, REG_MCUFWDL) | FWDL_ChkSum_rpt);
rtStatus = _WriteFW(padapter, pFirmwareBuf, FirmwareLen);
if (rtStatus != _SUCCESS)
@@ -431,36 +446,39 @@ void rtl8723b_InitializeFirmwareVars(struct adapter *padapter)
/* Init H2C counter. by tynli. 2009.12.09. */
pHalData->LastHMEBoxNum = 0;
-/* pHalData->H2CQueueHead = 0; */
-/* pHalData->H2CQueueTail = 0; */
-/* pHalData->H2CStopInsertQueue = false; */
+ /* pHalData->H2CQueueHead = 0; */
+ /* pHalData->H2CQueueTail = 0; */
+ /* pHalData->H2CStopInsertQueue = false; */
}
/* */
/* Efuse related code */
/* */
-static u8 hal_EfuseSwitchToBank(
- struct adapter *padapter, u8 bank
-)
+static u8 hal_EfuseSwitchToBank(struct adapter *padapter, u8 bank)
{
u8 bRet = true;
u32 value32 = rtw_read32(padapter, EFUSE_TEST);
switch (bank) {
case 0:
- value32 = (value32 & ~EFUSE_SEL_MASK) | EFUSE_SEL(EFUSE_WIFI_SEL_0);
+ value32 = (value32 & ~EFUSE_SEL_MASK) |
+ EFUSE_SEL(EFUSE_WIFI_SEL_0);
break;
case 1:
- value32 = (value32 & ~EFUSE_SEL_MASK) | EFUSE_SEL(EFUSE_BT_SEL_0);
+ value32 = (value32 & ~EFUSE_SEL_MASK) |
+ EFUSE_SEL(EFUSE_BT_SEL_0);
break;
case 2:
- value32 = (value32 & ~EFUSE_SEL_MASK) | EFUSE_SEL(EFUSE_BT_SEL_1);
+ value32 = (value32 & ~EFUSE_SEL_MASK) |
+ EFUSE_SEL(EFUSE_BT_SEL_1);
break;
case 3:
- value32 = (value32 & ~EFUSE_SEL_MASK) | EFUSE_SEL(EFUSE_BT_SEL_2);
+ value32 = (value32 & ~EFUSE_SEL_MASK) |
+ EFUSE_SEL(EFUSE_BT_SEL_2);
break;
default:
- value32 = (value32 & ~EFUSE_SEL_MASK) | EFUSE_SEL(EFUSE_WIFI_SEL_0);
+ value32 = (value32 & ~EFUSE_SEL_MASK) |
+ EFUSE_SEL(EFUSE_WIFI_SEL_0);
bRet = false;
break;
}
@@ -469,103 +487,85 @@ static u8 hal_EfuseSwitchToBank(
return bRet;
}
-void Hal_GetEfuseDefinition(
- struct adapter *padapter,
- u8 efuseType,
- u8 type,
- void *pOut
-)
+void Hal_GetEfuseDefinition(struct adapter *padapter, u8 efuseType, u8 type,
+ void *pOut)
{
switch (type) {
- case TYPE_EFUSE_MAX_SECTION:
- {
- u8 *pMax_section = pOut;
+ case TYPE_EFUSE_MAX_SECTION: {
+ u8 *pMax_section = pOut;
- if (efuseType == EFUSE_WIFI)
- *pMax_section = EFUSE_MAX_SECTION_8723B;
- else
- *pMax_section = EFUSE_BT_MAX_SECTION;
- }
- break;
+ if (efuseType == EFUSE_WIFI)
+ *pMax_section = EFUSE_MAX_SECTION_8723B;
+ else
+ *pMax_section = EFUSE_BT_MAX_SECTION;
+ } break;
- case TYPE_EFUSE_REAL_CONTENT_LEN:
- {
- u16 *pu2Tmp = pOut;
+ case TYPE_EFUSE_REAL_CONTENT_LEN: {
+ u16 *pu2Tmp = pOut;
- if (efuseType == EFUSE_WIFI)
- *pu2Tmp = EFUSE_REAL_CONTENT_LEN_8723B;
- else
- *pu2Tmp = EFUSE_BT_REAL_CONTENT_LEN;
- }
- break;
+ if (efuseType == EFUSE_WIFI)
+ *pu2Tmp = EFUSE_REAL_CONTENT_LEN_8723B;
+ else
+ *pu2Tmp = EFUSE_BT_REAL_CONTENT_LEN;
+ } break;
- case TYPE_AVAILABLE_EFUSE_BYTES_BANK:
- {
- u16 *pu2Tmp = pOut;
+ case TYPE_AVAILABLE_EFUSE_BYTES_BANK: {
+ u16 *pu2Tmp = pOut;
- if (efuseType == EFUSE_WIFI)
- *pu2Tmp = (EFUSE_REAL_CONTENT_LEN_8723B-EFUSE_OOB_PROTECT_BYTES);
- else
- *pu2Tmp = (EFUSE_BT_REAL_BANK_CONTENT_LEN-EFUSE_PROTECT_BYTES_BANK);
- }
- break;
+ if (efuseType == EFUSE_WIFI)
+ *pu2Tmp = (EFUSE_REAL_CONTENT_LEN_8723B -
+ EFUSE_OOB_PROTECT_BYTES);
+ else
+ *pu2Tmp = (EFUSE_BT_REAL_BANK_CONTENT_LEN -
+ EFUSE_PROTECT_BYTES_BANK);
+ } break;
- case TYPE_AVAILABLE_EFUSE_BYTES_TOTAL:
- {
- u16 *pu2Tmp = pOut;
+ case TYPE_AVAILABLE_EFUSE_BYTES_TOTAL: {
+ u16 *pu2Tmp = pOut;
- if (efuseType == EFUSE_WIFI)
- *pu2Tmp = (EFUSE_REAL_CONTENT_LEN_8723B-EFUSE_OOB_PROTECT_BYTES);
- else
- *pu2Tmp = (EFUSE_BT_REAL_CONTENT_LEN-(EFUSE_PROTECT_BYTES_BANK*3));
- }
- break;
+ if (efuseType == EFUSE_WIFI)
+ *pu2Tmp = (EFUSE_REAL_CONTENT_LEN_8723B -
+ EFUSE_OOB_PROTECT_BYTES);
+ else
+ *pu2Tmp = (EFUSE_BT_REAL_CONTENT_LEN -
+ (EFUSE_PROTECT_BYTES_BANK * 3));
+ } break;
- case TYPE_EFUSE_MAP_LEN:
- {
- u16 *pu2Tmp = pOut;
+ case TYPE_EFUSE_MAP_LEN: {
+ u16 *pu2Tmp = pOut;
- if (efuseType == EFUSE_WIFI)
- *pu2Tmp = EFUSE_MAX_MAP_LEN;
- else
- *pu2Tmp = EFUSE_BT_MAP_LEN;
- }
- break;
+ if (efuseType == EFUSE_WIFI)
+ *pu2Tmp = EFUSE_MAX_MAP_LEN;
+ else
+ *pu2Tmp = EFUSE_BT_MAP_LEN;
+ } break;
- case TYPE_EFUSE_PROTECT_BYTES_BANK:
- {
- u8 *pu1Tmp = pOut;
+ case TYPE_EFUSE_PROTECT_BYTES_BANK: {
+ u8 *pu1Tmp = pOut;
- if (efuseType == EFUSE_WIFI)
- *pu1Tmp = EFUSE_OOB_PROTECT_BYTES;
- else
- *pu1Tmp = EFUSE_PROTECT_BYTES_BANK;
- }
- break;
+ if (efuseType == EFUSE_WIFI)
+ *pu1Tmp = EFUSE_OOB_PROTECT_BYTES;
+ else
+ *pu1Tmp = EFUSE_PROTECT_BYTES_BANK;
+ } break;
- case TYPE_EFUSE_CONTENT_LEN_BANK:
- {
- u16 *pu2Tmp = pOut;
+ case TYPE_EFUSE_CONTENT_LEN_BANK: {
+ u16 *pu2Tmp = pOut;
- if (efuseType == EFUSE_WIFI)
- *pu2Tmp = EFUSE_REAL_CONTENT_LEN_8723B;
- else
- *pu2Tmp = EFUSE_BT_REAL_BANK_CONTENT_LEN;
- }
- break;
+ if (efuseType == EFUSE_WIFI)
+ *pu2Tmp = EFUSE_REAL_CONTENT_LEN_8723B;
+ else
+ *pu2Tmp = EFUSE_BT_REAL_BANK_CONTENT_LEN;
+ } break;
- default:
- {
- u8 *pu1Tmp = pOut;
- *pu1Tmp = 0;
- }
- break;
+ default: {
+ u8 *pu1Tmp = pOut;
+ *pu1Tmp = 0;
+ } break;
}
}
-void Hal_EfusePowerSwitch(
- struct adapter *padapter, u8 PwrState
-)
+void Hal_EfusePowerSwitch(struct adapter *padapter, u8 PwrState)
{
u8 tempval;
u16 tmpV16;
@@ -573,16 +573,21 @@ void Hal_EfusePowerSwitch(
if (PwrState) {
/* To avoid cannot access efuse registers after disable/enable several times during DTM test. */
/* Suggested by SD1 IsaacHsu. 2013.07.08, added by tynli. */
- tempval = rtw_read8(padapter, SDIO_LOCAL_BASE|SDIO_REG_HSUS_CTRL);
+ tempval = rtw_read8(padapter,
+ SDIO_LOCAL_BASE | SDIO_REG_HSUS_CTRL);
if (tempval & BIT(0)) { /* SDIO local register is suspend */
u8 count = 0;
tempval &= ~BIT(0);
- rtw_write8(padapter, SDIO_LOCAL_BASE|SDIO_REG_HSUS_CTRL, tempval);
+ rtw_write8(padapter,
+ SDIO_LOCAL_BASE | SDIO_REG_HSUS_CTRL,
+ tempval);
/* check 0x86[1:0]= 10'2h, wait power state to leave suspend */
do {
- tempval = rtw_read8(padapter, SDIO_LOCAL_BASE|SDIO_REG_HSUS_CTRL);
+ tempval = rtw_read8(padapter,
+ SDIO_LOCAL_BASE |
+ SDIO_REG_HSUS_CTRL);
tempval &= 0x3;
if (tempval == 0x02)
break;
@@ -598,7 +603,7 @@ void Hal_EfusePowerSwitch(
rtw_write8(padapter, REG_EFUSE_ACCESS, EFUSE_ACCESS_ON);
/* Reset: 0x0000h[28], default valid */
- tmpV16 = rtw_read16(padapter, REG_SYS_FUNC_EN);
+ tmpV16 = rtw_read16(padapter, REG_SYS_FUNC_EN);
if (!(tmpV16 & FEN_ELDR)) {
tmpV16 |= FEN_ELDR;
rtw_write16(padapter, REG_SYS_FUNC_EN, tmpV16);
@@ -606,7 +611,7 @@ void Hal_EfusePowerSwitch(
/* Clock: Gated(0x0008h[5]) 8M(0x0008h[1]) clock from ANA, default valid */
tmpV16 = rtw_read16(padapter, REG_SYS_CLKR);
- if ((!(tmpV16 & LOADER_CLK_EN)) || (!(tmpV16 & ANA8M))) {
+ if ((!(tmpV16 & LOADER_CLK_EN)) || (!(tmpV16 & ANA8M))) {
tmpV16 |= (LOADER_CLK_EN | ANA8M);
rtw_write16(padapter, REG_SYS_CLKR, tmpV16);
}
@@ -615,12 +620,8 @@ void Hal_EfusePowerSwitch(
}
}
-static void hal_ReadEFuse_WiFi(
- struct adapter *padapter,
- u16 _offset,
- u16 _size_byte,
- u8 *pbuf
-)
+static void hal_ReadEFuse_WiFi(struct adapter *padapter, u16 _offset,
+ u16 _size_byte, u8 *pbuf)
{
u8 *efuseTbl = NULL;
u16 eFuse_Addr = 0;
@@ -654,7 +655,8 @@ static void hal_ReadEFuse_WiFi(
if (EXT_HEADER(efuseHeader)) { /* extended header */
offset = GET_HDR_OFFSET_2_0(efuseHeader);
- rtw_efuse_one_byte_read(padapter, eFuse_Addr++, &efuseExtHdr);
+ rtw_efuse_one_byte_read(padapter, eFuse_Addr++,
+ &efuseExtHdr);
if (ALL_WORDS_DISABLED(efuseExtHdr))
continue;
@@ -672,30 +674,33 @@ static void hal_ReadEFuse_WiFi(
addr = offset * PGPKT_DATA_SIZE;
for (i = 0; i < EFUSE_MAX_WORD_UNIT; i++) {
/* Check word enable condition in the section */
- if (!(wden & (0x01<<i))) {
- rtw_efuse_one_byte_read(padapter, eFuse_Addr++,
+ if (!(wden & (0x01 << i))) {
+ rtw_efuse_one_byte_read(padapter,
+ eFuse_Addr++,
&efuseData);
efuseTbl[addr] = efuseData;
- rtw_efuse_one_byte_read(padapter, eFuse_Addr++,
+ rtw_efuse_one_byte_read(padapter,
+ eFuse_Addr++,
&efuseData);
- efuseTbl[addr+1] = efuseData;
+ efuseTbl[addr + 1] = efuseData;
}
addr += 2;
}
} else {
- eFuse_Addr += rtw_efuse_calculate_word_counts(wden)*2;
+ eFuse_Addr += rtw_efuse_calculate_word_counts(wden) * 2;
}
}
/* Copy from Efuse map to output pointer memory!!! */
for (i = 0; i < _size_byte; i++)
- pbuf[i] = efuseTbl[_offset+i];
+ pbuf[i] = efuseTbl[_offset + i];
/* Calculate Efuse utilization */
- Hal_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, &total);
+ Hal_GetEfuseDefinition(padapter, EFUSE_WIFI,
+ TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, &total);
used = eFuse_Addr - 1;
- efuse_usage = (u8)((used*100)/total);
+ efuse_usage = (u8)((used * 100) / total);
rtw_hal_set_hwreg(padapter, HW_VAR_EFUSE_BYTES, (u8 *)&used);
rtw_hal_set_hwreg(padapter, HW_VAR_EFUSE_USAGE, (u8 *)&efuse_usage);
@@ -703,12 +708,8 @@ static void hal_ReadEFuse_WiFi(
kfree(efuseTbl);
}
-static void hal_ReadEFuse_BT(
- struct adapter *padapter,
- u16 _offset,
- u16 _size_byte,
- u8 *pbuf
-)
+static void hal_ReadEFuse_BT(struct adapter *padapter, u16 _offset,
+ u16 _size_byte, u8 *pbuf)
{
u8 *efuseTbl;
u8 bank;
@@ -731,7 +732,8 @@ static void hal_ReadEFuse_BT(
/* 0xff will be efuse default value instead of 0x00. */
memset(efuseTbl, 0xFF, EFUSE_BT_MAP_LEN);
- Hal_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_AVAILABLE_EFUSE_BYTES_BANK, &total);
+ Hal_GetEfuseDefinition(padapter, EFUSE_BT,
+ TYPE_AVAILABLE_EFUSE_BYTES_BANK, &total);
for (bank = 1; bank < 3; bank++) { /* 8723b Max bake 0~2 */
if (!hal_EfuseSwitchToBank(padapter, bank))
@@ -740,7 +742,8 @@ static void hal_ReadEFuse_BT(
eFuse_Addr = 0;
while (AVAILABLE_EFUSE_ADDR(eFuse_Addr)) {
- rtw_efuse_one_byte_read(padapter, eFuse_Addr++, &efuseHeader);
+ rtw_efuse_one_byte_read(padapter, eFuse_Addr++,
+ &efuseHeader);
if (efuseHeader == 0xFF)
break;
@@ -748,7 +751,8 @@ static void hal_ReadEFuse_BT(
if (EXT_HEADER(efuseHeader)) { /* extended header */
offset = GET_HDR_OFFSET_2_0(efuseHeader);
- rtw_efuse_one_byte_read(padapter, eFuse_Addr++, &efuseExtHdr);
+ rtw_efuse_one_byte_read(padapter, eFuse_Addr++,
+ &efuseExtHdr);
if (ALL_WORDS_DISABLED(efuseExtHdr))
continue;
@@ -764,25 +768,28 @@ static void hal_ReadEFuse_BT(
for (i = 0; i < EFUSE_MAX_WORD_UNIT; i++) {
/* Check word enable condition in the section */
- if (!(wden & (0x01<<i))) {
- rtw_efuse_one_byte_read(padapter, eFuse_Addr++,
- &efuseData);
+ if (!(wden & (0x01 << i))) {
+ rtw_efuse_one_byte_read(
+ padapter, eFuse_Addr++,
+ &efuseData);
efuseTbl[addr] = efuseData;
- rtw_efuse_one_byte_read(padapter, eFuse_Addr++,
- &efuseData);
- efuseTbl[addr+1] = efuseData;
+ rtw_efuse_one_byte_read(
+ padapter, eFuse_Addr++,
+ &efuseData);
+ efuseTbl[addr + 1] = efuseData;
}
addr += 2;
}
} else {
- eFuse_Addr += rtw_efuse_calculate_word_counts(wden)*2;
+ eFuse_Addr +=
+ rtw_efuse_calculate_word_counts(wden) *
+ 2;
}
}
if ((eFuse_Addr - 1) < total)
break;
-
}
/* switch bank back to bank 0 for later BT and wifi use. */
@@ -790,14 +797,15 @@ static void hal_ReadEFuse_BT(
/* Copy from Efuse map to output pointer memory!!! */
for (i = 0; i < _size_byte; i++)
- pbuf[i] = efuseTbl[_offset+i];
+ pbuf[i] = efuseTbl[_offset + i];
/* */
/* Calculate Efuse utilization. */
/* */
- Hal_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, &total);
- used = (EFUSE_BT_REAL_BANK_CONTENT_LEN*(bank-1)) + eFuse_Addr - 1;
- efuse_usage = (u8)((used*100)/total);
+ Hal_GetEfuseDefinition(padapter, EFUSE_BT,
+ TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, &total);
+ used = (EFUSE_BT_REAL_BANK_CONTENT_LEN * (bank - 1)) + eFuse_Addr - 1;
+ efuse_usage = (u8)((used * 100) / total);
rtw_hal_set_hwreg(padapter, HW_VAR_EFUSE_BT_BYTES, (u8 *)&used);
rtw_hal_set_hwreg(padapter, HW_VAR_EFUSE_BT_USAGE, (u8 *)&efuse_usage);
@@ -806,13 +814,8 @@ static void hal_ReadEFuse_BT(
kfree(efuseTbl);
}
-void Hal_ReadEFuse(
- struct adapter *padapter,
- u8 efuseType,
- u16 _offset,
- u16 _size_byte,
- u8 *pbuf
-)
+void Hal_ReadEFuse(struct adapter *padapter, u8 efuseType, u16 _offset,
+ u16 _size_byte, u8 *pbuf)
{
if (efuseType == EFUSE_WIFI)
hal_ReadEFuse_WiFi(padapter, _offset, _size_byte, pbuf);
@@ -825,22 +828,28 @@ static void ReadChipVersion8723B(struct adapter *padapter)
u32 value32;
struct hal_com_data *pHalData;
-/* YJ, TODO, move read chip type here */
+ /* YJ, TODO, move read chip type here */
pHalData = GET_HAL_DATA(padapter);
value32 = rtw_read32(padapter, REG_SYS_CFG);
pHalData->chip_normal = ((value32 & RTL_ID) ? false : true);
/* For regulator mode. by tynli. 2011.01.14 */
- pHalData->RegulatorMode = ((value32 & SPS_SEL) ? RT_LDO_REGULATOR : RT_SWITCHING_REGULATOR);
+ pHalData->RegulatorMode = ((value32 & SPS_SEL) ?
+ RT_LDO_REGULATOR :
+ RT_SWITCHING_REGULATOR);
/* For multi-function consideration. Added by Roger, 2010.10.06. */
pHalData->MultiFunc = RT_MULTI_FUNC_NONE;
value32 = rtw_read32(padapter, REG_MULTI_FUNC_CTRL);
- pHalData->MultiFunc |= ((value32 & WL_FUNC_EN) ? RT_MULTI_FUNC_WIFI : 0);
+ pHalData->MultiFunc |=
+ ((value32 & WL_FUNC_EN) ? RT_MULTI_FUNC_WIFI : 0);
pHalData->MultiFunc |= ((value32 & BT_FUNC_EN) ? RT_MULTI_FUNC_BT : 0);
- pHalData->MultiFunc |= ((value32 & GPS_FUNC_EN) ? RT_MULTI_FUNC_GPS : 0);
- pHalData->PolarityCtl = ((value32 & WL_HWPDN_SL) ? RT_POLARITY_HIGH_ACT : RT_POLARITY_LOW_ACT);
+ pHalData->MultiFunc |=
+ ((value32 & GPS_FUNC_EN) ? RT_MULTI_FUNC_GPS : 0);
+ pHalData->PolarityCtl = ((value32 & WL_HWPDN_SL) ?
+ RT_POLARITY_HIGH_ACT :
+ RT_POLARITY_LOW_ACT);
}
void rtl8723b_read_chip_version(struct adapter *padapter)
@@ -862,12 +871,14 @@ void rtl8723b_InitBeaconParameters(struct adapter *padapter)
rtw_write16(padapter, REG_BCN_CTRL, val16);
/* TODO: Remove these magic number */
- rtw_write16(padapter, REG_TBTT_PROHIBIT, 0x6404);/* ms */
+ rtw_write16(padapter, REG_TBTT_PROHIBIT, 0x6404); /* ms */
/* Firmware will control REG_DRVERLYINT when power saving is enable, */
/* so don't set this register on STA mode. */
if (!check_fwstate(&padapter->mlmepriv, WIFI_STATION_STATE))
- rtw_write8(padapter, REG_DRVERLYINT, DRIVER_EARLY_INT_TIME_8723B); /* 5ms */
- rtw_write8(padapter, REG_BCNDMATIM, BCN_DMA_ATIME_INT_TIME_8723B); /* 2ms */
+ rtw_write8(padapter, REG_DRVERLYINT,
+ DRIVER_EARLY_INT_TIME_8723B); /* 5ms */
+ rtw_write8(padapter, REG_BCNDMATIM,
+ BCN_DMA_ATIME_INT_TIME_8723B); /* 2ms */
/* Suggested by designer timchen. Change beacon AIFS to the largest number */
/* because test chip does not contension before sending beacon. by tynli. 2009.11.03 */
@@ -875,34 +886,38 @@ void rtl8723b_InitBeaconParameters(struct adapter *padapter)
pHalData->RegBcnCtrlVal = rtw_read8(padapter, REG_BCN_CTRL);
pHalData->RegTxPause = rtw_read8(padapter, REG_TXPAUSE);
- pHalData->RegFwHwTxQCtrl = rtw_read8(padapter, REG_FWHW_TXQ_CTRL+2);
- pHalData->RegReg542 = rtw_read8(padapter, REG_TBTT_PROHIBIT+2);
- pHalData->RegCR_1 = rtw_read8(padapter, REG_CR+1);
+ pHalData->RegFwHwTxQCtrl = rtw_read8(padapter, REG_FWHW_TXQ_CTRL + 2);
+ pHalData->RegReg542 = rtw_read8(padapter, REG_TBTT_PROHIBIT + 2);
+ pHalData->RegCR_1 = rtw_read8(padapter, REG_CR + 1);
}
void _InitBurstPktLen_8723BS(struct adapter *Adapter)
{
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
- rtw_write8(Adapter, 0x4c7, rtw_read8(Adapter, 0x4c7)|BIT(7)); /* enable single pkt ampdu */
- rtw_write8(Adapter, REG_RX_PKT_LIMIT_8723B, 0x18); /* for VHT packet length 11K */
+ rtw_write8(Adapter, 0x4c7,
+ rtw_read8(Adapter, 0x4c7) |
+ BIT(7)); /* enable single pkt ampdu */
+ rtw_write8(Adapter, REG_RX_PKT_LIMIT_8723B,
+ 0x18); /* for VHT packet length 11K */
rtw_write8(Adapter, REG_MAX_AGGR_NUM_8723B, 0x1F);
rtw_write8(Adapter, REG_PIFS_8723B, 0x00);
- rtw_write8(Adapter, REG_FWHW_TXQ_CTRL_8723B, rtw_read8(Adapter, REG_FWHW_TXQ_CTRL)&(~BIT(7)));
+ rtw_write8(Adapter, REG_FWHW_TXQ_CTRL_8723B,
+ rtw_read8(Adapter, REG_FWHW_TXQ_CTRL) & (~BIT(7)));
if (pHalData->AMPDUBurstMode)
- rtw_write8(Adapter, REG_AMPDU_BURST_MODE_8723B, 0x5F);
+ rtw_write8(Adapter, REG_AMPDU_BURST_MODE_8723B, 0x5F);
rtw_write8(Adapter, REG_AMPDU_MAX_TIME_8723B, 0x70);
/* ARFB table 9 for 11ac 5G 2SS */
rtw_write32(Adapter, REG_ARFR0_8723B, 0x00000010);
if (pHalData->chip_normal)
- rtw_write32(Adapter, REG_ARFR0_8723B+4, 0xfffff000);
+ rtw_write32(Adapter, REG_ARFR0_8723B + 4, 0xfffff000);
else
- rtw_write32(Adapter, REG_ARFR0_8723B+4, 0x3e0ff000);
+ rtw_write32(Adapter, REG_ARFR0_8723B + 4, 0x3e0ff000);
/* ARFB table 10 for 11ac 5G 1SS */
rtw_write32(Adapter, REG_ARFR1_8723B, 0x00000010);
- rtw_write32(Adapter, REG_ARFR1_8723B+4, 0x003ff000);
+ rtw_write32(Adapter, REG_ARFR1_8723B + 4, 0x003ff000);
}
static void ResumeTxBeacon(struct adapter *padapter)
@@ -910,10 +925,10 @@ static void ResumeTxBeacon(struct adapter *padapter)
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
pHalData->RegFwHwTxQCtrl |= BIT(6);
- rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl);
- rtw_write8(padapter, REG_TBTT_PROHIBIT+1, 0xff);
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL + 2, pHalData->RegFwHwTxQCtrl);
+ rtw_write8(padapter, REG_TBTT_PROHIBIT + 1, 0xff);
pHalData->RegReg542 |= BIT(0);
- rtw_write8(padapter, REG_TBTT_PROHIBIT+2, pHalData->RegReg542);
+ rtw_write8(padapter, REG_TBTT_PROHIBIT + 2, pHalData->RegReg542);
}
static void StopTxBeacon(struct adapter *padapter)
@@ -921,16 +936,18 @@ static void StopTxBeacon(struct adapter *padapter)
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
pHalData->RegFwHwTxQCtrl &= ~BIT(6);
- rtw_write8(padapter, REG_FWHW_TXQ_CTRL+2, pHalData->RegFwHwTxQCtrl);
- rtw_write8(padapter, REG_TBTT_PROHIBIT+1, 0x64);
+ rtw_write8(padapter, REG_FWHW_TXQ_CTRL + 2, pHalData->RegFwHwTxQCtrl);
+ rtw_write8(padapter, REG_TBTT_PROHIBIT + 1, 0x64);
pHalData->RegReg542 &= ~BIT(0);
- rtw_write8(padapter, REG_TBTT_PROHIBIT+2, pHalData->RegReg542);
+ rtw_write8(padapter, REG_TBTT_PROHIBIT + 2, pHalData->RegReg542);
}
-static void _BeaconFunctionEnable(struct adapter *padapter, u8 Enable, u8 Linked)
+static void _BeaconFunctionEnable(struct adapter *padapter, u8 Enable,
+ u8 Linked)
{
- rtw_write8(padapter, REG_BCN_CTRL, DIS_TSF_UDT | EN_BCN_FUNCTION | DIS_BCNQ_SUB);
- rtw_write8(padapter, REG_RD_CTRL+1, 0x6F);
+ rtw_write8(padapter, REG_BCN_CTRL,
+ DIS_TSF_UDT | EN_BCN_FUNCTION | DIS_BCNQ_SUB);
+ rtw_write8(padapter, REG_RD_CTRL + 1, 0x6F);
}
void rtl8723b_SetBeaconRelatedRegisters(struct adapter *padapter)
@@ -981,7 +998,8 @@ void rtl8723b_SetBeaconRelatedRegisters(struct adapter *padapter)
/* NOTE: Fix test chip's bug (about contention windows's randomness) */
if (check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE |
- WIFI_ADHOC_MASTER_STATE | WIFI_AP_STATE)) {
+ WIFI_ADHOC_MASTER_STATE |
+ WIFI_AP_STATE)) {
rtw_write8(padapter, REG_RXTSF_OFFSET_CCK, 0x50);
rtw_write8(padapter, REG_RXTSF_OFFSET_OFDM, 0x50);
}
@@ -997,9 +1015,11 @@ void rtl8723b_SetBeaconRelatedRegisters(struct adapter *padapter)
void hal_notch_filter_8723b(struct adapter *adapter, bool enable)
{
if (enable)
- rtw_write8(adapter, rOFDM0_RxDSP+1, rtw_read8(adapter, rOFDM0_RxDSP+1) | BIT(1));
+ rtw_write8(adapter, rOFDM0_RxDSP + 1,
+ rtw_read8(adapter, rOFDM0_RxDSP + 1) | BIT(1));
else
- rtw_write8(adapter, rOFDM0_RxDSP+1, rtw_read8(adapter, rOFDM0_RxDSP+1) & ~BIT(1));
+ rtw_write8(adapter, rOFDM0_RxDSP + 1,
+ rtw_read8(adapter, rOFDM0_RxDSP + 1) & ~BIT(1));
}
void UpdateHalRAMask8723B(struct adapter *padapter, u32 mac_id, u8 rssi_level)
@@ -1007,7 +1027,7 @@ void UpdateHalRAMask8723B(struct adapter *padapter, u32 mac_id, u8 rssi_level)
u32 mask, rate_bitmap;
u8 short_gi_rate = false;
struct sta_info *psta;
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
struct dm_priv *pdmpriv = &pHalData->dmpriv;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
@@ -1024,7 +1044,8 @@ void UpdateHalRAMask8723B(struct adapter *padapter, u32 mac_id, u8 rssi_level)
mask = psta->ra_mask;
rate_bitmap = 0xffffffff;
- rate_bitmap = ODM_Get_Rate_Bitmap(&pHalData->odmpriv, mac_id, mask, rssi_level);
+ rate_bitmap = ODM_Get_Rate_Bitmap(&pHalData->odmpriv, mac_id, mask,
+ rssi_level);
mask &= rate_bitmap;
@@ -1032,7 +1053,9 @@ void UpdateHalRAMask8723B(struct adapter *padapter, u32 mac_id, u8 rssi_level)
mask &= ~rate_bitmap;
if (pHalData->fw_ractrl) {
- rtl8723b_set_FwMacIdConfig_cmd(padapter, mac_id, psta->raid, psta->bw_mode, short_gi_rate, mask);
+ rtl8723b_set_FwMacIdConfig_cmd(padapter, mac_id, psta->raid,
+ psta->bw_mode, short_gi_rate,
+ mask);
}
/* set correct initial date rate for each mac_id */
@@ -1069,10 +1092,10 @@ void rtl8723b_init_default_value(struct adapter *padapter)
pHalData->bIQKInitialized = false;
/* init dm default value */
- pdmpriv->TM_Trigger = 0;/* for IQK */
-/* pdmpriv->binitialized = false; */
-/* pdmpriv->prv_traffic_idx = 3; */
-/* pdmpriv->initialize = 0; */
+ pdmpriv->TM_Trigger = 0; /* for IQK */
+ /* pdmpriv->binitialized = false; */
+ /* pdmpriv->prv_traffic_idx = 3; */
+ /* pdmpriv->initialize = 0; */
pdmpriv->ThermalValue_HP_index = 0;
for (i = 0; i < HP_THERMAL_NUM; i++)
@@ -1086,16 +1109,22 @@ void rtl8723b_init_default_value(struct adapter *padapter)
pHalData->EfuseHal.fakeEfuseUsedBytes = 0;
memset(pHalData->EfuseHal.fakeEfuseContent, 0xFF, EFUSE_MAX_HW_SIZE);
memset(pHalData->EfuseHal.fakeEfuseInitMap, 0xFF, EFUSE_MAX_MAP_LEN);
- memset(pHalData->EfuseHal.fakeEfuseModifiedMap, 0xFF, EFUSE_MAX_MAP_LEN);
+ memset(pHalData->EfuseHal.fakeEfuseModifiedMap, 0xFF,
+ EFUSE_MAX_MAP_LEN);
pHalData->EfuseHal.BTEfuseUsedBytes = 0;
pHalData->EfuseHal.BTEfuseUsedPercentage = 0;
- memset(pHalData->EfuseHal.BTEfuseContent, 0xFF, EFUSE_MAX_BT_BANK*EFUSE_MAX_HW_SIZE);
+ memset(pHalData->EfuseHal.BTEfuseContent, 0xFF,
+ EFUSE_MAX_BT_BANK * EFUSE_MAX_HW_SIZE);
memset(pHalData->EfuseHal.BTEfuseInitMap, 0xFF, EFUSE_BT_MAX_MAP_LEN);
- memset(pHalData->EfuseHal.BTEfuseModifiedMap, 0xFF, EFUSE_BT_MAX_MAP_LEN);
+ memset(pHalData->EfuseHal.BTEfuseModifiedMap, 0xFF,
+ EFUSE_BT_MAX_MAP_LEN);
pHalData->EfuseHal.fakeBTEfuseUsedBytes = 0;
- memset(pHalData->EfuseHal.fakeBTEfuseContent, 0xFF, EFUSE_MAX_BT_BANK*EFUSE_MAX_HW_SIZE);
- memset(pHalData->EfuseHal.fakeBTEfuseInitMap, 0xFF, EFUSE_BT_MAX_MAP_LEN);
- memset(pHalData->EfuseHal.fakeBTEfuseModifiedMap, 0xFF, EFUSE_BT_MAX_MAP_LEN);
+ memset(pHalData->EfuseHal.fakeBTEfuseContent, 0xFF,
+ EFUSE_MAX_BT_BANK * EFUSE_MAX_HW_SIZE);
+ memset(pHalData->EfuseHal.fakeBTEfuseInitMap, 0xFF,
+ EFUSE_BT_MAX_MAP_LEN);
+ memset(pHalData->EfuseHal.fakeBTEfuseModifiedMap, 0xFF,
+ EFUSE_BT_MAX_MAP_LEN);
#endif
}
@@ -1167,19 +1196,21 @@ void Hal_InitPGData(struct adapter *padapter, u8 *PROMContent)
if (!pEEPROM->EepromOrEfuse) {
/* Read EFUSE real map to shadow. */
rtw_efuse_shadow_map_update(padapter, EFUSE_WIFI);
- memcpy(PROMContent, pEEPROM->efuse_eeprom_data, HWSET_MAX_SIZE_8723B);
+ memcpy(PROMContent, pEEPROM->efuse_eeprom_data,
+ HWSET_MAX_SIZE_8723B);
}
- } else {/* autoload fail */
+ } else { /* autoload fail */
if (!pEEPROM->EepromOrEfuse)
rtw_efuse_shadow_map_update(padapter, EFUSE_WIFI);
- memcpy(PROMContent, pEEPROM->efuse_eeprom_data, HWSET_MAX_SIZE_8723B);
+ memcpy(PROMContent, pEEPROM->efuse_eeprom_data,
+ HWSET_MAX_SIZE_8723B);
}
}
void Hal_EfuseParseIDCode(struct adapter *padapter, u8 *hwinfo)
{
struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
-/* struct hal_com_data *pHalData = GET_HAL_DATA(padapter); */
+ /* struct hal_com_data *pHalData = GET_HAL_DATA(padapter); */
u16 EEPROMId;
/* Check 0x8129 again for making sure autoload status!! */
@@ -1190,38 +1221,43 @@ void Hal_EfuseParseIDCode(struct adapter *padapter, u8 *hwinfo)
pEEPROM->bautoload_fail_flag = false;
}
-static void Hal_ReadPowerValueFromPROM_8723B(
- struct adapter *Adapter,
- struct TxPowerInfo24G *pwrInfo24G,
- u8 *PROMContent,
- bool AutoLoadFail
-)
+static void Hal_ReadPowerValueFromPROM_8723B(struct adapter *Adapter,
+ struct TxPowerInfo24G *pwrInfo24G,
+ u8 *PROMContent, bool AutoLoadFail)
{
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
u32 rfPath, eeAddr = EEPROM_TX_PWR_INX_8723B, group, TxCount = 0;
memset(pwrInfo24G, 0, sizeof(struct TxPowerInfo24G));
- if (PROMContent[eeAddr+1] == 0xFF)
+ if (PROMContent[eeAddr + 1] == 0xFF)
AutoLoadFail = true;
if (AutoLoadFail) {
for (rfPath = 0; rfPath < MAX_RF_PATH; rfPath++) {
/* 2.4G default value */
for (group = 0; group < MAX_CHNL_GROUP_24G; group++) {
- pwrInfo24G->IndexCCK_Base[rfPath][group] = EEPROM_DEFAULT_24G_INDEX;
- pwrInfo24G->IndexBW40_Base[rfPath][group] = EEPROM_DEFAULT_24G_INDEX;
+ pwrInfo24G->IndexCCK_Base[rfPath][group] =
+ EEPROM_DEFAULT_24G_INDEX;
+ pwrInfo24G->IndexBW40_Base[rfPath][group] =
+ EEPROM_DEFAULT_24G_INDEX;
}
for (TxCount = 0; TxCount < MAX_TX_COUNT; TxCount++) {
if (TxCount == 0) {
- pwrInfo24G->BW20_Diff[rfPath][0] = EEPROM_DEFAULT_24G_HT20_DIFF;
- pwrInfo24G->OFDM_Diff[rfPath][0] = EEPROM_DEFAULT_24G_OFDM_DIFF;
+ pwrInfo24G->BW20_Diff[rfPath][0] =
+ EEPROM_DEFAULT_24G_HT20_DIFF;
+ pwrInfo24G->OFDM_Diff[rfPath][0] =
+ EEPROM_DEFAULT_24G_OFDM_DIFF;
} else {
- pwrInfo24G->BW20_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
- pwrInfo24G->BW40_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
- pwrInfo24G->CCK_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
- pwrInfo24G->OFDM_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
+ pwrInfo24G->BW20_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_DIFF;
+ pwrInfo24G->BW40_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_DIFF;
+ pwrInfo24G->CCK_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_DIFF;
+ pwrInfo24G->OFDM_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_DIFF;
}
}
}
@@ -1229,74 +1265,117 @@ static void Hal_ReadPowerValueFromPROM_8723B(
return;
}
- pHalData->bTXPowerDataReadFromEEPORM = true; /* YJ, move, 120316 */
+ pHalData->bTXPowerDataReadFromEEPORM = true; /* YJ, move, 120316 */
for (rfPath = 0; rfPath < MAX_RF_PATH; rfPath++) {
/* 2 2.4G default value */
for (group = 0; group < MAX_CHNL_GROUP_24G; group++) {
- pwrInfo24G->IndexCCK_Base[rfPath][group] = PROMContent[eeAddr++];
+ pwrInfo24G->IndexCCK_Base[rfPath][group] =
+ PROMContent[eeAddr++];
if (pwrInfo24G->IndexCCK_Base[rfPath][group] == 0xFF)
- pwrInfo24G->IndexCCK_Base[rfPath][group] = EEPROM_DEFAULT_24G_INDEX;
+ pwrInfo24G->IndexCCK_Base[rfPath][group] =
+ EEPROM_DEFAULT_24G_INDEX;
}
- for (group = 0; group < MAX_CHNL_GROUP_24G-1; group++) {
- pwrInfo24G->IndexBW40_Base[rfPath][group] = PROMContent[eeAddr++];
+ for (group = 0; group < MAX_CHNL_GROUP_24G - 1; group++) {
+ pwrInfo24G->IndexBW40_Base[rfPath][group] =
+ PROMContent[eeAddr++];
if (pwrInfo24G->IndexBW40_Base[rfPath][group] == 0xFF)
- pwrInfo24G->IndexBW40_Base[rfPath][group] = EEPROM_DEFAULT_24G_INDEX;
+ pwrInfo24G->IndexBW40_Base[rfPath][group] =
+ EEPROM_DEFAULT_24G_INDEX;
}
for (TxCount = 0; TxCount < MAX_TX_COUNT; TxCount++) {
if (TxCount == 0) {
pwrInfo24G->BW40_Diff[rfPath][TxCount] = 0;
if (PROMContent[eeAddr] == 0xFF)
- pwrInfo24G->BW20_Diff[rfPath][TxCount] = EEPROM_DEFAULT_24G_HT20_DIFF;
+ pwrInfo24G->BW20_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_24G_HT20_DIFF;
else {
- pwrInfo24G->BW20_Diff[rfPath][TxCount] = (PROMContent[eeAddr]&0xf0)>>4;
- if (pwrInfo24G->BW20_Diff[rfPath][TxCount] & BIT(3)) /* 4bit sign number to 8 bit sign number */
- pwrInfo24G->BW20_Diff[rfPath][TxCount] |= 0xF0;
+ pwrInfo24G->BW20_Diff[rfPath][TxCount] =
+ (PROMContent[eeAddr] & 0xf0) >>
+ 4;
+ if (pwrInfo24G->BW20_Diff[rfPath]
+ [TxCount] &
+ BIT(3)) /* 4bit sign number to 8 bit sign number */
+ pwrInfo24G->BW20_Diff[rfPath]
+ [TxCount] |=
+ 0xF0;
}
if (PROMContent[eeAddr] == 0xFF)
- pwrInfo24G->OFDM_Diff[rfPath][TxCount] = EEPROM_DEFAULT_24G_OFDM_DIFF;
+ pwrInfo24G->OFDM_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_24G_OFDM_DIFF;
else {
- pwrInfo24G->OFDM_Diff[rfPath][TxCount] = (PROMContent[eeAddr]&0x0f);
- if (pwrInfo24G->OFDM_Diff[rfPath][TxCount] & BIT(3)) /* 4bit sign number to 8 bit sign number */
- pwrInfo24G->OFDM_Diff[rfPath][TxCount] |= 0xF0;
+ pwrInfo24G->OFDM_Diff[rfPath][TxCount] =
+ (PROMContent[eeAddr] & 0x0f);
+ if (pwrInfo24G->OFDM_Diff[rfPath]
+ [TxCount] &
+ BIT(3)) /* 4bit sign number to 8 bit sign number */
+ pwrInfo24G->OFDM_Diff[rfPath]
+ [TxCount] |=
+ 0xF0;
}
pwrInfo24G->CCK_Diff[rfPath][TxCount] = 0;
eeAddr++;
} else {
if (PROMContent[eeAddr] == 0xFF)
- pwrInfo24G->BW40_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
+ pwrInfo24G->BW40_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_DIFF;
else {
- pwrInfo24G->BW40_Diff[rfPath][TxCount] = (PROMContent[eeAddr]&0xf0)>>4;
- if (pwrInfo24G->BW40_Diff[rfPath][TxCount] & BIT(3)) /* 4bit sign number to 8 bit sign number */
- pwrInfo24G->BW40_Diff[rfPath][TxCount] |= 0xF0;
+ pwrInfo24G->BW40_Diff[rfPath][TxCount] =
+ (PROMContent[eeAddr] & 0xf0) >>
+ 4;
+ if (pwrInfo24G->BW40_Diff[rfPath]
+ [TxCount] &
+ BIT(3)) /* 4bit sign number to 8 bit sign number */
+ pwrInfo24G->BW40_Diff[rfPath]
+ [TxCount] |=
+ 0xF0;
}
if (PROMContent[eeAddr] == 0xFF)
- pwrInfo24G->BW20_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
+ pwrInfo24G->BW20_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_DIFF;
else {
- pwrInfo24G->BW20_Diff[rfPath][TxCount] = (PROMContent[eeAddr]&0x0f);
- if (pwrInfo24G->BW20_Diff[rfPath][TxCount] & BIT(3)) /* 4bit sign number to 8 bit sign number */
- pwrInfo24G->BW20_Diff[rfPath][TxCount] |= 0xF0;
+ pwrInfo24G->BW20_Diff[rfPath][TxCount] =
+ (PROMContent[eeAddr] & 0x0f);
+ if (pwrInfo24G->BW20_Diff[rfPath]
+ [TxCount] &
+ BIT(3)) /* 4bit sign number to 8 bit sign number */
+ pwrInfo24G->BW20_Diff[rfPath]
+ [TxCount] |=
+ 0xF0;
}
eeAddr++;
if (PROMContent[eeAddr] == 0xFF)
- pwrInfo24G->OFDM_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
+ pwrInfo24G->OFDM_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_DIFF;
else {
- pwrInfo24G->OFDM_Diff[rfPath][TxCount] = (PROMContent[eeAddr]&0xf0)>>4;
- if (pwrInfo24G->OFDM_Diff[rfPath][TxCount] & BIT(3)) /* 4bit sign number to 8 bit sign number */
- pwrInfo24G->OFDM_Diff[rfPath][TxCount] |= 0xF0;
+ pwrInfo24G->OFDM_Diff[rfPath][TxCount] =
+ (PROMContent[eeAddr] & 0xf0) >>
+ 4;
+ if (pwrInfo24G->OFDM_Diff[rfPath]
+ [TxCount] &
+ BIT(3)) /* 4bit sign number to 8 bit sign number */
+ pwrInfo24G->OFDM_Diff[rfPath]
+ [TxCount] |=
+ 0xF0;
}
if (PROMContent[eeAddr] == 0xFF)
- pwrInfo24G->CCK_Diff[rfPath][TxCount] = EEPROM_DEFAULT_DIFF;
+ pwrInfo24G->CCK_Diff[rfPath][TxCount] =
+ EEPROM_DEFAULT_DIFF;
else {
- pwrInfo24G->CCK_Diff[rfPath][TxCount] = (PROMContent[eeAddr]&0x0f);
- if (pwrInfo24G->CCK_Diff[rfPath][TxCount] & BIT(3)) /* 4bit sign number to 8 bit sign number */
- pwrInfo24G->CCK_Diff[rfPath][TxCount] |= 0xF0;
+ pwrInfo24G->CCK_Diff[rfPath][TxCount] =
+ (PROMContent[eeAddr] & 0x0f);
+ if (pwrInfo24G->CCK_Diff[rfPath]
+ [TxCount] &
+ BIT(3)) /* 4bit sign number to 8 bit sign number */
+ pwrInfo24G->CCK_Diff[rfPath]
+ [TxCount] |=
+ 0xF0;
}
eeAddr++;
}
@@ -1304,50 +1383,61 @@ static void Hal_ReadPowerValueFromPROM_8723B(
}
}
-void Hal_EfuseParseTxPowerInfo_8723B(
- struct adapter *padapter, u8 *PROMContent, bool AutoLoadFail
-)
+void Hal_EfuseParseTxPowerInfo_8723B(struct adapter *padapter, u8 *PROMContent,
+ bool AutoLoadFail)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
- struct TxPowerInfo24G pwrInfo24G;
- u8 rfPath, ch, TxCount = 1;
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct TxPowerInfo24G pwrInfo24G;
+ u8 rfPath, ch, TxCount = 1;
- Hal_ReadPowerValueFromPROM_8723B(padapter, &pwrInfo24G, PROMContent, AutoLoadFail);
- for (rfPath = 0 ; rfPath < MAX_RF_PATH ; rfPath++) {
- for (ch = 0 ; ch < CHANNEL_MAX_NUMBER; ch++) {
+ Hal_ReadPowerValueFromPROM_8723B(padapter, &pwrInfo24G, PROMContent,
+ AutoLoadFail);
+ for (rfPath = 0; rfPath < MAX_RF_PATH; rfPath++) {
+ for (ch = 0; ch < CHANNEL_MAX_NUMBER; ch++) {
u8 group = 0;
hal_get_chnl_group_8723b(ch + 1, &group);
- if (ch == 14-1) {
- pHalData->Index24G_CCK_Base[rfPath][ch] = pwrInfo24G.IndexCCK_Base[rfPath][5];
- pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][group];
+ if (ch == 14 - 1) {
+ pHalData->Index24G_CCK_Base[rfPath][ch] =
+ pwrInfo24G.IndexCCK_Base[rfPath][5];
+ pHalData->Index24G_BW40_Base[rfPath][ch] =
+ pwrInfo24G.IndexBW40_Base[rfPath][group];
} else {
- pHalData->Index24G_CCK_Base[rfPath][ch] = pwrInfo24G.IndexCCK_Base[rfPath][group];
- pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][group];
+ pHalData->Index24G_CCK_Base[rfPath][ch] =
+ pwrInfo24G.IndexCCK_Base[rfPath][group];
+ pHalData->Index24G_BW40_Base[rfPath][ch] =
+ pwrInfo24G.IndexBW40_Base[rfPath][group];
}
}
for (TxCount = 0; TxCount < MAX_TX_COUNT; TxCount++) {
- pHalData->CCK_24G_Diff[rfPath][TxCount] = pwrInfo24G.CCK_Diff[rfPath][TxCount];
- pHalData->OFDM_24G_Diff[rfPath][TxCount] = pwrInfo24G.OFDM_Diff[rfPath][TxCount];
- pHalData->BW20_24G_Diff[rfPath][TxCount] = pwrInfo24G.BW20_Diff[rfPath][TxCount];
- pHalData->BW40_24G_Diff[rfPath][TxCount] = pwrInfo24G.BW40_Diff[rfPath][TxCount];
+ pHalData->CCK_24G_Diff[rfPath][TxCount] =
+ pwrInfo24G.CCK_Diff[rfPath][TxCount];
+ pHalData->OFDM_24G_Diff[rfPath][TxCount] =
+ pwrInfo24G.OFDM_Diff[rfPath][TxCount];
+ pHalData->BW20_24G_Diff[rfPath][TxCount] =
+ pwrInfo24G.BW20_Diff[rfPath][TxCount];
+ pHalData->BW40_24G_Diff[rfPath][TxCount] =
+ pwrInfo24G.BW40_Diff[rfPath][TxCount];
}
}
/* 2010/10/19 MH Add Regulator recognize for CU. */
if (!AutoLoadFail) {
- pHalData->EEPROMRegulatory = (PROMContent[EEPROM_RF_BOARD_OPTION_8723B]&0x7); /* bit0~2 */
+ pHalData->EEPROMRegulatory =
+ (PROMContent[EEPROM_RF_BOARD_OPTION_8723B] &
+ 0x7); /* bit0~2 */
if (PROMContent[EEPROM_RF_BOARD_OPTION_8723B] == 0xFF)
- pHalData->EEPROMRegulatory = (EEPROM_DEFAULT_BOARD_OPTION&0x7); /* bit0~2 */
+ pHalData->EEPROMRegulatory =
+ (EEPROM_DEFAULT_BOARD_OPTION &
+ 0x7); /* bit0~2 */
} else
pHalData->EEPROMRegulatory = 0;
}
-void Hal_EfuseParseBTCoexistInfo_8723B(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+void Hal_EfuseParseBTCoexistInfo_8723B(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
u8 tempval;
@@ -1399,16 +1489,16 @@ void Hal_EfuseParseBTCoexistInfo_8723B(
}
hal_btcoex_SetBTCoexist(padapter, pHalData->EEPROMBluetoothCoexist);
- hal_btcoex_SetPgAntNum(padapter, pHalData->EEPROMBluetoothAntNum == Ant_x2 ? 2 : 1);
+ hal_btcoex_SetPgAntNum(
+ padapter, pHalData->EEPROMBluetoothAntNum == Ant_x2 ? 2 : 1);
if (pHalData->EEPROMBluetoothAntNum == Ant_x1)
hal_btcoex_SetSingleAntPath(padapter, pHalData->ant_path);
}
-void Hal_EfuseParseEEPROMVer_8723B(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+void Hal_EfuseParseEEPROMVer_8723B(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
if (!AutoLoadFail)
pHalData->EEPROMVersion = hwinfo[EEPROM_VERSION_8723B];
@@ -1416,9 +1506,8 @@ void Hal_EfuseParseEEPROMVer_8723B(
pHalData->EEPROMVersion = 1;
}
-void Hal_EfuseParsePackageType_8723B(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+void Hal_EfuseParsePackageType_8723B(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
u8 package;
@@ -1449,36 +1538,31 @@ void Hal_EfuseParsePackageType_8723B(
}
}
-void Hal_EfuseParseVoltage_8723B(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+void Hal_EfuseParseVoltage_8723B(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
/* memcpy(pEEPROM->adjuseVoltageVal, &hwinfo[EEPROM_Voltage_ADDR_8723B], 1); */
- pEEPROM->adjuseVoltageVal = (hwinfo[EEPROM_Voltage_ADDR_8723B] & 0xf0) >> 4;
+ pEEPROM->adjuseVoltageVal =
+ (hwinfo[EEPROM_Voltage_ADDR_8723B] & 0xf0) >> 4;
}
-void Hal_EfuseParseChnlPlan_8723B(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+void Hal_EfuseParseChnlPlan_8723B(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
padapter->mlmepriv.ChannelPlan = hal_com_config_channel_plan(
- padapter,
- hwinfo ? hwinfo[EEPROM_ChannelPlan_8723B] : 0xFF,
+ padapter, hwinfo ? hwinfo[EEPROM_ChannelPlan_8723B] : 0xFF,
padapter->registrypriv.channel_plan,
- RT_CHANNEL_DOMAIN_WORLD_NULL,
- AutoLoadFail
- );
+ RT_CHANNEL_DOMAIN_WORLD_NULL, AutoLoadFail);
Hal_ChannelPlanToRegulation(padapter, padapter->mlmepriv.ChannelPlan);
}
-void Hal_EfuseParseCustomerID_8723B(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+void Hal_EfuseParseCustomerID_8723B(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
if (!AutoLoadFail)
pHalData->EEPROMCustomerID = hwinfo[EEPROM_CustomID_8723B];
@@ -1486,23 +1570,22 @@ void Hal_EfuseParseCustomerID_8723B(
pHalData->EEPROMCustomerID = 0;
}
-void Hal_EfuseParseXtal_8723B(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+void Hal_EfuseParseXtal_8723B(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
if (!AutoLoadFail) {
pHalData->CrystalCap = hwinfo[EEPROM_XTAL_8723B];
if (pHalData->CrystalCap == 0xFF)
- pHalData->CrystalCap = EEPROM_Default_CrystalCap_8723B; /* what value should 8812 set? */
+ pHalData->CrystalCap =
+ EEPROM_Default_CrystalCap_8723B; /* what value should 8812 set? */
} else
pHalData->CrystalCap = EEPROM_Default_CrystalCap_8723B;
}
-void Hal_EfuseParseThermalMeter_8723B(
- struct adapter *padapter, u8 *PROMContent, u8 AutoLoadFail
-)
+void Hal_EfuseParseThermalMeter_8723B(struct adapter *padapter, u8 *PROMContent,
+ u8 AutoLoadFail)
{
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
@@ -1510,28 +1593,31 @@ void Hal_EfuseParseThermalMeter_8723B(
/* ThermalMeter from EEPROM */
/* */
if (!AutoLoadFail)
- pHalData->EEPROMThermalMeter = PROMContent[EEPROM_THERMAL_METER_8723B];
+ pHalData->EEPROMThermalMeter =
+ PROMContent[EEPROM_THERMAL_METER_8723B];
else
- pHalData->EEPROMThermalMeter = EEPROM_Default_ThermalMeter_8723B;
+ pHalData->EEPROMThermalMeter =
+ EEPROM_Default_ThermalMeter_8723B;
if ((pHalData->EEPROMThermalMeter == 0xff) || AutoLoadFail) {
pHalData->bAPKThermalMeterIgnore = true;
- pHalData->EEPROMThermalMeter = EEPROM_Default_ThermalMeter_8723B;
+ pHalData->EEPROMThermalMeter =
+ EEPROM_Default_ThermalMeter_8723B;
}
}
-void Hal_ReadRFGainOffset(
- struct adapter *Adapter, u8 *PROMContent, bool AutoloadFail
-)
+void Hal_ReadRFGainOffset(struct adapter *Adapter, u8 *PROMContent,
+ bool AutoloadFail)
{
/* */
/* BB_RF Gain Offset from EEPROM */
/* */
if (!AutoloadFail) {
- Adapter->eeprompriv.EEPROMRFGainOffset = PROMContent[EEPROM_RF_GAIN_OFFSET];
- Adapter->eeprompriv.EEPROMRFGainVal = rtw_efuse_read_1_byte(Adapter,
- EEPROM_RF_GAIN_VAL);
+ Adapter->eeprompriv.EEPROMRFGainOffset =
+ PROMContent[EEPROM_RF_GAIN_OFFSET];
+ Adapter->eeprompriv.EEPROMRFGainVal =
+ rtw_efuse_read_1_byte(Adapter, EEPROM_RF_GAIN_VAL);
} else {
Adapter->eeprompriv.EEPROMRFGainOffset = 0;
Adapter->eeprompriv.EEPROMRFGainVal = 0xFF;
@@ -1566,9 +1652,11 @@ u8 SCMapping_8723B(struct adapter *Adapter, struct pkt_attrib *pattrib)
if (pattrib->bwmode == CHANNEL_WIDTH_40) {
SCSettingOfDesc = HT_DATA_SC_DONOT_CARE;
} else if (pattrib->bwmode == CHANNEL_WIDTH_20) {
- if (pHalData->nCur40MhzPrimeSC == HAL_PRIME_CHNL_OFFSET_UPPER) {
+ if (pHalData->nCur40MhzPrimeSC ==
+ HAL_PRIME_CHNL_OFFSET_UPPER) {
SCSettingOfDesc = HT_DATA_SC_20_UPPER_OF_40MHZ;
- } else if (pHalData->nCur40MhzPrimeSC == HAL_PRIME_CHNL_OFFSET_LOWER) {
+ } else if (pHalData->nCur40MhzPrimeSC ==
+ HAL_PRIME_CHNL_OFFSET_LOWER) {
SCSettingOfDesc = HT_DATA_SC_20_LOWER_OF_40MHZ;
} else {
SCSettingOfDesc = HT_DATA_SC_DONOT_CARE;
@@ -1629,7 +1717,9 @@ static u8 fill_txdesc_sectype(struct pkt_attrib *pattrib)
return sectype;
}
-static void fill_txdesc_vcs_8723b(struct adapter *padapter, struct pkt_attrib *pattrib, struct txdesc_8723b *ptxdesc)
+static void fill_txdesc_vcs_8723b(struct adapter *padapter,
+ struct pkt_attrib *pattrib,
+ struct txdesc_8723b *ptxdesc)
{
if (pattrib->vcs_mode) {
switch (pattrib->vcs_mode) {
@@ -1651,7 +1741,8 @@ static void fill_txdesc_vcs_8723b(struct adapter *padapter, struct pkt_attrib *p
ptxdesc->rtsrate = 8; /* RTS Rate =24M */
ptxdesc->rts_ratefb_lmt = 0xF;
- if (padapter->mlmeextpriv.mlmext_info.preamble_mode == PREAMBLE_SHORT)
+ if (padapter->mlmeextpriv.mlmext_info.preamble_mode ==
+ PREAMBLE_SHORT)
ptxdesc->rts_short = 1;
/* Set RTS BW */
@@ -1660,7 +1751,9 @@ static void fill_txdesc_vcs_8723b(struct adapter *padapter, struct pkt_attrib *p
}
}
-static void fill_txdesc_phy_8723b(struct adapter *padapter, struct pkt_attrib *pattrib, struct txdesc_8723b *ptxdesc)
+static void fill_txdesc_phy_8723b(struct adapter *padapter,
+ struct pkt_attrib *pattrib,
+ struct txdesc_8723b *ptxdesc)
{
if (pattrib->ht_en) {
ptxdesc->data_bw = BWMapping_8723B(padapter, pattrib);
@@ -1669,9 +1762,8 @@ static void fill_txdesc_phy_8723b(struct adapter *padapter, struct pkt_attrib *p
}
}
-static void rtl8723b_fill_default_txdesc(
- struct xmit_frame *pxmitframe, u8 *pbuf
-)
+static void rtl8723b_fill_default_txdesc(struct xmit_frame *pxmitframe,
+ u8 *pbuf)
{
struct adapter *padapter;
struct hal_com_data *pHalData;
@@ -1704,16 +1796,14 @@ static void rtl8723b_fill_default_txdesc(
ptxdesc->sectype = fill_txdesc_sectype(pattrib);
fill_txdesc_vcs_8723b(padapter, pattrib, ptxdesc);
- if (pattrib->icmp_pkt == 1 && padapter->registrypriv.wifi_spec == 1)
+ if (pattrib->icmp_pkt == 1 &&
+ padapter->registrypriv.wifi_spec == 1)
drv_userate = 1;
- if (
- (pattrib->ether_type != 0x888e) &&
- (pattrib->ether_type != 0x0806) &&
- (pattrib->ether_type != 0x88B4) &&
- (pattrib->dhcp_pkt != 1) &&
- (drv_userate != 1)
- ) {
+ if ((pattrib->ether_type != 0x888e) &&
+ (pattrib->ether_type != 0x0806) &&
+ (pattrib->ether_type != 0x88B4) &&
+ (pattrib->dhcp_pkt != 1) && (drv_userate != 1)) {
/* Non EAP & ARP & DHCP type data packet */
if (pattrib->ampdu_en) {
@@ -1730,13 +1820,19 @@ static void rtl8723b_fill_default_txdesc(
if (!pHalData->fw_ractrl) {
ptxdesc->userate = 1;
- if (pHalData->dmpriv.INIDATA_RATE[pattrib->mac_id] & BIT(7))
+ if (pHalData->dmpriv
+ .INIDATA_RATE[pattrib->mac_id] &
+ BIT(7))
ptxdesc->data_short = 1;
- ptxdesc->datarate = pHalData->dmpriv.INIDATA_RATE[pattrib->mac_id] & 0x7F;
+ ptxdesc->datarate =
+ pHalData->dmpriv
+ .INIDATA_RATE[pattrib->mac_id] &
+ 0x7F;
}
- if (padapter->fix_rate != 0xFF) { /* modify data rate by iwpriv */
+ if (padapter->fix_rate !=
+ 0xFF) { /* modify data rate by iwpriv */
ptxdesc->userate = 1;
if (padapter->fix_rate & BIT(7))
ptxdesc->data_short = 1;
@@ -1757,7 +1853,7 @@ static void rtl8723b_fill_default_txdesc(
ptxdesc->bk = 1; /* AGG BK */
ptxdesc->userate = 1; /* driver uses rate */
if (pmlmeinfo->preamble_mode == PREAMBLE_SHORT)
- ptxdesc->data_short = 1;/* DATA_SHORT */
+ ptxdesc->data_short = 1; /* DATA_SHORT */
ptxdesc->datarate = MRateToHwRate(pmlmeext->tx_rate);
}
@@ -1783,7 +1879,8 @@ static void rtl8723b_fill_default_txdesc(
/* CCX-TXRPT ack for xmit mgmt frames. */
if (pxmitframe->ack_report) {
ptxdesc->spe_rpt = 1;
- ptxdesc->sw_define = (u8)(GET_PRIMARY_ADAPTER(padapter)->xmitpriv.seq_no);
+ ptxdesc->sw_define = (u8)(GET_PRIMARY_ADAPTER(padapter)
+ ->xmitpriv.seq_no);
}
} else {
ptxdesc->macid = pattrib->mac_id; /* CAM_ID(MAC_ID) */
@@ -1839,14 +1936,9 @@ void rtl8723b_update_txdesc(struct xmit_frame *pxmitframe, u8 *pbuf)
/* Added by tynli. 2009.10.15. */
/* */
/* type1:pspoll, type2:null */
-void rtl8723b_fill_fake_txdesc(
- struct adapter *padapter,
- u8 *pDesc,
- u32 BufferLen,
- u8 IsPsPoll,
- u8 IsBTQosNull,
- u8 bDataFrame
-)
+void rtl8723b_fill_fake_txdesc(struct adapter *padapter, u8 *pDesc,
+ u32 BufferLen, u8 IsPsPoll, u8 IsBTQosNull,
+ u8 bDataFrame)
{
/* Clear all status */
memset(pDesc, 0, TXDESC_SIZE);
@@ -1856,14 +1948,17 @@ void rtl8723b_fill_fake_txdesc(
SET_TX_DESC_OFFSET_8723B(pDesc, 0x28); /* Offset = 32 */
- SET_TX_DESC_PKT_SIZE_8723B(pDesc, BufferLen); /* Buffer size + command header */
- SET_TX_DESC_QUEUE_SEL_8723B(pDesc, QSLT_MGNT); /* Fixed queue of Mgnt queue */
+ SET_TX_DESC_PKT_SIZE_8723B(
+ pDesc, BufferLen); /* Buffer size + command header */
+ SET_TX_DESC_QUEUE_SEL_8723B(pDesc,
+ QSLT_MGNT); /* Fixed queue of Mgnt queue */
/* Set NAVUSEHDR to prevent Ps-poll AId filed to be changed to error value by Hw. */
if (IsPsPoll) {
SET_TX_DESC_NAV_USE_HDR_8723B(pDesc, 1);
} else {
- SET_TX_DESC_HWSEQ_EN_8723B(pDesc, 1); /* Hw set sequence number */
+ SET_TX_DESC_HWSEQ_EN_8723B(pDesc,
+ 1); /* Hw set sequence number */
SET_TX_DESC_HWSEQ_SEL_8723B(pDesc, 0);
}
@@ -1871,7 +1966,8 @@ void rtl8723b_fill_fake_txdesc(
SET_TX_DESC_BT_INT_8723B(pDesc, 1);
}
- SET_TX_DESC_USE_RATE_8723B(pDesc, 1); /* use data rate which is set by Sw */
+ SET_TX_DESC_USE_RATE_8723B(pDesc,
+ 1); /* use data rate which is set by Sw */
SET_TX_DESC_OWN_8723B((u8 *)pDesc, 1);
SET_TX_DESC_TX_RATE_8723B(pDesc, DESC8723B_RATE1M);
@@ -1922,25 +2018,31 @@ static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val)
/* set net_type */
set_msr(padapter, mode);
- if ((mode == _HW_STATE_STATION_) || (mode == _HW_STATE_NOLINK_)) {
+ if ((mode == _HW_STATE_STATION_) ||
+ (mode == _HW_STATE_NOLINK_)) {
{
StopTxBeacon(padapter);
}
/* disable atim wnd */
- rtw_write8(padapter, REG_BCN_CTRL, DIS_TSF_UDT|EN_BCN_FUNCTION|DIS_ATIM);
+ rtw_write8(padapter, REG_BCN_CTRL,
+ DIS_TSF_UDT | EN_BCN_FUNCTION | DIS_ATIM);
/* rtw_write8(padapter, REG_BCN_CTRL, 0x18); */
} else if (mode == _HW_STATE_ADHOC_) {
ResumeTxBeacon(padapter);
- rtw_write8(padapter, REG_BCN_CTRL, DIS_TSF_UDT|EN_BCN_FUNCTION|DIS_BCNQ_SUB);
+ rtw_write8(padapter, REG_BCN_CTRL,
+ DIS_TSF_UDT | EN_BCN_FUNCTION |
+ DIS_BCNQ_SUB);
} else if (mode == _HW_STATE_AP_) {
-
ResumeTxBeacon(padapter);
- rtw_write8(padapter, REG_BCN_CTRL, DIS_TSF_UDT|DIS_BCNQ_SUB);
+ rtw_write8(padapter, REG_BCN_CTRL,
+ DIS_TSF_UDT | DIS_BCNQ_SUB);
/* Set RCR */
- rtw_write32(padapter, REG_RCR, 0x7000208e);/* CBSSID_DATA must set to 0, reject ICV_ERR packet */
+ rtw_write32(
+ padapter, REG_RCR,
+ 0x7000208e); /* CBSSID_DATA must set to 0, reject ICV_ERR packet */
/* enable to rx data frame */
rtw_write16(padapter, REG_RXFLTMAP2, 0xFFFF);
/* enable to rx ps-poll */
@@ -1953,25 +2055,26 @@ static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val)
rtw_write8(padapter, REG_ATIMWND, 0x0a); /* 10ms */
rtw_write16(padapter, REG_BCNTCFG, 0x00);
rtw_write16(padapter, REG_TBTT_PROHIBIT, 0xff04);
- rtw_write16(padapter, REG_TSFTR_SYN_OFFSET, 0x7fff);/* +32767 (~32ms) */
+ rtw_write16(padapter, REG_TSFTR_SYN_OFFSET,
+ 0x7fff); /* +32767 (~32ms) */
/* reset TSF */
rtw_write8(padapter, REG_DUAL_TSF_RST, BIT(0));
/* enable BCN0 Function for if1 */
/* don't enable update TSF0 for if1 (due to TSF update when beacon/probe rsp are received) */
- rtw_write8(padapter, REG_BCN_CTRL, (DIS_TSF_UDT|EN_BCN_FUNCTION|EN_TXBCN_RPT|DIS_BCNQ_SUB));
+ rtw_write8(padapter, REG_BCN_CTRL,
+ (DIS_TSF_UDT | EN_BCN_FUNCTION |
+ EN_TXBCN_RPT | DIS_BCNQ_SUB));
/* SW_BCN_SEL - Port0 */
/* rtw_write8(Adapter, REG_DWBCN1_CTRL_8192E+2, rtw_read8(Adapter, REG_DWBCN1_CTRL_8192E+2) & ~BIT4); */
rtw_hal_set_hwreg(padapter, HW_VAR_DL_BCN_SEL, NULL);
/* select BCN on port 0 */
- rtw_write8(
- padapter,
- REG_CCK_CHECK_8723B,
- (rtw_read8(padapter, REG_CCK_CHECK_8723B)&~BIT_BCN_PORT_SEL)
- );
+ rtw_write8(padapter, REG_CCK_CHECK_8723B,
+ (rtw_read8(padapter, REG_CCK_CHECK_8723B) &
+ ~BIT_BCN_PORT_SEL));
/* dis BCN1 ATIM WND if if2 is station */
val8 = rtw_read8(padapter, REG_BCN_CTRL_1);
@@ -1986,8 +2089,9 @@ static void hw_var_set_macaddr(struct adapter *padapter, u8 variable, u8 *val)
u8 idx = 0;
u32 reg_macid = REG_MACID;
- for (idx = 0 ; idx < 6; idx++)
- rtw_write8(GET_PRIMARY_ADAPTER(padapter), (reg_macid+idx), val[idx]);
+ for (idx = 0; idx < 6; idx++)
+ rtw_write8(GET_PRIMARY_ADAPTER(padapter), (reg_macid + idx),
+ val[idx]);
}
static void hw_var_set_bssid(struct adapter *padapter, u8 variable, u8 *val)
@@ -1995,8 +2099,8 @@ static void hw_var_set_bssid(struct adapter *padapter, u8 variable, u8 *val)
u8 idx = 0;
u32 reg_bssid = REG_BSSID;
- for (idx = 0 ; idx < 6; idx++)
- rtw_write8(padapter, (reg_bssid+idx), val[idx]);
+ for (idx = 0; idx < 6; idx++)
+ rtw_write8(padapter, (reg_bssid + idx), val[idx]);
}
static void hw_var_set_bcn_func(struct adapter *padapter, u8 variable, u8 *val)
@@ -2004,7 +2108,8 @@ static void hw_var_set_bcn_func(struct adapter *padapter, u8 variable, u8 *val)
u32 bcn_ctrl_reg = REG_BCN_CTRL;
if (*(u8 *)val)
- rtw_write8(padapter, bcn_ctrl_reg, (EN_BCN_FUNCTION | EN_TXBCN_RPT));
+ rtw_write8(padapter, bcn_ctrl_reg,
+ (EN_BCN_FUNCTION | EN_TXBCN_RPT));
else {
u8 val8;
@@ -2019,19 +2124,20 @@ static void hw_var_set_bcn_func(struct adapter *padapter, u8 variable, u8 *val)
}
}
-static void hw_var_set_correct_tsf(struct adapter *padapter, u8 variable, u8 *val)
+static void hw_var_set_correct_tsf(struct adapter *padapter, u8 variable,
+ u8 *val)
{
u8 val8;
u64 tsf;
struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
- tsf = pmlmeext->TSFValue-do_div(pmlmeext->TSFValue, (pmlmeinfo->bcn_interval*1024))-1024; /* us */
+ tsf = pmlmeext->TSFValue -
+ do_div(pmlmeext->TSFValue, (pmlmeinfo->bcn_interval * 1024)) -
+ 1024; /* us */
- if (
- ((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) ||
- ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE)
- )
+ if (((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) ||
+ ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE))
StopTxBeacon(padapter);
{
@@ -2041,7 +2147,7 @@ static void hw_var_set_correct_tsf(struct adapter *padapter, u8 variable, u8 *va
rtw_write8(padapter, REG_BCN_CTRL, val8);
rtw_write32(padapter, REG_TSFTR, tsf);
- rtw_write32(padapter, REG_TSFTR+4, tsf>>32);
+ rtw_write32(padapter, REG_TSFTR + 4, tsf >> 32);
/* enable related TSF function */
val8 = rtw_read8(padapter, REG_BCN_CTRL);
@@ -2049,14 +2155,13 @@ static void hw_var_set_correct_tsf(struct adapter *padapter, u8 variable, u8 *va
rtw_write8(padapter, REG_BCN_CTRL, val8);
}
- if (
- ((pmlmeinfo->state&0x03) == WIFI_FW_ADHOC_STATE) ||
- ((pmlmeinfo->state&0x03) == WIFI_FW_AP_STATE)
- )
+ if (((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) ||
+ ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE))
ResumeTxBeacon(padapter);
}
-static void hw_var_set_mlme_disconnect(struct adapter *padapter, u8 variable, u8 *val)
+static void hw_var_set_mlme_disconnect(struct adapter *padapter, u8 variable,
+ u8 *val)
{
u8 val8;
@@ -2074,7 +2179,8 @@ static void hw_var_set_mlme_disconnect(struct adapter *padapter, u8 variable, u8
rtw_write8(padapter, REG_BCN_CTRL, val8);
}
-static void hw_var_set_mlme_sitesurvey(struct adapter *padapter, u8 variable, u8 *val)
+static void hw_var_set_mlme_sitesurvey(struct adapter *padapter, u8 variable,
+ u8 *val)
{
u32 value_rcr, rcr_clear_bit, reg_bcn_ctl;
u16 value_rxfltmap2;
@@ -2104,7 +2210,9 @@ static void hw_var_set_mlme_sitesurvey(struct adapter *padapter, u8 variable, u8
rtw_write16(padapter, REG_RXFLTMAP2, value_rxfltmap2);
- if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) {
+ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE |
+ WIFI_ADHOC_STATE |
+ WIFI_ADHOC_MASTER_STATE)) {
/* disable update TSF */
val8 = rtw_read8(padapter, reg_bcn_ctl);
val8 |= DIS_TSF_UDT;
@@ -2115,11 +2223,13 @@ static void hw_var_set_mlme_sitesurvey(struct adapter *padapter, u8 variable, u8
pHalData->RegRRSR = rtw_read16(padapter, REG_RRSR);
} else {
/* sitesurvey done */
- if (check_fwstate(pmlmepriv, (_FW_LINKED|WIFI_AP_STATE)))
+ if (check_fwstate(pmlmepriv, (_FW_LINKED | WIFI_AP_STATE)))
/* enable to rx data frame */
rtw_write16(padapter, REG_RXFLTMAP2, 0xFFFF);
- if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) {
+ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE |
+ WIFI_ADHOC_STATE |
+ WIFI_ADHOC_MASTER_STATE)) {
/* enable update TSF */
val8 = rtw_read8(padapter, reg_bcn_ctl);
val8 &= ~DIS_TSF_UDT;
@@ -2153,13 +2263,15 @@ static void hw_var_set_mlme_join(struct adapter *padapter, u8 variable, u8 *val)
val32 = rtw_read32(padapter, REG_RCR);
if (padapter->in_cta_test)
- val32 &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN);/* RCR_ADF */
+ val32 &= ~(RCR_CBSSID_DATA |
+ RCR_CBSSID_BCN); /* RCR_ADF */
else
- val32 |= RCR_CBSSID_DATA|RCR_CBSSID_BCN;
+ val32 |= RCR_CBSSID_DATA | RCR_CBSSID_BCN;
rtw_write32(padapter, REG_RCR, val32);
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE))
- RetryLimit = (pEEPROM->CustomerID == RT_CID_CCX) ? 7 : 48;
+ RetryLimit = (pEEPROM->CustomerID == RT_CID_CCX) ? 7 :
+ 48;
else /* Ad-hoc Mode */
RetryLimit = 0x7;
} else if (type == 1) /* joinbss_event call back when join res < 0 */
@@ -2170,24 +2282,29 @@ static void hw_var_set_mlme_join(struct adapter *padapter, u8 variable, u8 *val)
val8 &= ~DIS_TSF_UDT;
rtw_write8(padapter, REG_BCN_CTRL, val8);
- if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE))
+ if (check_fwstate(pmlmepriv,
+ WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE))
RetryLimit = 0x7;
}
- val16 = (RetryLimit << RETRY_LIMIT_SHORT_SHIFT) | (RetryLimit << RETRY_LIMIT_LONG_SHIFT);
+ val16 = (RetryLimit << RETRY_LIMIT_SHORT_SHIFT) |
+ (RetryLimit << RETRY_LIMIT_LONG_SHIFT);
rtw_write16(padapter, REG_RL, val16);
}
void CCX_FwC2HTxRpt_8723b(struct adapter *padapter, u8 *pdata, u8 len)
{
+#define GET_8723B_C2H_TX_RPT_LIFE_TIME_OVER(_Header) \
+ LE_BITS_TO_1BYTE((_Header + 0), 6, 1)
+#define GET_8723B_C2H_TX_RPT_RETRY_OVER(_Header) \
+ LE_BITS_TO_1BYTE((_Header + 0), 7, 1)
-#define GET_8723B_C2H_TX_RPT_LIFE_TIME_OVER(_Header) LE_BITS_TO_1BYTE((_Header + 0), 6, 1)
-#define GET_8723B_C2H_TX_RPT_RETRY_OVER(_Header) LE_BITS_TO_1BYTE((_Header + 0), 7, 1)
-
- if (GET_8723B_C2H_TX_RPT_RETRY_OVER(pdata) | GET_8723B_C2H_TX_RPT_LIFE_TIME_OVER(pdata)) {
- rtw_ack_tx_done(&padapter->xmitpriv, RTW_SCTX_DONE_CCX_PKT_FAIL);
+ if (GET_8723B_C2H_TX_RPT_RETRY_OVER(pdata) |
+ GET_8723B_C2H_TX_RPT_LIFE_TIME_OVER(pdata)) {
+ rtw_ack_tx_done(&padapter->xmitpriv,
+ RTW_SCTX_DONE_CCX_PKT_FAIL);
}
-/*
+ /*
else if (seq_no != padapter->xmitpriv.seq_no) {
rtw_ack_tx_done(&padapter->xmitpriv, RTW_SCTX_DONE_CCX_PKT_FAIL);
}
@@ -2220,24 +2337,23 @@ s32 c2h_handler_8723b(struct adapter *padapter, u8 *buf)
switch (pC2hEvent->id) {
case C2H_AP_RPT_RSP:
break;
- case C2H_DBG:
- {
- }
- break;
+ case C2H_DBG: {
+ } break;
case C2H_CCX_TX_RPT:
-/* CCX_FwC2HTxRpt(padapter, QueueID, pC2hEvent->payload); */
+ /* CCX_FwC2HTxRpt(padapter, QueueID, pC2hEvent->payload); */
break;
case C2H_EXT_RA_RPT:
-/* C2HExtRaRptHandler(padapter, pC2hEvent->payload, C2hEvent.CmdLen); */
+ /* C2HExtRaRptHandler(padapter, pC2hEvent->payload, C2hEvent.CmdLen); */
break;
case C2H_HW_INFO_EXCH:
break;
case C2H_8723B_BT_INFO:
- hal_btcoex_BtInfoNotify(padapter, pC2hEvent->plen, pC2hEvent->payload);
+ hal_btcoex_BtInfoNotify(padapter, pC2hEvent->plen,
+ pC2hEvent->payload);
break;
default:
@@ -2252,7 +2368,8 @@ s32 c2h_handler_8723b(struct adapter *padapter, u8 *buf)
return ret;
}
-static void process_c2h_event(struct adapter *padapter, struct c2h_evt_hdr_t *pC2hEvent, u8 *c2hBuf)
+static void process_c2h_event(struct adapter *padapter,
+ struct c2h_evt_hdr_t *pC2hEvent, u8 *c2hBuf)
{
if (!c2hBuf)
return;
@@ -2260,17 +2377,15 @@ static void process_c2h_event(struct adapter *padapter, struct c2h_evt_hdr_t *pC
switch (pC2hEvent->CmdID) {
case C2H_AP_RPT_RSP:
break;
- case C2H_DBG:
- {
- }
- break;
+ case C2H_DBG: {
+ } break;
case C2H_CCX_TX_RPT:
-/* CCX_FwC2HTxRpt(padapter, QueueID, tmpBuf); */
+ /* CCX_FwC2HTxRpt(padapter, QueueID, tmpBuf); */
break;
case C2H_EXT_RA_RPT:
-/* C2HExtRaRptHandler(padapter, tmpBuf, C2hEvent.CmdLen); */
+ /* C2HExtRaRptHandler(padapter, tmpBuf, C2hEvent.CmdLen); */
break;
case C2H_HW_INFO_EXCH:
@@ -2287,13 +2402,13 @@ static void process_c2h_event(struct adapter *padapter, struct c2h_evt_hdr_t *pC
void C2HPacketHandler_8723B(struct adapter *padapter, u8 *pbuffer, u16 length)
{
- struct c2h_evt_hdr_t C2hEvent;
+ struct c2h_evt_hdr_t C2hEvent;
u8 *tmpBuf = NULL;
C2hEvent.CmdID = pbuffer[0];
C2hEvent.CmdSeq = pbuffer[1];
- C2hEvent.CmdLen = length-2;
- tmpBuf = pbuffer+2;
+ C2hEvent.CmdLen = length - 2;
+ tmpBuf = pbuffer + 2;
process_c2h_event(padapter, &C2hEvent, tmpBuf);
/* c2h_handler_8723b(padapter,&C2hEvent); */
@@ -2330,12 +2445,13 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
hw_var_set_bssid(padapter, variable, val);
break;
- case HW_VAR_BASIC_RATE:
- {
- struct mlme_ext_info *mlmext_info = &padapter->mlmeextpriv.mlmext_info;
+ case HW_VAR_BASIC_RATE: {
+ struct mlme_ext_info *mlmext_info =
+ &padapter->mlmeextpriv.mlmext_info;
u16 BrateCfg = 0;
- u16 rrsr_2g_force_mask = (RRSR_11M|RRSR_5_5M|RRSR_1M);
- u16 rrsr_2g_allow_mask = (RRSR_24M|RRSR_12M|RRSR_6M|RRSR_CCK_RATES);
+ u16 rrsr_2g_force_mask = (RRSR_11M | RRSR_5_5M | RRSR_1M);
+ u16 rrsr_2g_allow_mask =
+ (RRSR_24M | RRSR_12M | RRSR_6M | RRSR_CCK_RATES);
HalSetBrateCfg(padapter, val, &BrateCfg);
@@ -2346,7 +2462,7 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
/* IOT consideration */
if (mlmext_info->assoc_AP_vendor == HT_IOT_PEER_CISCO) {
/* if peer is cisco and didn't use ofdm rate, we enable 6M ack */
- if ((BrateCfg & (RRSR_24M|RRSR_12M|RRSR_6M)) == 0)
+ if ((BrateCfg & (RRSR_24M | RRSR_12M | RRSR_6M)) == 0)
BrateCfg |= RRSR_6M;
}
@@ -2354,9 +2470,9 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
/* Set RRSR rate table. */
rtw_write16(padapter, REG_RRSR, BrateCfg);
- rtw_write8(padapter, REG_RRSR+2, rtw_read8(padapter, REG_RRSR+2)&0xf0);
- }
- break;
+ rtw_write8(padapter, REG_RRSR + 2,
+ rtw_read8(padapter, REG_RRSR + 2) & 0xf0);
+ } break;
case HW_VAR_TXPAUSE:
rtw_write8(padapter, REG_TXPAUSE, *val);
@@ -2370,27 +2486,25 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
hw_var_set_correct_tsf(padapter, variable, val);
break;
- case HW_VAR_CHECK_BSSID:
- {
- u32 val32;
+ case HW_VAR_CHECK_BSSID: {
+ u32 val32;
- val32 = rtw_read32(padapter, REG_RCR);
- if (*val)
- val32 |= RCR_CBSSID_DATA|RCR_CBSSID_BCN;
- else
- val32 &= ~(RCR_CBSSID_DATA|RCR_CBSSID_BCN);
- rtw_write32(padapter, REG_RCR, val32);
- }
- break;
+ val32 = rtw_read32(padapter, REG_RCR);
+ if (*val)
+ val32 |= RCR_CBSSID_DATA | RCR_CBSSID_BCN;
+ else
+ val32 &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN);
+ rtw_write32(padapter, REG_RCR, val32);
+ } break;
case HW_VAR_MLME_DISCONNECT:
hw_var_set_mlme_disconnect(padapter, variable, val);
break;
case HW_VAR_MLME_SITESURVEY:
- hw_var_set_mlme_sitesurvey(padapter, variable, val);
+ hw_var_set_mlme_sitesurvey(padapter, variable, val);
- hal_btcoex_ScanNotify(padapter, *val?true:false);
+ hal_btcoex_ScanNotify(padapter, *val ? true : false);
break;
case HW_VAR_MLME_JOIN:
@@ -2407,7 +2521,7 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
break;
case 2:
/* sta add event callback */
-/* rtw_btcoex_MediaStatusNotify(padapter, RT_MEDIA_CONNECT); */
+ /* rtw_btcoex_MediaStatusNotify(padapter, RT_MEDIA_CONNECT); */
break;
}
break;
@@ -2435,67 +2549,68 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
case HW_VAR_RESP_SIFS:
/* SIFS_Timer = 0x0a0a0808; */
/* RESP_SIFS for CCK */
- rtw_write8(padapter, REG_RESP_SIFS_CCK, val[0]); /* SIFS_T2T_CCK (0x08) */
- rtw_write8(padapter, REG_RESP_SIFS_CCK+1, val[1]); /* SIFS_R2T_CCK(0x08) */
+ rtw_write8(padapter, REG_RESP_SIFS_CCK,
+ val[0]); /* SIFS_T2T_CCK (0x08) */
+ rtw_write8(padapter, REG_RESP_SIFS_CCK + 1,
+ val[1]); /* SIFS_R2T_CCK(0x08) */
/* RESP_SIFS for OFDM */
- rtw_write8(padapter, REG_RESP_SIFS_OFDM, val[2]); /* SIFS_T2T_OFDM (0x0a) */
- rtw_write8(padapter, REG_RESP_SIFS_OFDM+1, val[3]); /* SIFS_R2T_OFDM(0x0a) */
- break;
-
- case HW_VAR_ACK_PREAMBLE:
- {
- u8 regTmp = 0;
- u8 bShortPreamble = *val;
-
- /* Joseph marked out for Netgear 3500 TKIP channel 7 issue.(Temporarily) */
- /* regTmp = (pHalData->nCur40MhzPrimeSC)<<5; */
- if (bShortPreamble)
- regTmp |= 0x80;
- rtw_write8(padapter, REG_RRSR+2, regTmp);
- }
- break;
-
- case HW_VAR_CAM_EMPTY_ENTRY:
- {
- u8 ucIndex = *val;
- u8 i;
- u32 ulCommand = 0;
- u32 ulContent = 0;
- u32 ulEncAlgo = CAM_AES;
-
- for (i = 0; i < CAM_CONTENT_COUNT; i++) {
- /* filled id in CAM config 2 byte */
- if (i == 0) {
- ulContent |= (ucIndex & 0x03) | ((u16)(ulEncAlgo)<<2);
- /* ulContent |= CAM_VALID; */
- } else
- ulContent = 0;
-
- /* polling bit, and No Write enable, and address */
- ulCommand = CAM_CONTENT_COUNT*ucIndex+i;
- ulCommand = ulCommand | CAM_POLLINIG | CAM_WRITE;
- /* write content 0 is equal to mark as invalid */
- rtw_write32(padapter, WCAMI, ulContent); /* mdelay(40); */
- rtw_write32(padapter, RWCAM, ulCommand); /* mdelay(40); */
- }
+ rtw_write8(padapter, REG_RESP_SIFS_OFDM,
+ val[2]); /* SIFS_T2T_OFDM (0x0a) */
+ rtw_write8(padapter, REG_RESP_SIFS_OFDM + 1,
+ val[3]); /* SIFS_R2T_OFDM(0x0a) */
+ break;
+
+ case HW_VAR_ACK_PREAMBLE: {
+ u8 regTmp = 0;
+ u8 bShortPreamble = *val;
+
+ /* Joseph marked out for Netgear 3500 TKIP channel 7 issue.(Temporarily) */
+ /* regTmp = (pHalData->nCur40MhzPrimeSC)<<5; */
+ if (bShortPreamble)
+ regTmp |= 0x80;
+ rtw_write8(padapter, REG_RRSR + 2, regTmp);
+ } break;
+
+ case HW_VAR_CAM_EMPTY_ENTRY: {
+ u8 ucIndex = *val;
+ u8 i;
+ u32 ulCommand = 0;
+ u32 ulContent = 0;
+ u32 ulEncAlgo = CAM_AES;
+
+ for (i = 0; i < CAM_CONTENT_COUNT; i++) {
+ /* filled id in CAM config 2 byte */
+ if (i == 0) {
+ ulContent |= (ucIndex & 0x03) |
+ ((u16)(ulEncAlgo) << 2);
+ /* ulContent |= CAM_VALID; */
+ } else
+ ulContent = 0;
+
+ /* polling bit, and No Write enable, and address */
+ ulCommand = CAM_CONTENT_COUNT * ucIndex + i;
+ ulCommand = ulCommand | CAM_POLLINIG | CAM_WRITE;
+ /* write content 0 is equal to mark as invalid */
+ rtw_write32(padapter, WCAMI,
+ ulContent); /* mdelay(40); */
+ rtw_write32(padapter, RWCAM,
+ ulCommand); /* mdelay(40); */
}
- break;
+ } break;
case HW_VAR_CAM_INVALID_ALL:
- rtw_write32(padapter, RWCAM, BIT(31)|BIT(30));
+ rtw_write32(padapter, RWCAM, BIT(31) | BIT(30));
break;
- case HW_VAR_CAM_WRITE:
- {
- u32 cmd;
- u32 *cam_val = (u32 *)val;
+ case HW_VAR_CAM_WRITE: {
+ u32 cmd;
+ u32 *cam_val = (u32 *)val;
- rtw_write32(padapter, WCAMI, cam_val[0]);
+ rtw_write32(padapter, WCAMI, cam_val[0]);
- cmd = CAM_POLLINIG | CAM_WRITE | cam_val[1];
- rtw_write32(padapter, RWCAM, cmd);
- }
- break;
+ cmd = CAM_POLLINIG | CAM_WRITE | cam_val[1];
+ rtw_write32(padapter, RWCAM, cmd);
+ } break;
case HW_VAR_AC_PARAM_VO:
rtw_write32(padapter, REG_EDCA_VO_PARAM, *((u32 *)val));
@@ -2514,59 +2629,53 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
rtw_write32(padapter, REG_EDCA_BK_PARAM, *((u32 *)val));
break;
- case HW_VAR_ACM_CTRL:
- {
- u8 ctrl = *((u8 *)val);
- u8 hwctrl = 0;
-
- if (ctrl != 0) {
- hwctrl |= AcmHw_HwEn;
+ case HW_VAR_ACM_CTRL: {
+ u8 ctrl = *((u8 *)val);
+ u8 hwctrl = 0;
- if (ctrl & BIT(1)) /* BE */
- hwctrl |= AcmHw_BeqEn;
+ if (ctrl != 0) {
+ hwctrl |= AcmHw_HwEn;
- if (ctrl & BIT(2)) /* VI */
- hwctrl |= AcmHw_ViqEn;
+ if (ctrl & BIT(1)) /* BE */
+ hwctrl |= AcmHw_BeqEn;
- if (ctrl & BIT(3)) /* VO */
- hwctrl |= AcmHw_VoqEn;
- }
+ if (ctrl & BIT(2)) /* VI */
+ hwctrl |= AcmHw_ViqEn;
- rtw_write8(padapter, REG_ACMHWCTRL, hwctrl);
+ if (ctrl & BIT(3)) /* VO */
+ hwctrl |= AcmHw_VoqEn;
}
- break;
- case HW_VAR_AMPDU_FACTOR:
- {
- u32 AMPDULen = (*((u8 *)val));
+ rtw_write8(padapter, REG_ACMHWCTRL, hwctrl);
+ } break;
- if (AMPDULen < HT_AGG_SIZE_32K)
- AMPDULen = (0x2000 << (*((u8 *)val)))-1;
- else
- AMPDULen = 0x7fff;
+ case HW_VAR_AMPDU_FACTOR: {
+ u32 AMPDULen = (*((u8 *)val));
- rtw_write32(padapter, REG_AMPDU_MAX_LENGTH_8723B, AMPDULen);
- }
- break;
+ if (AMPDULen < HT_AGG_SIZE_32K)
+ AMPDULen = (0x2000 << (*((u8 *)val))) - 1;
+ else
+ AMPDULen = 0x7fff;
- case HW_VAR_H2C_FW_PWRMODE:
- {
- u8 psmode = *val;
+ rtw_write32(padapter, REG_AMPDU_MAX_LENGTH_8723B, AMPDULen);
+ } break;
- /* Forece leave RF low power mode for 1T1R to prevent conficting setting in Fw power */
- /* saving sequence. 2010.06.07. Added by tynli. Suggested by SD3 yschang. */
- if (psmode != PS_MODE_ACTIVE) {
- ODM_RF_Saving(&pHalData->odmpriv, true);
- }
+ case HW_VAR_H2C_FW_PWRMODE: {
+ u8 psmode = *val;
- /* if (psmode != PS_MODE_ACTIVE) { */
- /* rtl8723b_set_lowpwr_lps_cmd(padapter, true); */
- /* else { */
- /* rtl8723b_set_lowpwr_lps_cmd(padapter, false); */
- /* */
- rtl8723b_set_FwPwrMode_cmd(padapter, psmode);
+ /* Forece leave RF low power mode for 1T1R to prevent conficting setting in Fw power */
+ /* saving sequence. 2010.06.07. Added by tynli. Suggested by SD3 yschang. */
+ if (psmode != PS_MODE_ACTIVE) {
+ ODM_RF_Saving(&pHalData->odmpriv, true);
}
- break;
+
+ /* if (psmode != PS_MODE_ACTIVE) { */
+ /* rtl8723b_set_lowpwr_lps_cmd(padapter, true); */
+ /* else { */
+ /* rtl8723b_set_lowpwr_lps_cmd(padapter, false); */
+ /* */
+ rtl8723b_set_FwPwrMode_cmd(padapter, psmode);
+ } break;
case HW_VAR_H2C_PS_TUNE_PARAM:
rtl8723b_set_FwPsTuneParam_cmd(padapter);
break;
@@ -2575,19 +2684,18 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
rtl8723b_set_FwJoinBssRpt_cmd(padapter, *val);
break;
- case HW_VAR_INITIAL_GAIN:
- {
- struct dig_t *pDigTable = &pHalData->odmpriv.DM_DigTable;
- u32 rx_gain = *(u32 *)val;
+ case HW_VAR_INITIAL_GAIN: {
+ struct dig_t *pDigTable = &pHalData->odmpriv.DM_DigTable;
+ u32 rx_gain = *(u32 *)val;
- if (rx_gain == 0xff) {/* restore rx gain */
- ODM_Write_DIG(&pHalData->odmpriv, pDigTable->BackupIGValue);
- } else {
- pDigTable->BackupIGValue = pDigTable->CurIGValue;
- ODM_Write_DIG(&pHalData->odmpriv, rx_gain);
- }
+ if (rx_gain == 0xff) { /* restore rx gain */
+ ODM_Write_DIG(&pHalData->odmpriv,
+ pDigTable->BackupIGValue);
+ } else {
+ pDigTable->BackupIGValue = pDigTable->CurIGValue;
+ ODM_Write_DIG(&pHalData->odmpriv, rx_gain);
}
- break;
+ } break;
case HW_VAR_EFUSE_USAGE:
pHalData->EfuseUsedPercentage = *val;
@@ -2611,84 +2719,74 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
#endif
break;
- case HW_VAR_FIFO_CLEARN_UP:
- {
- #define RW_RELEASE_EN BIT(18)
- #define RXDMA_IDLE BIT(17)
+ case HW_VAR_FIFO_CLEARN_UP: {
+#define RW_RELEASE_EN BIT(18)
+#define RXDMA_IDLE BIT(17)
- struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
- u8 trycnt = 100;
+ struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
+ u8 trycnt = 100;
- /* pause tx */
- rtw_write8(padapter, REG_TXPAUSE, 0xff);
+ /* pause tx */
+ rtw_write8(padapter, REG_TXPAUSE, 0xff);
- /* keep sn */
- padapter->xmitpriv.nqos_ssn = rtw_read16(padapter, REG_NQOS_SEQ);
+ /* keep sn */
+ padapter->xmitpriv.nqos_ssn =
+ rtw_read16(padapter, REG_NQOS_SEQ);
- if (!pwrpriv->bkeepfwalive) {
- /* RX DMA stop */
+ if (!pwrpriv->bkeepfwalive) {
+ /* RX DMA stop */
+ val32 = rtw_read32(padapter, REG_RXPKT_NUM);
+ val32 |= RW_RELEASE_EN;
+ rtw_write32(padapter, REG_RXPKT_NUM, val32);
+ do {
val32 = rtw_read32(padapter, REG_RXPKT_NUM);
- val32 |= RW_RELEASE_EN;
- rtw_write32(padapter, REG_RXPKT_NUM, val32);
- do {
- val32 = rtw_read32(padapter, REG_RXPKT_NUM);
- val32 &= RXDMA_IDLE;
- if (val32)
- break;
- } while (--trycnt);
-
- /* RQPN Load 0 */
- rtw_write16(padapter, REG_RQPN_NPQ, 0);
- rtw_write32(padapter, REG_RQPN, 0x80000000);
- mdelay(2);
- }
+ val32 &= RXDMA_IDLE;
+ if (val32)
+ break;
+ } while (--trycnt);
+
+ /* RQPN Load 0 */
+ rtw_write16(padapter, REG_RQPN_NPQ, 0);
+ rtw_write32(padapter, REG_RQPN, 0x80000000);
+ mdelay(2);
}
- break;
+ } break;
case HW_VAR_APFM_ON_MAC:
pHalData->bMacPwrCtrlOn = *val;
break;
- case HW_VAR_NAV_UPPER:
- {
- u32 usNavUpper = *((u32 *)val);
+ case HW_VAR_NAV_UPPER: {
+ u32 usNavUpper = *((u32 *)val);
- if (usNavUpper > HAL_NAV_UPPER_UNIT_8723B * 0xFF)
- break;
-
- usNavUpper = DIV_ROUND_UP(usNavUpper,
- HAL_NAV_UPPER_UNIT_8723B);
- rtw_write8(padapter, REG_NAV_UPPER, (u8)usNavUpper);
- }
- break;
-
- case HW_VAR_H2C_MEDIA_STATUS_RPT:
- {
- u16 mstatus_rpt = (*(u16 *)val);
- u8 mstatus, macId;
-
- mstatus = (u8) (mstatus_rpt & 0xFF);
- macId = (u8)(mstatus_rpt >> 8);
- rtl8723b_set_FwMediaStatusRpt_cmd(padapter, mstatus, macId);
- }
- break;
- case HW_VAR_BCN_VALID:
- {
- /* BCN_VALID, BIT16 of REG_TDECTRL = BIT0 of REG_TDECTRL+2, write 1 to clear, Clear by sw */
- val8 = rtw_read8(padapter, REG_TDECTRL+2);
- val8 |= BIT(0);
- rtw_write8(padapter, REG_TDECTRL+2, val8);
- }
- break;
+ if (usNavUpper > HAL_NAV_UPPER_UNIT_8723B * 0xFF)
+ break;
- case HW_VAR_DL_BCN_SEL:
- {
- /* SW_BCN_SEL - Port0 */
- val8 = rtw_read8(padapter, REG_DWBCN1_CTRL_8723B+2);
- val8 &= ~BIT(4);
- rtw_write8(padapter, REG_DWBCN1_CTRL_8723B+2, val8);
- }
- break;
+ usNavUpper = DIV_ROUND_UP(usNavUpper, HAL_NAV_UPPER_UNIT_8723B);
+ rtw_write8(padapter, REG_NAV_UPPER, (u8)usNavUpper);
+ } break;
+
+ case HW_VAR_H2C_MEDIA_STATUS_RPT: {
+ u16 mstatus_rpt = (*(u16 *)val);
+ u8 mstatus, macId;
+
+ mstatus = (u8)(mstatus_rpt & 0xFF);
+ macId = (u8)(mstatus_rpt >> 8);
+ rtl8723b_set_FwMediaStatusRpt_cmd(padapter, mstatus, macId);
+ } break;
+ case HW_VAR_BCN_VALID: {
+ /* BCN_VALID, BIT16 of REG_TDECTRL = BIT0 of REG_TDECTRL+2, write 1 to clear, Clear by sw */
+ val8 = rtw_read8(padapter, REG_TDECTRL + 2);
+ val8 |= BIT(0);
+ rtw_write8(padapter, REG_TDECTRL + 2, val8);
+ } break;
+
+ case HW_VAR_DL_BCN_SEL: {
+ /* SW_BCN_SEL - Port0 */
+ val8 = rtw_read8(padapter, REG_DWBCN1_CTRL_8723B + 2);
+ val8 &= ~BIT(4);
+ rtw_write8(padapter, REG_DWBCN1_CTRL_8723B + 2, val8);
+ } break;
case HW_VAR_DO_IQK:
pHalData->bNeedIQK = true;
@@ -2748,36 +2846,30 @@ void GetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
*val = rtw_read8(padapter, REG_TXPAUSE);
break;
- case HW_VAR_BCN_VALID:
- {
- /* BCN_VALID, BIT16 of REG_TDECTRL = BIT0 of REG_TDECTRL+2 */
- val8 = rtw_read8(padapter, REG_TDECTRL+2);
- *val = (BIT(0) & val8) ? true : false;
- }
- break;
+ case HW_VAR_BCN_VALID: {
+ /* BCN_VALID, BIT16 of REG_TDECTRL = BIT0 of REG_TDECTRL+2 */
+ val8 = rtw_read8(padapter, REG_TDECTRL + 2);
+ *val = (BIT(0) & val8) ? true : false;
+ } break;
- case HW_VAR_FWLPS_RF_ON:
- {
- /* When we halt NIC, we should check if FW LPS is leave. */
- u32 valRCR;
+ case HW_VAR_FWLPS_RF_ON: {
+ /* When we halt NIC, we should check if FW LPS is leave. */
+ u32 valRCR;
- if (
- padapter->bSurpriseRemoved ||
- (adapter_to_pwrctl(padapter)->rf_pwrstate == rf_off)
- ) {
- /* If it is in HW/SW Radio OFF or IPS state, we do not check Fw LPS Leave, */
- /* because Fw is unload. */
+ if (padapter->bSurpriseRemoved ||
+ (adapter_to_pwrctl(padapter)->rf_pwrstate == rf_off)) {
+ /* If it is in HW/SW Radio OFF or IPS state, we do not check Fw LPS Leave, */
+ /* because Fw is unload. */
+ *val = true;
+ } else {
+ valRCR = rtw_read32(padapter, REG_RCR);
+ valRCR &= 0x00070000;
+ if (valRCR)
+ *val = false;
+ else
*val = true;
- } else {
- valRCR = rtw_read32(padapter, REG_RCR);
- valRCR &= 0x00070000;
- if (valRCR)
- *val = false;
- else
- *val = true;
- }
}
- break;
+ } break;
case HW_VAR_EFUSE_USAGE:
*val = pHalData->EfuseUsedPercentage;
@@ -2817,7 +2909,8 @@ void GetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val)
/* Description:
* Query setting of specified variable.
*/
-u8 GetHalDefVar8723B(struct adapter *padapter, enum hal_def_variable variable, void *pval)
+u8 GetHalDefVar8723B(struct adapter *padapter, enum hal_def_variable variable,
+ void *pval)
{
u8 bResult = _SUCCESS;
@@ -2827,7 +2920,7 @@ u8 GetHalDefVar8723B(struct adapter *padapter, enum hal_def_variable variable, v
break;
case HAL_DEF_RX_PACKET_OFFSET:
- *((u32 *)pval) = RXDESC_SIZE + DRVINFO_SZ*8;
+ *((u32 *)pval) = RXDESC_SIZE + DRVINFO_SZ * 8;
break;
case HW_VAR_MAX_RX_AMPDU_FACTOR:
@@ -2851,24 +2944,22 @@ u8 GetHalDefVar8723B(struct adapter *padapter, enum hal_def_variable variable, v
*((u8 *)pval) = false;
break;
- case HW_DEF_RA_INFO_DUMP:
- {
- u8 mac_id = *(u8 *)pval;
- u32 cmd = 0x40000100 | mac_id;
+ case HW_DEF_RA_INFO_DUMP: {
+ u8 mac_id = *(u8 *)pval;
+ u32 cmd = 0x40000100 | mac_id;
- rtw_write32(padapter, REG_HMEBOX_DBG_2_8723B, cmd);
- msleep(10);
- rtw_read32(padapter, 0x2F0); // info 1
+ rtw_write32(padapter, REG_HMEBOX_DBG_2_8723B, cmd);
+ msleep(10);
+ rtw_read32(padapter, 0x2F0); // info 1
- cmd = 0x40000400 | mac_id;
- rtw_write32(padapter, REG_HMEBOX_DBG_2_8723B, cmd);
- msleep(10);
- rtw_read32(padapter, 0x2F0); // info 1
- rtw_read32(padapter, 0x2F4); // info 2
- rtw_read32(padapter, 0x2F8); // rate mask 1
- rtw_read32(padapter, 0x2FC); // rate mask 2
- }
- break;
+ cmd = 0x40000400 | mac_id;
+ rtw_write32(padapter, REG_HMEBOX_DBG_2_8723B, cmd);
+ msleep(10);
+ rtw_read32(padapter, 0x2F0); // info 1
+ rtw_read32(padapter, 0x2F4); // info 2
+ rtw_read32(padapter, 0x2F8); // rate mask 1
+ rtw_read32(padapter, 0x2FC); // rate mask 2
+ } break;
case HAL_DEF_TX_PAGE_BOUNDARY:
if (!padapter->registrypriv.wifi_spec) {
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
index d6369eb7b5705..090023a4c09f4 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c
@@ -14,12 +14,12 @@
*
* Return: Return the shift bit position of the mask
*/
-static u32 phy_CalculateBitShift(u32 BitMask)
+static u32 phy_CalculateBitShift(u32 BitMask)
{
u32 i;
for (i = 0; i <= 31; i++) {
- if (((BitMask >> i) & 0x1) == 1)
+ if (((BitMask >> i) & 0x1) == 1)
break;
}
return i;
@@ -60,12 +60,8 @@ u32 PHY_QueryBBReg_8723B(struct adapter *Adapter, u32 RegAddr, u32 BitMask)
* guide
*/
-void PHY_SetBBReg_8723B(
- struct adapter *Adapter,
- u32 RegAddr,
- u32 BitMask,
- u32 Data
-)
+void PHY_SetBBReg_8723B(struct adapter *Adapter, u32 RegAddr, u32 BitMask,
+ u32 Data)
{
/* u16 BBWaitCounter = 0; */
u32 OriginalValue, BitShift;
@@ -73,7 +69,8 @@ void PHY_SetBBReg_8723B(
if (BitMask != bMaskDWord) { /* if not "double word" write */
OriginalValue = rtw_read32(Adapter, RegAddr);
BitShift = phy_CalculateBitShift(BitMask);
- Data = ((OriginalValue & (~BitMask)) | ((Data << BitShift) & BitMask));
+ Data = ((OriginalValue & (~BitMask)) |
+ ((Data << BitShift) & BitMask));
}
rtw_write32(Adapter, RegAddr, Data);
@@ -83,9 +80,8 @@ void PHY_SetBBReg_8723B(
/* 2. RF register R/W API */
/* */
-static u32 phy_RFSerialRead_8723B(
- struct adapter *Adapter, enum rf_path eRFPath, u32 Offset
-)
+static u32 phy_RFSerialRead_8723B(struct adapter *Adapter, enum rf_path eRFPath,
+ u32 Offset)
{
u32 retValue = 0;
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
@@ -104,18 +100,29 @@ static u32 phy_RFSerialRead_8723B(
NewOffset = Offset;
if (eRFPath == RF_PATH_A) {
- tmplong2 = PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet, bMaskDWord);
- tmplong2 = (tmplong2 & (~bLSSIReadAddress)) | (NewOffset << 23) | bLSSIReadEdge; /* T65 RF */
- PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet, bMaskDWord, tmplong2 & (~bLSSIReadEdge));
+ tmplong2 = PHY_QueryBBReg(
+ Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet,
+ bMaskDWord);
+ tmplong2 = (tmplong2 & (~bLSSIReadAddress)) |
+ (NewOffset << 23) | bLSSIReadEdge; /* T65 RF */
+ PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet,
+ bMaskDWord, tmplong2 & (~bLSSIReadEdge));
} else {
- tmplong2 = PHY_QueryBBReg(Adapter, rFPGA0_XB_HSSIParameter2 | MaskforPhySet, bMaskDWord);
- tmplong2 = (tmplong2 & (~bLSSIReadAddress)) | (NewOffset << 23) | bLSSIReadEdge; /* T65 RF */
- PHY_SetBBReg(Adapter, rFPGA0_XB_HSSIParameter2 | MaskforPhySet, bMaskDWord, tmplong2 & (~bLSSIReadEdge));
+ tmplong2 = PHY_QueryBBReg(
+ Adapter, rFPGA0_XB_HSSIParameter2 | MaskforPhySet,
+ bMaskDWord);
+ tmplong2 = (tmplong2 & (~bLSSIReadAddress)) |
+ (NewOffset << 23) | bLSSIReadEdge; /* T65 RF */
+ PHY_SetBBReg(Adapter, rFPGA0_XB_HSSIParameter2 | MaskforPhySet,
+ bMaskDWord, tmplong2 & (~bLSSIReadEdge));
}
- tmplong2 = PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet, bMaskDWord);
- PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet, bMaskDWord, tmplong2 & (~bLSSIReadEdge));
- PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet, bMaskDWord, tmplong2 | bLSSIReadEdge);
+ tmplong2 = PHY_QueryBBReg(
+ Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet, bMaskDWord);
+ PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet,
+ bMaskDWord, tmplong2 & (~bLSSIReadEdge));
+ PHY_SetBBReg(Adapter, rFPGA0_XA_HSSIParameter2 | MaskforPhySet,
+ bMaskDWord, tmplong2 | bLSSIReadEdge);
udelay(10);
@@ -124,16 +131,24 @@ static u32 phy_RFSerialRead_8723B(
udelay(10);
if (eRFPath == RF_PATH_A)
- RfPiEnable = (u8)PHY_QueryBBReg(Adapter, rFPGA0_XA_HSSIParameter1 | MaskforPhySet, BIT(8));
+ RfPiEnable = (u8)PHY_QueryBBReg(
+ Adapter, rFPGA0_XA_HSSIParameter1 | MaskforPhySet,
+ BIT(8));
else if (eRFPath == RF_PATH_B)
- RfPiEnable = (u8)PHY_QueryBBReg(Adapter, rFPGA0_XB_HSSIParameter1 | MaskforPhySet, BIT(8));
+ RfPiEnable = (u8)PHY_QueryBBReg(
+ Adapter, rFPGA0_XB_HSSIParameter1 | MaskforPhySet,
+ BIT(8));
if (RfPiEnable) {
/* Read from BBreg8b8, 12 bits for 8190, 20bits for T65 RF */
- retValue = PHY_QueryBBReg(Adapter, pPhyReg->rfLSSIReadBackPi | MaskforPhySet, bLSSIReadBackData);
+ retValue = PHY_QueryBBReg(
+ Adapter, pPhyReg->rfLSSIReadBackPi | MaskforPhySet,
+ bLSSIReadBackData);
} else {
/* Read from BBreg8a0, 12 bits for 8190, 20 bits for T65 RF */
- retValue = PHY_QueryBBReg(Adapter, pPhyReg->rfLSSIReadBack | MaskforPhySet, bLSSIReadBackData);
+ retValue = PHY_QueryBBReg(
+ Adapter, pPhyReg->rfLSSIReadBack | MaskforPhySet,
+ bLSSIReadBackData);
}
return retValue;
}
@@ -175,12 +190,8 @@ static u32 phy_RFSerialRead_8723B(
*
*
*/
-static void phy_RFSerialWrite_8723B(
- struct adapter *Adapter,
- enum rf_path eRFPath,
- u32 Offset,
- u32 Data
-)
+static void phy_RFSerialWrite_8723B(struct adapter *Adapter,
+ enum rf_path eRFPath, u32 Offset, u32 Data)
{
u32 DataAndAddr = 0;
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
@@ -197,7 +208,8 @@ static void phy_RFSerialWrite_8723B(
/* */
/* Put write addr in [5:0] and write data in [31:16] */
/* */
- DataAndAddr = ((NewOffset << 20) | (Data & 0x000fffff)) & 0x0fffffff; /* T65 RF */
+ DataAndAddr = ((NewOffset << 20) | (Data & 0x000fffff)) &
+ 0x0fffffff; /* T65 RF */
/* */
/* Write Operation */
/* */
@@ -217,17 +229,13 @@ static void phy_RFSerialWrite_8723B(
* .. Note:: This function is equal to "GetRFRegSetting" in PHY
* programming guide
*/
-u32 PHY_QueryRFReg_8723B(
- struct adapter *Adapter,
- u8 eRFPath,
- u32 RegAddr,
- u32 BitMask
-)
+u32 PHY_QueryRFReg_8723B(struct adapter *Adapter, u8 eRFPath, u32 RegAddr,
+ u32 BitMask)
{
u32 Original_Value, BitShift;
Original_Value = phy_RFSerialRead_8723B(Adapter, eRFPath, RegAddr);
- BitShift = phy_CalculateBitShift(BitMask);
+ BitShift = phy_CalculateBitShift(BitMask);
return (Original_Value & BitMask) >> BitShift;
}
@@ -245,20 +253,16 @@ u32 PHY_QueryRFReg_8723B(
* .. Note:: This function is equal to "PutRFRegSetting" in PHY
* programming guide.
*/
-void PHY_SetRFReg_8723B(
- struct adapter *Adapter,
- u8 eRFPath,
- u32 RegAddr,
- u32 BitMask,
- u32 Data
-)
+void PHY_SetRFReg_8723B(struct adapter *Adapter, u8 eRFPath, u32 RegAddr,
+ u32 BitMask, u32 Data)
{
u32 Original_Value, BitShift;
/* RF data is 12 bits only */
if (BitMask != bRFRegOffsetMask) {
- Original_Value = phy_RFSerialRead_8723B(Adapter, eRFPath, RegAddr);
- BitShift = phy_CalculateBitShift(BitMask);
+ Original_Value =
+ phy_RFSerialRead_8723B(Adapter, eRFPath, RegAddr);
+ BitShift = phy_CalculateBitShift(BitMask);
Data = ((Original_Value & (~BitMask)) | (Data << BitShift));
}
@@ -280,7 +284,7 @@ void PHY_SetRFReg_8723B(
*/
s32 PHY_MACConfig8723B(struct adapter *Adapter)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
ODM_ReadAndConfig_MP_8723B_MAC_REG(&pHalData->odmpriv);
return _SUCCESS;
@@ -295,31 +299,42 @@ s32 PHY_MACConfig8723B(struct adapter *Adapter)
*/
static void phy_InitBBRFRegisterDefinition(struct adapter *Adapter)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
/* RF Interface Sowrtware Control */
- pHalData->PHYRegDef[RF_PATH_A].rfintfs = rFPGA0_XAB_RFInterfaceSW; /* 16 LSBs if read 32-bit from 0x870 */
- pHalData->PHYRegDef[RF_PATH_B].rfintfs = rFPGA0_XAB_RFInterfaceSW; /* 16 MSBs if read 32-bit from 0x870 (16-bit for 0x872) */
+ pHalData->PHYRegDef[RF_PATH_A].rfintfs =
+ rFPGA0_XAB_RFInterfaceSW; /* 16 LSBs if read 32-bit from 0x870 */
+ pHalData->PHYRegDef[RF_PATH_B].rfintfs =
+ rFPGA0_XAB_RFInterfaceSW; /* 16 MSBs if read 32-bit from 0x870 (16-bit for 0x872) */
/* RF Interface Output (and Enable) */
- pHalData->PHYRegDef[RF_PATH_A].rfintfo = rFPGA0_XA_RFInterfaceOE; /* 16 LSBs if read 32-bit from 0x860 */
- pHalData->PHYRegDef[RF_PATH_B].rfintfo = rFPGA0_XB_RFInterfaceOE; /* 16 LSBs if read 32-bit from 0x864 */
+ pHalData->PHYRegDef[RF_PATH_A].rfintfo =
+ rFPGA0_XA_RFInterfaceOE; /* 16 LSBs if read 32-bit from 0x860 */
+ pHalData->PHYRegDef[RF_PATH_B].rfintfo =
+ rFPGA0_XB_RFInterfaceOE; /* 16 LSBs if read 32-bit from 0x864 */
/* RF Interface (Output and) Enable */
- pHalData->PHYRegDef[RF_PATH_A].rfintfe = rFPGA0_XA_RFInterfaceOE; /* 16 MSBs if read 32-bit from 0x860 (16-bit for 0x862) */
- pHalData->PHYRegDef[RF_PATH_B].rfintfe = rFPGA0_XB_RFInterfaceOE; /* 16 MSBs if read 32-bit from 0x864 (16-bit for 0x866) */
+ pHalData->PHYRegDef[RF_PATH_A].rfintfe =
+ rFPGA0_XA_RFInterfaceOE; /* 16 MSBs if read 32-bit from 0x860 (16-bit for 0x862) */
+ pHalData->PHYRegDef[RF_PATH_B].rfintfe =
+ rFPGA0_XB_RFInterfaceOE; /* 16 MSBs if read 32-bit from 0x864 (16-bit for 0x866) */
- pHalData->PHYRegDef[RF_PATH_A].rf3wireOffset = rFPGA0_XA_LSSIParameter; /* LSSI Parameter */
+ pHalData->PHYRegDef[RF_PATH_A].rf3wireOffset =
+ rFPGA0_XA_LSSIParameter; /* LSSI Parameter */
pHalData->PHYRegDef[RF_PATH_B].rf3wireOffset = rFPGA0_XB_LSSIParameter;
- pHalData->PHYRegDef[RF_PATH_A].rfHSSIPara2 = rFPGA0_XA_HSSIParameter2; /* wire control parameter2 */
- pHalData->PHYRegDef[RF_PATH_B].rfHSSIPara2 = rFPGA0_XB_HSSIParameter2; /* wire control parameter2 */
+ pHalData->PHYRegDef[RF_PATH_A].rfHSSIPara2 =
+ rFPGA0_XA_HSSIParameter2; /* wire control parameter2 */
+ pHalData->PHYRegDef[RF_PATH_B].rfHSSIPara2 =
+ rFPGA0_XB_HSSIParameter2; /* wire control parameter2 */
/* Transceiver Readback LSSI/HSPI mode */
pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBack = rFPGA0_XA_LSSIReadBack;
pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBack = rFPGA0_XB_LSSIReadBack;
- pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBackPi = TransceiverA_HSPI_Readback;
- pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBackPi = TransceiverB_HSPI_Readback;
+ pHalData->PHYRegDef[RF_PATH_A].rfLSSIReadBackPi =
+ TransceiverA_HSPI_Readback;
+ pHalData->PHYRegDef[RF_PATH_B].rfLSSIReadBackPi =
+ TransceiverB_HSPI_Readback;
}
static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter)
@@ -330,8 +345,9 @@ static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter)
PHY_InitTxPowerLimit(Adapter);
if (Adapter->registrypriv.reg_enable_tx_power_limit == 1 ||
(Adapter->registrypriv.reg_enable_tx_power_limit == 2 &&
- pHalData->EEPROMRegulatory == 1))
- ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv, CONFIG_RF_TXPWR_LMT, 0);
+ pHalData->EEPROMRegulatory == 1))
+ ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv,
+ CONFIG_RF_TXPWR_LMT, 0);
/* */
/* 1. Read PHY_REG.TXT BB INIT!! */
@@ -343,15 +359,17 @@ static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter)
if (Adapter->registrypriv.reg_enable_tx_power_by_rate == 1 ||
(Adapter->registrypriv.reg_enable_tx_power_by_rate == 2 &&
- pHalData->EEPROMRegulatory != 2)) {
- ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_PHY_REG_PG);
+ pHalData->EEPROMRegulatory != 2)) {
+ ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv,
+ CONFIG_BB_PHY_REG_PG);
- if (pHalData->odmpriv.PhyRegPgValueType == PHY_REG_PG_EXACT_VALUE)
+ if (pHalData->odmpriv.PhyRegPgValueType ==
+ PHY_REG_PG_EXACT_VALUE)
PHY_TxPowerByRateConfiguration(Adapter);
if (Adapter->registrypriv.reg_enable_tx_power_limit == 1 ||
(Adapter->registrypriv.reg_enable_tx_power_limit == 2 &&
- pHalData->EEPROMRegulatory == 1))
+ pHalData->EEPROMRegulatory == 1))
PHY_ConvertTxPowerLimitToPowerIndex(Adapter);
}
@@ -365,8 +383,8 @@ static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter)
int PHY_BBConfig8723B(struct adapter *Adapter)
{
- int rtStatus = _SUCCESS;
- struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
+ int rtStatus = _SUCCESS;
+ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
u32 RegVal;
u8 CrystalCap;
@@ -374,9 +392,10 @@ int PHY_BBConfig8723B(struct adapter *Adapter)
/* Enable BB and RF */
RegVal = rtw_read16(Adapter, REG_SYS_FUNC_EN);
- rtw_write16(Adapter, REG_SYS_FUNC_EN, (u16)(RegVal | BIT(13) | BIT(0) | BIT(1)));
+ rtw_write16(Adapter, REG_SYS_FUNC_EN,
+ (u16)(RegVal | BIT(13) | BIT(0) | BIT(1)));
- rtw_write32(Adapter, 0x948, 0x280); /* Others use Antenna S1 */
+ rtw_write32(Adapter, 0x948, 0x280); /* Others use Antenna S1 */
rtw_write8(Adapter, REG_RF_CTRL, RF_EN | RF_RSTB | RF_SDMRSTB);
@@ -385,7 +404,8 @@ int PHY_BBConfig8723B(struct adapter *Adapter)
PHY_SetRFReg(Adapter, RF_PATH_A, 0x1, 0xfffff, 0x780);
rtw_write8(Adapter, REG_SYS_FUNC_EN,
- FEN_PPLL | FEN_PCIEA | FEN_DIO_PCIE | FEN_BB_GLB_RSTn | FEN_BBRSTB);
+ FEN_PPLL | FEN_PCIEA | FEN_DIO_PCIE | FEN_BB_GLB_RSTn |
+ FEN_BBRSTB);
rtw_write8(Adapter, REG_AFE_XTAL_CTRL + 1, 0x80);
@@ -396,7 +416,8 @@ int PHY_BBConfig8723B(struct adapter *Adapter)
/* 0x2C[23:18] = 0x2C[17:12] = CrystalCap */
CrystalCap = pHalData->CrystalCap & 0x3F;
- PHY_SetBBReg(Adapter, REG_MAC_PHY_CTRL, 0xFFF000, (CrystalCap | (CrystalCap << 6)));
+ PHY_SetBBReg(Adapter, REG_MAC_PHY_CTRL, 0xFFF000,
+ (CrystalCap | (CrystalCap << 6)));
return rtStatus;
}
@@ -430,78 +451,94 @@ int PHY_RFConfig8723B(struct adapter *Adapter)
* <20120830, Kordan>
**************************************************************************************************************/
-void PHY_SetTxPowerIndex(
- struct adapter *Adapter,
- u32 PowerIndex,
- u8 RFPath,
- u8 Rate
-)
+void PHY_SetTxPowerIndex(struct adapter *Adapter, u32 PowerIndex, u8 RFPath,
+ u8 Rate)
{
if (RFPath == RF_PATH_A || RFPath == RF_PATH_B) {
switch (Rate) {
case MGN_1M:
- PHY_SetBBReg(Adapter, rTxAGC_A_CCK1_Mcs32, bMaskByte1, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_CCK1_Mcs32, bMaskByte1,
+ PowerIndex);
break;
case MGN_2M:
- PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11, bMaskByte1, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11,
+ bMaskByte1, PowerIndex);
break;
case MGN_5_5M:
- PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11, bMaskByte2, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11,
+ bMaskByte2, PowerIndex);
break;
case MGN_11M:
- PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11, bMaskByte3, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_B_CCK11_A_CCK2_11,
+ bMaskByte3, PowerIndex);
break;
case MGN_6M:
- PHY_SetBBReg(Adapter, rTxAGC_A_Rate18_06, bMaskByte0, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Rate18_06, bMaskByte0,
+ PowerIndex);
break;
case MGN_9M:
- PHY_SetBBReg(Adapter, rTxAGC_A_Rate18_06, bMaskByte1, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Rate18_06, bMaskByte1,
+ PowerIndex);
break;
case MGN_12M:
- PHY_SetBBReg(Adapter, rTxAGC_A_Rate18_06, bMaskByte2, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Rate18_06, bMaskByte2,
+ PowerIndex);
break;
case MGN_18M:
- PHY_SetBBReg(Adapter, rTxAGC_A_Rate18_06, bMaskByte3, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Rate18_06, bMaskByte3,
+ PowerIndex);
break;
case MGN_24M:
- PHY_SetBBReg(Adapter, rTxAGC_A_Rate54_24, bMaskByte0, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Rate54_24, bMaskByte0,
+ PowerIndex);
break;
case MGN_36M:
- PHY_SetBBReg(Adapter, rTxAGC_A_Rate54_24, bMaskByte1, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Rate54_24, bMaskByte1,
+ PowerIndex);
break;
case MGN_48M:
- PHY_SetBBReg(Adapter, rTxAGC_A_Rate54_24, bMaskByte2, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Rate54_24, bMaskByte2,
+ PowerIndex);
break;
case MGN_54M:
- PHY_SetBBReg(Adapter, rTxAGC_A_Rate54_24, bMaskByte3, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Rate54_24, bMaskByte3,
+ PowerIndex);
break;
case MGN_MCS0:
- PHY_SetBBReg(Adapter, rTxAGC_A_Mcs03_Mcs00, bMaskByte0, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Mcs03_Mcs00, bMaskByte0,
+ PowerIndex);
break;
case MGN_MCS1:
- PHY_SetBBReg(Adapter, rTxAGC_A_Mcs03_Mcs00, bMaskByte1, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Mcs03_Mcs00, bMaskByte1,
+ PowerIndex);
break;
case MGN_MCS2:
- PHY_SetBBReg(Adapter, rTxAGC_A_Mcs03_Mcs00, bMaskByte2, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Mcs03_Mcs00, bMaskByte2,
+ PowerIndex);
break;
case MGN_MCS3:
- PHY_SetBBReg(Adapter, rTxAGC_A_Mcs03_Mcs00, bMaskByte3, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Mcs03_Mcs00, bMaskByte3,
+ PowerIndex);
break;
case MGN_MCS4:
- PHY_SetBBReg(Adapter, rTxAGC_A_Mcs07_Mcs04, bMaskByte0, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Mcs07_Mcs04, bMaskByte0,
+ PowerIndex);
break;
case MGN_MCS5:
- PHY_SetBBReg(Adapter, rTxAGC_A_Mcs07_Mcs04, bMaskByte1, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Mcs07_Mcs04, bMaskByte1,
+ PowerIndex);
break;
case MGN_MCS6:
- PHY_SetBBReg(Adapter, rTxAGC_A_Mcs07_Mcs04, bMaskByte2, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Mcs07_Mcs04, bMaskByte2,
+ PowerIndex);
break;
case MGN_MCS7:
- PHY_SetBBReg(Adapter, rTxAGC_A_Mcs07_Mcs04, bMaskByte3, PowerIndex);
+ PHY_SetBBReg(Adapter, rTxAGC_A_Mcs07_Mcs04, bMaskByte3,
+ PowerIndex);
break;
default:
@@ -510,28 +547,20 @@ void PHY_SetTxPowerIndex(
}
}
-u8 PHY_GetTxPowerIndex(
- struct adapter *padapter,
- u8 RFPath,
- u8 Rate,
- enum channel_width BandWidth,
- u8 Channel
-)
+u8 PHY_GetTxPowerIndex(struct adapter *padapter, u8 RFPath, u8 Rate,
+ enum channel_width BandWidth, u8 Channel)
{
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
s8 txPower = 0, powerDiffByRate = 0, limit = 0;
- txPower = (s8)PHY_GetTxPowerIndexBase(padapter, RFPath, Rate, BandWidth, Channel);
+ txPower = (s8)PHY_GetTxPowerIndexBase(padapter, RFPath, Rate, BandWidth,
+ Channel);
powerDiffByRate = PHY_GetTxPowerByRate(padapter, RF_PATH_A, Rate);
- limit = phy_get_tx_pwr_lmt(
- padapter,
- padapter->registrypriv.reg_pwr_tbl_sel,
- pHalData->CurrentChannelBW,
- RFPath,
- Rate,
- pHalData->CurrentChannel
- );
+ limit = phy_get_tx_pwr_lmt(padapter,
+ padapter->registrypriv.reg_pwr_tbl_sel,
+ pHalData->CurrentChannelBW, RFPath, Rate,
+ pHalData->CurrentChannel);
powerDiffByRate = powerDiffByRate > limit ? limit : powerDiffByRate;
txPower += powerDiffByRate;
@@ -551,8 +580,9 @@ void PHY_SetTxPowerLevel8723B(struct adapter *Adapter, u8 Channel)
struct fat_t *pDM_FatTable = &pDM_Odm->DM_FatTable;
u8 RFPath = RF_PATH_A;
- if (pHalData->AntDivCfg) {/* antenna diversity Enable */
- RFPath = ((pDM_FatTable->RxIdleAnt == MAIN_ANT) ? RF_PATH_A : RF_PATH_B);
+ if (pHalData->AntDivCfg) { /* antenna diversity Enable */
+ RFPath = ((pDM_FatTable->RxIdleAnt == MAIN_ANT) ? RF_PATH_A :
+ RF_PATH_B);
} else { /* antenna diversity disable */
RFPath = pHalData->ant_path;
}
@@ -560,9 +590,8 @@ void PHY_SetTxPowerLevel8723B(struct adapter *Adapter, u8 Channel)
PHY_SetTxPowerLevelByPath(Adapter, Channel, RFPath);
}
-static void phy_SetRegBW_8723B(
- struct adapter *Adapter, enum channel_width CurrentBW
-)
+static void phy_SetRegBW_8723B(struct adapter *Adapter,
+ enum channel_width CurrentBW)
{
u16 RegRfMod_BW, u2tmp = 0;
@@ -570,12 +599,14 @@ static void phy_SetRegBW_8723B(
switch (CurrentBW) {
case CHANNEL_WIDTH_20:
- rtw_write16(Adapter, REG_TRXPTCL_CTL_8723B, (RegRfMod_BW & 0xFE7F)); /* BIT 7 = 0, BIT 8 = 0 */
+ rtw_write16(Adapter, REG_TRXPTCL_CTL_8723B,
+ (RegRfMod_BW & 0xFE7F)); /* BIT 7 = 0, BIT 8 = 0 */
break;
case CHANNEL_WIDTH_40:
u2tmp = RegRfMod_BW | BIT(7);
- rtw_write16(Adapter, REG_TRXPTCL_CTL_8723B, (u2tmp & 0xFEFF)); /* BIT 7 = 1, BIT 8 = 0 */
+ rtw_write16(Adapter, REG_TRXPTCL_CTL_8723B,
+ (u2tmp & 0xFEFF)); /* BIT 7 = 1, BIT 8 = 0 */
break;
default:
@@ -591,11 +622,12 @@ static u8 phy_GetSecondaryChnl_8723B(struct adapter *Adapter)
if (pHalData->CurrentChannelBW == CHANNEL_WIDTH_40) {
if (pHalData->nCur40MhzPrimeSC == HAL_PRIME_CHNL_OFFSET_UPPER)
SCSettingOf20 = HT_DATA_SC_20_UPPER_OF_40MHZ;
- else if (pHalData->nCur40MhzPrimeSC == HAL_PRIME_CHNL_OFFSET_LOWER)
+ else if (pHalData->nCur40MhzPrimeSC ==
+ HAL_PRIME_CHNL_OFFSET_LOWER)
SCSettingOf20 = HT_DATA_SC_20_LOWER_OF_40MHZ;
}
- return (SCSettingOf40 << 4) | SCSettingOf20;
+ return (SCSettingOf40 << 4) | SCSettingOf20;
}
static void phy_PostSetBwMode8723B(struct adapter *Adapter)
@@ -620,7 +652,8 @@ static void phy_PostSetBwMode8723B(struct adapter *Adapter)
PHY_SetBBReg(Adapter, rFPGA1_RFMOD, bRFMOD, 0x0);
- PHY_SetBBReg(Adapter, rOFDM0_TxPseudoNoiseWgt, (BIT(31) | BIT(30)), 0x0);
+ PHY_SetBBReg(Adapter, rOFDM0_TxPseudoNoiseWgt,
+ (BIT(31) | BIT(30)), 0x0);
break;
/* 40 MHz channel*/
@@ -630,11 +663,17 @@ static void phy_PostSetBwMode8723B(struct adapter *Adapter)
PHY_SetBBReg(Adapter, rFPGA1_RFMOD, bRFMOD, 0x1);
/* Set Control channel to upper or lower. These settings are required only for 40MHz */
- PHY_SetBBReg(Adapter, rCCK0_System, bCCKSideBand, (pHalData->nCur40MhzPrimeSC >> 1));
+ PHY_SetBBReg(Adapter, rCCK0_System, bCCKSideBand,
+ (pHalData->nCur40MhzPrimeSC >> 1));
- PHY_SetBBReg(Adapter, rOFDM1_LSTF, 0xC00, pHalData->nCur40MhzPrimeSC);
+ PHY_SetBBReg(Adapter, rOFDM1_LSTF, 0xC00,
+ pHalData->nCur40MhzPrimeSC);
- PHY_SetBBReg(Adapter, 0x818, (BIT(26) | BIT(27)), (pHalData->nCur40MhzPrimeSC == HAL_PRIME_CHNL_OFFSET_LOWER) ? 2 : 1);
+ PHY_SetBBReg(Adapter, 0x818, (BIT(26) | BIT(27)),
+ (pHalData->nCur40MhzPrimeSC ==
+ HAL_PRIME_CHNL_OFFSET_LOWER) ?
+ 2 :
+ 1);
break;
default:
break;
@@ -651,9 +690,12 @@ static void phy_SwChnl8723B(struct adapter *padapter)
if (pHalData->rf_chip == RF_PSEUDO_11N)
return;
- pHalData->RfRegChnlVal[0] = ((pHalData->RfRegChnlVal[0] & 0xfffff00) | channelToSW);
- PHY_SetRFReg(padapter, RF_PATH_A, RF_CHNLBW, 0x3FF, pHalData->RfRegChnlVal[0]);
- PHY_SetRFReg(padapter, RF_PATH_B, RF_CHNLBW, 0x3FF, pHalData->RfRegChnlVal[0]);
+ pHalData->RfRegChnlVal[0] =
+ ((pHalData->RfRegChnlVal[0] & 0xfffff00) | channelToSW);
+ PHY_SetRFReg(padapter, RF_PATH_A, RF_CHNLBW, 0x3FF,
+ pHalData->RfRegChnlVal[0]);
+ PHY_SetRFReg(padapter, RF_PATH_B, RF_CHNLBW, 0x3FF,
+ pHalData->RfRegChnlVal[0]);
}
static void phy_SwChnlAndSetBwMode8723B(struct adapter *Adapter)
@@ -677,15 +719,10 @@ static void phy_SwChnlAndSetBwMode8723B(struct adapter *Adapter)
}
static void PHY_HandleSwChnlAndSetBW8723B(
- struct adapter *Adapter,
- bool bSwitchChannel,
- bool bSetBandWidth,
- u8 ChannelNum,
- enum channel_width ChnlWidth,
+ struct adapter *Adapter, bool bSwitchChannel, bool bSetBandWidth,
+ u8 ChannelNum, enum channel_width ChnlWidth,
enum extchnl_offset ExtChnlOffsetOf40MHz,
- enum extchnl_offset ExtChnlOffsetOf80MHz,
- u8 CenterFrequencyIndex1
-)
+ enum extchnl_offset ExtChnlOffsetOf80MHz, u8 CenterFrequencyIndex1)
{
/* static bool bInitialzed = false; */
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
@@ -738,7 +775,8 @@ static void PHY_HandleSwChnlAndSetBW8723B(
pHalData->CurrentChannelBW = tmpBW;
pHalData->nCur40MhzPrimeSC = tmpnCur40MhzPrimeSC;
pHalData->nCur80MhzPrimeSC = tmpnCur80MhzPrimeSC;
- pHalData->CurrentCenterFrequencyIndex1 = tmpCenterFrequencyIndex1;
+ pHalData->CurrentCenterFrequencyIndex1 =
+ tmpCenterFrequencyIndex1;
}
}
}
@@ -746,16 +784,14 @@ static void PHY_HandleSwChnlAndSetBW8723B(
/* Call after initialization */
void PHY_SwChnl8723B(struct adapter *Adapter, u8 channel)
{
- PHY_HandleSwChnlAndSetBW8723B(Adapter, true, false, channel, 0, 0, 0, channel);
+ PHY_HandleSwChnlAndSetBW8723B(Adapter, true, false, channel, 0, 0, 0,
+ channel);
}
-void PHY_SetSwChnlBWMode8723B(
- struct adapter *Adapter,
- u8 channel,
- enum channel_width Bandwidth,
- u8 Offset40,
- u8 Offset80
-)
+void PHY_SetSwChnlBWMode8723B(struct adapter *Adapter, u8 channel,
+ enum channel_width Bandwidth, u8 Offset40,
+ u8 Offset80)
{
- PHY_HandleSwChnlAndSetBW8723B(Adapter, true, true, channel, Bandwidth, Offset40, Offset80, channel);
+ PHY_HandleSwChnlAndSetBW8723B(Adapter, true, true, channel, Bandwidth,
+ Offset40, Offset80, channel);
}
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
index da4cb28276b26..623b8c977d944 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c
@@ -53,29 +53,34 @@
* Note: For RF type 0222D
*---------------------------------------------------------------------------
*/
-void PHY_RF6052SetBandwidth8723B(
- struct adapter *Adapter, enum channel_width Bandwidth
-) /* 20M or 40M */
+void PHY_RF6052SetBandwidth8723B(struct adapter *Adapter,
+ enum channel_width Bandwidth) /* 20M or 40M */
{
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
switch (Bandwidth) {
case CHANNEL_WIDTH_20:
- pHalData->RfRegChnlVal[0] = ((pHalData->RfRegChnlVal[0] & 0xfffff3ff) | BIT(10) | BIT(11));
- PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, pHalData->RfRegChnlVal[0]);
- PHY_SetRFReg(Adapter, RF_PATH_B, RF_CHNLBW, bRFRegOffsetMask, pHalData->RfRegChnlVal[0]);
+ pHalData->RfRegChnlVal[0] =
+ ((pHalData->RfRegChnlVal[0] & 0xfffff3ff) | BIT(10) |
+ BIT(11));
+ PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask,
+ pHalData->RfRegChnlVal[0]);
+ PHY_SetRFReg(Adapter, RF_PATH_B, RF_CHNLBW, bRFRegOffsetMask,
+ pHalData->RfRegChnlVal[0]);
break;
case CHANNEL_WIDTH_40:
- pHalData->RfRegChnlVal[0] = ((pHalData->RfRegChnlVal[0] & 0xfffff3ff) | BIT(10));
- PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, pHalData->RfRegChnlVal[0]);
- PHY_SetRFReg(Adapter, RF_PATH_B, RF_CHNLBW, bRFRegOffsetMask, pHalData->RfRegChnlVal[0]);
+ pHalData->RfRegChnlVal[0] =
+ ((pHalData->RfRegChnlVal[0] & 0xfffff3ff) | BIT(10));
+ PHY_SetRFReg(Adapter, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask,
+ pHalData->RfRegChnlVal[0]);
+ PHY_SetRFReg(Adapter, RF_PATH_B, RF_CHNLBW, bRFRegOffsetMask,
+ pHalData->RfRegChnlVal[0]);
break;
default:
break;
}
-
}
static int phy_RF6052_Config_ParaFile(struct adapter *Adapter)
@@ -90,33 +95,36 @@ static int phy_RF6052_Config_ParaFile(struct adapter *Adapter)
/* 3----------------------------------------------------------------- */
/* for (eRFPath = RF_PATH_A; eRFPath <pHalData->NumTotalRFPath; eRFPath++) */
for (eRFPath = 0; eRFPath < pHalData->NumTotalRFPath; eRFPath++) {
-
pPhyReg = &pHalData->PHYRegDef[eRFPath];
/*----Store original RFENV control type----*/
switch (eRFPath) {
case RF_PATH_A:
- u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV);
+ u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs,
+ bRFSI_RFENV);
break;
case RF_PATH_B:
- u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV << 16);
+ u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs,
+ bRFSI_RFENV << 16);
break;
}
/*----Set RF_ENV enable----*/
PHY_SetBBReg(Adapter, pPhyReg->rfintfe, bRFSI_RFENV << 16, 0x1);
- udelay(1);/* PlatformStallExecution(1); */
+ udelay(1); /* PlatformStallExecution(1); */
/*----Set RF_ENV output high----*/
PHY_SetBBReg(Adapter, pPhyReg->rfintfo, bRFSI_RFENV, 0x1);
- udelay(1);/* PlatformStallExecution(1); */
+ udelay(1); /* PlatformStallExecution(1); */
/* Set bit number of Address and Data for RF register */
- PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireAddressLength, 0x0); /* Set 1 to 4 bits for 8255 */
- udelay(1);/* PlatformStallExecution(1); */
+ PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireAddressLength,
+ 0x0); /* Set 1 to 4 bits for 8255 */
+ udelay(1); /* PlatformStallExecution(1); */
- PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireDataLength, 0x0); /* Set 0 to 12 bits for 8255 */
- udelay(1);/* PlatformStallExecution(1); */
+ PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireDataLength,
+ 0x0); /* Set 0 to 12 bits for 8255 */
+ udelay(1); /* PlatformStallExecution(1); */
/*----Initialize RF fom connfiguration file----*/
switch (eRFPath) {
@@ -130,10 +138,12 @@ static int phy_RF6052_Config_ParaFile(struct adapter *Adapter)
/*----Restore RFENV control type----*/
switch (eRFPath) {
case RF_PATH_A:
- PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV, u4RegValue);
+ PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV,
+ u4RegValue);
break;
case RF_PATH_B:
- PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV << 16, u4RegValue);
+ PHY_SetBBReg(Adapter, pPhyReg->rfintfs,
+ bRFSI_RFENV << 16, u4RegValue);
break;
}
}
@@ -160,7 +170,6 @@ int PHY_RF6052_Config8723B(struct adapter *Adapter)
/* Config BB and RF */
/* */
return phy_RF6052_Config_ParaFile(Adapter);
-
}
/* End of HalRf6052.c */
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
index ac12496767944..164d50b03e769 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c
@@ -10,7 +10,8 @@
static void process_rssi(struct adapter *padapter, union recv_frame *prframe)
{
struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib;
- struct signal_stat *signal_stat = &padapter->recvpriv.signal_strength_data;
+ struct signal_stat *signal_stat =
+ &padapter->recvpriv.signal_strength_data;
/* if (pRfd->Status.bPacketToSelf || pRfd->Status.bPacketBeacon) */
{
@@ -21,13 +22,15 @@ static void process_rssi(struct adapter *padapter, union recv_frame *prframe)
}
signal_stat->total_num++;
- signal_stat->total_val += pattrib->phy_info.SignalStrength;
- signal_stat->avg_val = signal_stat->total_val / signal_stat->total_num;
+ signal_stat->total_val += pattrib->phy_info.SignalStrength;
+ signal_stat->avg_val =
+ signal_stat->total_val / signal_stat->total_num;
}
} /* Process_UI_RSSI_8192C */
-static void process_link_qual(struct adapter *padapter, union recv_frame *prframe)
+static void process_link_qual(struct adapter *padapter,
+ union recv_frame *prframe)
{
struct rx_pkt_attrib *pattrib;
struct signal_stat *signal_stat;
@@ -45,7 +48,7 @@ static void process_link_qual(struct adapter *padapter, union recv_frame *prfram
}
signal_stat->total_num++;
- signal_stat->total_val += pattrib->phy_info.SignalQuality;
+ signal_stat->total_val += pattrib->phy_info.SignalQuality;
signal_stat->avg_val = signal_stat->total_val / signal_stat->total_num;
} /* Process_UiLinkQuality8192S */
@@ -65,5 +68,5 @@ void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe)
/* */
/* Check EVM */
/* */
- process_link_qual(padapter, precvframe);
+ process_link_qual(padapter, precvframe);
}
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
index 97dce28fd0a37..d4e08ff64580c 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
@@ -88,11 +88,11 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe,
u8 *sa = NULL;
struct odm_packet_info pkt_info = {
- .data_rate = 0x00,
- .station_id = 0x00,
+ .data_rate = 0x00,
+ .station_id = 0x00,
.bssid_match = false,
- .to_self = false,
- .is_beacon = false,
+ .to_self = false,
+ .is_beacon = false,
};
/* unsigned long irqL; */
@@ -108,10 +108,10 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe,
rx_ra = rtl8723bs_get_ra(wlanhdr);
my_hwaddr = myid(&padapter->eeprompriv);
pkt_info.to_self = pkt_info.bssid_match &&
- ether_addr_equal(rx_ra, my_hwaddr);
+ ether_addr_equal(rx_ra, my_hwaddr);
pkt_info.is_beacon = pkt_info.bssid_match &&
- (GetFrameSubType(wlanhdr) == WIFI_BEACON);
+ (GetFrameSubType(wlanhdr) == WIFI_BEACON);
sa = get_ta(wlanhdr);
@@ -127,15 +127,13 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe,
/* rtl8723b_query_rx_phy_status(precvframe, pphy_status); */
/* spin_lock_bh(&p_hal_data->odm_stainfo_lock); */
odm_phy_status_query(&p_hal_data->odmpriv, p_phy_info,
- (u8 *)pphy_status, &(pkt_info));
+ (u8 *)pphy_status, &(pkt_info));
if (psta)
psta->rssi = pattrib->phy_info.RecvSignalPower;
/* spin_unlock_bh(&p_hal_data->odm_stainfo_lock); */
precvframe->u.hdr.psta = NULL;
- if (
- pkt_info.bssid_match &&
- (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE))
- ) {
+ if (pkt_info.bssid_match &&
+ (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE))) {
if (psta) {
precvframe->u.hdr.psta = psta;
rtl8723b_process_phy_info(padapter, precvframe);
@@ -150,8 +148,8 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe,
}
}
-static void rtl8723bs_c2h_packet_handler(struct adapter *padapter,
- u8 *pbuf, u16 length)
+static void rtl8723bs_c2h_packet_handler(struct adapter *padapter, u8 *pbuf,
+ u16 length)
{
u8 *tmp = NULL;
u8 res = false;
@@ -201,9 +199,8 @@ static inline bool rx_crc_err(struct recv_priv *precvpriv,
return false;
}
-static inline bool pkt_exceeds_tail(struct recv_priv *precvpriv,
- u8 *end, u8 *tail,
- union recv_frame *precvframe)
+static inline bool pkt_exceeds_tail(struct recv_priv *precvpriv, u8 *end,
+ u8 *tail, union recv_frame *precvframe)
{
if (end > tail) {
rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue);
@@ -215,8 +212,8 @@ static inline bool pkt_exceeds_tail(struct recv_priv *precvpriv,
static void rtl8723bs_recv_tasklet(struct tasklet_struct *t)
{
- struct adapter *padapter = from_tasklet(padapter, t,
- recvpriv.recv_tasklet);
+ struct adapter *padapter =
+ from_tasklet(padapter, t, recvpriv.recv_tasklet);
struct hal_com_data *p_hal_data;
struct recv_priv *precvpriv;
struct recv_buf *precvbuf;
@@ -250,14 +247,13 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t)
pattrib = &precvframe->u.hdr.attrib;
- if (rx_crc_err(precvpriv, p_hal_data,
- pattrib, precvframe))
+ if (rx_crc_err(precvpriv, p_hal_data, pattrib,
+ precvframe))
break;
rx_report_sz = RXDESC_SIZE + pattrib->drvinfo_sz;
- pkt_offset = rx_report_sz +
- pattrib->shift_sz +
- pattrib->pkt_len;
+ pkt_offset = rx_report_sz + pattrib->shift_sz +
+ pattrib->pkt_len;
if (pkt_exceeds_tail(precvpriv, ptr + pkt_offset,
precvbuf->ptail, precvframe))
@@ -269,7 +265,7 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t)
} else {
/* Modified by Albert 20101213 */
/* For 8 bytes IP header alignment. */
- if (pattrib->qos) /* Qos data, wireless lan header length is 26 */
+ if (pattrib->qos) /* Qos data, wireless lan header length is 26 */
shift_sz = 6;
else
shift_sz = 0;
@@ -278,7 +274,8 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t)
/* for first fragment packet, driver need allocate 1536+drvinfo_sz+RXDESC_SIZE to defrag packet. */
/* modify alloc_sz for recvive crc error packet by thomas 2011-06-02 */
- if ((pattrib->mfrag == 1) && (pattrib->frag_num == 0)) {
+ if ((pattrib->mfrag == 1) &&
+ (pattrib->frag_num == 0)) {
if (skb_len <= 1650)
alloc_sz = 1664;
else
@@ -290,59 +287,87 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t)
alloc_sz += 14;
}
- pkt_copy = __dev_alloc_skb(alloc_sz, GFP_ATOMIC);
+ pkt_copy =
+ __dev_alloc_skb(alloc_sz, GFP_ATOMIC);
if (!pkt_copy) {
- rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue);
+ rtw_free_recvframe(
+ precvframe,
+ &precvpriv->free_recv_queue);
break;
}
pkt_copy->dev = padapter->pnetdev;
precvframe->u.hdr.pkt = pkt_copy;
- skb_reserve(pkt_copy, 8 - ((SIZE_PTR)(pkt_copy->data) & 7));/* force pkt_copy->data at 8-byte alignment address */
- skb_reserve(pkt_copy, shift_sz);/* force ip_hdr at 8-byte alignment address according to shift_sz. */
- memcpy(pkt_copy->data, (ptr + rx_report_sz + pattrib->shift_sz), skb_len);
+ skb_reserve(
+ pkt_copy,
+ 8 - ((SIZE_PTR)(pkt_copy->data) &
+ 7)); /* force pkt_copy->data at 8-byte alignment address */
+ skb_reserve(
+ pkt_copy,
+ shift_sz); /* force ip_hdr at 8-byte alignment address according to shift_sz. */
+ memcpy(pkt_copy->data,
+ (ptr + rx_report_sz + pattrib->shift_sz),
+ skb_len);
precvframe->u.hdr.rx_head = pkt_copy->head;
- precvframe->u.hdr.rx_data = precvframe->u.hdr.rx_tail = pkt_copy->data;
- precvframe->u.hdr.rx_end = skb_end_pointer(pkt_copy);
+ precvframe->u.hdr.rx_data =
+ precvframe->u.hdr.rx_tail =
+ pkt_copy->data;
+ precvframe->u.hdr.rx_end =
+ skb_end_pointer(pkt_copy);
recvframe_put(precvframe, skb_len);
/* recvframe_pull(precvframe, drvinfo_sz + RXDESC_SIZE); */
if (p_hal_data->ReceiveConfig & RCR_APPFCS)
- recvframe_pull_tail(precvframe, IEEE80211_FCS_LEN);
+ recvframe_pull_tail(precvframe,
+ IEEE80211_FCS_LEN);
/* move to drv info position */
ptr += RXDESC_SIZE;
/* update drv info */
- if (p_hal_data->ReceiveConfig & RCR_APP_BA_SSN) {
+ if (p_hal_data->ReceiveConfig &
+ RCR_APP_BA_SSN) {
/* rtl8723s_update_bassn(padapter, pdrvinfo); */
ptr += 4;
}
- if (pattrib->pkt_rpt_type == NORMAL_RX) { /* Normal rx packet */
+ if (pattrib->pkt_rpt_type ==
+ NORMAL_RX) { /* Normal rx packet */
if (pattrib->physt)
- update_recvframe_phyinfo(precvframe, (struct phy_stat *)ptr);
+ update_recvframe_phyinfo(
+ precvframe,
+ (struct phy_stat *)ptr);
rtw_recv_entry(precvframe);
- } else if (pattrib->pkt_rpt_type == C2H_PACKET) {
- struct c2h_evt_hdr_t C2hEvent;
+ } else if (pattrib->pkt_rpt_type ==
+ C2H_PACKET) {
+ struct c2h_evt_hdr_t C2hEvent;
u16 len_c2h = pattrib->pkt_len;
- u8 *pbuf_c2h = precvframe->u.hdr.rx_data;
+ u8 *pbuf_c2h =
+ precvframe->u.hdr.rx_data;
u8 *pdata_c2h;
C2hEvent.CmdID = pbuf_c2h[0];
C2hEvent.CmdSeq = pbuf_c2h[1];
- C2hEvent.CmdLen = (len_c2h-2);
- pdata_c2h = pbuf_c2h+2;
+ C2hEvent.CmdLen = (len_c2h - 2);
+ pdata_c2h = pbuf_c2h + 2;
if (C2hEvent.CmdID == C2H_CCX_TX_RPT)
- CCX_FwC2HTxRpt_8723b(padapter, pdata_c2h, C2hEvent.CmdLen);
+ CCX_FwC2HTxRpt_8723b(
+ padapter, pdata_c2h,
+ C2hEvent.CmdLen);
else
- rtl8723bs_c2h_packet_handler(padapter, precvframe->u.hdr.rx_data, pattrib->pkt_len);
-
- rtw_free_recvframe(precvframe, &precvpriv->free_recv_queue);
+ rtl8723bs_c2h_packet_handler(
+ padapter,
+ precvframe->u.hdr
+ .rx_data,
+ pattrib->pkt_len);
+
+ rtw_free_recvframe(
+ precvframe,
+ &precvpriv->free_recv_queue);
}
}
@@ -386,7 +411,8 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter)
goto exit;
}
- precvpriv->precv_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(precvpriv->pallocated_recv_buf), 4);
+ precvpriv->precv_buf = (u8 *)N_BYTE_ALIGMENT(
+ (SIZE_PTR)(precvpriv->pallocated_recv_buf), 4);
/* init each recv buffer */
precvbuf = (struct recv_buf *)precvpriv->precv_buf;
@@ -397,17 +423,20 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter)
SIZE_PTR tmpaddr = 0;
SIZE_PTR alignment = 0;
- precvbuf->pskb = __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_ATOMIC);
+ precvbuf->pskb = __dev_alloc_skb(
+ MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_ATOMIC);
if (precvbuf->pskb) {
precvbuf->pskb->dev = padapter->pnetdev;
tmpaddr = (SIZE_PTR)precvbuf->pskb->data;
- alignment = tmpaddr & (RECVBUFF_ALIGN_SZ-1);
- skb_reserve(precvbuf->pskb, (RECVBUFF_ALIGN_SZ - alignment));
+ alignment = tmpaddr & (RECVBUFF_ALIGN_SZ - 1);
+ skb_reserve(precvbuf->pskb,
+ (RECVBUFF_ALIGN_SZ - alignment));
}
}
- list_add_tail(&precvbuf->list, &precvpriv->free_recv_buf_queue.queue);
+ list_add_tail(&precvbuf->list,
+ &precvpriv->free_recv_buf_queue.queue);
precvbuf++;
}
@@ -426,7 +455,7 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter)
if (precvbuf) {
n = precvpriv->free_recv_buf_queue_cnt;
precvpriv->free_recv_buf_queue_cnt = 0;
- for (i = 0; i < n ; i++) {
+ for (i = 0; i < n; i++) {
list_del_init(&precvbuf->list);
if (precvbuf->pskb)
dev_kfree_skb_any(precvbuf->pskb);
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
index e40f69c13c44f..2d60f137688fa 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
@@ -14,10 +14,7 @@ static u8 rtw_sdio_wait_enough_TxOQT_space(struct adapter *padapter, u8 agg_num)
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
while (pHalData->SdioTxOQTFreeSpace < agg_num) {
- if (
- (padapter->bSurpriseRemoved) ||
- (padapter->bDriverStopped)
- )
+ if ((padapter->bSurpriseRemoved) || (padapter->bDriverStopped))
return false;
HalQueryTxOQTBufferStatus8723BSdio(padapter);
@@ -74,7 +71,8 @@ static s32 rtl8723_dequeue_writeport(struct adapter *padapter)
query_free_page:
/* check if hardware tx fifo page is enough */
- if (!rtw_hal_sdio_query_tx_freepage(pri_padapter, PageIdx, pxmitbuf->pg_num)) {
+ if (!rtw_hal_sdio_query_tx_freepage(pri_padapter, PageIdx,
+ pxmitbuf->pg_num)) {
if (!bUpdatePageNum) {
/* Total page count is not available, so update current FIFO status */
HalQueryTxBufferStatus8723BSdio(padapter);
@@ -87,10 +85,7 @@ static s32 rtl8723_dequeue_writeport(struct adapter *padapter)
}
}
- if (
- (padapter->bSurpriseRemoved) ||
- (padapter->bDriverStopped)
- )
+ if ((padapter->bSurpriseRemoved) || (padapter->bDriverStopped))
goto free_xmitbuf;
if (!rtw_sdio_wait_enough_TxOQT_space(padapter, pxmitbuf->agg_num))
@@ -100,7 +95,8 @@ static s32 rtl8723_dequeue_writeport(struct adapter *padapter)
rtw_write_port(padapter, deviceId, pxmitbuf->len, (u8 *)pxmitbuf);
- rtw_hal_sdio_update_tx_freepage(pri_padapter, PageIdx, pxmitbuf->pg_num);
+ rtw_hal_sdio_update_tx_freepage(pri_padapter, PageIdx,
+ pxmitbuf->pg_num);
free_xmitbuf:
/* rtw_free_xmitframe(pxmitpriv, pframe); */
@@ -146,7 +142,7 @@ s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter)
do {
queue_empty = rtl8723_dequeue_writeport(padapter);
-/* dump secondary adapter xmitbuf */
+ /* dump secondary adapter xmitbuf */
} while (!queue_empty);
rtw_unregister_tx_alive(padapter);
@@ -163,14 +159,16 @@ s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter)
*-1 Hardware resource(TX FIFO) not ready
*-2 Software resource(xmitbuf) not ready
*/
-static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv)
+static s32 xmit_xmitframes(struct adapter *padapter,
+ struct xmit_priv *pxmitpriv)
{
s32 err, ret;
u32 k = 0;
struct hw_xmit *hwxmits, *phwxmit;
u8 idx, hwentry;
struct tx_servq *ptxservq;
- struct list_head *sta_plist, *sta_phead, *frame_plist, *frame_phead, *tmp;
+ struct list_head *sta_plist, *sta_phead, *frame_plist, *frame_phead,
+ *tmp;
struct xmit_frame *pxmitframe;
struct __queue *pframe_queue;
struct xmit_buf *pxmitbuf;
@@ -200,17 +198,17 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv
for (idx = 0; idx < hwentry; idx++) {
phwxmit = hwxmits + inx[idx];
- if (
- (check_pending_xmitbuf(pxmitpriv)) &&
- (padapter->mlmepriv.link_detect_info.higher_busy_tx_traffic)
- ) {
+ if ((check_pending_xmitbuf(pxmitpriv)) &&
+ (padapter->mlmepriv.link_detect_info
+ .higher_busy_tx_traffic)) {
if ((phwxmit->accnt > 0) && (phwxmit->accnt < 5)) {
err = -2;
break;
}
}
- max_xmit_len = rtw_hal_get_sdio_tx_max_length(padapter, inx[idx]);
+ max_xmit_len =
+ rtw_hal_get_sdio_tx_max_length(padapter, inx[idx]);
spin_lock_bh(&pxmitpriv->lock);
@@ -227,48 +225,66 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv
while (!list_empty(frame_phead)) {
frame_plist = get_next(frame_phead);
- pxmitframe = container_of(frame_plist, struct xmit_frame, list);
+ pxmitframe = container_of(
+ frame_plist, struct xmit_frame, list);
/* check xmit_buf size enough or not */
- txlen = txdesc_size + rtw_wlan_pkt_size(pxmitframe);
+ txlen = txdesc_size +
+ rtw_wlan_pkt_size(pxmitframe);
if (!pxmitbuf ||
- ((_RND(pxmitbuf->len, 8) + txlen) > max_xmit_len) ||
- (k >= (rtw_hal_sdio_max_txoqt_free_space(padapter) - 1))
- ) {
+ ((_RND(pxmitbuf->len, 8) + txlen) >
+ max_xmit_len) ||
+ (k >= (rtw_hal_sdio_max_txoqt_free_space(
+ padapter) -
+ 1))) {
if (pxmitbuf) {
/* pxmitbuf->priv_data will be NULL, and will crash here */
if (pxmitbuf->len > 0 &&
pxmitbuf->priv_data) {
- struct xmit_frame *pframe;
+ struct xmit_frame
+ *pframe;
- pframe = (struct xmit_frame *)pxmitbuf->priv_data;
+ pframe =
+ (struct xmit_frame
+ *)pxmitbuf
+ ->priv_data;
pframe->agg_num = k;
pxmitbuf->agg_num = k;
- rtl8723b_update_txdesc(pframe, pframe->buf_addr);
- rtw_free_xmitframe(pxmitpriv, pframe);
- pxmitbuf->priv_data = NULL;
- enqueue_pending_xmitbuf(pxmitpriv, pxmitbuf);
+ rtl8723b_update_txdesc(
+ pframe,
+ pframe->buf_addr);
+ rtw_free_xmitframe(
+ pxmitpriv,
+ pframe);
+ pxmitbuf->priv_data =
+ NULL;
+ enqueue_pending_xmitbuf(
+ pxmitpriv,
+ pxmitbuf);
/* can not yield under lock */
/* yield(); */
} else
- rtw_free_xmitbuf(pxmitpriv, pxmitbuf);
+ rtw_free_xmitbuf(
+ pxmitpriv,
+ pxmitbuf);
}
pxmitbuf = rtw_alloc_xmitbuf(pxmitpriv);
if (!pxmitbuf) {
err = -2;
- complete(&(pxmitpriv->xmit_comp));
+ complete(&(
+ pxmitpriv->xmit_comp));
break;
}
k = 0;
}
/* ok to send, remove frame from queue */
- if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE))
- if (
- (pxmitframe->attrib.psta->state & WIFI_SLEEP_STATE) &&
- (pxmitframe->attrib.triggered == 0)
- )
+ if (check_fwstate(&padapter->mlmepriv,
+ WIFI_AP_STATE))
+ if ((pxmitframe->attrib.psta->state &
+ WIFI_SLEEP_STATE) &&
+ (pxmitframe->attrib.triggered == 0))
break;
list_del_init(&pxmitframe->list);
@@ -276,7 +292,8 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv
phwxmit->accnt--;
if (k == 0) {
- pxmitbuf->ff_hwaddr = rtw_get_ff_hwaddr(pxmitframe);
+ pxmitbuf->ff_hwaddr =
+ rtw_get_ff_hwaddr(pxmitframe);
pxmitbuf->priv_data = (u8 *)pxmitframe;
}
@@ -284,27 +301,39 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv
pxmitframe->pxmitbuf = pxmitbuf;
pxmitframe->buf_addr = pxmitbuf->ptail;
- ret = rtw_xmitframe_coalesce(padapter, pxmitframe->pkt, pxmitframe);
+ ret = rtw_xmitframe_coalesce(
+ padapter, pxmitframe->pkt, pxmitframe);
if (ret != _SUCCESS) {
- netdev_err(padapter->pnetdev,
- "%s: coalesce failed with error %d\n",
- __func__, ret);
+ netdev_err(
+ padapter->pnetdev,
+ "%s: coalesce failed with error %d\n",
+ __func__, ret);
/* Todo: error handler */
} else {
k++;
if (k != 1)
- rtl8723b_update_txdesc(pxmitframe, pxmitframe->buf_addr);
- rtw_count_tx_stats(padapter, pxmitframe, pxmitframe->attrib.last_txcmdsz);
-
- txlen = txdesc_size + pxmitframe->attrib.last_txcmdsz;
- pxmitframe->pg_num = (txlen + 127) / 128;
+ rtl8723b_update_txdesc(
+ pxmitframe,
+ pxmitframe->buf_addr);
+ rtw_count_tx_stats(
+ padapter, pxmitframe,
+ pxmitframe->attrib.last_txcmdsz);
+
+ txlen = txdesc_size +
+ pxmitframe->attrib.last_txcmdsz;
+ pxmitframe->pg_num =
+ (txlen + 127) / 128;
pxmitbuf->pg_num += (txlen + 127) / 128;
- pxmitbuf->ptail += _RND(txlen, 8); /* round to 8 bytes alignment */
- pxmitbuf->len = _RND(pxmitbuf->len, 8) + txlen;
+ pxmitbuf->ptail += _RND(
+ txlen,
+ 8); /* round to 8 bytes alignment */
+ pxmitbuf->len =
+ _RND(pxmitbuf->len, 8) + txlen;
}
if (k != 1)
- rtw_free_xmitframe(pxmitpriv, pxmitframe);
+ rtw_free_xmitframe(pxmitpriv,
+ pxmitframe);
pxmitframe = NULL;
}
@@ -321,10 +350,12 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv
if (pxmitbuf->len > 0) {
struct xmit_frame *pframe;
- pframe = (struct xmit_frame *)pxmitbuf->priv_data;
+ pframe = (struct xmit_frame *)
+ pxmitbuf->priv_data;
pframe->agg_num = k;
pxmitbuf->agg_num = k;
- rtl8723b_update_txdesc(pframe, pframe->buf_addr);
+ rtl8723b_update_txdesc(pframe,
+ pframe->buf_addr);
rtw_free_xmitframe(pxmitpriv, pframe);
pxmitbuf->priv_data = NULL;
enqueue_pending_xmitbuf(pxmitpriv, pxmitbuf);
@@ -361,10 +392,7 @@ static s32 rtl8723bs_xmit_handler(struct adapter *padapter)
}
next:
- if (
- (padapter->bDriverStopped) ||
- (padapter->bSurpriseRemoved)
- )
+ if ((padapter->bDriverStopped) || (padapter->bSurpriseRemoved))
return _FAIL;
spin_lock_bh(&pxmitpriv->lock);
@@ -416,9 +444,7 @@ int rtl8723bs_xmit_thread(void *context)
return 0;
}
-s32 rtl8723bs_mgnt_xmit(
- struct adapter *padapter, struct xmit_frame *pmgntframe
-)
+s32 rtl8723bs_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe)
{
s32 ret = _SUCCESS;
struct pkt_attrib *pattrib = &pmgntframe->attrib;
@@ -431,7 +457,8 @@ s32 rtl8723bs_mgnt_xmit(
rtl8723b_update_txdesc(pmgntframe, pmgntframe->buf_addr);
pxmitbuf->len = txdesc_size + pattrib->last_txcmdsz;
- pxmitbuf->pg_num = (pxmitbuf->len + 127) / 128; /* 128 is tx page size */
+ pxmitbuf->pg_num =
+ (pxmitbuf->len + 127) / 128; /* 128 is tx page size */
pxmitbuf->ptail = pmgntframe->buf_addr + pxmitbuf->len;
pxmitbuf->ff_hwaddr = rtw_get_ff_hwaddr(pmgntframe);
@@ -442,9 +469,12 @@ s32 rtl8723bs_mgnt_xmit(
pxmitbuf->priv_data = NULL;
if (GetFrameSubType(pframe) == WIFI_BEACON) { /* dump beacon directly */
- ret = rtw_write_port(padapter, pdvobjpriv->Queue2Pipe[pxmitbuf->ff_hwaddr], pxmitbuf->len, (u8 *)pxmitbuf);
+ ret = rtw_write_port(
+ padapter, pdvobjpriv->Queue2Pipe[pxmitbuf->ff_hwaddr],
+ pxmitbuf->len, (u8 *)pxmitbuf);
if (ret != _SUCCESS)
- rtw_sctx_done_err(&pxmitbuf->sctx, RTW_SCTX_DONE_WRITE_PORT_ERR);
+ rtw_sctx_done_err(&pxmitbuf->sctx,
+ RTW_SCTX_DONE_WRITE_PORT_ERR);
rtw_free_xmitbuf(pxmitpriv, pxmitbuf);
} else
@@ -461,9 +491,7 @@ s32 rtl8723bs_mgnt_xmit(
* true dump packet directly ok
* false enqueue, temporary can't transmit packets to hardware
*/
-s32 rtl8723bs_hal_xmit(
- struct adapter *padapter, struct xmit_frame *pxmitframe
-)
+s32 rtl8723bs_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe)
{
struct xmit_priv *pxmitpriv;
s32 err;
@@ -471,12 +499,10 @@ s32 rtl8723bs_hal_xmit(
pxmitframe->attrib.qsel = pxmitframe->attrib.priority;
pxmitpriv = &padapter->xmitpriv;
- if (
- (pxmitframe->frame_tag == DATA_FRAMETAG) &&
- (pxmitframe->attrib.ether_type != 0x0806) &&
- (pxmitframe->attrib.ether_type != 0x888e) &&
- (pxmitframe->attrib.dhcp_pkt != 1)
- ) {
+ if ((pxmitframe->frame_tag == DATA_FRAMETAG) &&
+ (pxmitframe->attrib.ether_type != 0x0806) &&
+ (pxmitframe->attrib.ether_type != 0x888e) &&
+ (pxmitframe->attrib.dhcp_pkt != 1)) {
if (padapter->mlmepriv.link_detect_info.busy_traffic)
rtw_issue_addbareq_cmd(padapter, pxmitframe);
}
@@ -496,9 +522,8 @@ s32 rtl8723bs_hal_xmit(
return false;
}
-s32 rtl8723bs_hal_xmitframe_enqueue(
- struct adapter *padapter, struct xmit_frame *pxmitframe
-)
+s32 rtl8723bs_hal_xmitframe_enqueue(struct adapter *padapter,
+ struct xmit_frame *pxmitframe)
{
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
s32 err;
@@ -513,7 +538,6 @@ s32 rtl8723bs_hal_xmitframe_enqueue(
}
return err;
-
}
/*
@@ -562,7 +586,8 @@ void rtl8723bs_free_xmit_priv(struct adapter *padapter)
list_del_init(plist);
pxmitbuf = container_of(plist, struct xmit_buf, list);
- rtw_free_xmitframe(pxmitpriv, (struct xmit_frame *)pxmitbuf->priv_data);
+ rtw_free_xmitframe(pxmitpriv,
+ (struct xmit_frame *)pxmitbuf->priv_data);
pxmitbuf->priv_data = NULL;
rtw_free_xmitbuf(pxmitpriv, pxmitbuf);
}
diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c
index ed9b8fb07fec2..ca3d7e9a533f4 100644
--- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c
+++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c
@@ -27,10 +27,13 @@ static u8 CardEnable(struct adapter *padapter)
/* unlock ISO/CLK/Power control register */
rtw_write8(padapter, REG_RSV_CTRL, 0x0);
- ret = HalPwrSeqCmdParsing(padapter, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, rtl8723B_card_enable_flow);
+ ret = HalPwrSeqCmdParsing(padapter, PWR_CUT_ALL_MSK,
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK,
+ rtl8723B_card_enable_flow);
if (ret == _SUCCESS) {
bMacPwrCtrlOn = true;
- rtw_hal_set_hwreg(padapter, HW_VAR_APFM_ON_MAC, &bMacPwrCtrlOn);
+ rtw_hal_set_hwreg(padapter, HW_VAR_APFM_ON_MAC,
+ &bMacPwrCtrlOn);
}
} else
ret = _SUCCESS;
@@ -38,8 +41,7 @@ static u8 CardEnable(struct adapter *padapter)
return ret;
}
-static
-u8 _InitPowerOn_8723BS(struct adapter *padapter)
+static u8 _InitPowerOn_8723BS(struct adapter *padapter)
{
u8 value8;
u16 value16;
@@ -69,16 +71,8 @@ u8 _InitPowerOn_8723BS(struct adapter *padapter)
rtw_write8(padapter, REG_CR, 0x00);
/* Enable MAC DMA/WMAC/SCHEDULE/SEC block */
value16 = rtw_read16(padapter, REG_CR);
- value16 |= (
- HCI_TXDMA_EN |
- HCI_RXDMA_EN |
- TXDMA_EN |
- RXDMA_EN |
- PROTOCOL_EN |
- SCHEDULE_EN |
- ENSEC |
- CALTMR_EN
- );
+ value16 |= (HCI_TXDMA_EN | HCI_RXDMA_EN | TXDMA_EN | RXDMA_EN |
+ PROTOCOL_EN | SCHEDULE_EN | ENSEC | CALTMR_EN);
rtw_write16(padapter, REG_CR, value16);
hal_btcoex_PowerOnSetting(padapter);
@@ -97,14 +91,16 @@ u8 _InitPowerOn_8723BS(struct adapter *padapter)
rtw_write32(padapter, REG_LEDCFG0, value32);
value8 = rtw_read8(padapter, REG_PAD_CTRL1_8723B);
- value8 &= ~BIT(0); /* BIT_SW_DPDT_SEL_DATA, DPDT_SEL default configuration */
+ value8 &= ~BIT(
+ 0); /* BIT_SW_DPDT_SEL_DATA, DPDT_SEL default configuration */
rtw_write8(padapter, REG_PAD_CTRL1_8723B, value8);
return _SUCCESS;
}
/* Tx Page FIFO threshold */
-static void _init_available_page_threshold(struct adapter *padapter, u8 numHQ, u8 numNQ, u8 numLQ, u8 numPubQ)
+static void _init_available_page_threshold(struct adapter *padapter, u8 numHQ,
+ u8 numNQ, u8 numLQ, u8 numPubQ)
{
u16 HQ_threshold, NQ_threshold, LQ_threshold;
@@ -132,17 +128,20 @@ static void _InitQueueReservedPage(struct adapter *padapter)
u32 numPubQ;
u32 value32;
u8 value8;
- bool bWiFiConfig = pregistrypriv->wifi_spec;
+ bool bWiFiConfig = pregistrypriv->wifi_spec;
if (pHalData->OutEpQueueSel & TX_SELE_HQ)
- numHQ = bWiFiConfig ? WMM_NORMAL_PAGE_NUM_HPQ_8723B : NORMAL_PAGE_NUM_HPQ_8723B;
+ numHQ = bWiFiConfig ? WMM_NORMAL_PAGE_NUM_HPQ_8723B :
+ NORMAL_PAGE_NUM_HPQ_8723B;
if (pHalData->OutEpQueueSel & TX_SELE_LQ)
- numLQ = bWiFiConfig ? WMM_NORMAL_PAGE_NUM_LPQ_8723B : NORMAL_PAGE_NUM_LPQ_8723B;
+ numLQ = bWiFiConfig ? WMM_NORMAL_PAGE_NUM_LPQ_8723B :
+ NORMAL_PAGE_NUM_LPQ_8723B;
/* NOTE: This step shall be proceed before writing REG_RQPN. */
if (pHalData->OutEpQueueSel & TX_SELE_NQ)
- numNQ = bWiFiConfig ? WMM_NORMAL_PAGE_NUM_NPQ_8723B : NORMAL_PAGE_NUM_NPQ_8723B;
+ numNQ = bWiFiConfig ? WMM_NORMAL_PAGE_NUM_NPQ_8723B :
+ NORMAL_PAGE_NUM_NPQ_8723B;
numPubQ = TX_TOTAL_PAGE_NUMBER_8723B - numHQ - numLQ - numNQ;
@@ -179,25 +178,15 @@ static void _InitTxBufferBoundary(struct adapter *padapter)
rtw_write8(padapter, REG_TDECTRL + 1, txpktbuf_bndy);
}
-static void _InitNormalChipRegPriority(
- struct adapter *Adapter,
- u16 beQ,
- u16 bkQ,
- u16 viQ,
- u16 voQ,
- u16 mgtQ,
- u16 hiQ
-)
+static void _InitNormalChipRegPriority(struct adapter *Adapter, u16 beQ,
+ u16 bkQ, u16 viQ, u16 voQ, u16 mgtQ,
+ u16 hiQ)
{
u16 value16 = (rtw_read16(Adapter, REG_TRXDMA_CTRL) & 0x7);
- value16 |=
- _TXDMA_BEQ_MAP(beQ) |
- _TXDMA_BKQ_MAP(bkQ) |
- _TXDMA_VIQ_MAP(viQ) |
- _TXDMA_VOQ_MAP(voQ) |
- _TXDMA_MGQ_MAP(mgtQ) |
- _TXDMA_HIQ_MAP(hiQ);
+ value16 |= _TXDMA_BEQ_MAP(beQ) | _TXDMA_BKQ_MAP(bkQ) |
+ _TXDMA_VIQ_MAP(viQ) | _TXDMA_VOQ_MAP(voQ) |
+ _TXDMA_MGQ_MAP(mgtQ) | _TXDMA_HIQ_MAP(hiQ);
rtw_write16(Adapter, REG_TRXDMA_CTRL, value16);
}
@@ -222,10 +211,8 @@ static void _InitNormalChipOneOutEpPriority(struct adapter *Adapter)
break;
}
- _InitNormalChipRegPriority(
- Adapter, value, value, value, value, value, value
- );
-
+ _InitNormalChipRegPriority(Adapter, value, value, value, value, value,
+ value);
}
static void _InitNormalChipTwoOutEpPriority(struct adapter *Adapter)
@@ -272,7 +259,6 @@ static void _InitNormalChipTwoOutEpPriority(struct adapter *Adapter)
}
_InitNormalChipRegPriority(Adapter, beQ, bkQ, viQ, voQ, mgtQ, hiQ);
-
}
static void _InitNormalChipThreeOutEpPriority(struct adapter *padapter)
@@ -365,12 +351,14 @@ static void _InitWMACSetting(struct adapter *padapter)
pHalData->ReceiveConfig |= RCR_APM | RCR_AM | RCR_AB;
pHalData->ReceiveConfig |= RCR_CBSSID_DATA | RCR_CBSSID_BCN | RCR_AMF;
pHalData->ReceiveConfig |= RCR_HTC_LOC_CTRL;
- pHalData->ReceiveConfig |= RCR_APP_PHYST_RXFF | RCR_APP_ICV | RCR_APP_MIC;
+ pHalData->ReceiveConfig |= RCR_APP_PHYST_RXFF | RCR_APP_ICV |
+ RCR_APP_MIC;
rtw_write32(padapter, REG_RCR, pHalData->ReceiveConfig);
/* Accept all multicast address */
- rtw_write32(padapter, REG_MAR, 0xFFFFFFFF); /* Offset 0x0620-0x0623 */
- rtw_write32(padapter, REG_MAR + 4, 0xFFFFFFFF); /* Offset 0x0624-0x0627 */
+ rtw_write32(padapter, REG_MAR, 0xFFFFFFFF); /* Offset 0x0620-0x0623 */
+ rtw_write32(padapter, REG_MAR + 4,
+ 0xFFFFFFFF); /* Offset 0x0624-0x0627 */
/* Accept all data frames */
value16 = 0xFFFF;
@@ -454,8 +442,8 @@ static void sdio_AggSettingRxUpdate(struct adapter *padapter)
{
u8 valueDMA;
u8 valueRxAggCtrl = 0;
- u8 aggBurstNum = 3; /* 0:1, 1:2, 2:3, 3:4 */
- u8 aggBurstSize = 0; /* 0:1K, 1:512Byte, 2:256Byte... */
+ u8 aggBurstNum = 3; /* 0:1, 1:2, 2:3, 3:4 */
+ u8 aggBurstSize = 0; /* 0:1K, 1:512Byte, 2:256Byte... */
valueDMA = rtw_read8(padapter, REG_TRXDMA_CTRL);
valueDMA |= RXDMA_AGG_EN;
@@ -464,12 +452,13 @@ static void sdio_AggSettingRxUpdate(struct adapter *padapter)
valueRxAggCtrl |= RXDMA_AGG_MODE_EN;
valueRxAggCtrl |= ((aggBurstNum << 2) & 0x0C);
valueRxAggCtrl |= ((aggBurstSize << 4) & 0x30);
- rtw_write8(padapter, REG_RXDMA_MODE_CTRL_8723B, valueRxAggCtrl);/* RxAggLowThresh = 4*1K */
+ rtw_write8(padapter, REG_RXDMA_MODE_CTRL_8723B,
+ valueRxAggCtrl); /* RxAggLowThresh = 4*1K */
}
static void _initSdioAggregationSetting(struct adapter *padapter)
{
- struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
+ struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
/* Rx aggregation setting */
HalRxAggr8723BSdio(padapter);
@@ -512,7 +501,6 @@ static void _InitOperationMode(struct adapter *padapter)
}
rtw_write8(padapter, REG_BWOPMODE, regBwOpMode);
-
}
static void _InitInterrupt(struct adapter *padapter)
@@ -533,12 +521,12 @@ static void _InitRFType(struct adapter *padapter)
{
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
- pHalData->rf_chip = RF_6052;
+ pHalData->rf_chip = RF_6052;
}
static void _RfPowerSave(struct adapter *padapter)
{
-/* YJ, TODO */
+ /* YJ, TODO */
}
/* */
@@ -550,7 +538,8 @@ static bool HalDetectPwrDownMode(struct adapter *Adapter)
struct hal_com_data *pHalData = GET_HAL_DATA(Adapter);
struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(Adapter);
- rtw_efuse_shadow_read(Adapter, 1, 0x7B/*EEPROM_RF_OPT3_92C*/, (u32 *)&tmpvalue);
+ rtw_efuse_shadow_read(Adapter, 1, 0x7B /*EEPROM_RF_OPT3_92C*/,
+ (u32 *)&tmpvalue);
/* 2010/08/25 MH INF priority > PDN Efuse value. */
if (tmpvalue & BIT(4) && pwrctrlpriv->reg_pdnmode)
@@ -559,7 +548,7 @@ static bool HalDetectPwrDownMode(struct adapter *Adapter)
pHalData->pwrdown = false;
return pHalData->pwrdown;
-} /* HalDetectPwrDownMode */
+} /* HalDetectPwrDownMode */
u32 rtl8723bs_hal_init(struct adapter *padapter)
{
@@ -593,7 +582,6 @@ u32 rtl8723bs_hal_init(struct adapter *padapter)
/* do polling cpwm */
start_time = jiffies;
do {
-
mdelay(1);
rtw_hal_get_hwreg(padapter, HW_VAR_CPWM, &cpwm_now);
@@ -668,10 +656,10 @@ u32 rtl8723bs_hal_init(struct adapter *padapter)
/* */
/* Joseph Note: Keep RfRegChnlVal for later use. */
/* */
- pHalData->RfRegChnlVal[0] =
- PHY_QueryRFReg(padapter, (enum rf_path)0, RF_CHNLBW, bRFRegOffsetMask);
- pHalData->RfRegChnlVal[1] =
- PHY_QueryRFReg(padapter, (enum rf_path)1, RF_CHNLBW, bRFRegOffsetMask);
+ pHalData->RfRegChnlVal[0] = PHY_QueryRFReg(padapter, (enum rf_path)0,
+ RF_CHNLBW, bRFRegOffsetMask);
+ pHalData->RfRegChnlVal[1] = PHY_QueryRFReg(padapter, (enum rf_path)1,
+ RF_CHNLBW, bRFRegOffsetMask);
_InitQueueReservedPage(padapter);
_InitTxBufferBoundary(padapter);
@@ -701,16 +689,19 @@ u32 rtl8723bs_hal_init(struct adapter *padapter)
_InitBurstPktLen_8723BS(padapter);
/* YJ, TODO */
- rtw_write8(padapter, REG_SECONDARY_CCA_CTRL_8723B, 0x3); /* CCA */
- rtw_write8(padapter, 0x976, 0); /* hpfan_todo: 2nd CCA related */
+ rtw_write8(padapter, REG_SECONDARY_CCA_CTRL_8723B, 0x3); /* CCA */
+ rtw_write8(padapter, 0x976, 0); /* hpfan_todo: 2nd CCA related */
- rtw_write16(padapter, REG_PKT_VO_VI_LIFE_TIME, 0x0400); /* unit: 256us. 256ms */
- rtw_write16(padapter, REG_PKT_BE_BK_LIFE_TIME, 0x0400); /* unit: 256us. 256ms */
+ rtw_write16(padapter, REG_PKT_VO_VI_LIFE_TIME,
+ 0x0400); /* unit: 256us. 256ms */
+ rtw_write16(padapter, REG_PKT_BE_BK_LIFE_TIME,
+ 0x0400); /* unit: 256us. 256ms */
invalidate_cam_all(padapter);
rtw_hal_set_chnl_bw(padapter, padapter->registrypriv.channel,
- CHANNEL_WIDTH_20, HAL_PRIME_CHNL_OFFSET_DONT_CARE, HAL_PRIME_CHNL_OFFSET_DONT_CARE);
+ CHANNEL_WIDTH_20, HAL_PRIME_CHNL_OFFSET_DONT_CARE,
+ HAL_PRIME_CHNL_OFFSET_DONT_CARE);
rtl8723b_InitAntenna_Selection(padapter);
@@ -749,7 +740,8 @@ u32 rtl8723bs_hal_init(struct adapter *padapter)
rtw_hal_set_hwreg(padapter, HW_VAR_NAV_UPPER, (u8 *)&NavUpper);
/* ack for xmit mgmt frames. */
- rtw_write32(padapter, REG_FWHW_TXQ_CTRL, rtw_read32(padapter, REG_FWHW_TXQ_CTRL) | BIT(12));
+ rtw_write32(padapter, REG_FWHW_TXQ_CTRL,
+ rtw_read32(padapter, REG_FWHW_TXQ_CTRL) | BIT(12));
{
pwrctrlpriv->rf_pwrstate = rf_on;
@@ -767,7 +759,8 @@ u32 rtl8723bs_hal_init(struct adapter *padapter)
/* Inform WiFi FW that it is the beginning of IQK */
h2cCmdBuf = 1;
- FillH2CCmd8723B(padapter, H2C_8723B_BT_WLAN_CALIBRATION, 1, &h2cCmdBuf);
+ FillH2CCmd8723B(padapter, H2C_8723B_BT_WLAN_CALIBRATION,
+ 1, &h2cCmdBuf);
start_time = jiffies;
do {
@@ -781,14 +774,17 @@ u32 rtl8723bs_hal_init(struct adapter *padapter)
restore_iqk_rst = pwrpriv->bips_processing;
b2Ant = pHalData->EEPROMBluetoothAntNum == Ant_x2;
- PHY_IQCalibrate_8723B(padapter, false, restore_iqk_rst, b2Ant, pHalData->ant_path);
- pHalData->odmpriv.RFCalibrateInfo.bIQKInitialized = true;
+ PHY_IQCalibrate_8723B(padapter, false, restore_iqk_rst,
+ b2Ant, pHalData->ant_path);
+ pHalData->odmpriv.RFCalibrateInfo.bIQKInitialized =
+ true;
hal_btcoex_IQKNotify(padapter, false);
/* Inform WiFi FW that it is the finish of IQK */
h2cCmdBuf = 0;
- FillH2CCmd8723B(padapter, H2C_8723B_BT_WLAN_CALIBRATION, 1, &h2cCmdBuf);
+ FillH2CCmd8723B(padapter, H2C_8723B_BT_WLAN_CALIBRATION,
+ 1, &h2cCmdBuf);
ODM_TXPowerTrackingCheck(&pHalData->odmpriv);
}
@@ -812,7 +808,8 @@ static void CardDisableRTL8723BSdio(struct adapter *padapter)
u8 bMacPwrCtrlOn;
/* Run LPS WL RFOFF flow */
- HalPwrSeqCmdParsing(padapter, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, rtl8723B_enter_lps_flow);
+ HalPwrSeqCmdParsing(padapter, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK,
+ PWR_INTF_SDIO_MSK, rtl8723B_enter_lps_flow);
/* ==== Reset digital sequence ====== */
@@ -822,7 +819,7 @@ static void CardDisableRTL8723BSdio(struct adapter *padapter)
/* Reset MCU 0x2[10]= 0. Suggested by Filen. 2011.01.26. by tynli. */
val = rtw_read8(padapter, REG_SYS_FUNC_EN + 1);
- val &= ~BIT(2); /* 0x2[10], FEN_CPUEN */
+ val &= ~BIT(2); /* 0x2[10], FEN_CPUEN */
rtw_write8(padapter, REG_SYS_FUNC_EN + 1, val);
/* MCUFWDL 0x80[1:0]= 0 */
@@ -839,9 +836,10 @@ static void CardDisableRTL8723BSdio(struct adapter *padapter)
/* ==== Reset digital sequence end ====== */
- bMacPwrCtrlOn = false; /* Disable CMD53 R/W */
+ bMacPwrCtrlOn = false; /* Disable CMD53 R/W */
rtw_hal_set_hwreg(padapter, HW_VAR_APFM_ON_MAC, &bMacPwrCtrlOn);
- HalPwrSeqCmdParsing(padapter, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, rtl8723B_card_disable_flow);
+ HalPwrSeqCmdParsing(padapter, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK,
+ PWR_INTF_SDIO_MSK, rtl8723B_card_disable_flow);
}
u32 rtl8723bs_hal_deinit(struct adapter *padapter)
@@ -862,14 +860,22 @@ u32 rtl8723bs_hal_deinit(struct adapter *padapter)
/* H2C done, enter 32k */
if (val8 == 0) {
/* set rpwm to enter 32k */
- val8 = rtw_read8(padapter, SDIO_LOCAL_BASE | SDIO_REG_HRPWM1);
+ val8 = rtw_read8(
+ padapter,
+ SDIO_LOCAL_BASE |
+ SDIO_REG_HRPWM1);
val8 += 0x80;
val8 |= BIT(0);
- rtw_write8(padapter, SDIO_LOCAL_BASE | SDIO_REG_HRPWM1, val8);
- adapter_to_pwrctl(padapter)->tog = (val8 + 0x80) & 0x80;
+ rtw_write8(padapter,
+ SDIO_LOCAL_BASE |
+ SDIO_REG_HRPWM1,
+ val8);
+ adapter_to_pwrctl(padapter)->tog =
+ (val8 + 0x80) & 0x80;
cnt = val8 = 0;
do {
- val8 = rtw_read8(padapter, REG_CR);
+ val8 = rtw_read8(padapter,
+ REG_CR);
cnt++;
mdelay(10);
} while (cnt < 100 && (val8 != 0xEA));
@@ -961,9 +967,8 @@ static void _ReadRFType(struct adapter *Adapter)
pHalData->rf_chip = RF_6052;
}
-static void Hal_EfuseParseMACAddr_8723BS(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+static void Hal_EfuseParseMACAddr_8723BS(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
@@ -971,20 +976,22 @@ static void Hal_EfuseParseMACAddr_8723BS(
eth_random_addr(pEEPROM->mac_addr);
} else {
/* Read Permanent MAC address */
- memcpy(pEEPROM->mac_addr, &hwinfo[EEPROM_MAC_ADDR_8723BS], ETH_ALEN);
+ memcpy(pEEPROM->mac_addr, &hwinfo[EEPROM_MAC_ADDR_8723BS],
+ ETH_ALEN);
}
}
-static void Hal_EfuseParseBoardType_8723BS(
- struct adapter *padapter, u8 *hwinfo, bool AutoLoadFail
-)
+static void Hal_EfuseParseBoardType_8723BS(struct adapter *padapter, u8 *hwinfo,
+ bool AutoLoadFail)
{
struct hal_com_data *pHalData = GET_HAL_DATA(padapter);
if (!AutoLoadFail) {
- pHalData->BoardType = (hwinfo[EEPROM_RF_BOARD_OPTION_8723B] & 0xE0) >> 5;
+ pHalData->BoardType =
+ (hwinfo[EEPROM_RF_BOARD_OPTION_8723B] & 0xE0) >> 5;
if (pHalData->BoardType == 0xFF)
- pHalData->BoardType = (EEPROM_DEFAULT_BOARD_OPTION & 0xE0) >> 5;
+ pHalData->BoardType =
+ (EEPROM_DEFAULT_BOARD_OPTION & 0xE0) >> 5;
} else
pHalData->BoardType = 0;
}
@@ -1003,24 +1010,35 @@ static void _ReadEfuseInfo8723BS(struct adapter *padapter)
Hal_InitPGData(padapter, hwinfo);
Hal_EfuseParseIDCode(padapter, hwinfo);
- Hal_EfuseParseEEPROMVer_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseEEPROMVer_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
- Hal_EfuseParseMACAddr_8723BS(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseMACAddr_8723BS(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
- Hal_EfuseParseTxPowerInfo_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
- Hal_EfuseParseBoardType_8723BS(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseTxPowerInfo_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseBoardType_8723BS(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
/* */
/* Read Bluetooth co-exist and initialize */
/* */
- Hal_EfuseParsePackageType_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
- Hal_EfuseParseBTCoexistInfo_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
- Hal_EfuseParseChnlPlan_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
- Hal_EfuseParseXtal_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
- Hal_EfuseParseThermalMeter_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
- Hal_EfuseParseCustomerID_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
-
- Hal_EfuseParseVoltage_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParsePackageType_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseBTCoexistInfo_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseChnlPlan_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseXtal_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseThermalMeter_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
+ Hal_EfuseParseCustomerID_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
+
+ Hal_EfuseParseVoltage_8723B(padapter, hwinfo,
+ pEEPROM->bautoload_fail_flag);
Hal_ReadRFGainOffset(padapter, hwinfo, pEEPROM->bautoload_fail_flag);
}
@@ -1063,8 +1081,10 @@ static s32 _ReadAdapterInfo8723BS(struct adapter *padapter)
_ReadPROMContent(padapter);
if (!padapter->hw_init_completed) {
- rtw_write8(padapter, 0x67, 0x00); /* for BT, Switch Ant control to BT */
- CardDisableRTL8723BSdio(padapter);/* for the power consumption issue, wifi ko module is loaded during booting, but wifi GUI is off */
+ rtw_write8(padapter, 0x67,
+ 0x00); /* for BT, Switch Ant control to BT */
+ CardDisableRTL8723BSdio(
+ padapter); /* for the power consumption issue, wifi ko module is loaded during booting, but wifi GUI is off */
}
return _SUCCESS;
@@ -1095,18 +1115,17 @@ void SetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val)
{
val8 = *val;
val8 &= 0xC1;
- rtw_write8(padapter, SDIO_LOCAL_BASE | SDIO_REG_HRPWM1, val8);
+ rtw_write8(padapter, SDIO_LOCAL_BASE | SDIO_REG_HRPWM1,
+ val8);
}
break;
- case HW_VAR_SET_REQ_FW_PS:
- {
- u8 req_fw_ps = 0;
+ case HW_VAR_SET_REQ_FW_PS: {
+ u8 req_fw_ps = 0;
- req_fw_ps = rtw_read8(padapter, 0x8f);
- req_fw_ps |= 0x10;
- rtw_write8(padapter, 0x8f, req_fw_ps);
- }
- break;
+ req_fw_ps = rtw_read8(padapter, 0x8f);
+ req_fw_ps |= 0x10;
+ rtw_write8(padapter, 0x8f, req_fw_ps);
+ } break;
case HW_VAR_RXDMA_AGG_PG_TH:
val8 = *val;
break;
@@ -1128,22 +1147,22 @@ void GetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val)
{
switch (variable) {
case HW_VAR_CPWM:
- *val = rtw_read8(padapter, SDIO_LOCAL_BASE | SDIO_REG_HCPWM1_8723B);
+ *val = rtw_read8(padapter,
+ SDIO_LOCAL_BASE | SDIO_REG_HCPWM1_8723B);
break;
- case HW_VAR_FW_PS_STATE:
- {
- /* 3. read dword 0x88 driver read fw ps state */
- *((u16 *)val) = rtw_read16(padapter, 0x88);
- }
- break;
+ case HW_VAR_FW_PS_STATE: {
+ /* 3. read dword 0x88 driver read fw ps state */
+ *((u16 *)val) = rtw_read16(padapter, 0x88);
+ } break;
default:
GetHwReg8723B(padapter, variable, val);
break;
}
}
-void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf, int len)
+void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf,
+ int len)
{
switch (variable) {
case HW_VAR_C2H_HANDLE:
@@ -1158,9 +1177,8 @@ void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf, int l
/* Description: */
/* Query setting of specified variable. */
/* */
-u8 GetHalDefVar8723BSDIO(
- struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue
-)
+u8 GetHalDefVar8723BSDIO(struct adapter *Adapter,
+ enum hal_def_variable eVariable, void *pValue)
{
u8 bResult = _SUCCESS;
diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl8723bs/hal/sdio_ops.c
index c4058cfe73f26..d217ea5cb53d3 100644
--- a/drivers/staging/rtl8723bs/hal/sdio_ops.c
+++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c
@@ -18,27 +18,33 @@ static void hal_sdio_get_cmd_addr_8723b(struct adapter *adapter, u8 device_id,
{
switch (device_id) {
case SDIO_LOCAL_DEVICE_ID:
- *cmdaddr = ((SDIO_LOCAL_DEVICE_ID << 13) | (addr & SDIO_LOCAL_MSK));
+ *cmdaddr = ((SDIO_LOCAL_DEVICE_ID << 13) |
+ (addr & SDIO_LOCAL_MSK));
break;
case WLAN_IOREG_DEVICE_ID:
- *cmdaddr = ((WLAN_IOREG_DEVICE_ID << 13) | (addr & WLAN_IOREG_MSK));
+ *cmdaddr = ((WLAN_IOREG_DEVICE_ID << 13) |
+ (addr & WLAN_IOREG_MSK));
break;
case WLAN_TX_HIQ_DEVICE_ID:
- *cmdaddr = ((WLAN_TX_HIQ_DEVICE_ID << 13) | (addr & WLAN_FIFO_MSK));
+ *cmdaddr = ((WLAN_TX_HIQ_DEVICE_ID << 13) |
+ (addr & WLAN_FIFO_MSK));
break;
case WLAN_TX_MIQ_DEVICE_ID:
- *cmdaddr = ((WLAN_TX_MIQ_DEVICE_ID << 13) | (addr & WLAN_FIFO_MSK));
+ *cmdaddr = ((WLAN_TX_MIQ_DEVICE_ID << 13) |
+ (addr & WLAN_FIFO_MSK));
break;
case WLAN_TX_LOQ_DEVICE_ID:
- *cmdaddr = ((WLAN_TX_LOQ_DEVICE_ID << 13) | (addr & WLAN_FIFO_MSK));
+ *cmdaddr = ((WLAN_TX_LOQ_DEVICE_ID << 13) |
+ (addr & WLAN_FIFO_MSK));
break;
case WLAN_RX0FF_DEVICE_ID:
- *cmdaddr = ((WLAN_RX0FF_DEVICE_ID << 13) | (addr & WLAN_RX0FF_MSK));
+ *cmdaddr = ((WLAN_RX0FF_DEVICE_ID << 13) |
+ (addr & WLAN_RX0FF_MSK));
break;
default:
@@ -161,11 +167,9 @@ static u32 sdio_read32(struct intf_hdl *intfhdl, u32 addr)
ftaddr = _cvrt2ftaddr(addr, &device_id, &offset);
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
- if (
- ((device_id == WLAN_IOREG_DEVICE_ID) && (offset < 0x100)) ||
- (!mac_pwr_ctrl_on) ||
- (adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
- ) {
+ if (((device_id == WLAN_IOREG_DEVICE_ID) && (offset < 0x100)) ||
+ (!mac_pwr_ctrl_on) ||
+ (adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)) {
err = sd_cmd52_read(intfhdl, ftaddr, 4, (u8 *)&le_tmp);
return le32_to_cpu(le_tmp);
}
@@ -229,11 +233,9 @@ static s32 sdio_write32(struct intf_hdl *intfhdl, u32 addr, u32 val)
ftaddr = _cvrt2ftaddr(addr, &device_id, &offset);
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
- if (
- ((device_id == WLAN_IOREG_DEVICE_ID) && (offset < 0x100)) ||
- (!mac_pwr_ctrl_on) ||
- (adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
- ) {
+ if (((device_id == WLAN_IOREG_DEVICE_ID) && (offset < 0x100)) ||
+ (!mac_pwr_ctrl_on) ||
+ (adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)) {
le_tmp = cpu_to_le32(val);
return sd_cmd52_write(intfhdl, ftaddr, 4, (u8 *)&le_tmp);
@@ -266,12 +268,7 @@ static s32 sdio_write32(struct intf_hdl *intfhdl, u32 addr, u32 val)
*_SUCCESS(1) Success
*_FAIL(0) Fail
*/
-static u32 sdio_read_port(
- struct intf_hdl *intfhdl,
- u32 addr,
- u32 cnt,
- u8 *mem
-)
+static u32 sdio_read_port(struct intf_hdl *intfhdl, u32 addr, u32 cnt, u8 *mem)
{
struct adapter *adapter;
struct sdio_data *psdio;
@@ -310,12 +307,7 @@ static u32 sdio_read_port(
*_SUCCESS(1) Success
*_FAIL(0) Fail
*/
-static u32 sdio_write_port(
- struct intf_hdl *intfhdl,
- u32 addr,
- u32 cnt,
- u8 *mem
-)
+static u32 sdio_write_port(struct intf_hdl *intfhdl, u32 addr, u32 cnt, u8 *mem)
{
struct adapter *adapter;
struct sdio_data *psdio;
@@ -336,10 +328,8 @@ static u32 sdio_write_port(
err = sd_write(intfhdl, addr, cnt, xmitbuf->pdata);
- rtw_sctx_done_err(
- &xmitbuf->sctx,
- err ? RTW_SCTX_DONE_WRITE_PORT_ERR : RTW_SCTX_DONE_SUCCESS
- );
+ rtw_sctx_done_err(&xmitbuf->sctx, err ? RTW_SCTX_DONE_WRITE_PORT_ERR :
+ RTW_SCTX_DONE_SUCCESS);
if (err)
return _FAIL;
@@ -361,12 +351,7 @@ void sdio_set_intf_ops(struct adapter *adapter, struct _io_ops *ops)
/*
* Todo: align address to 4 bytes.
*/
-static s32 _sdio_local_read(
- struct adapter *adapter,
- u32 addr,
- u32 cnt,
- u8 *buf
-)
+static s32 _sdio_local_read(struct adapter *adapter, u32 addr, u32 cnt, u8 *buf)
{
struct intf_hdl *intfhdl;
u8 mac_pwr_ctrl_on;
@@ -399,12 +384,7 @@ static s32 _sdio_local_read(
/*
* Todo: align address to 4 bytes.
*/
-s32 sdio_local_read(
- struct adapter *adapter,
- u32 addr,
- u32 cnt,
- u8 *buf
-)
+s32 sdio_local_read(struct adapter *adapter, u32 addr, u32 cnt, u8 *buf)
{
struct intf_hdl *intfhdl;
u8 mac_pwr_ctrl_on;
@@ -417,10 +397,8 @@ s32 sdio_local_read(
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
- if (
- (!mac_pwr_ctrl_on) ||
- (adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
- )
+ if ((!mac_pwr_ctrl_on) ||
+ (adapter_to_pwrctl(adapter)->fw_current_in_ps_mode))
return sd_cmd52_read(intfhdl, addr, cnt, buf);
n = round_up(cnt, 4);
@@ -440,12 +418,7 @@ s32 sdio_local_read(
/*
* Todo: align address to 4 bytes.
*/
-s32 sdio_local_write(
- struct adapter *adapter,
- u32 addr,
- u32 cnt,
- u8 *buf
-)
+s32 sdio_local_write(struct adapter *adapter, u32 addr, u32 cnt, u8 *buf)
{
struct intf_hdl *intfhdl;
u8 mac_pwr_ctrl_on;
@@ -457,10 +430,8 @@ s32 sdio_local_write(
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
- if (
- (!mac_pwr_ctrl_on) ||
- (adapter_to_pwrctl(adapter)->fw_current_in_ps_mode)
- )
+ if ((!mac_pwr_ctrl_on) ||
+ (adapter_to_pwrctl(adapter)->fw_current_in_ps_mode))
return sd_cmd52_write(intfhdl, addr, cnt, buf);
tmpbuf = kmemdup(buf, cnt, GFP_ATOMIC);
@@ -498,7 +469,6 @@ static u16 sdio_local_cmd52_read2byte(struct adapter *adapter, u32 addr)
static u32 sdio_local_cmd53_read4byte(struct adapter *adapter, u32 addr)
{
-
u8 mac_pwr_ctrl_on;
u32 val = 0;
struct intf_hdl *intfhdl = &adapter->iopriv.intf;
@@ -506,7 +476,8 @@ static u32 sdio_local_cmd53_read4byte(struct adapter *adapter, u32 addr)
hal_sdio_get_cmd_addr_8723b(adapter, SDIO_LOCAL_DEVICE_ID, addr, &addr);
rtw_hal_get_hwreg(adapter, HW_VAR_APFM_ON_MAC, &mac_pwr_ctrl_on);
- if (!mac_pwr_ctrl_on || adapter_to_pwrctl(adapter)->fw_current_in_ps_mode) {
+ if (!mac_pwr_ctrl_on ||
+ adapter_to_pwrctl(adapter)->fw_current_in_ps_mode) {
sd_cmd52_read(intfhdl, addr, 4, (u8 *)&le_tmp);
val = le32_to_cpu(le_tmp);
} else {
@@ -523,7 +494,8 @@ void SdioLocalCmd52Write1Byte(struct adapter *adapter, u32 addr, u8 v)
sd_cmd52_write(intfhdl, addr, 1, &v);
}
-static void sdio_local_cmd52_write4byte(struct adapter *adapter, u32 addr, u32 v)
+static void sdio_local_cmd52_write4byte(struct adapter *adapter, u32 addr,
+ u32 v)
{
struct intf_hdl *intfhdl = &adapter->iopriv.intf;
__le32 le_tmp;
@@ -553,7 +525,8 @@ static s32 read_interrupt_8723b_sdio(struct adapter *adapter, u32 *phisr)
hisr = 0;
while (hisr_len != 0) {
hisr_len--;
- val8 = SdioLocalCmd52Read1Byte(adapter, SDIO_REG_HISR + hisr_len);
+ val8 = SdioLocalCmd52Read1Byte(adapter,
+ SDIO_REG_HISR + hisr_len);
hisr |= (val8 << (8 * hisr_len));
}
@@ -576,9 +549,8 @@ void InitInterrupt8723BSdio(struct adapter *adapter)
struct hal_com_data *haldata;
haldata = GET_HAL_DATA(adapter);
- haldata->sdio_himr = (u32)(SDIO_HIMR_RX_REQUEST_MSK |
- SDIO_HIMR_AVAL_MSK |
- 0);
+ haldata->sdio_himr =
+ (u32)(SDIO_HIMR_RX_REQUEST_MSK | SDIO_HIMR_AVAL_MSK | 0);
}
/*
@@ -642,7 +614,7 @@ static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size)
u32 readsize, ret;
u8 *readbuf;
struct recv_priv *recv_priv;
- struct recv_buf *recvbuf;
+ struct recv_buf *recvbuf;
/* Patch for some SDIO Host 4 bytes issue */
/* ex. RK3188 */
@@ -662,7 +634,8 @@ static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size)
SIZE_PTR tmpaddr = 0;
SIZE_PTR alignment = 0;
- recvbuf->pskb = __dev_alloc_skb(MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_ATOMIC);
+ recvbuf->pskb = __dev_alloc_skb(
+ MAX_RECVBUF_SZ + RECVBUFF_ALIGN_SZ, GFP_ATOMIC);
if (!recvbuf->pskb)
return NULL;
@@ -675,7 +648,8 @@ static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size)
/* 3 3. read data from rxfifo */
readbuf = recvbuf->pskb->data;
- ret = sdio_read_port(&adapter->iopriv.intf, WLAN_RX0FF_DEVICE_ID, readsize, readbuf);
+ ret = sdio_read_port(&adapter->iopriv.intf, WLAN_RX0FF_DEVICE_ID,
+ readsize, readbuf);
if (ret == _FAIL)
return NULL;
@@ -738,7 +712,8 @@ void sd_int_dpc(struct adapter *adapter)
status = kmalloc(4, GFP_ATOMIC);
if (status) {
addr = REG_TXDMA_STATUS;
- hal_sdio_get_cmd_addr_8723b(adapter, WLAN_IOREG_DEVICE_ID, addr, &addr);
+ hal_sdio_get_cmd_addr_8723b(
+ adapter, WLAN_IOREG_DEVICE_ID, addr, &addr);
_sd_read(intfhdl, addr, 4, status);
_sd_write(intfhdl, addr, 4, status);
kfree(status);
@@ -750,10 +725,12 @@ void sd_int_dpc(struct adapter *adapter)
c2h_evt = kzalloc(16, GFP_ATOMIC);
if (c2h_evt) {
- if (c2h_evt_read_88xx(adapter, (u8 *)c2h_evt) == _SUCCESS) {
+ if (c2h_evt_read_88xx(adapter, (u8 *)c2h_evt) ==
+ _SUCCESS) {
if (c2h_id_filter_ccx_8723b((u8 *)c2h_evt)) {
/* Handle CCX report here */
- rtw_hal_c2h_handler(adapter, (u8 *)c2h_evt);
+ rtw_hal_c2h_handler(adapter,
+ (u8 *)c2h_evt);
kfree(c2h_evt);
} else {
rtw_c2h_wk_cmd(adapter, (u8 *)c2h_evt);
@@ -775,9 +752,11 @@ void sd_int_dpc(struct adapter *adapter)
hal->sdio_hisr ^= SDIO_HISR_RX_REQUEST;
do {
- hal->SdioRxFIFOSize = sdio_local_cmd52_read2byte(adapter, SDIO_REG_RX0_REQ_LEN);
+ hal->SdioRxFIFOSize = sdio_local_cmd52_read2byte(
+ adapter, SDIO_REG_RX0_REQ_LEN);
if (hal->SdioRxFIFOSize != 0) {
- recvbuf = sd_recv_rxfifo(adapter, hal->SdioRxFIFOSize);
+ recvbuf = sd_recv_rxfifo(adapter,
+ hal->SdioRxFIFOSize);
if (recvbuf)
sd_rxhandler(adapter, recvbuf);
else {
@@ -802,9 +781,7 @@ void sd_int_hdl(struct adapter *adapter)
{
struct hal_com_data *hal;
- if (
- (adapter->bDriverStopped) || (adapter->bSurpriseRemoved)
- )
+ if ((adapter->bDriverStopped) || (adapter->bSurpriseRemoved))
return;
hal = GET_HAL_DATA(adapter);
@@ -820,7 +797,8 @@ void sd_int_hdl(struct adapter *adapter)
/* clear HISR */
v32 = hal->sdio_hisr & MASK_SDIO_HISR_CLEAR;
if (v32)
- sdio_local_cmd52_write4byte(adapter, SDIO_REG_HISR, v32);
+ sdio_local_cmd52_write4byte(adapter, SDIO_REG_HISR,
+ v32);
sd_int_dpc(adapter);
}
@@ -843,7 +821,8 @@ u8 HalQueryTxBufferStatus8723BSdio(struct adapter *adapter)
hal = GET_HAL_DATA(adapter);
- numof_free_page = sdio_local_cmd53_read4byte(adapter, SDIO_REG_FREE_TXPG);
+ numof_free_page =
+ sdio_local_cmd53_read4byte(adapter, SDIO_REG_FREE_TXPG);
memcpy(hal->SdioTxFIFOFreePage, &numof_free_page, 4);
@@ -855,5 +834,6 @@ void HalQueryTxOQTBufferStatus8723BSdio(struct adapter *adapter)
{
struct hal_com_data *haldata = GET_HAL_DATA(adapter);
- haldata->SdioTxOQTFreeSpace = SdioLocalCmd52Read1Byte(adapter, SDIO_REG_OQT_FREE_PG);
+ haldata->SdioTxOQTFreeSpace =
+ SdioLocalCmd52Read1Byte(adapter, SDIO_REG_OQT_FREE_PG);
}
diff --git a/drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h b/drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h
index f8cf2aee5157b..0265c31b7e885 100644
--- a/drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h
+++ b/drivers/staging/rtl8723bs/include/Hal8192CPhyReg.h
@@ -30,7 +30,6 @@
#ifndef __INC_HAL8192CPHYREG_H
#define __INC_HAL8192CPHYREG_H
-
/*--------------------------Define Parameters-------------------------------*/
/* */
@@ -49,184 +48,185 @@
/* */
/* 3. Page8(0x800) */
/* */
-#define rFPGA0_RFMOD 0x800 /* RF mode & CCK TxSC RF BW Setting?? */
+#define rFPGA0_RFMOD 0x800 /* RF mode & CCK TxSC RF BW Setting?? */
-#define rFPGA0_XA_HSSIParameter1 0x820 /* RF 3 wire register */
-#define rFPGA0_XA_HSSIParameter2 0x824
-#define rFPGA0_XB_HSSIParameter1 0x828
-#define rFPGA0_XB_HSSIParameter2 0x82c
-#define rTxAGC_B_Rate18_06 0x830
-#define rTxAGC_B_Rate54_24 0x834
-#define rTxAGC_B_CCK1_55_Mcs32 0x838
-#define rTxAGC_B_Mcs03_Mcs00 0x83c
+#define rFPGA0_XA_HSSIParameter1 0x820 /* RF 3 wire register */
+#define rFPGA0_XA_HSSIParameter2 0x824
+#define rFPGA0_XB_HSSIParameter1 0x828
+#define rFPGA0_XB_HSSIParameter2 0x82c
+#define rTxAGC_B_Rate18_06 0x830
+#define rTxAGC_B_Rate54_24 0x834
+#define rTxAGC_B_CCK1_55_Mcs32 0x838
+#define rTxAGC_B_Mcs03_Mcs00 0x83c
-#define rTxAGC_B_Mcs07_Mcs04 0x848
+#define rTxAGC_B_Mcs07_Mcs04 0x848
-#define rFPGA0_XA_LSSIParameter 0x840
-#define rFPGA0_XB_LSSIParameter 0x844
+#define rFPGA0_XA_LSSIParameter 0x840
+#define rFPGA0_XB_LSSIParameter 0x844
-#define rFPGA0_XCD_SwitchControl 0x85c
+#define rFPGA0_XCD_SwitchControl 0x85c
-#define rFPGA0_XA_RFInterfaceOE 0x860 /* RF Channel switch */
-#define rFPGA0_XB_RFInterfaceOE 0x864
+#define rFPGA0_XA_RFInterfaceOE 0x860 /* RF Channel switch */
+#define rFPGA0_XB_RFInterfaceOE 0x864
-#define rTxAGC_B_CCK11_A_CCK2_11 0x86c
+#define rTxAGC_B_CCK11_A_CCK2_11 0x86c
-#define rFPGA0_XAB_RFInterfaceSW 0x870 /* RF Interface Software Control */
-#define rFPGA0_XCD_RFInterfaceSW 0x874
+#define rFPGA0_XAB_RFInterfaceSW 0x870 /* RF Interface Software Control */
+#define rFPGA0_XCD_RFInterfaceSW 0x874
-#define rFPGA0_XA_LSSIReadBack 0x8a0 /* Transceiver LSSI Readback */
-#define rFPGA0_XB_LSSIReadBack 0x8a4
+#define rFPGA0_XA_LSSIReadBack 0x8a0 /* Transceiver LSSI Readback */
+#define rFPGA0_XB_LSSIReadBack 0x8a4
-#define TransceiverA_HSPI_Readback 0x8b8 /* Transceiver A HSPI Readback */
-#define TransceiverB_HSPI_Readback 0x8bc /* Transceiver B HSPI Readback */
+#define TransceiverA_HSPI_Readback 0x8b8 /* Transceiver A HSPI Readback */
+#define TransceiverB_HSPI_Readback 0x8bc /* Transceiver B HSPI Readback */
/* */
/* 4. Page9(0x900) */
/* */
-#define rFPGA1_RFMOD 0x900 /* RF mode & OFDM TxSC RF BW Setting?? */
+#define rFPGA1_RFMOD 0x900 /* RF mode & OFDM TxSC RF BW Setting?? */
-#define rS0S1_PathSwitch 0x948
+#define rS0S1_PathSwitch 0x948
/* */
/* 5. PageA(0xA00) */
/* */
/* Set Control channel to upper or lower. These settings are required only for 40MHz */
-#define rCCK0_System 0xa00
+#define rCCK0_System 0xa00
-#define rCCK0_AFESetting 0xa04 /* Disable init gain now Select RX path by RSSI */
+#define rCCK0_AFESetting \
+ 0xa04 /* Disable init gain now Select RX path by RSSI */
/* */
/* PageB(0xB00) */
/* */
-#define rConfig_AntA 0xb68
-#define rConfig_AntB 0xb6c
+#define rConfig_AntA 0xb68
+#define rConfig_AntB 0xb6c
/* */
/* 6. PageC(0xC00) */
/* */
-#define rOFDM0_TRxPathEnable 0xc04
-#define rOFDM0_TRMuxPar 0xc08
+#define rOFDM0_TRxPathEnable 0xc04
+#define rOFDM0_TRMuxPar 0xc08
-#define rOFDM0_XARxIQImbalance 0xc14 /* RxIQ imbalance matrix */
-#define rOFDM0_XBRxIQImbalance 0xc1c
+#define rOFDM0_XARxIQImbalance 0xc14 /* RxIQ imbalance matrix */
+#define rOFDM0_XBRxIQImbalance 0xc1c
-#define rOFDM0_RxDSP 0xc40 /* Rx Sync Path */
-#define rOFDM0_ECCAThreshold 0xc4c /* energy CCA */
+#define rOFDM0_RxDSP 0xc40 /* Rx Sync Path */
+#define rOFDM0_ECCAThreshold 0xc4c /* energy CCA */
-#define rOFDM0_AGCRSSITable 0xc78
+#define rOFDM0_AGCRSSITable 0xc78
-#define rOFDM0_XATxIQImbalance 0xc80 /* TX PWR TRACK and DIG */
-#define rOFDM0_XBTxIQImbalance 0xc88
-#define rOFDM0_XCTxAFE 0xc94
-#define rOFDM0_XDTxAFE 0xc9c
+#define rOFDM0_XATxIQImbalance 0xc80 /* TX PWR TRACK and DIG */
+#define rOFDM0_XBTxIQImbalance 0xc88
+#define rOFDM0_XCTxAFE 0xc94
+#define rOFDM0_XDTxAFE 0xc9c
-#define rOFDM0_RxIQExtAnta 0xca0
-#define rOFDM0_TxPseudoNoiseWgt 0xce4
+#define rOFDM0_RxIQExtAnta 0xca0
+#define rOFDM0_TxPseudoNoiseWgt 0xce4
/* */
/* 7. PageD(0xD00) */
/* */
-#define rOFDM1_LSTF 0xd00
+#define rOFDM1_LSTF 0xd00
/* */
/* 8. PageE(0xE00) */
/* */
-#define rTxAGC_A_Rate18_06 0xe00
-#define rTxAGC_A_Rate54_24 0xe04
-#define rTxAGC_A_CCK1_Mcs32 0xe08
-#define rTxAGC_A_Mcs03_Mcs00 0xe10
-#define rTxAGC_A_Mcs07_Mcs04 0xe14
-
-#define rFPGA0_IQK 0xe28
-#define rTx_IQK_Tone_A 0xe30
-#define rRx_IQK_Tone_A 0xe34
-#define rTx_IQK_PI_A 0xe38
-#define rRx_IQK_PI_A 0xe3c
-
-#define rTx_IQK 0xe40
-#define rRx_IQK 0xe44
-#define rIQK_AGC_Pts 0xe48
-#define rIQK_AGC_Rsp 0xe4c
-#define rTx_IQK_Tone_B 0xe50
-#define rRx_IQK_Tone_B 0xe54
-#define rTx_IQK_PI_B 0xe58
-#define rRx_IQK_PI_B 0xe5c
-
-#define rBlue_Tooth 0xe6c
-#define rRx_Wait_CCA 0xe70
-#define rTx_CCK_RFON 0xe74
-#define rTx_CCK_BBON 0xe78
-#define rTx_OFDM_RFON 0xe7c
-#define rTx_OFDM_BBON 0xe80
-#define rTx_To_Rx 0xe84
-#define rTx_To_Tx 0xe88
-#define rRx_CCK 0xe8c
-
-#define rTx_Power_Before_IQK_A 0xe94
-#define rTx_Power_After_IQK_A 0xe9c
-
-#define rRx_Power_Before_IQK_A_2 0xea4
-#define rRx_Power_After_IQK_A_2 0xeac
-
-#define rRx_OFDM 0xed0
-#define rRx_Wait_RIFS 0xed4
-#define rRx_TO_Rx 0xed8
-#define rStandby 0xedc
-#define rSleep 0xee0
-#define rPMPD_ANAEN 0xeec
+#define rTxAGC_A_Rate18_06 0xe00
+#define rTxAGC_A_Rate54_24 0xe04
+#define rTxAGC_A_CCK1_Mcs32 0xe08
+#define rTxAGC_A_Mcs03_Mcs00 0xe10
+#define rTxAGC_A_Mcs07_Mcs04 0xe14
+
+#define rFPGA0_IQK 0xe28
+#define rTx_IQK_Tone_A 0xe30
+#define rRx_IQK_Tone_A 0xe34
+#define rTx_IQK_PI_A 0xe38
+#define rRx_IQK_PI_A 0xe3c
+
+#define rTx_IQK 0xe40
+#define rRx_IQK 0xe44
+#define rIQK_AGC_Pts 0xe48
+#define rIQK_AGC_Rsp 0xe4c
+#define rTx_IQK_Tone_B 0xe50
+#define rRx_IQK_Tone_B 0xe54
+#define rTx_IQK_PI_B 0xe58
+#define rRx_IQK_PI_B 0xe5c
+
+#define rBlue_Tooth 0xe6c
+#define rRx_Wait_CCA 0xe70
+#define rTx_CCK_RFON 0xe74
+#define rTx_CCK_BBON 0xe78
+#define rTx_OFDM_RFON 0xe7c
+#define rTx_OFDM_BBON 0xe80
+#define rTx_To_Rx 0xe84
+#define rTx_To_Tx 0xe88
+#define rRx_CCK 0xe8c
+
+#define rTx_Power_Before_IQK_A 0xe94
+#define rTx_Power_After_IQK_A 0xe9c
+
+#define rRx_Power_Before_IQK_A_2 0xea4
+#define rRx_Power_After_IQK_A_2 0xeac
+
+#define rRx_OFDM 0xed0
+#define rRx_Wait_RIFS 0xed4
+#define rRx_TO_Rx 0xed8
+#define rStandby 0xedc
+#define rSleep 0xee0
+#define rPMPD_ANAEN 0xeec
/* */
/* RL6052 Register definition */
/* */
-#define RF_AC 0x00 /* */
+#define RF_AC 0x00 /* */
-#define RF_TXM_IDAC 0x08 /* */
+#define RF_TXM_IDAC 0x08 /* */
-#define RF_CHNLBW 0x18 /* RF channel and BW switch */
+#define RF_CHNLBW 0x18 /* RF channel and BW switch */
-#define RF_RCK_OS 0x30 /* RF TX PA control */
+#define RF_RCK_OS 0x30 /* RF TX PA control */
-#define RF_TXPA_G1 0x31 /* RF TX PA control */
-#define RF_TXPA_G2 0x32 /* RF TX PA control */
+#define RF_TXPA_G1 0x31 /* RF TX PA control */
+#define RF_TXPA_G2 0x32 /* RF TX PA control */
-#define RF_WE_LUT 0xEF
+#define RF_WE_LUT 0xEF
/* 2. Page8(0x800) */
-#define bRFMOD 0x1 /* Reg 0x800 rFPGA0_RFMOD */
+#define bRFMOD 0x1 /* Reg 0x800 rFPGA0_RFMOD */
-#define b3WireDataLength 0x800 /* Reg 0x820~84f rFPGA0_XA_HSSIParameter1 */
-#define b3WireAddressLength 0x400
+#define b3WireDataLength 0x800 /* Reg 0x820~84f rFPGA0_XA_HSSIParameter1 */
+#define b3WireAddressLength 0x400
-#define bRFSI_RFENV 0x10 /* Reg 0x870 rFPGA0_XAB_RFInterfaceSW */
+#define bRFSI_RFENV 0x10 /* Reg 0x870 rFPGA0_XAB_RFInterfaceSW */
-#define bLSSIReadAddress 0x7f800000 /* T65 RF */
+#define bLSSIReadAddress 0x7f800000 /* T65 RF */
-#define bLSSIReadEdge 0x80000000 /* LSSI "Read" edge signal */
+#define bLSSIReadEdge 0x80000000 /* LSSI "Read" edge signal */
-#define bLSSIReadBackData 0xfffff /* T65 RF */
+#define bLSSIReadBackData 0xfffff /* T65 RF */
/* 4. PageA(0xA00) */
-#define bCCKSideBand 0x10 /* Reg 0xa00 rCCK0_System 20/40 switch */
+#define bCCKSideBand 0x10 /* Reg 0xa00 rCCK0_System 20/40 switch */
/* */
/* Other Definition */
/* */
/* for PutRegsetting & GetRegSetting BitMask */
-#define bMaskByte0 0xff /* Reg 0xc50 rOFDM0_XAAGCCore~0xC6f */
-#define bMaskByte1 0xff00
-#define bMaskByte2 0xff0000
-#define bMaskByte3 0xff000000
-#define bMaskHWord 0xffff0000
-#define bMaskLWord 0x0000ffff
-#define bMaskDWord 0xffffffff
-#define bMaskH3Bytes 0xffffff00
-#define bMask12Bits 0xfff
-#define bMaskH4Bits 0xf0000000
-
-#define bEnable 0x1 /* Useless */
-
-#define rDPDT_control 0x92c
-
-#endif /* __INC_HAL8192SPHYREG_H */
+#define bMaskByte0 0xff /* Reg 0xc50 rOFDM0_XAAGCCore~0xC6f */
+#define bMaskByte1 0xff00
+#define bMaskByte2 0xff0000
+#define bMaskByte3 0xff000000
+#define bMaskHWord 0xffff0000
+#define bMaskLWord 0x0000ffff
+#define bMaskDWord 0xffffffff
+#define bMaskH3Bytes 0xffffff00
+#define bMask12Bits 0xfff
+#define bMaskH4Bits 0xf0000000
+
+#define bEnable 0x1 /* Useless */
+
+#define rDPDT_control 0x92c
+
+#endif /* __INC_HAL8192SPHYREG_H */
diff --git a/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h b/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h
index b81252d374efb..27f3686c25e1e 100644
--- a/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h
+++ b/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h
@@ -12,64 +12,63 @@
/*---------------------------------------------*/
/* 3 The value of cmd: 4 bits */
/*---------------------------------------------*/
-#define PWR_CMD_READ 0x00
- /* offset: the read register offset */
- /* msk: the mask of the read value */
- /* value: N/A, left by 0 */
- /* note: dirver shall implement this function by read & msk */
-
-#define PWR_CMD_WRITE 0x01
- /* offset: the read register offset */
- /* msk: the mask of the write bits */
- /* value: write value */
- /* note: driver shall implement this cmd by read & msk after write */
-
-#define PWR_CMD_POLLING 0x02
- /* offset: the read register offset */
- /* msk: the mask of the polled value */
- /* value: the value to be polled, masked by the msd field. */
- /* note: driver shall implement this cmd by */
- /* do{ */
- /* if ((Read(offset) & msk) == (value & msk)) */
- /* break; */
- /* } while (not timeout); */
-
-#define PWR_CMD_DELAY 0x03
- /* offset: the value to delay */
- /* msk: N/A */
- /* value: the unit of delay, 0: us, 1: ms */
-
-#define PWR_CMD_END 0x04
- /* offset: N/A */
- /* msk: N/A */
- /* value: N/A */
+#define PWR_CMD_READ 0x00
+/* offset: the read register offset */
+/* msk: the mask of the read value */
+/* value: N/A, left by 0 */
+/* note: dirver shall implement this function by read & msk */
+
+#define PWR_CMD_WRITE 0x01
+/* offset: the read register offset */
+/* msk: the mask of the write bits */
+/* value: write value */
+/* note: driver shall implement this cmd by read & msk after write */
+
+#define PWR_CMD_POLLING 0x02
+/* offset: the read register offset */
+/* msk: the mask of the polled value */
+/* value: the value to be polled, masked by the msd field. */
+/* note: driver shall implement this cmd by */
+/* do{ */
+/* if ((Read(offset) & msk) == (value & msk)) */
+/* break; */
+/* } while (not timeout); */
+
+#define PWR_CMD_DELAY 0x03
+/* offset: the value to delay */
+/* msk: N/A */
+/* value: the unit of delay, 0: us, 1: ms */
+
+#define PWR_CMD_END 0x04
+/* offset: N/A */
+/* msk: N/A */
+/* value: N/A */
/*---------------------------------------------*/
/* 3 The value of base: 4 bits */
/*---------------------------------------------*/
- /* define the base address of each block */
-#define PWR_BASEADDR_MAC 0x00
-#define PWR_BASEADDR_SDIO 0x03
+/* define the base address of each block */
+#define PWR_BASEADDR_MAC 0x00
+#define PWR_BASEADDR_SDIO 0x03
/*---------------------------------------------*/
/* 3 The value of interface_msk: 4 bits */
/*---------------------------------------------*/
-#define PWR_INTF_SDIO_MSK BIT(0)
-#define PWR_INTF_USB_MSK BIT(1)
-#define PWR_INTF_PCI_MSK BIT(2)
-#define PWR_INTF_ALL_MSK (BIT(0)|BIT(1)|BIT(2)|BIT(3))
+#define PWR_INTF_SDIO_MSK BIT(0)
+#define PWR_INTF_USB_MSK BIT(1)
+#define PWR_INTF_PCI_MSK BIT(2)
+#define PWR_INTF_ALL_MSK (BIT(0) | BIT(1) | BIT(2) | BIT(3))
/*---------------------------------------------*/
/* 3 The value of fab_msk: 4 bits */
/*---------------------------------------------*/
-#define PWR_FAB_ALL_MSK (BIT(0)|BIT(1)|BIT(2)|BIT(3))
+#define PWR_FAB_ALL_MSK (BIT(0) | BIT(1) | BIT(2) | BIT(3))
/*---------------------------------------------*/
/* 3 The value of cut_msk: 8 bits */
/*---------------------------------------------*/
-#define PWR_CUT_TESTCHIP_MSK BIT(0)
-#define PWR_CUT_ALL_MSK 0xFF
-
+#define PWR_CUT_TESTCHIP_MSK BIT(0)
+#define PWR_CUT_ALL_MSK 0xFF
enum {
PWRSEQ_DELAY_US,
@@ -79,33 +78,27 @@ enum {
struct wlan_pwr_cfg {
u16 offset;
u8 cut_msk;
- u8 fab_msk:4;
- u8 interface_msk:4;
- u8 base:4;
- u8 cmd:4;
+ u8 fab_msk : 4;
+ u8 interface_msk : 4;
+ u8 base : 4;
+ u8 cmd : 4;
u8 msk;
u8 value;
};
-
-#define GET_PWR_CFG_OFFSET(__PWR_CMD) __PWR_CMD.offset
-#define GET_PWR_CFG_CUT_MASK(__PWR_CMD) __PWR_CMD.cut_msk
-#define GET_PWR_CFG_FAB_MASK(__PWR_CMD) __PWR_CMD.fab_msk
-#define GET_PWR_CFG_INTF_MASK(__PWR_CMD) __PWR_CMD.interface_msk
-#define GET_PWR_CFG_BASE(__PWR_CMD) __PWR_CMD.base
-#define GET_PWR_CFG_CMD(__PWR_CMD) __PWR_CMD.cmd
-#define GET_PWR_CFG_MASK(__PWR_CMD) __PWR_CMD.msk
-#define GET_PWR_CFG_VALUE(__PWR_CMD) __PWR_CMD.value
-
+#define GET_PWR_CFG_OFFSET(__PWR_CMD) __PWR_CMD.offset
+#define GET_PWR_CFG_CUT_MASK(__PWR_CMD) __PWR_CMD.cut_msk
+#define GET_PWR_CFG_FAB_MASK(__PWR_CMD) __PWR_CMD.fab_msk
+#define GET_PWR_CFG_INTF_MASK(__PWR_CMD) __PWR_CMD.interface_msk
+#define GET_PWR_CFG_BASE(__PWR_CMD) __PWR_CMD.base
+#define GET_PWR_CFG_CMD(__PWR_CMD) __PWR_CMD.cmd
+#define GET_PWR_CFG_MASK(__PWR_CMD) __PWR_CMD.msk
+#define GET_PWR_CFG_VALUE(__PWR_CMD) __PWR_CMD.value
/* */
/* Prototype of protected function. */
/* */
-u8 HalPwrSeqCmdParsing(
- struct adapter *padapter,
- u8 CutVersion,
- u8 FabVersion,
- u8 InterfaceType,
- struct wlan_pwr_cfg PwrCfgCmd[]);
+u8 HalPwrSeqCmdParsing(struct adapter *padapter, u8 CutVersion, u8 FabVersion,
+ u8 InterfaceType, struct wlan_pwr_cfg PwrCfgCmd[]);
#endif
diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h
index b6b1afaa9ab84..d197a2c8b37fa 100644
--- a/drivers/staging/rtl8723bs/include/basic_types.h
+++ b/drivers/staging/rtl8723bs/include/basic_types.h
@@ -7,8 +7,8 @@
#ifndef __BASIC_TYPES_H__
#define __BASIC_TYPES_H__
-#define SUCCESS 0
-#define FAIL (-1)
+#define SUCCESS 0
+#define FAIL (-1)
#include <linux/types.h>
#include <linux/stddef.h>
@@ -29,17 +29,14 @@
/* */
/* Byte Swapping routine. */
/* */
-#define EF1Byte (u8)
-#define EF2Byte le16_to_cpu
-#define EF4Byte le32_to_cpu
+#define EF1Byte (u8)
+#define EF2Byte le16_to_cpu
+#define EF4Byte le32_to_cpu
/* Convert little data endian to host ordering */
-#define EF1BYTE(_val) \
- ((u8)(_val))
-#define EF2BYTE(_val) \
- (le16_to_cpu(_val))
-#define EF4BYTE(_val) \
- (le32_to_cpu(_val))
+#define EF1BYTE(_val) ((u8)(_val))
+#define EF2BYTE(_val) (le16_to_cpu(_val))
+#define EF4BYTE(_val) (le32_to_cpu(_val))
/*
* Create a bit mask
@@ -49,12 +46,9 @@
* BIT_LEN_MASK_32(2) => 0x00000003
* BIT_LEN_MASK_32(32) => 0xFFFFFFFF
*/
-#define BIT_LEN_MASK_32(__bitlen) \
- (0xFFFFFFFF >> (32 - (__bitlen)))
-#define BIT_LEN_MASK_16(__bitlen) \
- (0xFFFF >> (16 - (__bitlen)))
-#define BIT_LEN_MASK_8(__bitlen) \
- (0xFF >> (8 - (__bitlen)))
+#define BIT_LEN_MASK_32(__bitlen) (0xFFFFFFFF >> (32 - (__bitlen)))
+#define BIT_LEN_MASK_16(__bitlen) (0xFFFF >> (16 - (__bitlen)))
+#define BIT_LEN_MASK_8(__bitlen) (0xFF >> (8 - (__bitlen)))
/*
* Create an offset bit mask
@@ -74,33 +68,24 @@
* Return 4-byte value in host byte ordering from
* 4-byte pointer in little-endian system.
*/
-#define LE_P4BYTE_TO_HOST_4BYTE(__pstart) \
- (EF4BYTE(*((__le32 *)(__pstart))))
-#define LE_P2BYTE_TO_HOST_2BYTE(__pstart) \
- (EF2BYTE(*((__le16 *)(__pstart))))
-#define LE_P1BYTE_TO_HOST_1BYTE(__pstart) \
- (EF1BYTE(*((u8 *)(__pstart))))
+#define LE_P4BYTE_TO_HOST_4BYTE(__pstart) (EF4BYTE(*((__le32 *)(__pstart))))
+#define LE_P2BYTE_TO_HOST_2BYTE(__pstart) (EF2BYTE(*((__le16 *)(__pstart))))
+#define LE_P1BYTE_TO_HOST_1BYTE(__pstart) (EF1BYTE(*((u8 *)(__pstart))))
/*
* Description:
* Translate subfield (continuous bits in little-endian) of 4-byte value in
* little byte to 4-byte value in host byte ordering.
*/
-#define LE_BITS_TO_4BYTE(__pstart, __bitoffset, __bitlen) \
- (\
- (LE_P4BYTE_TO_HOST_4BYTE(__pstart) >> (__bitoffset)) & \
- BIT_LEN_MASK_32(__bitlen) \
- )
-#define LE_BITS_TO_2BYTE(__pstart, __bitoffset, __bitlen) \
- (\
- (LE_P2BYTE_TO_HOST_2BYTE(__pstart) >> (__bitoffset)) & \
- BIT_LEN_MASK_16(__bitlen) \
- )
-#define LE_BITS_TO_1BYTE(__pstart, __bitoffset, __bitlen) \
- (\
- (LE_P1BYTE_TO_HOST_1BYTE(__pstart) >> (__bitoffset)) & \
- BIT_LEN_MASK_8(__bitlen) \
- )
+#define LE_BITS_TO_4BYTE(__pstart, __bitoffset, __bitlen) \
+ ((LE_P4BYTE_TO_HOST_4BYTE(__pstart) >> (__bitoffset)) & \
+ BIT_LEN_MASK_32(__bitlen))
+#define LE_BITS_TO_2BYTE(__pstart, __bitoffset, __bitlen) \
+ ((LE_P2BYTE_TO_HOST_2BYTE(__pstart) >> (__bitoffset)) & \
+ BIT_LEN_MASK_16(__bitlen))
+#define LE_BITS_TO_1BYTE(__pstart, __bitoffset, __bitlen) \
+ ((LE_P1BYTE_TO_HOST_1BYTE(__pstart) >> (__bitoffset)) & \
+ BIT_LEN_MASK_8(__bitlen))
/*
* Description:
@@ -108,68 +93,58 @@
* byte ordering and return the result in 4-byte value in host byte ordering.
*/
#define LE_BITS_CLEARED_TO_4BYTE(__pstart, __bitoffset, __bitlen) \
- (\
- LE_P4BYTE_TO_HOST_4BYTE(__pstart) & \
- (~BIT_OFFSET_LEN_MASK_32(__bitoffset, __bitlen)) \
- )
+ (LE_P4BYTE_TO_HOST_4BYTE(__pstart) & \
+ (~BIT_OFFSET_LEN_MASK_32(__bitoffset, __bitlen)))
#define LE_BITS_CLEARED_TO_2BYTE(__pstart, __bitoffset, __bitlen) \
- (\
- LE_P2BYTE_TO_HOST_2BYTE(__pstart) & \
- (~BIT_OFFSET_LEN_MASK_16(__bitoffset, __bitlen)) \
- )
+ (LE_P2BYTE_TO_HOST_2BYTE(__pstart) & \
+ (~BIT_OFFSET_LEN_MASK_16(__bitoffset, __bitlen)))
#define LE_BITS_CLEARED_TO_1BYTE(__pstart, __bitoffset, __bitlen) \
- (\
- LE_P1BYTE_TO_HOST_1BYTE(__pstart) & \
- (~BIT_OFFSET_LEN_MASK_8(__bitoffset, __bitlen)) \
- )
+ (LE_P1BYTE_TO_HOST_1BYTE(__pstart) & \
+ (~BIT_OFFSET_LEN_MASK_8(__bitoffset, __bitlen)))
/*
* Description:
* Set subfield of little-endian 4-byte value to specified value.
*/
-#define SET_BITS_TO_LE_4BYTE(__pstart, __bitoffset, __bitlen, __val) \
- (*((u32 *)(__pstart)) = \
- ( \
- LE_BITS_CLEARED_TO_4BYTE(__pstart, __bitoffset, __bitlen) | \
- ((((u32)__val) & BIT_LEN_MASK_32(__bitlen)) << (__bitoffset)) \
- ))
-
-#define SET_BITS_TO_LE_2BYTE(__pstart, __bitoffset, __bitlen, __val) \
- (*((u16 *)(__pstart)) = \
- ( \
- LE_BITS_CLEARED_TO_2BYTE(__pstart, __bitoffset, __bitlen) | \
- ((((u16)__val) & BIT_LEN_MASK_16(__bitlen)) << (__bitoffset)) \
- ))
-
-#define SET_BITS_TO_LE_1BYTE(__pstart, __bitoffset, __bitlen, __val) \
- (*((u8 *)(__pstart)) = EF1BYTE \
- ( \
- LE_BITS_CLEARED_TO_1BYTE(__pstart, __bitoffset, __bitlen) | \
- ((((u8)__val) & BIT_LEN_MASK_8(__bitlen)) << (__bitoffset)) \
- ))
+#define SET_BITS_TO_LE_4BYTE(__pstart, __bitoffset, __bitlen, __val) \
+ (*((u32 *)(__pstart)) = \
+ (LE_BITS_CLEARED_TO_4BYTE(__pstart, __bitoffset, __bitlen) | \
+ ((((u32)__val) & BIT_LEN_MASK_32(__bitlen)) \
+ << (__bitoffset))))
+
+#define SET_BITS_TO_LE_2BYTE(__pstart, __bitoffset, __bitlen, __val) \
+ (*((u16 *)(__pstart)) = \
+ (LE_BITS_CLEARED_TO_2BYTE(__pstart, __bitoffset, __bitlen) | \
+ ((((u16)__val) & BIT_LEN_MASK_16(__bitlen)) \
+ << (__bitoffset))))
+
+#define SET_BITS_TO_LE_1BYTE(__pstart, __bitoffset, __bitlen, __val) \
+ (*((u8 *)(__pstart)) = EF1BYTE( \
+ LE_BITS_CLEARED_TO_1BYTE(__pstart, __bitoffset, __bitlen) | \
+ ((((u8)__val) & BIT_LEN_MASK_8(__bitlen)) << (__bitoffset))))
#define LE_BITS_CLEARED_TO_1BYTE_8BIT(__pStart, __BitOffset, __BitLen) \
- (\
- LE_P1BYTE_TO_HOST_1BYTE(__pStart) \
- )
-
-#define SET_BITS_TO_LE_1BYTE_8BIT(__pStart, __BitOffset, __BitLen, __Value) \
-{ \
- *((u8 *)(__pStart)) = \
- EF1Byte(\
- LE_BITS_CLEARED_TO_1BYTE_8BIT(__pStart, __BitOffset, __BitLen) \
- | \
- ((u8)__Value) \
- ); \
-}
+ (LE_P1BYTE_TO_HOST_1BYTE(__pStart))
-/* Get the N-bytes alignent offset from the current length */
-#define N_BYTE_ALIGMENT(__Value, __Aligment) ((__Aligment == 1) ? (__Value) : (((__Value + __Aligment - 1) / __Aligment) * __Aligment))
+#define SET_BITS_TO_LE_1BYTE_8BIT(__pStart, __BitOffset, __BitLen, __Value) \
+ { \
+ *((u8 *)(__pStart)) = EF1Byte( \
+ LE_BITS_CLEARED_TO_1BYTE_8BIT(__pStart, __BitOffset, \
+ __BitLen) | \
+ ((u8)__Value)); \
+ }
-#define TEST_FLAG(__Flag, __testFlag) (((__Flag) & (__testFlag)) != 0)
-#define SET_FLAG(__Flag, __setFlag) ((__Flag) |= __setFlag)
-#define CLEAR_FLAG(__Flag, __clearFlag) ((__Flag) &= ~(__clearFlag))
-#define CLEAR_FLAGS(__Flag) ((__Flag) = 0)
-#define TEST_FLAGS(__Flag, __testFlags) (((__Flag) & (__testFlags)) == (__testFlags))
+/* Get the N-bytes alignent offset from the current length */
+#define N_BYTE_ALIGMENT(__Value, __Aligment) \
+ ((__Aligment == 1) ? \
+ (__Value) : \
+ (((__Value + __Aligment - 1) / __Aligment) * __Aligment))
+
+#define TEST_FLAG(__Flag, __testFlag) (((__Flag) & (__testFlag)) != 0)
+#define SET_FLAG(__Flag, __setFlag) ((__Flag) |= __setFlag)
+#define CLEAR_FLAG(__Flag, __clearFlag) ((__Flag) &= ~(__clearFlag))
+#define CLEAR_FLAGS(__Flag) ((__Flag) = 0)
+#define TEST_FLAGS(__Flag, __testFlags) \
+ (((__Flag) & (__testFlags)) == (__testFlags))
#endif /* __BASIC_TYPES_H__ */
diff --git a/drivers/staging/rtl8723bs/include/cmd_osdep.h b/drivers/staging/rtl8723bs/include/cmd_osdep.h
index 91d933d71945d..3d09242391ab2 100644
--- a/drivers/staging/rtl8723bs/include/cmd_osdep.h
+++ b/drivers/staging/rtl8723bs/include/cmd_osdep.h
@@ -7,10 +7,10 @@
#ifndef __CMD_OSDEP_H_
#define __CMD_OSDEP_H_
-int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv);
+int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv);
int rtw_init_evt_priv(struct evt_priv *pevtpriv);
-extern void _rtw_free_evt_priv(struct evt_priv *pevtpriv);
-extern void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv);
-extern struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue);
+extern void _rtw_free_evt_priv(struct evt_priv *pevtpriv);
+extern void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv);
+extern struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue);
#endif
diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h
index 552d0c5fa47ff..4970cdde5b9e5 100644
--- a/drivers/staging/rtl8723bs/include/drv_types.h
+++ b/drivers/staging/rtl8723bs/include/drv_types.h
@@ -10,7 +10,6 @@
--------------------------------------------------------------------------------*/
-
#ifndef __DRV_TYPES_H__
#define __DRV_TYPES_H__
@@ -66,32 +65,32 @@ struct registry_priv {
u8 rfintfs;
u8 lbkmode;
u8 hci;
- struct ndis_802_11_ssid ssid;
- u8 network_mode; /* infra, ad-hoc, auto */
- u8 channel;/* ad-hoc support requirement */
- u8 wireless_mode;/* A, B, G, auto */
- u8 scan_mode;/* active, passive */
+ struct ndis_802_11_ssid ssid;
+ u8 network_mode; /* infra, ad-hoc, auto */
+ u8 channel; /* ad-hoc support requirement */
+ u8 wireless_mode; /* A, B, G, auto */
+ u8 scan_mode; /* active, passive */
u8 radio_enable;
- u8 preamble;/* long, short, auto */
- u8 vrtl_carrier_sense;/* Enable, Disable, Auto */
- u8 vcs_type;/* RTS/CTS, CTS-to-self */
+ u8 preamble; /* long, short, auto */
+ u8 vrtl_carrier_sense; /* Enable, Disable, Auto */
+ u8 vcs_type; /* RTS/CTS, CTS-to-self */
u16 rts_thresh;
- u16 frag_thresh;
+ u16 frag_thresh;
u8 adhoc_tx_pwr;
u8 soft_ap;
u8 power_mgnt;
u8 ips_mode;
u8 smart_ps;
- u8 usb_rxagg_mode;
+ u8 usb_rxagg_mode;
u8 long_retry_lmt;
u8 short_retry_lmt;
u16 busy_thresh;
u8 ack_policy;
- u8 mp_dm;
+ u8 mp_dm;
u8 software_encrypt;
u8 software_decrypt;
u8 acm_method;
- /* UAPSD */
+ /* UAPSD */
u8 wmm_enable;
u8 uapsd_enable;
u8 uapsd_max_sp;
@@ -100,7 +99,7 @@ struct registry_priv {
u8 uapsd_acvi_en;
u8 uapsd_acvo_en;
- struct wlan_bssid_ex dev_network;
+ struct wlan_bssid_ex dev_network;
u8 ht_enable;
/*
@@ -109,9 +108,9 @@ struct registry_priv {
* 0x01 means enable 2.4G 40MHz
*/
u8 bw_mode;
- u8 ampdu_enable;/* for tx */
+ u8 ampdu_enable; /* for tx */
u8 rx_stbc;
- u8 ampdu_amsdu;/* A-MPDU Supports A-MSDU is permitted */
+ u8 ampdu_amsdu; /* A-MPDU Supports A-MSDU is permitted */
/* Short GI support Bit Map */
/* BIT0 - 20MHz, 1: support, 0: non-support */
/* BIT1 - 40MHz, 1: support, 0: non-support */
@@ -129,23 +128,23 @@ struct registry_priv {
u8 low_power;
- u8 wifi_spec;/* !turbo_mode */
+ u8 wifi_spec; /* !turbo_mode */
u8 channel_plan;
- s8 ant_num;
+ s8 ant_num;
/* false:Reject AP's Add BA req, true:accept AP's Add BA req */
- bool accept_addba_req;
+ bool accept_addba_req;
u8 antdiv_cfg;
u8 antdiv_type;
- u8 usbss_enable;/* 0:disable, 1:enable */
- u8 hwpdn_mode;/* 0:disable, 1:enable, 2:decide by EFUSE config */
- u8 hwpwrp_detect;/* 0:disable, 1:enable */
+ u8 usbss_enable; /* 0:disable, 1:enable */
+ u8 hwpdn_mode; /* 0:disable, 1:enable, 2:decide by EFUSE config */
+ u8 hwpwrp_detect; /* 0:disable, 1:enable */
- u8 hw_wps_pbc;/* 0:disable, 1:enable */
+ u8 hw_wps_pbc; /* 0:disable, 1:enable */
u8 max_roaming_times; /* the max number driver will try to roaming */
@@ -160,7 +159,7 @@ struct registry_priv {
u8 reg_enable_tx_power_by_rate;
u8 reg_power_base;
u8 reg_pwr_tbl_sel;
- u8 check_fw_ps;
+ u8 check_fw_ps;
u8 qos_opt_enable;
@@ -170,24 +169,26 @@ struct registry_priv {
#include <drv_types_sdio.h>
#define GET_PRIMARY_ADAPTER(padapter) (((struct adapter *)padapter)->dvobj->if1)
-#define GET_IFACE_NUMS(padapter) (((struct adapter *)padapter)->dvobj->iface_nums)
-#define GET_ADAPTER(padapter, iface_id) (((struct adapter *)padapter)->dvobj->padapters[iface_id])
+#define GET_IFACE_NUMS(padapter) \
+ (((struct adapter *)padapter)->dvobj->iface_nums)
+#define GET_ADAPTER(padapter, iface_id) \
+ (((struct adapter *)padapter)->dvobj->padapters[iface_id])
struct rtw_traffic_statistics {
/* tx statistics */
- u64 tx_bytes;
- u64 tx_pkts;
- u64 tx_drop;
- u64 cur_tx_bytes;
- u64 last_tx_bytes;
+ u64 tx_bytes;
+ u64 tx_pkts;
+ u64 tx_drop;
+ u64 cur_tx_bytes;
+ u64 last_tx_bytes;
u32 cur_tx_tp; /* Tx throughput in MBps. */
/* rx statistics */
- u64 rx_bytes;
- u64 rx_pkts;
- u64 rx_drop;
- u64 cur_rx_bytes;
- u64 last_rx_bytes;
+ u64 rx_bytes;
+ u64 rx_pkts;
+ u64 rx_drop;
+ u64 cur_rx_bytes;
+ u64 last_rx_bytes;
u32 cur_rx_tp; /* Rx throughput in MBps. */
};
@@ -206,11 +207,11 @@ struct dvobj_priv {
/*-------- below is common data --------*/
struct adapter *if1; /* PRIMARY_ADAPTER */
- s32 processing_dev_remove;
+ s32 processing_dev_remove;
/* for local/global synchronization */
/* */
- spinlock_t lock;
+ spinlock_t lock;
int macid[NUM_STA];
struct mutex hw_init_mutex;
@@ -218,9 +219,10 @@ struct dvobj_priv {
struct mutex setch_mutex;
struct mutex setbw_mutex;
- unsigned char oper_channel; /* saved channel info when call set_channel_bw */
+ unsigned char
+ oper_channel; /* saved channel info when call set_channel_bw */
unsigned char oper_bwmode;
- unsigned char oper_ch_offset;/* PRIME_CHNL_OFFSET */
+ unsigned char oper_ch_offset; /* PRIME_CHNL_OFFSET */
unsigned long on_oper_ch_time;
struct adapter *padapters;
@@ -229,9 +231,9 @@ struct dvobj_priv {
struct cam_entry_cache cam_cache[TOTAL_CAM_ENTRY];
/* In /Out Pipe information */
- int RtInPipe[2];
- int RtOutPipe[4];
- u8 Queue2Pipe[HW_QUEUE_ENTRY];/* for out pipe mapping */
+ int RtInPipe[2];
+ int RtOutPipe[4];
+ u8 Queue2Pipe[HW_QUEUE_ENTRY]; /* for out pipe mapping */
u8 irq_alloc;
atomic_t continual_io_error;
@@ -240,17 +242,17 @@ struct dvobj_priv {
struct pwrctrl_priv pwrctl_priv;
- struct rtw_traffic_statistics traffic_stat;
-
-/*-------- below is for SDIO INTERFACE --------*/
+ struct rtw_traffic_statistics traffic_stat;
-struct sdio_data intf_data;
+ /*-------- below is for SDIO INTERFACE --------*/
+ struct sdio_data intf_data;
};
#define dvobj_to_pwrctl(dvobj) (&(dvobj->pwrctl_priv))
-static inline struct dvobj_priv *pwrctl_to_dvobj(struct pwrctrl_priv *pwrctl_priv)
+static inline struct dvobj_priv *
+pwrctl_to_dvobj(struct pwrctrl_priv *pwrctl_priv)
{
return container_of(pwrctl_priv, struct dvobj_priv, pwrctl_priv);
}
@@ -268,35 +270,36 @@ enum {
};
struct adapter {
- int DriverState;/* for disable driver using module, use dongle to replace module. */
- int pid[3];/* process id from UI, 0:wps, 1:hostapd, 2:dhcpcd */
- int bDongle;/* build-in module or external dongle */
+ int DriverState; /* for disable driver using module, use dongle to replace module. */
+ int pid[3]; /* process id from UI, 0:wps, 1:hostapd, 2:dhcpcd */
+ int bDongle; /* build-in module or external dongle */
struct dvobj_priv *dvobj;
- struct mlme_priv mlmepriv;
- struct mlme_ext_priv mlmeextpriv;
- struct cmd_priv cmdpriv;
- struct evt_priv evtpriv;
+ struct mlme_priv mlmepriv;
+ struct mlme_ext_priv mlmeextpriv;
+ struct cmd_priv cmdpriv;
+ struct evt_priv evtpriv;
/* struct io_queue *pio_queue; */
- struct io_priv iopriv;
- struct xmit_priv xmitpriv;
- struct recv_priv recvpriv;
- struct sta_priv stapriv;
- struct security_priv securitypriv;
- spinlock_t security_key_mutex; /* add for CONFIG_IEEE80211W, none 11w also can use */
- struct registry_priv registrypriv;
- struct eeprom_priv eeprompriv;
-
- struct hostapd_priv *phostapdpriv;
+ struct io_priv iopriv;
+ struct xmit_priv xmitpriv;
+ struct recv_priv recvpriv;
+ struct sta_priv stapriv;
+ struct security_priv securitypriv;
+ spinlock_t
+ security_key_mutex; /* add for CONFIG_IEEE80211W, none 11w also can use */
+ struct registry_priv registrypriv;
+ struct eeprom_priv eeprompriv;
+
+ struct hostapd_priv *phostapdpriv;
u32 setband;
void *HalData;
u32 hal_data_sz;
- s32 bDriverStopped;
- s32 bSurpriseRemoved;
- s32 bCardDisableWOHSM;
+ s32 bDriverStopped;
+ s32 bSurpriseRemoved;
+ s32 bCardDisableWOHSM;
u32 IsrContent;
u32 ImrContent;
@@ -317,7 +320,6 @@ struct adapter {
int (*intf_alloc_irq)(struct dvobj_priv *dvobj);
void (*intf_free_irq)(struct dvobj_priv *dvobj);
-
void (*intf_start)(struct adapter *adapter);
void (*intf_stop)(struct adapter *adapter);
@@ -359,18 +361,18 @@ struct adapter {
struct adapter *pbuddy_adapter;
/* extend to support multi interface */
- /* IFACE_ID0 is equals to PRIMARY_ADAPTER */
- /* IFACE_ID1 is equals to SECONDARY_ADAPTER */
+ /* IFACE_ID0 is equals to PRIMARY_ADAPTER */
+ /* IFACE_ID1 is equals to SECONDARY_ADAPTER */
u8 iface_id;
/* for debug purpose */
u8 fix_rate;
u8 driver_vcs_en; /* Enable = 1, Disable = 0 driver control vrtl_carrier_sense for tx */
- u8 driver_vcs_type;/* force 0:disable VCS, 1:RTS-CTS, 2:CTS-to-self when vcs_en = 1. */
- u8 driver_ampdu_spacing;/* driver control AMPDU Density for peer sta's rx */
- u8 driver_rx_ampdu_factor;/* 0xff: disable drv ctrl, 0:8k, 1:16k, 2:32k, 3:64k; */
+ u8 driver_vcs_type; /* force 0:disable VCS, 1:RTS-CTS, 2:CTS-to-self when vcs_en = 1. */
+ u8 driver_ampdu_spacing; /* driver control AMPDU Density for peer sta's rx */
+ u8 driver_rx_ampdu_factor; /* 0xff: disable drv ctrl, 0:8k, 1:16k, 2:32k, 3:64k; */
- unsigned char in_cta_test;
+ unsigned char in_cta_test;
};
#define adapter_to_dvobj(adapter) (adapter->dvobj)
@@ -380,34 +382,33 @@ struct adapter {
/* */
/* Function disabled. */
/* */
-#define DF_TX_BIT BIT(0)
-#define DF_RX_BIT BIT(1)
-#define DF_IO_BIT BIT(2)
+#define DF_TX_BIT BIT(0)
+#define DF_RX_BIT BIT(1)
+#define DF_IO_BIT BIT(2)
/* define RTW_ENABLE_FUNC(padapter, func) (atomic_sub(&adapter_to_dvobj(padapter)->disable_func, (func))) */
static inline void RTW_ENABLE_FUNC(struct adapter *padapter, int func_bit)
{
- int df = atomic_read(&adapter_to_dvobj(padapter)->disable_func);
+ int df = atomic_read(&adapter_to_dvobj(padapter)->disable_func);
df &= ~(func_bit);
atomic_set(&adapter_to_dvobj(padapter)->disable_func, df);
}
-#define RTW_IS_FUNC_DISABLED(padapter, func_bit) (atomic_read(&adapter_to_dvobj(padapter)->disable_func) & (func_bit))
+#define RTW_IS_FUNC_DISABLED(padapter, func_bit) \
+ (atomic_read(&adapter_to_dvobj(padapter)->disable_func) & (func_bit))
-#define RTW_CANNOT_IO(padapter) \
- ((padapter)->bSurpriseRemoved || \
- RTW_IS_FUNC_DISABLED((padapter), DF_IO_BIT))
+#define RTW_CANNOT_IO(padapter) \
+ ((padapter)->bSurpriseRemoved || \
+ RTW_IS_FUNC_DISABLED((padapter), DF_IO_BIT))
-#define RTW_CANNOT_RX(padapter) \
- ((padapter)->bDriverStopped || \
- (padapter)->bSurpriseRemoved || \
- RTW_IS_FUNC_DISABLED((padapter), DF_RX_BIT))
+#define RTW_CANNOT_RX(padapter) \
+ ((padapter)->bDriverStopped || (padapter)->bSurpriseRemoved || \
+ RTW_IS_FUNC_DISABLED((padapter), DF_RX_BIT))
-#define RTW_CANNOT_TX(padapter) \
- ((padapter)->bDriverStopped || \
- (padapter)->bSurpriseRemoved || \
- RTW_IS_FUNC_DISABLED((padapter), DF_TX_BIT))
+#define RTW_CANNOT_TX(padapter) \
+ ((padapter)->bDriverStopped || (padapter)->bSurpriseRemoved || \
+ RTW_IS_FUNC_DISABLED((padapter), DF_TX_BIT))
static inline u8 *myid(struct eeprom_priv *peepriv)
{
diff --git a/drivers/staging/rtl8723bs/include/drv_types_sdio.h b/drivers/staging/rtl8723bs/include/drv_types_sdio.h
index 25b3c3a39ee44..8ec4b4ed8f1eb 100644
--- a/drivers/staging/rtl8723bs/include/drv_types_sdio.h
+++ b/drivers/staging/rtl8723bs/include/drv_types_sdio.h
@@ -8,17 +8,17 @@
#define __DRV_TYPES_SDIO_H__
/* SDIO Header Files */
- #include <linux/mmc/sdio_func.h>
- #include <linux/mmc/sdio_ids.h>
+#include <linux/mmc/sdio_func.h>
+#include <linux/mmc/sdio_ids.h>
struct sdio_data {
- u8 func_number;
+ u8 func_number;
- u8 tx_block_mode;
- u8 rx_block_mode;
+ u8 tx_block_mode;
+ u8 rx_block_mode;
u32 block_transfer_len;
- struct sdio_func *func;
+ struct sdio_func *func;
void *sys_sdio_irq_thd;
};
diff --git a/drivers/staging/rtl8723bs/include/hal_btcoex.h b/drivers/staging/rtl8723bs/include/hal_btcoex.h
index 525cce3574fe1..504aa40ce11fd 100644
--- a/drivers/staging/rtl8723bs/include/hal_btcoex.h
+++ b/drivers/staging/rtl8723bs/include/hal_btcoex.h
@@ -9,7 +9,7 @@
#include <drv_types.h>
-#define LPS_RPWM_WAIT_MS 300
+#define LPS_RPWM_WAIT_MS 300
/* Some variables can't get from outsrc BT-Coex, */
/* so we need to save here */
diff --git a/drivers/staging/rtl8723bs/include/hal_com.h b/drivers/staging/rtl8723bs/include/hal_com.h
index 7bbf62cfd8257..0ea6019f48199 100644
--- a/drivers/staging/rtl8723bs/include/hal_com.h
+++ b/drivers/staging/rtl8723bs/include/hal_com.h
@@ -20,106 +20,92 @@
/* Rate */
/* */
/* CCK Rates, TxHT = 0 */
-#define DESC_RATE1M 0x00
-#define DESC_RATE2M 0x01
-#define DESC_RATE5_5M 0x02
-#define DESC_RATE11M 0x03
+#define DESC_RATE1M 0x00
+#define DESC_RATE2M 0x01
+#define DESC_RATE5_5M 0x02
+#define DESC_RATE11M 0x03
/* OFDM Rates, TxHT = 0 */
-#define DESC_RATE6M 0x04
-#define DESC_RATE9M 0x05
-#define DESC_RATE12M 0x06
-#define DESC_RATE18M 0x07
-#define DESC_RATE24M 0x08
-#define DESC_RATE36M 0x09
-#define DESC_RATE48M 0x0a
-#define DESC_RATE54M 0x0b
+#define DESC_RATE6M 0x04
+#define DESC_RATE9M 0x05
+#define DESC_RATE12M 0x06
+#define DESC_RATE18M 0x07
+#define DESC_RATE24M 0x08
+#define DESC_RATE36M 0x09
+#define DESC_RATE48M 0x0a
+#define DESC_RATE54M 0x0b
/* MCS Rates, TxHT = 1 */
-#define DESC_RATEMCS0 0x0c
-#define DESC_RATEMCS1 0x0d
-#define DESC_RATEMCS2 0x0e
-#define DESC_RATEMCS3 0x0f
-#define DESC_RATEMCS4 0x10
-#define DESC_RATEMCS5 0x11
-#define DESC_RATEMCS6 0x12
-#define DESC_RATEMCS7 0x13
-
-#define HDATA_RATE(rate)\
-(rate == DESC_RATE1M) ? "CCK_1M" : \
-(rate == DESC_RATE2M) ? "CCK_2M" : \
-(rate == DESC_RATE5_5M) ? "CCK5_5M" : \
-(rate == DESC_RATE11M) ? "CCK_11M" : \
-(rate == DESC_RATE6M) ? "OFDM_6M" : \
-(rate == DESC_RATE9M) ? "OFDM_9M" : \
-(rate == DESC_RATE12M) ? "OFDM_12M" : \
-(rate == DESC_RATE18M) ? "OFDM_18M" : \
-(rate == DESC_RATE24M) ? "OFDM_24M" : \
-(rate == DESC_RATE36M) ? "OFDM_36M" : \
-(rate == DESC_RATE48M) ? "OFDM_48M" : \
-(rate == DESC_RATE54M) ? "OFDM_54M" : \
-(rate == DESC_RATEMCS0) ? "MCS0" : \
-(rate == DESC_RATEMCS1) ? "MCS1" : \
-(rate == DESC_RATEMCS2) ? "MCS2" : \
-(rate == DESC_RATEMCS3) ? "MCS3" : \
-(rate == DESC_RATEMCS4) ? "MCS4" : \
-(rate == DESC_RATEMCS5) ? "MCS5" : \
-(rate == DESC_RATEMCS6) ? "MCS6" : \
-(rate == DESC_RATEMCS7) ? "MCS7" : "UNKNOWN"
-
-enum{
+#define DESC_RATEMCS0 0x0c
+#define DESC_RATEMCS1 0x0d
+#define DESC_RATEMCS2 0x0e
+#define DESC_RATEMCS3 0x0f
+#define DESC_RATEMCS4 0x10
+#define DESC_RATEMCS5 0x11
+#define DESC_RATEMCS6 0x12
+#define DESC_RATEMCS7 0x13
+
+#define HDATA_RATE(rate) \
+ (rate == DESC_RATE1M) ? "CCK_1M" : \
+ (rate == DESC_RATE2M) ? "CCK_2M" : \
+ (rate == DESC_RATE5_5M) ? "CCK5_5M" : \
+ (rate == DESC_RATE11M) ? "CCK_11M" : \
+ (rate == DESC_RATE6M) ? "OFDM_6M" : \
+ (rate == DESC_RATE9M) ? "OFDM_9M" : \
+ (rate == DESC_RATE12M) ? "OFDM_12M" : \
+ (rate == DESC_RATE18M) ? "OFDM_18M" : \
+ (rate == DESC_RATE24M) ? "OFDM_24M" : \
+ (rate == DESC_RATE36M) ? "OFDM_36M" : \
+ (rate == DESC_RATE48M) ? "OFDM_48M" : \
+ (rate == DESC_RATE54M) ? "OFDM_54M" : \
+ (rate == DESC_RATEMCS0) ? "MCS0" : \
+ (rate == DESC_RATEMCS1) ? "MCS1" : \
+ (rate == DESC_RATEMCS2) ? "MCS2" : \
+ (rate == DESC_RATEMCS3) ? "MCS3" : \
+ (rate == DESC_RATEMCS4) ? "MCS4" : \
+ (rate == DESC_RATEMCS5) ? "MCS5" : \
+ (rate == DESC_RATEMCS6) ? "MCS6" : \
+ (rate == DESC_RATEMCS7) ? "MCS7" : \
+ "UNKNOWN"
+
+enum {
UP_LINK,
DOWN_LINK,
};
-enum rt_media_status {
- RT_MEDIA_DISCONNECT = 0,
- RT_MEDIA_CONNECT = 1
-};
+enum rt_media_status { RT_MEDIA_DISCONNECT = 0, RT_MEDIA_CONNECT = 1 };
-#define MAX_DLFW_PAGE_SIZE 4096 /* @ page : 4k bytes */
+#define MAX_DLFW_PAGE_SIZE 4096 /* @ page : 4k bytes */
/* BK, BE, VI, VO, HCCA, MANAGEMENT, COMMAND, HIGH, BEACON. */
/* define MAX_TX_QUEUE 9 */
-#define TX_SELE_HQ BIT(0) /* High Queue */
-#define TX_SELE_LQ BIT(1) /* Low Queue */
-#define TX_SELE_NQ BIT(2) /* Normal Queue */
-#define TX_SELE_EQ BIT(3) /* Extern Queue */
+#define TX_SELE_HQ BIT(0) /* High Queue */
+#define TX_SELE_LQ BIT(1) /* Low Queue */
+#define TX_SELE_NQ BIT(2) /* Normal Queue */
+#define TX_SELE_EQ BIT(3) /* Extern Queue */
-#define PageNum_128(_Len) ((u32)(((_Len) >> 7) + ((_Len) & 0x7F ? 1 : 0)))
+#define PageNum_128(_Len) ((u32)(((_Len) >> 7) + ((_Len) & 0x7F ? 1 : 0)))
u8 rtw_hal_data_init(struct adapter *padapter);
void rtw_hal_data_deinit(struct adapter *padapter);
u8 /* return the final channel plan decision */
hal_com_config_channel_plan(
-struct adapter *padapter,
-u8 hw_channel_plan, /* channel plan from HW (efuse/eeprom) */
-u8 sw_channel_plan, /* channel plan from SW (registry/module param) */
-u8 def_channel_plan, /* channel plan used when the former two is invalid */
-bool AutoLoadFail
- );
-
-bool
-HAL_IsLegalChannel(
-struct adapter *Adapter,
-u32 Channel
- );
+ struct adapter *padapter,
+ u8 hw_channel_plan, /* channel plan from HW (efuse/eeprom) */
+ u8 sw_channel_plan, /* channel plan from SW (registry/module param) */
+ u8 def_channel_plan, /* channel plan used when the former two is invalid */
+ bool AutoLoadFail);
+
+bool HAL_IsLegalChannel(struct adapter *Adapter, u32 Channel);
u8 MRateToHwRate(u8 rate);
u8 HwRateToMRate(u8 rate);
-void HalSetBrateCfg(
- struct adapter *Adapter,
- u8 *mBratesOS,
- u16 *pBrateCfg);
+void HalSetBrateCfg(struct adapter *Adapter, u8 *mBratesOS, u16 *pBrateCfg);
-bool
-Hal_MappingOutPipe(
-struct adapter *padapter,
-u8 NumOutPipe
- );
+bool Hal_MappingOutPipe(struct adapter *padapter, u8 NumOutPipe);
void hal_init_macaddr(struct adapter *adapter);
@@ -129,7 +115,8 @@ void c2h_evt_clear(struct adapter *adapter);
s32 c2h_evt_read_88xx(struct adapter *adapter, u8 *buf);
u8 rtw_get_mgntframe_raid(struct adapter *adapter, unsigned char network_type);
-void rtw_hal_update_sta_rate_mask(struct adapter *padapter, struct sta_info *psta);
+void rtw_hal_update_sta_rate_mask(struct adapter *padapter,
+ struct sta_info *psta);
void SetHwReg(struct adapter *padapter, u8 variable, u8 *val);
void GetHwReg(struct adapter *padapter, u8 variable, u8 *val);
@@ -140,13 +127,10 @@ u8 GetHalDefVar(struct adapter *adapter, enum hal_def_variable variable,
bool GetU1ByteIntegerFromStringInDecimal(char *str, u8 *in);
-#define HWSET_MAX_SIZE 512
+#define HWSET_MAX_SIZE 512
void rtw_bb_rf_gain_offset(struct adapter *padapter);
-void SetHalODMVar(
- struct adapter *Adapter,
- enum hal_odm_variable eVariable,
- void *pValue1,
- bool bSet);
+void SetHalODMVar(struct adapter *Adapter, enum hal_odm_variable eVariable,
+ void *pValue1, bool bSet);
#endif /* __HAL_COMMON_H__ */
diff --git a/drivers/staging/rtl8723bs/include/hal_com_h2c.h b/drivers/staging/rtl8723bs/include/hal_com_h2c.h
index a59d130905659..c6e167cf9d5fe 100644
--- a/drivers/staging/rtl8723bs/include/hal_com_h2c.h
+++ b/drivers/staging/rtl8723bs/include/hal_com_h2c.h
@@ -7,12 +7,12 @@
#ifndef __COMMON_H2C_H__
#define __COMMON_H2C_H__
-#define H2C_RSVDPAGE_LOC_LEN 5
-#define H2C_MEDIA_STATUS_RPT_LEN 3
-#define H2C_PWRMODE_LEN 7
-#define H2C_PSTUNEPARAM_LEN 4
-#define H2C_MACID_CFG_LEN 7
-#define H2C_RSSI_SETTING_LEN 4
+#define H2C_RSVDPAGE_LOC_LEN 5
+#define H2C_MEDIA_STATUS_RPT_LEN 3
+#define H2C_PWRMODE_LEN 7
+#define H2C_PSTUNEPARAM_LEN 4
+#define H2C_MACID_CFG_LEN 7
+#define H2C_RSSI_SETTING_LEN 4
/* */
/* Structure -------------------------------------------------- */
diff --git a/drivers/staging/rtl8723bs/include/hal_com_phycfg.h b/drivers/staging/rtl8723bs/include/hal_com_phycfg.h
index cb7c7ed741468..906f4ddaf3523 100644
--- a/drivers/staging/rtl8723bs/include/hal_com_phycfg.h
+++ b/drivers/staging/rtl8723bs/include/hal_com_phycfg.h
@@ -7,10 +7,10 @@
#ifndef __HAL_COM_PHYCFG_H__
#define __HAL_COM_PHYCFG_H__
-#define PathA 0x0 /* Useless */
-#define PathB 0x1
-#define PathC 0x2
-#define PathD 0x3
+#define PathA 0x0 /* Useless */
+#define PathB 0x1
+#define PathC 0x2
+#define PathD 0x3
enum rate_section {
CCK = 0,
@@ -18,7 +18,7 @@ enum rate_section {
HT_MCS0_MCS7,
};
-#define MAX_POWER_INDEX 0x3F
+#define MAX_POWER_INDEX 0x3F
enum {
TXPWR_LMT_FCC = 0,
@@ -30,34 +30,33 @@ enum {
/*------------------------------Define structure----------------------------*/
struct bb_register_def {
- u32 rfintfs; /* set software control: */
- /* 0x870~0x877[8 bytes] */
+ u32 rfintfs; /* set software control: */
+ /* 0x870~0x877[8 bytes] */
- u32 rfintfo; /* output data: */
- /* 0x860~0x86f [16 bytes] */
+ u32 rfintfo; /* output data: */
+ /* 0x860~0x86f [16 bytes] */
- u32 rfintfe; /* output enable: */
- /* 0x860~0x86f [16 bytes] */
+ u32 rfintfe; /* output enable: */
+ /* 0x860~0x86f [16 bytes] */
- u32 rf3wireOffset; /* LSSI data: */
- /* 0x840~0x84f [16 bytes] */
+ u32 rf3wireOffset; /* LSSI data: */
+ /* 0x840~0x84f [16 bytes] */
- u32 rfHSSIPara2; /* wire parameter control2 : */
- /* 0x824~0x827, 0x82c~0x82f,
+ u32 rfHSSIPara2; /* wire parameter control2 : */
+ /* 0x824~0x827, 0x82c~0x82f,
* 0x834~0x837, 0x83c~0x83f
*/
- u32 rfLSSIReadBack; /* LSSI RF readback data SI mode */
- /* 0x8a0~0x8af [16 bytes] */
+ u32 rfLSSIReadBack; /* LSSI RF readback data SI mode */
+ /* 0x8a0~0x8af [16 bytes] */
- u32 rfLSSIReadBackPi; /* LSSI RF readback data PI mode
+ u32 rfLSSIReadBackPi; /* LSSI RF readback data PI mode
* 0x8b8-8bc for Path A and B */
-
};
u8 PHY_GetTxPowerByRateBase(struct adapter *Adapter, u8 RfPath,
enum rate_section RateSection);
-u8 PHY_GetRateSectionIndexOfTxPowerByRate(struct adapter *padapter, u32 RegAddr,
+u8 PHY_GetRateSectionIndexOfTxPowerByRate(struct adapter *padapter, u32 RegAddr,
u32 BitMask);
void PHY_GetRateValuesOfTxPowerByRate(struct adapter *padapter, u32 RegAddr,
@@ -66,8 +65,8 @@ void PHY_GetRateValuesOfTxPowerByRate(struct adapter *padapter, u32 RegAddr,
u8 PHY_GetRateIndexOfTxPowerByRate(u8 Rate);
-void PHY_SetTxPowerIndexByRateSection(struct adapter *padapter, u8 RFPath, u8 Channel,
- u8 RateSection);
+void PHY_SetTxPowerIndexByRateSection(struct adapter *padapter, u8 RFPath,
+ u8 Channel, u8 RateSection);
s8 PHY_GetTxPowerByRate(struct adapter *padapter, u8 RFPath, u8 RateIndex);
@@ -82,8 +81,8 @@ void PHY_SetTxPowerIndexByRateArray(struct adapter *padapter, u8 RFPath,
void PHY_InitTxPowerByRate(struct adapter *padapter);
-void PHY_StoreTxPowerByRate(struct adapter *padapter, u32 RfPath,
- u32 RegAddr, u32 BitMask, u32 Data);
+void PHY_StoreTxPowerByRate(struct adapter *padapter, u32 RfPath, u32 RegAddr,
+ u32 BitMask, u32 Data);
void PHY_TxPowerByRateConfiguration(struct adapter *padapter);
@@ -95,7 +94,8 @@ s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 RegPwrTblSel,
u8 Channel);
void PHY_SetTxPowerLimit(struct adapter *Adapter, u8 *Regulation, u8 *Bandwidth,
- u8 *RateSection, u8 *RfPath, u8 *Channel, u8 *PowerLimit);
+ u8 *RateSection, u8 *RfPath, u8 *Channel,
+ u8 *PowerLimit);
void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter);
diff --git a/drivers/staging/rtl8723bs/include/hal_com_reg.h b/drivers/staging/rtl8723bs/include/hal_com_reg.h
index 479748d856261..edb5654ea96bb 100644
--- a/drivers/staging/rtl8723bs/include/hal_com_reg.h
+++ b/drivers/staging/rtl8723bs/include/hal_com_reg.h
@@ -9,262 +9,263 @@
/* */
/* */
-/* 0x0000h ~ 0x00FFh System Configuration */
+/* 0x0000h ~ 0x00FFh System Configuration */
/* */
/* */
-#define REG_SYS_FUNC_EN 0x0002
-#define REG_APS_FSMCO 0x0004
-#define REG_SYS_CLKR 0x0008
-#define REG_9346CR 0x000A
-#define REG_SYS_EEPROM_CTRL 0x000A
-#define REG_RSV_CTRL 0x001C
-#define REG_RF_CTRL 0x001F
-#define REG_AFE_XTAL_CTRL 0x0024
-#define REG_MAC_PHY_CTRL 0x002c /* for 92d, DMDP, SMSP, DMSP contrl */
-#define REG_EFUSE_CTRL 0x0030
-#define REG_EFUSE_TEST 0x0034
-#define REG_PWR_DATA 0x0038
-#define REG_GPIO_MUXCFG 0x0040
-#define REG_GPIO_INTM 0x0048
-#define REG_LEDCFG0 0x004C
-#define REG_LEDCFG2 0x004E
-#define REG_HSIMR 0x0058
-#define REG_GPIO_IO_SEL_2 0x0062 /* RTL8723 WIFI/BT/GPS Multi-Function GPIO Select. */
-#define REG_MULTI_FUNC_CTRL 0x0068 /* RTL8723 WIFI/BT/GPS Multi-Function control source. */
-#define REG_MCUFWDL 0x0080
-#define REG_EFUSE_ACCESS 0x00CF /* Efuse access protection for RTL8723 */
-#define REG_SYS_CFG 0x00F0
-#define REG_GPIO_OUTSTS 0x00F4 /* For RTL8723 only. */
+#define REG_SYS_FUNC_EN 0x0002
+#define REG_APS_FSMCO 0x0004
+#define REG_SYS_CLKR 0x0008
+#define REG_9346CR 0x000A
+#define REG_SYS_EEPROM_CTRL 0x000A
+#define REG_RSV_CTRL 0x001C
+#define REG_RF_CTRL 0x001F
+#define REG_AFE_XTAL_CTRL 0x0024
+#define REG_MAC_PHY_CTRL 0x002c /* for 92d, DMDP, SMSP, DMSP contrl */
+#define REG_EFUSE_CTRL 0x0030
+#define REG_EFUSE_TEST 0x0034
+#define REG_PWR_DATA 0x0038
+#define REG_GPIO_MUXCFG 0x0040
+#define REG_GPIO_INTM 0x0048
+#define REG_LEDCFG0 0x004C
+#define REG_LEDCFG2 0x004E
+#define REG_HSIMR 0x0058
+#define REG_GPIO_IO_SEL_2 \
+ 0x0062 /* RTL8723 WIFI/BT/GPS Multi-Function GPIO Select. */
+#define REG_MULTI_FUNC_CTRL \
+ 0x0068 /* RTL8723 WIFI/BT/GPS Multi-Function control source. */
+#define REG_MCUFWDL 0x0080
+#define REG_EFUSE_ACCESS 0x00CF /* Efuse access protection for RTL8723 */
+#define REG_SYS_CFG 0x00F0
+#define REG_GPIO_OUTSTS 0x00F4 /* For RTL8723 only. */
/* */
/* */
-/* 0x0100h ~ 0x01FFh MACTOP General Configuration */
+/* 0x0100h ~ 0x01FFh MACTOP General Configuration */
/* */
/* */
-#define REG_CR 0x0100
-#define REG_PBP 0x0104
-#define REG_TRXDMA_CTRL 0x010C
-#define REG_TRXFF_BNDY 0x0114
-#define REG_HIMR 0x0120
-#define REG_HISR 0x0124
+#define REG_CR 0x0100
+#define REG_PBP 0x0104
+#define REG_TRXDMA_CTRL 0x010C
+#define REG_TRXFF_BNDY 0x0114
+#define REG_HIMR 0x0120
+#define REG_HISR 0x0124
-#define REG_C2HEVT_MSG_NORMAL 0x01A0
-#define REG_C2HEVT_CLEAR 0x01AF
-#define REG_HMETFR 0x01CC
-#define REG_HMEBOX_0 0x01D0
+#define REG_C2HEVT_MSG_NORMAL 0x01A0
+#define REG_C2HEVT_CLEAR 0x01AF
+#define REG_HMETFR 0x01CC
+#define REG_HMEBOX_0 0x01D0
/* */
/* */
-/* 0x0200h ~ 0x027Fh TXDMA Configuration */
+/* 0x0200h ~ 0x027Fh TXDMA Configuration */
/* */
/* */
-#define REG_RQPN 0x0200
-#define REG_TDECTRL 0x0208
-#define REG_TXDMA_STATUS 0x0210
-#define REG_RQPN_NPQ 0x0214
-#define REG_AUTO_LLT 0x0224
-
+#define REG_RQPN 0x0200
+#define REG_TDECTRL 0x0208
+#define REG_TXDMA_STATUS 0x0210
+#define REG_RQPN_NPQ 0x0214
+#define REG_AUTO_LLT 0x0224
/* */
/* */
-/* 0x0280h ~ 0x02FFh RXDMA Configuration */
+/* 0x0280h ~ 0x02FFh RXDMA Configuration */
/* */
/* */
-#define REG_RXDMA_AGG_PG_TH 0x0280
-#define REG_RXPKT_NUM 0x0284
+#define REG_RXDMA_AGG_PG_TH 0x0280
+#define REG_RXPKT_NUM 0x0284
/* */
/* */
-/* 0x0400h ~ 0x047Fh Protocol Configuration */
+/* 0x0400h ~ 0x047Fh Protocol Configuration */
/* */
/* */
-#define REG_TXPKT_EMPTY 0x041A
-#define REG_FWHW_TXQ_CTRL 0x0420
-#define REG_HWSEQ_CTRL 0x0423
-#define REG_SPEC_SIFS 0x0428
-#define REG_RL 0x042A
-#define REG_RRSR 0x0440
+#define REG_TXPKT_EMPTY 0x041A
+#define REG_FWHW_TXQ_CTRL 0x0420
+#define REG_HWSEQ_CTRL 0x0423
+#define REG_SPEC_SIFS 0x0428
+#define REG_RL 0x042A
+#define REG_RRSR 0x0440
-#define REG_PKT_VO_VI_LIFE_TIME 0x04C0
-#define REG_PKT_BE_BK_LIFE_TIME 0x04C2
-#define REG_BAR_MODE_CTRL 0x04CC
-#define REG_EARLY_MODE_CONTROL 0x04D0
-#define REG_MACID_SLEEP 0x04D4
-#define REG_NQOS_SEQ 0x04DC
+#define REG_PKT_VO_VI_LIFE_TIME 0x04C0
+#define REG_PKT_BE_BK_LIFE_TIME 0x04C2
+#define REG_BAR_MODE_CTRL 0x04CC
+#define REG_EARLY_MODE_CONTROL 0x04D0
+#define REG_MACID_SLEEP 0x04D4
+#define REG_NQOS_SEQ 0x04DC
/* */
/* */
-/* 0x0500h ~ 0x05FFh EDCA Configuration */
+/* 0x0500h ~ 0x05FFh EDCA Configuration */
/* */
/* */
-#define REG_EDCA_VO_PARAM 0x0500
-#define REG_EDCA_VI_PARAM 0x0504
-#define REG_EDCA_BE_PARAM 0x0508
-#define REG_EDCA_BK_PARAM 0x050C
-#define REG_BCNTCFG 0x0510
-#define REG_SIFS_CTX 0x0514
-#define REG_SIFS_TRX 0x0516
-#define REG_TSFTR_SYN_OFFSET 0x0518
-#define REG_SLOT 0x051B
-#define REG_TXPAUSE 0x0522
-#define REG_RD_CTRL 0x0524
+#define REG_EDCA_VO_PARAM 0x0500
+#define REG_EDCA_VI_PARAM 0x0504
+#define REG_EDCA_BE_PARAM 0x0508
+#define REG_EDCA_BK_PARAM 0x050C
+#define REG_BCNTCFG 0x0510
+#define REG_SIFS_CTX 0x0514
+#define REG_SIFS_TRX 0x0516
+#define REG_TSFTR_SYN_OFFSET 0x0518
+#define REG_SLOT 0x051B
+#define REG_TXPAUSE 0x0522
+#define REG_RD_CTRL 0x0524
/* */
/* Format for offset 540h-542h: */
-/* [3:0]: TBTT prohibit setup in unit of 32us. The time for HW getting beacon content before TBTT. */
-/* [7:4]: Reserved. */
-/* [19:8]: TBTT prohibit hold in unit of 32us. The time for HW holding to send the beacon packet. */
-/* [23:20]: Reserved */
+/* [3:0]: TBTT prohibit setup in unit of 32us. The time for HW getting beacon content before TBTT. */
+/* [7:4]: Reserved. */
+/* [19:8]: TBTT prohibit hold in unit of 32us. The time for HW holding to send the beacon packet. */
+/* [23:20]: Reserved */
/* Description: */
-/* | */
+/* | */
/* |<--Setup--|--Hold------------>| */
-/* --------------|---------------------- */
+/* --------------|---------------------- */
/* | */
/* TBTT */
/* Note: We cannot update beacon content to HW or send any AC packets during the time between Setup and Hold. */
/* Described by Designer Tim and Bruce, 2011-01-14. */
/* */
-#define REG_TBTT_PROHIBIT 0x0540
-#define REG_BCN_CTRL 0x0550
-#define REG_BCN_CTRL_1 0x0551
-#define REG_DUAL_TSF_RST 0x0553
-#define REG_BCN_INTERVAL 0x0554 /* The same as REG_MBSSID_BCN_SPACE */
-#define REG_DRVERLYINT 0x0558
-#define REG_BCNDMATIM 0x0559
-#define REG_ATIMWND 0x055A
-#define REG_BCN_MAX_ERR 0x055D
-#define REG_RXTSF_OFFSET_CCK 0x055E
-#define REG_RXTSF_OFFSET_OFDM 0x055F
-#define REG_TSFTR 0x0560
-#define REG_ACMHWCTRL 0x05C0
+#define REG_TBTT_PROHIBIT 0x0540
+#define REG_BCN_CTRL 0x0550
+#define REG_BCN_CTRL_1 0x0551
+#define REG_DUAL_TSF_RST 0x0553
+#define REG_BCN_INTERVAL 0x0554 /* The same as REG_MBSSID_BCN_SPACE */
+#define REG_DRVERLYINT 0x0558
+#define REG_BCNDMATIM 0x0559
+#define REG_ATIMWND 0x055A
+#define REG_BCN_MAX_ERR 0x055D
+#define REG_RXTSF_OFFSET_CCK 0x055E
+#define REG_RXTSF_OFFSET_OFDM 0x055F
+#define REG_TSFTR 0x0560
+#define REG_ACMHWCTRL 0x05C0
/* */
/* */
-/* 0x0600h ~ 0x07FFh WMAC Configuration */
+/* 0x0600h ~ 0x07FFh WMAC Configuration */
/* */
/* */
-#define REG_BWOPMODE 0x0603
-#define REG_TCR 0x0604
-#define REG_RCR 0x0608
-#define REG_RX_DRVINFO_SZ 0x060F
+#define REG_BWOPMODE 0x0603
+#define REG_TCR 0x0604
+#define REG_RCR 0x0608
+#define REG_RX_DRVINFO_SZ 0x060F
-#define REG_MACID 0x0610
-#define REG_BSSID 0x0618
-#define REG_MAR 0x0620
+#define REG_MACID 0x0610
+#define REG_BSSID 0x0618
+#define REG_MAR 0x0620
-#define REG_MAC_SPEC_SIFS 0x063A
+#define REG_MAC_SPEC_SIFS 0x063A
/* 20100719 Joseph: Hardware register definition change. (HW datasheet v54) */
-#define REG_RESP_SIFS_CCK 0x063C /* [15:8]SIFS_R2T_OFDM, [7:0]SIFS_R2T_CCK */
-#define REG_RESP_SIFS_OFDM 0x063E /* [15:8]SIFS_T2T_OFDM, [7:0]SIFS_T2T_CCK */
+#define REG_RESP_SIFS_CCK 0x063C /* [15:8]SIFS_R2T_OFDM, [7:0]SIFS_R2T_CCK */
+#define REG_RESP_SIFS_OFDM 0x063E /* [15:8]SIFS_T2T_OFDM, [7:0]SIFS_T2T_CCK */
-#define REG_ACKTO 0x0640
+#define REG_ACKTO 0x0640
/* */
/* Note: */
-/* The NAV upper value is very important to WiFi 11n 5.2.3 NAV test. The default value is */
-/* always too small, but the WiFi TestPlan test by 25, 000 microseconds of NAV through sending */
-/* CTS in the air. We must update this value greater than 25, 000 microseconds to pass the item. */
-/* The offset of NAV_UPPER in 8192C Spec is incorrect, and the offset should be 0x0652. Commented */
-/* by SD1 Scott. */
+/* The NAV upper value is very important to WiFi 11n 5.2.3 NAV test. The default value is */
+/* always too small, but the WiFi TestPlan test by 25, 000 microseconds of NAV through sending */
+/* CTS in the air. We must update this value greater than 25, 000 microseconds to pass the item. */
+/* The offset of NAV_UPPER in 8192C Spec is incorrect, and the offset should be 0x0652. Commented */
+/* by SD1 Scott. */
/* By Bruce, 2011-07-18. */
/* */
-#define REG_NAV_UPPER 0x0652 /* unit of 128 */
+#define REG_NAV_UPPER 0x0652 /* unit of 128 */
/* WMA, BA, CCX */
-#define REG_RXERR_RPT 0x0664
+#define REG_RXERR_RPT 0x0664
/* Security */
-#define REG_CAMCMD 0x0670
-#define REG_CAMWRITE 0x0674
-#define REG_CAMREAD 0x0678
-#define REG_SECCFG 0x0680
+#define REG_CAMCMD 0x0670
+#define REG_CAMWRITE 0x0674
+#define REG_CAMREAD 0x0678
+#define REG_SECCFG 0x0680
/* Power */
-#define REG_RXFLTMAP0 0x06A0
-#define REG_RXFLTMAP1 0x06A2
-#define REG_RXFLTMAP2 0x06A4
-#define REG_BCN_PSR_RPT 0x06A8
+#define REG_RXFLTMAP0 0x06A0
+#define REG_RXFLTMAP1 0x06A2
+#define REG_RXFLTMAP2 0x06A4
+#define REG_BCN_PSR_RPT 0x06A8
/* */
/* */
-/* Redifine 8192C register definition for compatibility */
+/* Redifine 8192C register definition for compatibility */
/* */
/* */
-#define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */
-#define EFUSE_TEST REG_EFUSE_TEST /* E-Fuse Test. */
-#define MSR (REG_CR + 2) /* Media Status register */
+#define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */
+#define EFUSE_TEST REG_EFUSE_TEST /* E-Fuse Test. */
+#define MSR (REG_CR + 2) /* Media Status register */
-#define PBP REG_PBP
+#define PBP REG_PBP
/* */
/* 9. Security Control Registers (Offset:) */
/* */
-#define RWCAM REG_CAMCMD /* IN 8190 Data Sheet is called CAMcmd */
-#define WCAMI REG_CAMWRITE /* Software write CAM input content */
+#define RWCAM REG_CAMCMD /* IN 8190 Data Sheet is called CAMcmd */
+#define WCAMI REG_CAMWRITE /* Software write CAM input content */
/* */
/* 8723/8188E Host System Interrupt Status Register (offset 0x5C, 32 byte) */
/* */
-#define HSISR_GPIO12_0_INT BIT(0)
-#define HSISR_SPS_OCP_INT BIT(5)
-#define HSISR_RON_INT BIT(6)
-#define HSISR_PDNINT BIT(7)
-#define HSISR_GPIO9_INT BIT(25)
+#define HSISR_GPIO12_0_INT BIT(0)
+#define HSISR_SPS_OCP_INT BIT(5)
+#define HSISR_RON_INT BIT(6)
+#define HSISR_PDNINT BIT(7)
+#define HSISR_GPIO9_INT BIT(25)
/* */
/* Response Rate Set Register (offset 0x440, 24bits) */
/* */
-#define RRSR_1M BIT(0)
-#define RRSR_2M BIT(1)
-#define RRSR_5_5M BIT(2)
-#define RRSR_11M BIT(3)
-#define RRSR_6M BIT(4)
-#define RRSR_12M BIT(6)
-#define RRSR_24M BIT(8)
+#define RRSR_1M BIT(0)
+#define RRSR_2M BIT(1)
+#define RRSR_5_5M BIT(2)
+#define RRSR_11M BIT(3)
+#define RRSR_6M BIT(4)
+#define RRSR_12M BIT(6)
+#define RRSR_24M BIT(8)
-#define RRSR_CCK_RATES (RRSR_11M|RRSR_5_5M|RRSR_2M|RRSR_1M)
+#define RRSR_CCK_RATES (RRSR_11M | RRSR_5_5M | RRSR_2M | RRSR_1M)
/* */
/* Rate Definition */
/* */
/* CCK */
-#define RATE_1M BIT(0)
-#define RATE_2M BIT(1)
-#define RATE_5_5M BIT(2)
-#define RATE_11M BIT(3)
+#define RATE_1M BIT(0)
+#define RATE_2M BIT(1)
+#define RATE_5_5M BIT(2)
+#define RATE_11M BIT(3)
/* OFDM */
-#define RATE_6M BIT(4)
-#define RATE_9M BIT(5)
-#define RATE_12M BIT(6)
-#define RATE_18M BIT(7)
-#define RATE_24M BIT(8)
-#define RATE_36M BIT(9)
-#define RATE_48M BIT(10)
-#define RATE_54M BIT(11)
+#define RATE_6M BIT(4)
+#define RATE_9M BIT(5)
+#define RATE_12M BIT(6)
+#define RATE_18M BIT(7)
+#define RATE_24M BIT(8)
+#define RATE_36M BIT(9)
+#define RATE_48M BIT(10)
+#define RATE_54M BIT(11)
/* ALL CCK Rate */
-#define RATE_BITMAP_ALL 0xFFFFF
+#define RATE_BITMAP_ALL 0xFFFFF
/* Only use CCK 1M rate for ACK */
-#define RATE_RRSR_CCK_ONLY_1M 0xFFFF1
+#define RATE_RRSR_CCK_ONLY_1M 0xFFFF1
/* */
/* BW_OPMODE bits (Offset 0x603, 8bit) */
/* */
-#define BW_OPMODE_20MHZ BIT(2)
+#define BW_OPMODE_20MHZ BIT(2)
/* */
/* CAM Config Setting (offset 0x680, 1 byte) */
/* */
-#define CAM_VALID BIT(15)
+#define CAM_VALID BIT(15)
-#define CAM_CONTENT_COUNT 8
+#define CAM_CONTENT_COUNT 8
-#define CAM_AES 0x04
+#define CAM_AES 0x04
-#define TOTAL_CAM_ENTRY 32
+#define TOTAL_CAM_ENTRY 32
-#define CAM_WRITE BIT(16)
-#define CAM_POLLINIG BIT(31)
+#define CAM_WRITE BIT(16)
+#define CAM_POLLINIG BIT(31)
/* */
/* 12. Host Interrupt Status Registers */
@@ -273,150 +274,151 @@
/* */
/* 8192C (RCR) Receive Configuration Register (Offset 0x608, 32 bits) */
/* */
-#define RCR_APPFCS BIT(31) /* WMAC append FCS after pauload */
-#define RCR_APP_MIC BIT(30) /* MACRX will retain the MIC at the bottom of the packet. */
-#define RCR_APP_ICV BIT(29) /* MACRX will retain the ICV at the bottom of the packet. */
-#define RCR_APP_PHYST_RXFF BIT(28) /* PHY Status is appended before RX packet in RXFF */
-#define RCR_APP_BA_SSN BIT(27) /* SSN of previous TXBA is appended as after original RXDESC as the 4-th DW of RXDESC. */
-#define RCR_HTC_LOC_CTRL BIT(14) /* MFC<--HTC = 1 MFC-->HTC = 0 */
-#define RCR_AMF BIT(13) /* Accept management type frame */
-#define RCR_ADF BIT(11) /* Accept data type frame. This bit also regulates BA, BAR, and PS-Poll (AP mode only). */
-#define RCR_ACRC32 BIT(8) /* Accept CRC32 error packet */
-#define RCR_CBSSID_BCN BIT(7) /* Accept BSSID match packet (Rx beacon, probe rsp) */
-#define RCR_CBSSID_DATA BIT(6) /* Accept BSSID match packet (Data) */
-#define RCR_AB BIT(3) /* Accept broadcast packet */
-#define RCR_AM BIT(2) /* Accept multicast packet */
-#define RCR_APM BIT(1) /* Accept physical match packet */
-
+#define RCR_APPFCS BIT(31) /* WMAC append FCS after pauload */
+#define RCR_APP_MIC \
+ BIT(30) /* MACRX will retain the MIC at the bottom of the packet. */
+#define RCR_APP_ICV \
+ BIT(29) /* MACRX will retain the ICV at the bottom of the packet. */
+#define RCR_APP_PHYST_RXFF \
+ BIT(28) /* PHY Status is appended before RX packet in RXFF */
+#define RCR_APP_BA_SSN \
+ BIT(27) /* SSN of previous TXBA is appended as after original RXDESC as the 4-th DW of RXDESC. */
+#define RCR_HTC_LOC_CTRL BIT(14) /* MFC<--HTC = 1 MFC-->HTC = 0 */
+#define RCR_AMF BIT(13) /* Accept management type frame */
+#define RCR_ADF \
+ BIT(11) /* Accept data type frame. This bit also regulates BA, BAR, and PS-Poll (AP mode only). */
+#define RCR_ACRC32 BIT(8) /* Accept CRC32 error packet */
+#define RCR_CBSSID_BCN \
+ BIT(7) /* Accept BSSID match packet (Rx beacon, probe rsp) */
+#define RCR_CBSSID_DATA BIT(6) /* Accept BSSID match packet (Data) */
+#define RCR_AB BIT(3) /* Accept broadcast packet */
+#define RCR_AM BIT(2) /* Accept multicast packet */
+#define RCR_APM BIT(1) /* Accept physical match packet */
/* */
/* */
-/* 0x0000h ~ 0x00FFh System Configuration */
+/* 0x0000h ~ 0x00FFh System Configuration */
/* */
/* */
/* 2 SYS_FUNC_EN */
-#define FEN_BBRSTB BIT(0)
-#define FEN_BB_GLB_RSTn BIT(1)
-#define FEN_DIO_PCIE BIT(5)
-#define FEN_PCIEA BIT(6)
-#define FEN_PPLL BIT(7)
-#define FEN_CPUEN BIT(10)
-#define FEN_ELDR BIT(12)
+#define FEN_BBRSTB BIT(0)
+#define FEN_BB_GLB_RSTn BIT(1)
+#define FEN_DIO_PCIE BIT(5)
+#define FEN_PCIEA BIT(6)
+#define FEN_PPLL BIT(7)
+#define FEN_CPUEN BIT(10)
+#define FEN_ELDR BIT(12)
/* 2 APS_FSMCO */
-#define EnPDN BIT(4)
+#define EnPDN BIT(4)
/* 2 SYS_CLKR */
-#define ANA8M BIT(1)
-#define LOADER_CLK_EN BIT(5)
-
+#define ANA8M BIT(1)
+#define LOADER_CLK_EN BIT(5)
/* 2 9346CR /REG_SYS_EEPROM_CTRL */
-#define BOOT_FROM_EEPROM BIT(4)
-#define EEPROM_EN BIT(5)
-
+#define BOOT_FROM_EEPROM BIT(4)
+#define EEPROM_EN BIT(5)
/* 2 RF_CTRL */
-#define RF_EN BIT(0)
-#define RF_RSTB BIT(1)
-#define RF_SDMRSTB BIT(2)
+#define RF_EN BIT(0)
+#define RF_RSTB BIT(1)
+#define RF_SDMRSTB BIT(2)
/* 2 EFUSE_TEST (For RTL8723 partially) */
-#define EFUSE_SEL(x) (((x) & 0x3) << 8)
-#define EFUSE_SEL_MASK 0x300
-#define EFUSE_WIFI_SEL_0 0x0
-#define EFUSE_BT_SEL_0 0x1
-#define EFUSE_BT_SEL_1 0x2
-#define EFUSE_BT_SEL_2 0x3
-
+#define EFUSE_SEL(x) (((x) & 0x3) << 8)
+#define EFUSE_SEL_MASK 0x300
+#define EFUSE_WIFI_SEL_0 0x0
+#define EFUSE_BT_SEL_0 0x1
+#define EFUSE_BT_SEL_1 0x2
+#define EFUSE_BT_SEL_2 0x3
/* 2 8051FWDL */
/* 2 MCUFWDL */
-#define MCUFWDL_RDY BIT(1)
-#define FWDL_ChkSum_rpt BIT(2)
-#define WINTINI_RDY BIT(6)
-#define RAM_DL_SEL BIT(7)
+#define MCUFWDL_RDY BIT(1)
+#define FWDL_ChkSum_rpt BIT(2)
+#define WINTINI_RDY BIT(6)
+#define RAM_DL_SEL BIT(7)
/* 2 REG_SYS_CFG */
-#define VENDOR_ID BIT(19)
-
-#define RTL_ID BIT(23) /* TestChip ID, 1:Test(RLE); 0:MP(RL) */
-#define SPS_SEL BIT(24) /* 1:LDO regulator mode; 0:Switching regulator mode */
+#define VENDOR_ID BIT(19)
+#define RTL_ID BIT(23) /* TestChip ID, 1:Test(RLE); 0:MP(RL) */
+#define SPS_SEL BIT(24) /* 1:LDO regulator mode; 0:Switching regulator mode */
-#define CHIP_VER_RTL_MASK 0xF000 /* Bit 12 ~ 15 */
-#define CHIP_VER_RTL_SHIFT 12
+#define CHIP_VER_RTL_MASK 0xF000 /* Bit 12 ~ 15 */
+#define CHIP_VER_RTL_SHIFT 12
/* 2 REG_GPIO_OUTSTS (For RTL8723 only) */
-#define RF_RL_ID (BIT(31)|BIT(30)|BIT(29)|BIT(28))
+#define RF_RL_ID (BIT(31) | BIT(30) | BIT(29) | BIT(28))
/* */
/* */
-/* 0x0100h ~ 0x01FFh MACTOP General Configuration */
+/* 0x0100h ~ 0x01FFh MACTOP General Configuration */
/* */
/* */
/* 2 Function Enable Registers */
/* 2 CR */
-#define HCI_TXDMA_EN BIT(0)
-#define HCI_RXDMA_EN BIT(1)
-#define TXDMA_EN BIT(2)
-#define RXDMA_EN BIT(3)
-#define PROTOCOL_EN BIT(4)
-#define SCHEDULE_EN BIT(5)
-#define MACTXEN BIT(6)
-#define MACRXEN BIT(7)
-#define ENSWBCN BIT(8)
-#define ENSEC BIT(9)
-#define CALTMR_EN BIT(10) /* 32k CAL TMR enable */
+#define HCI_TXDMA_EN BIT(0)
+#define HCI_RXDMA_EN BIT(1)
+#define TXDMA_EN BIT(2)
+#define RXDMA_EN BIT(3)
+#define PROTOCOL_EN BIT(4)
+#define SCHEDULE_EN BIT(5)
+#define MACTXEN BIT(6)
+#define MACRXEN BIT(7)
+#define ENSWBCN BIT(8)
+#define ENSEC BIT(9)
+#define CALTMR_EN BIT(10) /* 32k CAL TMR enable */
/* Network type */
-#define _NETTYPE(x) (((x) & 0x3) << 16)
-#define MASK_NETTYPE 0x30000
-#define NT_LINK_AD_HOC 0x1
-#define NT_LINK_AP 0x2
+#define _NETTYPE(x) (((x) & 0x3) << 16)
+#define MASK_NETTYPE 0x30000
+#define NT_LINK_AD_HOC 0x1
+#define NT_LINK_AP 0x2
/* 2 PBP - Page Size Register */
-#define _PSRX(x) (x)
-#define _PSTX(x) ((x) << 4)
+#define _PSRX(x) (x)
+#define _PSTX(x) ((x) << 4)
-#define PBP_128 0x1
+#define PBP_128 0x1
/* 2 TX/RXDMA */
-#define RXDMA_AGG_EN BIT(2)
+#define RXDMA_AGG_EN BIT(2)
/* For normal driver, 0x10C */
-#define _TXDMA_HIQ_MAP(x) (((x)&0x3) << 14)
-#define _TXDMA_MGQ_MAP(x) (((x)&0x3) << 12)
-#define _TXDMA_BKQ_MAP(x) (((x)&0x3) << 10)
-#define _TXDMA_BEQ_MAP(x) (((x)&0x3) << 8)
-#define _TXDMA_VIQ_MAP(x) (((x)&0x3) << 6)
-#define _TXDMA_VOQ_MAP(x) (((x)&0x3) << 4)
+#define _TXDMA_HIQ_MAP(x) (((x) & 0x3) << 14)
+#define _TXDMA_MGQ_MAP(x) (((x) & 0x3) << 12)
+#define _TXDMA_BKQ_MAP(x) (((x) & 0x3) << 10)
+#define _TXDMA_BEQ_MAP(x) (((x) & 0x3) << 8)
+#define _TXDMA_VIQ_MAP(x) (((x) & 0x3) << 6)
+#define _TXDMA_VOQ_MAP(x) (((x) & 0x3) << 4)
-#define QUEUE_LOW 1
-#define QUEUE_NORMAL 2
-#define QUEUE_HIGH 3
+#define QUEUE_LOW 1
+#define QUEUE_NORMAL 2
+#define QUEUE_HIGH 3
/* */
/* */
-/* 0x0200h ~ 0x027Fh TXDMA Configuration */
+/* 0x0200h ~ 0x027Fh TXDMA Configuration */
/* */
/* */
/* 2 RQPN */
-#define _HPQ(x) ((x) & 0xFF)
-#define _LPQ(x) (((x) & 0xFF) << 8)
-#define _PUBQ(x) (((x) & 0xFF) << 16)
-#define _NPQ(x) ((x) & 0xFF) /* NOTE: in RQPN_NPQ register */
+#define _HPQ(x) ((x) & 0xFF)
+#define _LPQ(x) (((x) & 0xFF) << 8)
+#define _PUBQ(x) (((x) & 0xFF) << 16)
+#define _NPQ(x) ((x) & 0xFF) /* NOTE: in RQPN_NPQ register */
-#define LD_RQPN BIT(31)
+#define LD_RQPN BIT(31)
/* 2 AUTO_LLT */
#define BIT_AUTO_INIT_LLT BIT(16)
/* */
/* */
-/* 0x0280h ~ 0x028Bh RX DMA Configuration */
+/* 0x0280h ~ 0x028Bh RX DMA Configuration */
/* */
/* */
@@ -432,167 +434,159 @@
/* define RW_RELEASE_EN BIT(2) */
/* 2 REG_RXPKT_NUM, 0x0284 */
-#define RXPKT_RELEASE_POLL BIT(16)
-#define RXDMA_IDLE BIT(17)
-#define RW_RELEASE_EN BIT(18)
+#define RXPKT_RELEASE_POLL BIT(16)
+#define RXDMA_IDLE BIT(17)
+#define RW_RELEASE_EN BIT(18)
/* */
/* */
-/* 0x0400h ~ 0x047Fh Protocol Configuration */
+/* 0x0400h ~ 0x047Fh Protocol Configuration */
/* */
/* */
/* 2 FWHW_TXQ_CTRL */
-#define EN_AMPDU_RTY_NEW BIT(7)
-
+#define EN_AMPDU_RTY_NEW BIT(7)
/* 2 SPEC SIFS */
-#define _SPEC_SIFS_CCK(x) ((x) & 0xFF)
-#define _SPEC_SIFS_OFDM(x) (((x) & 0xFF) << 8)
+#define _SPEC_SIFS_CCK(x) ((x) & 0xFF)
+#define _SPEC_SIFS_OFDM(x) (((x) & 0xFF) << 8)
/* 2 RL */
-#define RETRY_LIMIT_SHORT_SHIFT 8
-#define RETRY_LIMIT_LONG_SHIFT 0
+#define RETRY_LIMIT_SHORT_SHIFT 8
+#define RETRY_LIMIT_LONG_SHIFT 0
/* */
/* */
-/* 0x0500h ~ 0x05FFh EDCA Configuration */
+/* 0x0500h ~ 0x05FFh EDCA Configuration */
/* */
/* */
-#define _LRL(x) ((x) & 0x3F)
-#define _SRL(x) (((x) & 0x3F) << 8)
-
+#define _LRL(x) ((x) & 0x3F)
+#define _SRL(x) (((x) & 0x3F) << 8)
/* 2 BCN_CTRL */
-#define EN_TXBCN_RPT BIT(2)
-#define EN_BCN_FUNCTION BIT(3)
+#define EN_TXBCN_RPT BIT(2)
+#define EN_BCN_FUNCTION BIT(3)
-#define DIS_ATIM BIT(0)
-#define DIS_BCNQ_SUB BIT(1)
-#define DIS_TSF_UDT BIT(4)
+#define DIS_ATIM BIT(0)
+#define DIS_BCNQ_SUB BIT(1)
+#define DIS_TSF_UDT BIT(4)
/* 2 ACMHWCTRL */
-#define AcmHw_HwEn BIT(0)
-#define AcmHw_BeqEn BIT(1)
-#define AcmHw_ViqEn BIT(2)
-#define AcmHw_VoqEn BIT(3)
+#define AcmHw_HwEn BIT(0)
+#define AcmHw_BeqEn BIT(1)
+#define AcmHw_ViqEn BIT(2)
+#define AcmHw_VoqEn BIT(3)
/* */
/* */
-/* 0x0600h ~ 0x07FFh WMAC Configuration */
+/* 0x0600h ~ 0x07FFh WMAC Configuration */
/* */
/* */
/* 2 TCR */
-#define TSFRST BIT(0)
+#define TSFRST BIT(0)
/* 2 RCR */
-#define AB BIT(3)
+#define AB BIT(3)
/* 2 SECCFG */
-#define SCR_TxUseDK BIT(0) /* Force Tx Use Default Key */
-#define SCR_RxUseDK BIT(1) /* Force Rx Use Default Key */
-#define SCR_TxEncEnable BIT(2) /* Enable Tx Encryption */
-#define SCR_RxDecEnable BIT(3) /* Enable Rx Decryption */
-#define SCR_TXBCUSEDK BIT(6) /* Force Tx Broadcast packets Use Default Key */
-#define SCR_RXBCUSEDK BIT(7) /* Force Rx Broadcast packets Use Default Key */
-#define SCR_CHK_KEYID BIT(8)
+#define SCR_TxUseDK BIT(0) /* Force Tx Use Default Key */
+#define SCR_RxUseDK BIT(1) /* Force Rx Use Default Key */
+#define SCR_TxEncEnable BIT(2) /* Enable Tx Encryption */
+#define SCR_RxDecEnable BIT(3) /* Enable Rx Decryption */
+#define SCR_TXBCUSEDK BIT(6) /* Force Tx Broadcast packets Use Default Key */
+#define SCR_RXBCUSEDK BIT(7) /* Force Rx Broadcast packets Use Default Key */
+#define SCR_CHK_KEYID BIT(8)
/* */
/* */
-/* SDIO Bus Specification */
+/* SDIO Bus Specification */
/* */
/* */
/* I/O bus domain address mapping */
-#define SDIO_LOCAL_BASE 0x10250000
+#define SDIO_LOCAL_BASE 0x10250000
/* SDIO host local register space mapping. */
-#define SDIO_LOCAL_MSK 0x0FFF
-#define WLAN_IOREG_MSK 0x7FFF
-#define WLAN_FIFO_MSK 0x1FFF /* Aggregation Length[12:0] */
-#define WLAN_RX0FF_MSK 0x0003
-
-#define SDIO_LOCAL_DEVICE_ID 0 /* 0b[16], 000b[15:13] */
-#define WLAN_TX_HIQ_DEVICE_ID 4 /* 0b[16], 100b[15:13] */
-#define WLAN_TX_MIQ_DEVICE_ID 5 /* 0b[16], 101b[15:13] */
-#define WLAN_TX_LOQ_DEVICE_ID 6 /* 0b[16], 110b[15:13] */
-#define WLAN_RX0FF_DEVICE_ID 7 /* 0b[16], 111b[15:13] */
-#define WLAN_IOREG_DEVICE_ID 8 /* 1b[16] */
+#define SDIO_LOCAL_MSK 0x0FFF
+#define WLAN_IOREG_MSK 0x7FFF
+#define WLAN_FIFO_MSK 0x1FFF /* Aggregation Length[12:0] */
+#define WLAN_RX0FF_MSK 0x0003
+
+#define SDIO_LOCAL_DEVICE_ID 0 /* 0b[16], 000b[15:13] */
+#define WLAN_TX_HIQ_DEVICE_ID 4 /* 0b[16], 100b[15:13] */
+#define WLAN_TX_MIQ_DEVICE_ID 5 /* 0b[16], 101b[15:13] */
+#define WLAN_TX_LOQ_DEVICE_ID 6 /* 0b[16], 110b[15:13] */
+#define WLAN_RX0FF_DEVICE_ID 7 /* 0b[16], 111b[15:13] */
+#define WLAN_IOREG_DEVICE_ID 8 /* 1b[16] */
/* SDIO Tx Free Page Index */
-#define HI_QUEUE_IDX 0
-#define MID_QUEUE_IDX 1
-#define LOW_QUEUE_IDX 2
-#define PUBLIC_QUEUE_IDX 3
+#define HI_QUEUE_IDX 0
+#define MID_QUEUE_IDX 1
+#define LOW_QUEUE_IDX 2
+#define PUBLIC_QUEUE_IDX 3
-#define SDIO_MAX_TX_QUEUE 3 /* HIQ, MIQ and LOQ */
+#define SDIO_MAX_TX_QUEUE 3 /* HIQ, MIQ and LOQ */
-#define SDIO_REG_TX_CTRL 0x0000 /* SDIO Tx Control */
-#define SDIO_REG_HIMR 0x0014 /* SDIO Host Interrupt Mask */
-#define SDIO_REG_HISR 0x0018 /* SDIO Host Interrupt Service Routine */
-#define SDIO_REG_RX0_REQ_LEN 0x001C /* RXDMA Request Length */
-#define SDIO_REG_OQT_FREE_PG 0x001E /* OQT Free Page */
-#define SDIO_REG_FREE_TXPG 0x0020 /* Free Tx Buffer Page */
-#define SDIO_REG_HRPWM1 0x0080 /* HCI Request Power Mode 1 */
-#define SDIO_REG_HSUS_CTRL 0x0086 /* SDIO HCI Suspend Control */
+#define SDIO_REG_TX_CTRL 0x0000 /* SDIO Tx Control */
+#define SDIO_REG_HIMR 0x0014 /* SDIO Host Interrupt Mask */
+#define SDIO_REG_HISR 0x0018 /* SDIO Host Interrupt Service Routine */
+#define SDIO_REG_RX0_REQ_LEN 0x001C /* RXDMA Request Length */
+#define SDIO_REG_OQT_FREE_PG 0x001E /* OQT Free Page */
+#define SDIO_REG_FREE_TXPG 0x0020 /* Free Tx Buffer Page */
+#define SDIO_REG_HRPWM1 0x0080 /* HCI Request Power Mode 1 */
+#define SDIO_REG_HSUS_CTRL 0x0086 /* SDIO HCI Suspend Control */
-#define SDIO_HIMR_DISABLED 0
+#define SDIO_HIMR_DISABLED 0
/* RTL8723/RTL8188E SDIO Host Interrupt Mask Register */
-#define SDIO_HIMR_RX_REQUEST_MSK BIT(0)
-#define SDIO_HIMR_AVAL_MSK BIT(1)
+#define SDIO_HIMR_RX_REQUEST_MSK BIT(0)
+#define SDIO_HIMR_AVAL_MSK BIT(1)
/* SDIO Host Interrupt Service Routine */
-#define SDIO_HISR_RX_REQUEST BIT(0)
-#define SDIO_HISR_AVAL BIT(1)
-#define SDIO_HISR_TXERR BIT(2)
-#define SDIO_HISR_RXERR BIT(3)
-#define SDIO_HISR_TXFOVW BIT(4)
-#define SDIO_HISR_RXFOVW BIT(5)
-#define SDIO_HISR_TXBCNOK BIT(6)
-#define SDIO_HISR_TXBCNERR BIT(7)
-#define SDIO_HISR_C2HCMD BIT(17)
-#define SDIO_HISR_CPWM1 BIT(18)
-#define SDIO_HISR_CPWM2 BIT(19)
-#define SDIO_HISR_HSISR_IND BIT(20)
-#define SDIO_HISR_GTINT3_IND BIT(21)
-#define SDIO_HISR_GTINT4_IND BIT(22)
-#define SDIO_HISR_PSTIMEOUT BIT(23)
-#define SDIO_HISR_OCPINT BIT(24)
-
-#define MASK_SDIO_HISR_CLEAR (SDIO_HISR_TXERR |\
- SDIO_HISR_RXERR |\
- SDIO_HISR_TXFOVW |\
- SDIO_HISR_RXFOVW |\
- SDIO_HISR_TXBCNOK |\
- SDIO_HISR_TXBCNERR |\
- SDIO_HISR_C2HCMD |\
- SDIO_HISR_CPWM1 |\
- SDIO_HISR_CPWM2 |\
- SDIO_HISR_HSISR_IND |\
- SDIO_HISR_GTINT3_IND |\
- SDIO_HISR_GTINT4_IND |\
- SDIO_HISR_PSTIMEOUT |\
- SDIO_HISR_OCPINT)
+#define SDIO_HISR_RX_REQUEST BIT(0)
+#define SDIO_HISR_AVAL BIT(1)
+#define SDIO_HISR_TXERR BIT(2)
+#define SDIO_HISR_RXERR BIT(3)
+#define SDIO_HISR_TXFOVW BIT(4)
+#define SDIO_HISR_RXFOVW BIT(5)
+#define SDIO_HISR_TXBCNOK BIT(6)
+#define SDIO_HISR_TXBCNERR BIT(7)
+#define SDIO_HISR_C2HCMD BIT(17)
+#define SDIO_HISR_CPWM1 BIT(18)
+#define SDIO_HISR_CPWM2 BIT(19)
+#define SDIO_HISR_HSISR_IND BIT(20)
+#define SDIO_HISR_GTINT3_IND BIT(21)
+#define SDIO_HISR_GTINT4_IND BIT(22)
+#define SDIO_HISR_PSTIMEOUT BIT(23)
+#define SDIO_HISR_OCPINT BIT(24)
+
+#define MASK_SDIO_HISR_CLEAR \
+ (SDIO_HISR_TXERR | SDIO_HISR_RXERR | SDIO_HISR_TXFOVW | \
+ SDIO_HISR_RXFOVW | SDIO_HISR_TXBCNOK | SDIO_HISR_TXBCNERR | \
+ SDIO_HISR_C2HCMD | SDIO_HISR_CPWM1 | SDIO_HISR_CPWM2 | \
+ SDIO_HISR_HSISR_IND | SDIO_HISR_GTINT3_IND | SDIO_HISR_GTINT4_IND | \
+ SDIO_HISR_PSTIMEOUT | SDIO_HISR_OCPINT)
/* SDIO Tx FIFO related */
-#define SDIO_TX_FREE_PG_QUEUE 4 /* The number of Tx FIFO free page */
+#define SDIO_TX_FREE_PG_QUEUE 4 /* The number of Tx FIFO free page */
/* */
/* */
-/* 0xFE00h ~ 0xFE55h USB Configuration */
+/* 0xFE00h ~ 0xFE55h USB Configuration */
/* */
/* */
/* 2REG_C2HEVT_CLEAR */
-#define C2H_EVT_HOST_CLOSE 0x00 /* Set by driver and notify FW that the driver has read the C2H command message */
-#define C2H_EVT_FW_CLOSE 0xFF /* Set by FW indicating that FW had set the C2H command message and it's not yet read by driver. */
+#define C2H_EVT_HOST_CLOSE \
+ 0x00 /* Set by driver and notify FW that the driver has read the C2H command message */
+#define C2H_EVT_FW_CLOSE \
+ 0xFF /* Set by FW indicating that FW had set the C2H command message and it's not yet read by driver. */
/* 2REG_MULTI_FUNC_CTRL(For RTL8723 Only) */
-#define WL_HWPDN_SL BIT(1) /* WiFi HW PDn polarity control */
-#define WL_FUNC_EN BIT(2) /* WiFi function enable */
-#define BT_FUNC_EN BIT(18) /* BT function enable */
-#define GPS_FUNC_EN BIT(22) /* GPS function enable */
+#define WL_HWPDN_SL BIT(1) /* WiFi HW PDn polarity control */
+#define WL_FUNC_EN BIT(2) /* WiFi function enable */
+#define BT_FUNC_EN BIT(18) /* BT function enable */
+#define GPS_FUNC_EN BIT(22) /* GPS function enable */
#endif /* __HAL_COMMON_H__ */
diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h
index 3a93ac312ded9..11e8f568a1120 100644
--- a/drivers/staging/rtl8723bs/include/hal_data.h
+++ b/drivers/staging/rtl8723bs/include/hal_data.h
@@ -16,44 +16,44 @@
/* <Roger_Notes> For RTL8723 WiFi/BT/GPS multi-function configuration. 2010.10.06. */
/* */
enum rt_multi_func {
- RT_MULTI_FUNC_NONE = 0x00,
- RT_MULTI_FUNC_WIFI = 0x01,
- RT_MULTI_FUNC_BT = 0x02,
- RT_MULTI_FUNC_GPS = 0x04,
+ RT_MULTI_FUNC_NONE = 0x00,
+ RT_MULTI_FUNC_WIFI = 0x01,
+ RT_MULTI_FUNC_BT = 0x02,
+ RT_MULTI_FUNC_GPS = 0x04,
};
/* */
/* <Roger_Notes> For RTL8723 WiFi PDn/GPIO polarity control configuration. 2010.10.08. */
/* */
enum rt_polarity_ctl {
- RT_POLARITY_LOW_ACT = 0,
- RT_POLARITY_HIGH_ACT = 1,
+ RT_POLARITY_LOW_ACT = 0,
+ RT_POLARITY_HIGH_ACT = 1,
};
/* For RTL8723 regulator mode. by tynli. 2011.01.14. */
enum rt_regulator_mode {
- RT_SWITCHING_REGULATOR = 0,
- RT_LDO_REGULATOR = 1,
+ RT_SWITCHING_REGULATOR = 0,
+ RT_LDO_REGULATOR = 1,
};
enum rt_ampdu_burst {
- RT_AMPDU_BURST_NONE = 0,
- RT_AMPDU_BURST_92D = 1,
- RT_AMPDU_BURST_88E = 2,
- RT_AMPDU_BURST_8812_4 = 3,
- RT_AMPDU_BURST_8812_8 = 4,
- RT_AMPDU_BURST_8812_12 = 5,
- RT_AMPDU_BURST_8812_15 = 6,
- RT_AMPDU_BURST_8723B = 7,
+ RT_AMPDU_BURST_NONE = 0,
+ RT_AMPDU_BURST_92D = 1,
+ RT_AMPDU_BURST_88E = 2,
+ RT_AMPDU_BURST_8812_4 = 3,
+ RT_AMPDU_BURST_8812_8 = 4,
+ RT_AMPDU_BURST_8812_12 = 5,
+ RT_AMPDU_BURST_8812_15 = 6,
+ RT_AMPDU_BURST_8723B = 7,
};
-#define CHANNEL_MAX_NUMBER (14) /* 14 is the max channel number */
-#define CHANNEL_MAX_NUMBER_2G 14
-#define MAX_PG_GROUP 13
+#define CHANNEL_MAX_NUMBER (14) /* 14 is the max channel number */
+#define CHANNEL_MAX_NUMBER_2G 14
+#define MAX_PG_GROUP 13
/* Tx Power Limit Table Size */
-#define MAX_REGULATION_NUM 4
-#define MAX_2_4G_BANDWIDTH_NUM 2
-#define MAX_RATE_SECTION_NUM 3 /* CCK:1, OFDM:1, HT:1 */
+#define MAX_REGULATION_NUM 4
+#define MAX_2_4G_BANDWIDTH_NUM 2
+#define MAX_RATE_SECTION_NUM 3 /* CCK:1, OFDM:1, HT:1 */
/* duplicate code, will move to ODM ######### */
/* define IQK_MAC_REG_NUM 4 */
@@ -65,14 +65,14 @@ enum rt_ampdu_burst {
/* duplicate code, will move to ODM ######### */
enum {
- SINGLEMAC_SINGLEPHY, /* SMSP */
- DUALMAC_DUALPHY, /* DMDP */
- DUALMAC_SINGLEPHY, /* DMSP */
+ SINGLEMAC_SINGLEPHY, /* SMSP */
+ DUALMAC_DUALPHY, /* DMDP */
+ DUALMAC_SINGLEPHY, /* DMSP */
};
-#define PAGE_SIZE_128 128
-#define PAGE_SIZE_256 256
-#define PAGE_SIZE_512 512
+#define PAGE_SIZE_128 128
+#define PAGE_SIZE_256 256
+#define PAGE_SIZE_512 512
struct dm_priv {
u8 DM_Type;
@@ -85,29 +85,29 @@ struct dm_priv {
u32 InitODMFlag;
/* Upper and Lower Signal threshold for Rate Adaptive */
- int UndecoratedSmoothedPWDB;
- int UndecoratedSmoothedCCK;
- int EntryMinUndecoratedSmoothedPWDB;
- int EntryMaxUndecoratedSmoothedPWDB;
- int MinUndecoratedPWDBForDM;
- int LastMinUndecoratedPWDBForDM;
+ int UndecoratedSmoothedPWDB;
+ int UndecoratedSmoothedCCK;
+ int EntryMinUndecoratedSmoothedPWDB;
+ int EntryMaxUndecoratedSmoothedPWDB;
+ int MinUndecoratedPWDBForDM;
+ int LastMinUndecoratedPWDBForDM;
- s32 UndecoratedSmoothedBeacon;
+ s32 UndecoratedSmoothedBeacon;
-/* duplicate code, will move to ODM ######### */
+ /* duplicate code, will move to ODM ######### */
/* for High Power */
u8 bDynamicTxPowerEnable;
u8 LastDTPLvl;
- u8 DynamicTxHighPowerLvl;/* Add by Jacken Tx Power Control for Near/Far Range 2008/03/06 */
+ u8 DynamicTxHighPowerLvl; /* Add by Jacken Tx Power Control for Near/Far Range 2008/03/06 */
/* for tx power tracking */
u8 bTXPowerTracking;
u8 TXPowercount;
u8 bTXPowerTrackingInit;
- u8 TxPowerTrackControl; /* for mp mode, turn off txpwrtracking as default */
+ u8 TxPowerTrackControl; /* for mp mode, turn off txpwrtracking as default */
u8 TM_Trigger;
- u8 ThermalMeter[2]; /* ThermalMeter, index 0 for RFIC0, and 1 for RFIC1 */
+ u8 ThermalMeter[2]; /* ThermalMeter, index 0 for RFIC0, and 1 for RFIC1 */
u8 ThermalValue;
u8 ThermalValue_LCK;
u8 ThermalValue_IQK;
@@ -116,7 +116,7 @@ struct dm_priv {
/* u8 RSVD_2; */
/* for APK */
- u32 APKoutput[2][2]; /* path A/B; output1_1a/output1_2a */
+ u32 APKoutput[2][2]; /* path A/B; output1_1a/output1_2a */
u8 bAPKdone;
u8 bAPKThermalMeterIgnore;
u8 bDPdone;
@@ -146,25 +146,24 @@ struct dm_priv {
/* u8 RSVD_6; */
/* for TxPwrTracking2 */
- s32 RegE94;
- s32 RegE9C;
- s32 RegEB4;
- s32 RegEBC;
+ s32 RegE94;
+ s32 RegE9C;
+ s32 RegEB4;
+ s32 RegEBC;
- u32 TXPowerTrackingCallbackCnt; /* cosa add for debug */
+ u32 TXPowerTrackingCallbackCnt; /* cosa add for debug */
u32 prv_traffic_idx; /* edca turbo */
-/* duplicate code, will move to ODM ######### */
+ /* duplicate code, will move to ODM ######### */
/* Add for Reading Initial Data Rate SEL Register 0x484 during watchdog. Using for fill tx desc. 2011.3.21 by Thomas */
u8 INIDATA_RATE[32];
};
-
struct hal_com_data {
enum rt_multi_func MultiFunc; /* For multi-function consideration. */
enum rt_polarity_ctl PolarityCtl; /* For Wifi PDn Polarity control. */
- enum rt_regulator_mode RegulatorMode; /* switching regulator or LDO */
+ enum rt_regulator_mode RegulatorMode; /* switching regulator or LDO */
u16 FirmwareVersion;
u16 FirmwareVersionRev;
@@ -176,12 +175,12 @@ struct hal_com_data {
enum channel_width CurrentChannelBW;
u8 CurrentChannel;
u8 CurrentCenterFrequencyIndex1;
- u8 nCur40MhzPrimeSC;/* Control channel sub-carrier */
- u8 nCur80MhzPrimeSC; /* used for primary 40MHz of 80MHz mode */
+ u8 nCur40MhzPrimeSC; /* Control channel sub-carrier */
+ u8 nCur80MhzPrimeSC; /* used for primary 40MHz of 80MHz mode */
u16 CustomerID;
u16 BasicRateSet;
- u16 ForcedDataRate;/* Force Data Rate. 0: Auto, 0x02: 1M ~ 0x6C: 54M. */
+ u16 ForcedDataRate; /* Force Data Rate. 0: Auto, 0x02: 1M ~ 0x6C: 54M. */
u32 ReceiveConfig;
/* rf_ctrl */
@@ -212,19 +211,19 @@ struct hal_com_data {
u8 bAPKThermalMeterIgnore;
u8 bDisableSWChannelPlan; /* flag of disable software change channel plan */
- bool EepromOrEfuse;
- u8 EfuseUsedPercentage;
- u16 EfuseUsedBytes;
- struct efuse_hal EfuseHal;
+ bool EepromOrEfuse;
+ u8 EfuseUsedPercentage;
+ u16 EfuseUsedBytes;
+ struct efuse_hal EfuseHal;
/* 3 [2.4G] */
u8 Index24G_CCK_Base[MAX_RF_PATH][CHANNEL_MAX_NUMBER];
u8 Index24G_BW40_Base[MAX_RF_PATH][CHANNEL_MAX_NUMBER];
/* If only one tx, only BW20 and OFDM are used. */
- s8 CCK_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
- s8 OFDM_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
- s8 BW20_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
- s8 BW40_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
+ s8 CCK_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
+ s8 OFDM_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
+ s8 BW20_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
+ s8 BW40_24G_Diff[MAX_RF_PATH][MAX_TX_COUNT];
u8 Regulation2_4G;
@@ -241,17 +240,19 @@ struct hal_com_data {
/* 2 Power Limit Table */
u8 TxPwrLevelCck[RF_PATH_MAX_92C_88E][CHANNEL_MAX_NUMBER];
- u8 TxPwrLevelHT40_1S[RF_PATH_MAX_92C_88E][CHANNEL_MAX_NUMBER]; /* For HT 40MHZ pwr */
- u8 TxPwrLevelHT40_2S[RF_PATH_MAX_92C_88E][CHANNEL_MAX_NUMBER]; /* For HT 40MHZ pwr */
- s8 TxPwrHt20Diff[RF_PATH_MAX_92C_88E][CHANNEL_MAX_NUMBER];/* HT 20<->40 Pwr diff */
- u8 TxPwrLegacyHtDiff[RF_PATH_MAX_92C_88E][CHANNEL_MAX_NUMBER];/* For HT<->legacy pwr diff */
+ u8 TxPwrLevelHT40_1S[RF_PATH_MAX_92C_88E]
+ [CHANNEL_MAX_NUMBER]; /* For HT 40MHZ pwr */
+ u8 TxPwrLevelHT40_2S[RF_PATH_MAX_92C_88E]
+ [CHANNEL_MAX_NUMBER]; /* For HT 40MHZ pwr */
+ s8 TxPwrHt20Diff[RF_PATH_MAX_92C_88E]
+ [CHANNEL_MAX_NUMBER]; /* HT 20<->40 Pwr diff */
+ u8 TxPwrLegacyHtDiff[RF_PATH_MAX_92C_88E]
+ [CHANNEL_MAX_NUMBER]; /* For HT<->legacy pwr diff */
/* Power Limit Table for 2.4G */
- s8 TxPwrLimit_2_4G[MAX_REGULATION_NUM]
- [MAX_2_4G_BANDWIDTH_NUM]
- [MAX_RATE_SECTION_NUM]
- [CHANNEL_MAX_NUMBER_2G]
- [MAX_RF_PATH_NUM];
+ s8 TxPwrLimit_2_4G[MAX_REGULATION_NUM][MAX_2_4G_BANDWIDTH_NUM]
+ [MAX_RATE_SECTION_NUM][CHANNEL_MAX_NUMBER_2G]
+ [MAX_RF_PATH_NUM];
/* Store the original power by rate value of the base of each rate section of rf path A & B */
u8 TxPwrByRateBase2_4G[MAX_RF_PATH_NUM][MAX_RATE_SECTION_NUM];
@@ -260,11 +261,8 @@ struct hal_com_data {
u8 PwrGroupHT20[RF_PATH_MAX_92C_88E][CHANNEL_MAX_NUMBER];
u8 PwrGroupHT40[RF_PATH_MAX_92C_88E][CHANNEL_MAX_NUMBER];
-
-
-
u8 PGMaxGroup;
- u8 LegacyHTTxPowerDiff;/* Legacy to HT rate power diff */
+ u8 LegacyHTTxPowerDiff; /* Legacy to HT rate power diff */
/* The current Tx Power Level */
u8 CurrentCckTxPwrIdx;
u8 CurrentOfdm24GTxPwrIdx;
@@ -277,8 +275,8 @@ struct hal_com_data {
u32 CCKTxPowerLevelOriginalOffset;
u8 CrystalCap;
- u32 AntennaTxPath; /* Antenna path Tx */
- u32 AntennaRxPath; /* Antenna path Rx */
+ u32 AntennaTxPath; /* Antenna path Tx */
+ u32 AntennaRxPath; /* Antenna path Rx */
u8 PAType_2G;
u8 LNAType_2G;
@@ -292,25 +290,25 @@ struct hal_com_data {
u8 BoardType;
u8 ExternalPA;
u8 bIQKInitialized;
- bool bLCKInProgress;
+ bool bLCKInProgress;
- bool bSwChnl;
- bool bSetChnlBW;
- bool bChnlBWInitialized;
- bool bNeedIQK;
+ bool bSwChnl;
+ bool bSetChnlBW;
+ bool bChnlBWInitialized;
+ bool bNeedIQK;
u8 bLedOpenDrain; /* Support Open-drain arrangement for controlling the LED. Added by Roger, 2009.10.16. */
u8 TxPowerTrackControl; /* for mp mode, turn off txpwrtracking as default */
- u8 b1x1RecvCombine; /* for 1T1R receive combining */
+ u8 b1x1RecvCombine; /* for 1T1R receive combining */
u32 AcParam_BE; /* Original parameter for BE, use for EDCA turbo. */
- struct bb_register_def PHYRegDef[4]; /* Radio A/B/C/D */
+ struct bb_register_def PHYRegDef[4]; /* Radio A/B/C/D */
u32 RfRegChnlVal[2];
/* RDG enable */
- bool bRDGEnable;
+ bool bRDGEnable;
/* for host message to fw */
u8 LastHMEBoxNum;
@@ -332,14 +330,14 @@ struct hal_com_data {
u8 TRxAntDivType;
u8 ant_path; /* for 8723B s0/s1 selection */
- u8 u1ForcedIgiLb; /* forced IGI lower bound */
+ u8 u1ForcedIgiLb; /* forced IGI lower bound */
- u8 bDumpRxPkt;/* for debug */
- u8 bDumpTxPkt;/* for debug */
+ u8 bDumpRxPkt; /* for debug */
+ u8 bDumpTxPkt; /* for debug */
u8 FwRsvdPageStartOffset; /* 2010.06.23. Added by tynli. Reserve page start offset except beacon in TxQ. */
/* 2010/08/09 MH Add CU power down mode. */
- bool pwrdown;
+ bool pwrdown;
/* Add for dual MAC 0--Mac0 1--Mac1 */
u32 interfaceIndex;
@@ -348,11 +346,11 @@ struct hal_com_data {
u8 OutEpNumber;
/* 2010/12/10 MH Add for USB aggregation mode dynamic scheme. */
- bool UsbRxHighSpeedMode;
+ bool UsbRxHighSpeedMode;
/* 2010/11/22 MH Add for slim combo debug mode selective. */
/* This is used for fix the drawback of CU TSMC-A/UMC-A cut. HW auto suspend ability. Close BT clock. */
- bool SlimComboDbg;
+ bool SlimComboDbg;
/* u8 AMPDUDensity; */
@@ -360,39 +358,43 @@ struct hal_com_data {
u8 bMacPwrCtrlOn;
u8 RegIQKFWOffload;
- struct submit_ctx iqk_sctx;
+ struct submit_ctx iqk_sctx;
- enum rt_ampdu_burst AMPDUBurstMode; /* 92C maybe not use, but for compile successfully */
+ enum rt_ampdu_burst
+ AMPDUBurstMode; /* 92C maybe not use, but for compile successfully */
- u32 sdio_himr;
- u32 sdio_hisr;
+ u32 sdio_himr;
+ u32 sdio_hisr;
/* SDIO Tx FIFO related. */
/* HIQ, MID, LOW, PUB free pages; padapter->xmitpriv.free_txpg */
- u8 SdioTxFIFOFreePage[SDIO_TX_FREE_PG_QUEUE];
- spinlock_t SdioTxFIFOFreePageLock;
- u8 SdioTxOQTMaxFreeSpace;
- u8 SdioTxOQTFreeSpace;
-
+ u8 SdioTxFIFOFreePage[SDIO_TX_FREE_PG_QUEUE];
+ spinlock_t SdioTxFIFOFreePageLock;
+ u8 SdioTxOQTMaxFreeSpace;
+ u8 SdioTxOQTFreeSpace;
/* SDIO Rx FIFO related. */
- u8 SdioRxFIFOCnt;
- u16 SdioRxFIFOSize;
+ u8 SdioRxFIFOCnt;
+ u16 SdioRxFIFOSize;
- u32 sdio_tx_max_len[SDIO_MAX_TX_QUEUE];/* H, N, L, used for sdio tx aggregation max length per queue */
+ u32 sdio_tx_max_len
+ [SDIO_MAX_TX_QUEUE]; /* H, N, L, used for sdio tx aggregation max length per queue */
struct dm_priv dmpriv;
- struct dm_odm_t odmpriv;
+ struct dm_odm_t odmpriv;
/* For bluetooth co-existence */
- struct bt_coexist bt_coexist;
+ struct bt_coexist bt_coexist;
/* Chip version information */
- bool chip_normal; /* true - normal chip, false - test chip */
+ bool chip_normal; /* true - normal chip, false - test chip */
};
-#define GET_HAL_DATA(__padapter) ((struct hal_com_data *)((__padapter)->HalData))
-#define GET_HAL_RFPATH_NUM(__padapter) (((struct hal_com_data *)((__padapter)->HalData))->NumTotalRFPath)
-#define RT_GetInterfaceSelection(_Adapter) (GET_HAL_DATA(_Adapter)->InterfaceSel)
+#define GET_HAL_DATA(__padapter) \
+ ((struct hal_com_data *)((__padapter)->HalData))
+#define GET_HAL_RFPATH_NUM(__padapter) \
+ (((struct hal_com_data *)((__padapter)->HalData))->NumTotalRFPath)
+#define RT_GetInterfaceSelection(_Adapter) \
+ (GET_HAL_DATA(_Adapter)->InterfaceSel)
#endif /* __HAL_DATA_H__ */
diff --git a/drivers/staging/rtl8723bs/include/hal_intf.h b/drivers/staging/rtl8723bs/include/hal_intf.h
index ee8ad26325b5d..20a15c5d47df4 100644
--- a/drivers/staging/rtl8723bs/include/hal_intf.h
+++ b/drivers/staging/rtl8723bs/include/hal_intf.h
@@ -7,12 +7,11 @@
#ifndef __HAL_INTF_H__
#define __HAL_INTF_H__
-
enum {
- RTW_PCIE = BIT(0),
- RTW_USB = BIT(1),
- RTW_SDIO = BIT(2),
- RTW_GSPI = BIT(3),
+ RTW_PCIE = BIT(0),
+ RTW_USB = BIT(1),
+ RTW_SDIO = BIT(2),
+ RTW_GSPI = BIT(3),
};
enum {
@@ -119,17 +118,17 @@ enum hal_def_variable {
HAL_DEF_DRVINFO_SZ,
HAL_DEF_MAX_RECVBUF_SZ,
HAL_DEF_RX_PACKET_OFFSET,
- HAL_DEF_DBG_DUMP_RXPKT,/* for dbg */
- HAL_DEF_DBG_DM_FUNC,/* for dbg */
+ HAL_DEF_DBG_DUMP_RXPKT, /* for dbg */
+ HAL_DEF_DBG_DM_FUNC, /* for dbg */
HAL_DEF_RA_DECISION_RATE,
HAL_DEF_RA_SGI,
HAL_DEF_PT_PWR_STATUS,
- HAL_DEF_TX_LDPC, /* LDPC support */
- HAL_DEF_RX_LDPC, /* LDPC support */
- HAL_DEF_TX_STBC, /* TX STBC support */
- HAL_DEF_RX_STBC, /* RX STBC support */
- HAL_DEF_EXPLICIT_BEAMFORMER,/* Explicit Compressed Steering Capable */
- HAL_DEF_EXPLICIT_BEAMFORMEE,/* Explicit Compressed Beamforming Feedback Capable */
+ HAL_DEF_TX_LDPC, /* LDPC support */
+ HAL_DEF_RX_LDPC, /* LDPC support */
+ HAL_DEF_TX_STBC, /* TX STBC support */
+ HAL_DEF_RX_STBC, /* RX STBC support */
+ HAL_DEF_EXPLICIT_BEAMFORMER, /* Explicit Compressed Steering Capable */
+ HAL_DEF_EXPLICIT_BEAMFORMEE, /* Explicit Compressed Beamforming Feedback Capable */
HW_VAR_MAX_RX_AMPDU_FACTOR,
HW_DEF_RA_INFO_DUMP,
HAL_DEF_DBG_DUMP_TXPKT,
@@ -139,7 +138,7 @@ enum hal_def_variable {
HAL_DEF_TX_PAGE_SIZE,
HAL_DEF_TX_PAGE_BOUNDARY,
HAL_DEF_TX_PAGE_BOUNDARY_WOWLAN,
- HAL_DEF_ANT_DETECT,/* to do for 8723a */
+ HAL_DEF_ANT_DETECT, /* to do for 8723a */
HAL_DEF_PCI_SUUPORT_L1_BACKDOOR, /* Determine if the L1 Backdoor setting is turned on. */
HAL_DEF_PCI_AMD_L1_SUPPORT,
HAL_DEF_PCI_ASPM_OSC, /* Support for ASPM OSC, added by Roger, 2013.03.27. */
@@ -160,26 +159,26 @@ enum hal_intf_ps_func {
typedef s32 (*c2h_id_filter)(u8 *c2h_evt);
-#define RF_CHANGE_BY_INIT 0
-#define RF_CHANGE_BY_IPS BIT(28)
-#define RF_CHANGE_BY_PS BIT(29)
-#define RF_CHANGE_BY_HW BIT(30)
-#define RF_CHANGE_BY_SW BIT(31)
+#define RF_CHANGE_BY_INIT 0
+#define RF_CHANGE_BY_IPS BIT(28)
+#define RF_CHANGE_BY_PS BIT(29)
+#define RF_CHANGE_BY_HW BIT(30)
+#define RF_CHANGE_BY_SW BIT(31)
#define GET_EEPROM_EFUSE_PRIV(adapter) (&adapter->eeprompriv)
#define is_boot_from_eeprom(adapter) (adapter->eeprompriv.EepromOrEfuse)
-#define Rx_Pairwisekey 0x01
-#define Rx_GTK 0x02
-#define Rx_DisAssoc 0x04
-#define Rx_DeAuth 0x08
-#define Rx_ARPReq 0x09
-#define FWDecisionDisconnect 0x10
-#define Rx_MagicPkt 0x21
-#define Rx_UnicastPkt 0x22
-#define Rx_PatternPkt 0x23
-#define RX_PNOWakeUp 0x55
-#define AP_WakeUp 0x66
+#define Rx_Pairwisekey 0x01
+#define Rx_GTK 0x02
+#define Rx_DisAssoc 0x04
+#define Rx_DeAuth 0x08
+#define Rx_ARPReq 0x09
+#define FWDecisionDisconnect 0x10
+#define Rx_MagicPkt 0x21
+#define Rx_UnicastPkt 0x22
+#define Rx_PatternPkt 0x23
+#define RX_PNOWakeUp 0x55
+#define AP_WakeUp 0x66
uint rtw_hal_init(struct adapter *padapter);
uint rtw_hal_deinit(struct adapter *padapter);
@@ -187,44 +186,59 @@ void rtw_hal_stop(struct adapter *padapter);
void rtw_hal_set_hwreg(struct adapter *padapter, u8 variable, u8 *val);
void rtw_hal_get_hwreg(struct adapter *padapter, u8 variable, u8 *val);
-void rtw_hal_set_hwreg_with_buf(struct adapter *padapter, u8 variable, u8 *pbuf, int len);
+void rtw_hal_set_hwreg_with_buf(struct adapter *padapter, u8 variable, u8 *pbuf,
+ int len);
-u8 rtw_hal_get_def_var(struct adapter *padapter, enum hal_def_variable eVariable, void *pValue);
+u8 rtw_hal_get_def_var(struct adapter *padapter,
+ enum hal_def_variable eVariable, void *pValue);
-void rtw_hal_set_odm_var(struct adapter *padapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet);
+void rtw_hal_set_odm_var(struct adapter *padapter,
+ enum hal_odm_variable eVariable, void *pValue1,
+ bool bSet);
u8 rtw_hal_check_ips_status(struct adapter *padapter);
-int rtw_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe);
-s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe);
-s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe);
+int rtw_hal_xmitframe_enqueue(struct adapter *padapter,
+ struct xmit_frame *pxmitframe);
+s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe);
+s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe);
-s32 rtw_hal_init_xmit_priv(struct adapter *padapter);
+s32 rtw_hal_init_xmit_priv(struct adapter *padapter);
void rtw_hal_free_xmit_priv(struct adapter *padapter);
-s32 rtw_hal_init_recv_priv(struct adapter *padapter);
+s32 rtw_hal_init_recv_priv(struct adapter *padapter);
void rtw_hal_free_recv_priv(struct adapter *padapter);
void rtw_hal_update_ra_mask(struct sta_info *psta, u8 rssi_level);
-void rtw_hal_add_ra_tid(struct adapter *padapter, u32 bitmap, u8 *arg, u8 rssi_level);
+void rtw_hal_add_ra_tid(struct adapter *padapter, u32 bitmap, u8 *arg,
+ u8 rssi_level);
void beacon_timing_control(struct adapter *padapter);
u32 rtw_hal_read_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask);
-void rtw_hal_write_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask, u32 Data);
-u32 rtw_hal_read_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr, u32 BitMask);
-void rtw_hal_write_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr, u32 BitMask, u32 Data);
+void rtw_hal_write_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask,
+ u32 Data);
+u32 rtw_hal_read_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr,
+ u32 BitMask);
+void rtw_hal_write_rfreg(struct adapter *padapter, u32 eRFPath, u32 RegAddr,
+ u32 BitMask, u32 Data);
-#define PHY_QueryBBReg(Adapter, RegAddr, BitMask) rtw_hal_read_bbreg((Adapter), (RegAddr), (BitMask))
-#define PHY_SetBBReg(Adapter, RegAddr, BitMask, Data) rtw_hal_write_bbreg((Adapter), (RegAddr), (BitMask), (Data))
-#define PHY_QueryRFReg(Adapter, eRFPath, RegAddr, BitMask) rtw_hal_read_rfreg((Adapter), (eRFPath), (RegAddr), (BitMask))
-#define PHY_SetRFReg(Adapter, eRFPath, RegAddr, BitMask, Data) rtw_hal_write_rfreg((Adapter), (eRFPath), (RegAddr), (BitMask), (Data))
+#define PHY_QueryBBReg(Adapter, RegAddr, BitMask) \
+ rtw_hal_read_bbreg((Adapter), (RegAddr), (BitMask))
+#define PHY_SetBBReg(Adapter, RegAddr, BitMask, Data) \
+ rtw_hal_write_bbreg((Adapter), (RegAddr), (BitMask), (Data))
+#define PHY_QueryRFReg(Adapter, eRFPath, RegAddr, BitMask) \
+ rtw_hal_read_rfreg((Adapter), (eRFPath), (RegAddr), (BitMask))
+#define PHY_SetRFReg(Adapter, eRFPath, RegAddr, BitMask, Data) \
+ rtw_hal_write_rfreg((Adapter), (eRFPath), (RegAddr), (BitMask), (Data))
-#define PHY_SetMacReg PHY_SetBBReg
+#define PHY_SetMacReg PHY_SetBBReg
#define PHY_QueryMacReg PHY_QueryBBReg
void rtw_hal_set_chan(struct adapter *padapter, u8 channel);
-void rtw_hal_set_chnl_bw(struct adapter *padapter, u8 channel, enum channel_width Bandwidth, u8 Offset40, u8 Offset80);
+void rtw_hal_set_chnl_bw(struct adapter *padapter, u8 channel,
+ enum channel_width Bandwidth, u8 Offset40,
+ u8 Offset80);
void rtw_hal_dm_watchdog(struct adapter *padapter);
void rtw_hal_dm_watchdog_in_lps(struct adapter *padapter);
@@ -239,12 +253,15 @@ c2h_id_filter rtw_hal_c2h_id_filter_ccx(struct adapter *adapter);
s32 rtw_hal_macid_sleep(struct adapter *padapter, u32 macid);
s32 rtw_hal_macid_wakeup(struct adapter *padapter, u32 macid);
-s32 rtw_hal_fill_h2c_cmd(struct adapter *, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer);
+s32 rtw_hal_fill_h2c_cmd(struct adapter *, u8 ElementID, u32 CmdLen,
+ u8 *pCmdBuffer);
void SetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val);
void GetHwReg8723BS(struct adapter *padapter, u8 variable, u8 *val);
-void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf, int len);
-u8 GetHalDefVar8723BSDIO(struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue);
+void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf,
+ int len);
+u8 GetHalDefVar8723BSDIO(struct adapter *Adapter,
+ enum hal_def_variable eVariable, void *pValue);
void UpdateHalRAMask8723B(struct adapter *padapter, u32 mac_id, u8 rssi_level);
void rtl8723b_SetBeaconRelatedRegisters(struct adapter *padapter);
void Hal_EfusePowerSwitch(struct adapter *padapter, u8 PwrState);
diff --git a/drivers/staging/rtl8723bs/include/hal_pg.h b/drivers/staging/rtl8723bs/include/hal_pg.h
index 7cb9c441fc013..9bb7ed26a49b8 100644
--- a/drivers/staging/rtl8723bs/include/hal_pg.h
+++ b/drivers/staging/rtl8723bs/include/hal_pg.h
@@ -8,44 +8,44 @@
#ifndef __HAL_PG_H__
#define __HAL_PG_H__
-#define MAX_RF_PATH 4
+#define MAX_RF_PATH 4
/* MAX_TX_COUNT must always be set to 4, otherwise the read efuse table
* sequence will be wrong.
*/
-#define MAX_TX_COUNT 4
+#define MAX_TX_COUNT 4
/* TX power by rate table. */
/* RF: = AB = 0/1 */
/* CCK = 0 OFDM = 1 HT-MCS 0-7 = 2 */
-#define TX_PWR_BY_RATE_NUM_RATE 84
-#define MAX_RF_PATH_NUM 2
-#define MAX_CHNL_GROUP_24G 6
-#define EEPROM_DEFAULT_BOARD_OPTION 0x00
+#define TX_PWR_BY_RATE_NUM_RATE 84
+#define MAX_RF_PATH_NUM 2
+#define MAX_CHNL_GROUP_24G 6
+#define EEPROM_DEFAULT_BOARD_OPTION 0x00
/* EEPROM/Efuse PG Offset for 8723BE/8723BU/8723BS */
/* 0x10 ~ 0x63 = TX power area. */
-#define EEPROM_TX_PWR_INX_8723B 0x10
+#define EEPROM_TX_PWR_INX_8723B 0x10
/* New EFUSE default value */
-#define EEPROM_DEFAULT_24G_INDEX 0x2D
-#define EEPROM_DEFAULT_24G_HT20_DIFF 0X02
-#define EEPROM_DEFAULT_24G_OFDM_DIFF 0X04
-#define EEPROM_Default_ThermalMeter_8723B 0x18
-#define EEPROM_Default_CrystalCap_8723B 0x20
+#define EEPROM_DEFAULT_24G_INDEX 0x2D
+#define EEPROM_DEFAULT_24G_HT20_DIFF 0X02
+#define EEPROM_DEFAULT_24G_OFDM_DIFF 0X04
+#define EEPROM_Default_ThermalMeter_8723B 0x18
+#define EEPROM_Default_CrystalCap_8723B 0x20
-#define EEPROM_ChannelPlan_8723B 0xB8
-#define EEPROM_XTAL_8723B 0xB9
-#define EEPROM_THERMAL_METER_8723B 0xBA
+#define EEPROM_ChannelPlan_8723B 0xB8
+#define EEPROM_XTAL_8723B 0xB9
+#define EEPROM_THERMAL_METER_8723B 0xBA
-#define EEPROM_RF_BOARD_OPTION_8723B 0xC1
-#define EEPROM_RF_BT_SETTING_8723B 0xC3
-#define EEPROM_VERSION_8723B 0xC4
-#define EEPROM_CustomID_8723B 0xC5
-#define EEPROM_DEFAULT_DIFF 0XFE
+#define EEPROM_RF_BOARD_OPTION_8723B 0xC1
+#define EEPROM_RF_BT_SETTING_8723B 0xC3
+#define EEPROM_VERSION_8723B 0xC4
+#define EEPROM_CustomID_8723B 0xC5
+#define EEPROM_DEFAULT_DIFF 0XFE
/* RTL8723BS */
-#define EEPROM_MAC_ADDR_8723BS 0x11A
-#define EEPROM_Voltage_ADDR_8723B 0x8
-#define RTL_EEPROM_ID 0x8129
+#define EEPROM_MAC_ADDR_8723BS 0x11A
+#define EEPROM_Voltage_ADDR_8723B 0x8
+#define RTL_EEPROM_ID 0x8129
struct TxPowerInfo24G {
u8 IndexCCK_Base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
@@ -57,10 +57,7 @@ struct TxPowerInfo24G {
s8 BW40_Diff[MAX_RF_PATH][MAX_TX_COUNT];
};
-enum {
- Ant_x2 = 0,
- Ant_x1 = 1
-};
+enum { Ant_x2 = 0, Ant_x1 = 1 };
enum {
BT_RTL8723B = 8,
diff --git a/drivers/staging/rtl8723bs/include/hal_phy.h b/drivers/staging/rtl8723bs/include/hal_phy.h
index abc0f27fdaa46..8187ac10949ca 100644
--- a/drivers/staging/rtl8723bs/include/hal_phy.h
+++ b/drivers/staging/rtl8723bs/include/hal_phy.h
@@ -10,36 +10,33 @@
/* Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected. */
/* Added by Roger, 2013.05.22. */
/* */
-#define ANT_DETECT_BY_SINGLE_TONE BIT(0)
-#define ANT_DETECT_BY_RSSI BIT(1)
-#define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE)
-#define IS_ANT_DETECT_SUPPORT_RSSI(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_RSSI)
-
+#define ANT_DETECT_BY_SINGLE_TONE BIT(0)
+#define ANT_DETECT_BY_RSSI BIT(1)
+#define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter) \
+ ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE)
+#define IS_ANT_DETECT_SUPPORT_RSSI(__Adapter) \
+ ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_RSSI)
/*--------------------------Define Parameters-------------------------------*/
enum {
- RF_TYPE_MIN = 0, /* 0 */
- RF_8225 = 1, /* 1 11b/g RF for verification only */
- RF_8256 = 2, /* 2 11b/g/n */
- RF_8258 = 3, /* 3 11a/b/g/n RF */
- RF_6052 = 4, /* 4 11b/g/n RF */
- RF_PSEUDO_11N = 5, /* 5, It is a temporality RF. */
+ RF_TYPE_MIN = 0, /* 0 */
+ RF_8225 = 1, /* 1 11b/g RF for verification only */
+ RF_8256 = 2, /* 2 11b/g/n */
+ RF_8258 = 3, /* 3 11a/b/g/n RF */
+ RF_6052 = 4, /* 4 11b/g/n RF */
+ RF_PSEUDO_11N = 5, /* 5, It is a temporality RF. */
RF_TYPE_MAX
};
-enum rf_path {
- RF_PATH_A = 0,
- RF_PATH_B,
- RF_PATH_MAX
-};
+enum rf_path { RF_PATH_A = 0, RF_PATH_B, RF_PATH_MAX };
-#define TX_1S 0
-#define TX_2S 1
-#define TX_3S 2
-#define TX_4S 3
+#define TX_1S 0
+#define TX_2S 1
+#define TX_3S 2
+#define TX_4S 3
-#define RF_PATH_MAX_92C_88E 2
-#define RF_PATH_MAX_90_8812 4 /* Max RF number 90 support */
+#define RF_PATH_MAX_92C_88E 2
+#define RF_PATH_MAX_90_8812 4 /* Max RF number 90 support */
enum wireless_mode {
WIRELESS_MODE_UNKNOWN = 0x00,
@@ -47,8 +44,8 @@ enum wireless_mode {
WIRELESS_MODE_G = 0x04,
WIRELESS_MODE_AUTO = 0x08,
WIRELESS_MODE_N_24G = 0x10,
- WIRELESS_MODE_AC_24G = 0x80,
- WIRELESS_MODE_AC_ONLY = 0x100,
+ WIRELESS_MODE_AC_24G = 0x80,
+ WIRELESS_MODE_AC_ONLY = 0x100,
};
enum SwChnlCmdID {
@@ -62,10 +59,10 @@ enum SwChnlCmdID {
};
struct SwChnlCmd {
- enum SwChnlCmdID CmdID;
- u32 Para1;
- u32 Para2;
- u32 msDelay;
+ enum SwChnlCmdID CmdID;
+ u32 Para1;
+ u32 Para2;
+ u32 msDelay;
};
/*--------------------------Exported Function prototype---------------------*/
diff --git a/drivers/staging/rtl8723bs/include/hal_phy_cfg.h b/drivers/staging/rtl8723bs/include/hal_phy_cfg.h
index 07bf0a8d019aa..3943c444cd15a 100644
--- a/drivers/staging/rtl8723bs/include/hal_phy_cfg.h
+++ b/drivers/staging/rtl8723bs/include/hal_phy_cfg.h
@@ -8,18 +8,17 @@
#define __INC_HAL8723BPHYCFG_H__
/*--------------------------Define Parameters-------------------------------*/
-#define LOOP_LIMIT 5
-#define MAX_STALL_TIME 50 /* us */
-#define AntennaDiversityValue 0x80 /* Adapter->bSoftwareAntennaDiversity ? 0x00:0x80) */
-#define MAX_TXPWR_IDX_NMODE_92S 63
-#define Reset_Cnt_Limit 3
-
-#define MAX_AGGR_NUM 0x07
+#define LOOP_LIMIT 5
+#define MAX_STALL_TIME 50 /* us */
+#define AntennaDiversityValue \
+ 0x80 /* Adapter->bSoftwareAntennaDiversity ? 0x00:0x80) */
+#define MAX_TXPWR_IDX_NMODE_92S 63
+#define Reset_Cnt_Limit 3
+#define MAX_AGGR_NUM 0x07
/*--------------------------Define Parameters End-------------------------------*/
-
/*------------------------------Define structure----------------------------*/
/*------------------------------Define structure End----------------------------*/
@@ -27,14 +26,14 @@
/*--------------------------Exported Function prototype---------------------*/
u32 PHY_QueryBBReg_8723B(struct adapter *Adapter, u32 RegAddr, u32 BitMask);
-void PHY_SetBBReg_8723B(struct adapter *Adapter, u32 RegAddr,
- u32 BitMask, u32 Data);
+void PHY_SetBBReg_8723B(struct adapter *Adapter, u32 RegAddr, u32 BitMask,
+ u32 Data);
-u32 PHY_QueryRFReg_8723B(struct adapter *Adapter, u8 eRFPath,
- u32 RegAddr, u32 BitMask);
+u32 PHY_QueryRFReg_8723B(struct adapter *Adapter, u8 eRFPath, u32 RegAddr,
+ u32 BitMask);
-void PHY_SetRFReg_8723B(struct adapter *Adapter, u8 eRFPath,
- u32 RegAddr, u32 BitMask, u32 Data);
+void PHY_SetRFReg_8723B(struct adapter *Adapter, u8 eRFPath, u32 RegAddr,
+ u32 BitMask, u32 Data);
/* MAC/BB/RF HAL config */
int PHY_BBConfig8723B(struct adapter *Adapter);
@@ -43,11 +42,11 @@ int PHY_RFConfig8723B(struct adapter *Adapter);
s32 PHY_MACConfig8723B(struct adapter *padapter);
-void PHY_SetTxPowerIndex(struct adapter *Adapter, u32 PowerIndex,
- u8 RFPath, u8 Rate);
+void PHY_SetTxPowerIndex(struct adapter *Adapter, u32 PowerIndex, u8 RFPath,
+ u8 Rate);
u8 PHY_GetTxPowerIndex(struct adapter *padapter, u8 RFPath, u8 Rate,
- enum channel_width BandWidth, u8 Channel);
+ enum channel_width BandWidth, u8 Channel);
void PHY_SetTxPowerLevel8723B(struct adapter *Adapter, u8 channel);
@@ -55,8 +54,8 @@ void PHY_SetTxPowerLevel8723B(struct adapter *Adapter, u8 channel);
void PHY_SwChnl8723B(struct adapter *Adapter, u8 channel);
void PHY_SetSwChnlBWMode8723B(struct adapter *Adapter, u8 channel,
- enum channel_width Bandwidth,
- u8 Offset40, u8 Offset80);
+ enum channel_width Bandwidth, u8 Offset40,
+ u8 Offset80);
/*--------------------------Exported Function prototype End---------------------*/
diff --git a/drivers/staging/rtl8723bs/include/hal_phy_reg.h b/drivers/staging/rtl8723bs/include/hal_phy_reg.h
index 682cdd6655ab2..caa1f6ebdfcdd 100644
--- a/drivers/staging/rtl8723bs/include/hal_phy_reg.h
+++ b/drivers/staging/rtl8723bs/include/hal_phy_reg.h
@@ -11,7 +11,7 @@
/* if (RTL92SE_FPGA_VERIFY == 1) */
/* define bRFRegOffsetMask 0xfff */
/* else */
-#define bRFRegOffsetMask 0xfffff
+#define bRFRegOffsetMask 0xfffff
/* endif */
#endif /* __HAL_PHY_REG_H__ */
diff --git a/drivers/staging/rtl8723bs/include/hal_pwr_seq.h b/drivers/staging/rtl8723bs/include/hal_pwr_seq.h
index 9639eef8a51d2..b3c8154b1624d 100644
--- a/drivers/staging/rtl8723bs/include/hal_pwr_seq.h
+++ b/drivers/staging/rtl8723bs/include/hal_pwr_seq.h
@@ -25,202 +25,829 @@
TRANS_END
*/
-#define RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS 26
-#define RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS 15
-#define RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS 15
-#define RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS 15
-#define RTL8723B_TRANS_ACT_TO_LPS_STEPS 15
-#define RTL8723B_TRANS_LPS_TO_ACT_STEPS 15
-#define RTL8723B_TRANS_ACT_TO_SWLPS_STEPS 22
-#define RTL8723B_TRANS_SWLPS_TO_ACT_STEPS 15
-#define RTL8723B_TRANS_END_STEPS 1
-
-
-#define RTL8723B_TRANS_CARDEMU_TO_ACT \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0020, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)}, /*0x20[0] = 1b'1 enable LDOA12 MACRO block for all interface*/ \
- {0x0067, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0}, /*0x67[0] = 0 to disable BT_GPS_SEL pins*/ \
- {0x0001, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_DELAY, 1, PWRSEQ_DELAY_MS},/*Delay 1ms*/ \
- {0x0000, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(5), 0}, /*0x00[5] = 1b'0 release analog Ips to digital , 1:isolation*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, (BIT(4)|BIT(3)|BIT(2)), 0},/* disable SW LPS 0x04[10]= 0 and WLSUS_EN 0x04[11]= 0*/ \
- {0x0075, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/* Disable USB suspend */ \
- {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(1), BIT(1)},/* wait till 0x04[17] = 1 power ready*/ \
- {0x0075, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), (0)},/* Enable USB suspend */ \
- {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/* release WLON reset 0x04[16]= 1*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), 0},/* disable HWPDN 0x04[15]= 0*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, (BIT(4)|BIT(3)), 0},/* disable WL suspend*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/* polling until return 0*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(0), 0},/**/ \
- {0x0010, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6), BIT(6)},/* Enable WL control XTAL setting*/ \
- {0x0049, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)},/*Enable falling edge triggering interrupt*/\
- {0x0063, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)},/*Enable GPIO9 interrupt mode*/\
- {0x0062, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0},/*Enable GPIO9 input mode*/\
- {0x0058, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/*Enable HSISR GPIO[C:0] interrupt*/\
- {0x005A, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)},/*Enable HSISR GPIO9 interrupt*/\
- {0x0068, PWR_CUT_TESTCHIP_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3), BIT(3)},/*For GPIO9 internal pull high setting by test chip*/\
- {0x0069, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6), BIT(6)},/*For GPIO9 internal pull high setting*/\
-
-
-#define RTL8723B_TRANS_ACT_TO_CARDEMU \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x001F, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0},/*0x1F[7:0] = 0 turn off RF*/ \
- {0x0049, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0},/*Enable rising edge triggering interrupt*/ \
- {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/* release WLON reset 0x04[16]= 1*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)}, /*0x04[9] = 1 turn off MAC by HW state machine*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(1), 0}, /*wait till 0x04[9] = 0 polling until return 0 to disable*/ \
- {0x0010, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6), 0},/* Enable BT control XTAL setting*/\
- {0x0000, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(5), BIT(5)}, /*0x00[5] = 1b'1 analog Ips to digital , 1:isolation*/ \
- {0x0020, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0}, /*0x20[0] = 1b'0 disable LDOA12 MACRO block*/\
-
-
-#define RTL8723B_TRANS_CARDEMU_TO_SUS \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4)|BIT(3), (BIT(4)|BIT(3))}, /*0x04[12:11] = 2b'11 enable WL suspend for PCIe*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), BIT(3)}, /*0x04[12:11] = 2b'01 enable WL suspend*/ \
- {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4)}, /*0x23[4] = 1b'1 12H LDO enter sleep mode*/ \
- {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x20}, /*0x07[7:0] = 0x20 SDIO SOP option to disable BG/MB/ACK/SWR*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), BIT(3)|BIT(4)}, /*0x04[12:11] = 2b'11 enable WL suspend for PCIe*/ \
- {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), BIT(0)}, /*Set SDIO suspend local register*/ \
- {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), 0}, /*wait power state to suspend*/
-
-#define RTL8723B_TRANS_SUS_TO_CARDEMU \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3) | BIT(7), 0}, /*clear suspend enable and power down enable*/ \
- {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), 0}, /*Set SDIO suspend local register*/ \
- {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), BIT(1)}, /*wait power state to suspend*/\
- {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0}, /*0x23[4] = 1b'0 12H LDO enter normal mode*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), 0}, /*0x04[12:11] = 2b'01enable WL suspend*/
-
-#define RTL8723B_TRANS_CARDEMU_TO_CARDDIS \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, omments here*/ \
- {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x20}, /*0x07 = 0x20 , SOP option to disable BG/MB*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), BIT(3)}, /*0x04[12:11] = 2b'01 enable WL suspend*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(2), BIT(2)}, /*0x04[10] = 1, enable SW LPS*/ \
- {0x004A, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 1}, /*0x48[16] = 1 to enable GPIO9 as EXT WAKEUP*/ \
- {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4)}, /*0x23[4] = 1b'1 12H LDO enter sleep mode*/ \
- {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), BIT(0)}, /*Set SDIO suspend local register*/ \
- {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), 0}, /*wait power state to suspend*/
-
-#define RTL8723B_TRANS_CARDDIS_TO_CARDEMU \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3) | BIT(7), 0}, /*clear suspend enable and power down enable*/ \
- {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), 0}, /*Set SDIO suspend local register*/ \
- {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), BIT(1)}, /*wait power state to suspend*/\
- {0x004A, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0}, /*0x48[16] = 0 to disable GPIO9 as EXT WAKEUP*/ \
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), 0}, /*0x04[12:11] = 2b'01enable WL suspend*/\
- {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0}, /*0x23[4] = 1b'0 12H LDO enter normal mode*/ \
- {0x0301, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0},/*PCIe DMA start*/
-
-
-#define RTL8723B_TRANS_CARDEMU_TO_PDN \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4)}, /*0x23[4] = 1b'1 12H LDO enter sleep mode*/ \
- {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK|PWR_INTF_USB_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x20}, /*0x07[7:0] = 0x20 SOP option to disable BG/MB/ACK/SWR*/ \
- {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0},/* 0x04[16] = 0*/\
- {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), BIT(7)},/* 0x04[15] = 1*/
-
-#define RTL8723B_TRANS_ACT_TO_LPS \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0301, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0xFF},/*PCIe DMA stop*/ \
- {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0xFF},/*Tx Pause*/ \
- {0x05F8, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0},/*Should be zero if no packet is transmitting*/ \
- {0x05F9, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0},/*Should be zero if no packet is transmitting*/ \
- {0x05FA, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0},/*Should be zero if no packet is transmitting*/ \
- {0x05FB, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0},/*Should be zero if no packet is transmitting*/ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0},/*CCK and OFDM are disabled, and clock are gated*/ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_DELAY, 0, PWRSEQ_DELAY_US},/*Delay 1us*/ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0},/*Whole BB is reset*/ \
- {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x03},/*Reset MAC TRX*/ \
- {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0},/*check if removed later*/ \
- {0x0093, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x00},/*When driver enter Sus/ Disable, enable LOP for BT*/ \
- {0x0553, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(5), BIT(5)},/*Respond TxOK to scheduler*/ \
-
-
-#define RTL8723B_TRANS_LPS_TO_ACT \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0080, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_SDIO, PWR_CMD_WRITE, 0xFF, 0x84}, /*SDIO RPWM*/\
- {0xFE58, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x84}, /*USB RPWM*/\
- {0x0361, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x84}, /*PCIe RPWM*/\
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_DELAY, 0, PWRSEQ_DELAY_MS}, /*Delay*/\
- {0x0008, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0}, /*. 0x08[4] = 0 switch TSF to 40M*/\
- {0x0109, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(7), 0}, /*Polling 0x109[7]= 0 TSF in 40M*/\
- {0x0029, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6)|BIT(7), 0}, /*. 0x29[7:6] = 2b'00 enable BB clock*/\
- {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)}, /*. 0x101[1] = 1*/\
- {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0xFF}, /*. 0x100[7:0] = 0xFF enable WMAC TRX*/\
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1)|BIT(0), BIT(1)|BIT(0)}, /*. 0x02[1:0] = 2b'11 enable BB macro*/\
- {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0}, /*. 0x522 = 0*/
-
-
- #define RTL8723B_TRANS_ACT_TO_SWLPS \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0194, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/*enable 32 K source*/ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0},/*CCK and OFDM are disabled, and clock are gated*/ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 1},/*CCK and OFDM are enable*/ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0},/*CCK and OFDM are disabled, and clock are gated*/ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 1},/*CCK and OFDM are enable*/ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0},/*CCK and OFDM are disabled, and clock are gated*/ \
- {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x3F},/*Reset MAC TRX*/ \
- {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0},/*disable security engine*/ \
- {0x0093, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x40},/*When driver enter Sus/ Disable, enable LOP for BT*/ \
- {0x0553, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(5), BIT(5)},/*reset dual TSF*/ \
- {0x0003, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(2), 0},/*Reset CPU*/ \
- {0x0080, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0},/*Reset MCUFWDL register*/ \
- {0x001D, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0},/*Reset CPU IO Wrapper*/ \
- {0x001D, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 1},/*Reset CPU IO Wrapper*/ \
- {0x0287, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0},/*polling RXFF packet number = 0 */ \
- {0x0286, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(1), BIT(1)},/*polling RXDMA idle */ \
- {0x013D, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/*Clear FW RPWM interrupt */\
- {0x0139, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/*Set FW RPWM interrupt source*/\
- {0x0008, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4)},/*switch TSF to 32K*/\
- {0x0109, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), BIT(7)},/*polling TSF stable*/\
- {0x0090, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/*Set FW LPS*/ \
- {0x0090, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(0), 0},/*polling FW LPS ready */
-
-
-#define RTL8723B_TRANS_SWLPS_TO_ACT \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0x0008, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0},/*switch TSF to 32K*/\
- {0x0109, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), 0},/*polling TSF stable*/\
- {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)}, /*. 0x101[1] = 1, enable security engine*/\
- {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0xFF}, /*. 0x100[7:0] = 0xFF enable WMAC TRX*/\
- {0x06B7, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x09}, /*. reset MAC rx state machine*/\
- {0x06B4, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x86}, /*. reset MAC rx state machine*/\
- {0x0080, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)},/* set CPU RAM code ready*/ \
- {0x001D, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0},/*Reset CPU IO Wrapper*/ \
- {0x0003, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(2), 0},/* Enable CPU*/ \
- {0x001D, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)},/*enable CPU IO Wrapper*/ \
- {0x0003, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(2), BIT(2)},/* Enable CPU*/ \
- {0x0080, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(7), BIT(7)},/*polling FW init ready */ \
- {0x0080, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(6), BIT(6)},/*polling FW init ready */ \
- {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)}, /*. 0x02[1:0] = 2b'11 enable BB macro*/\
- {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0}, /*. 0x522 = 0*/
-
-#define RTL8723B_TRANS_END \
- /* format */ \
- /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
- {0xFFFF, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, 0, PWR_CMD_END, 0, 0},
-
-
-extern struct wlan_pwr_cfg rtl8723B_power_on_flow[RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_radio_off_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_card_disable_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_card_enable_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_suspend_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_resume_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_hwpdn_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_enter_lps_flow[RTL8723B_TRANS_ACT_TO_LPS_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_leave_lps_flow[RTL8723B_TRANS_LPS_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_enter_swlps_flow[RTL8723B_TRANS_ACT_TO_SWLPS_STEPS+RTL8723B_TRANS_END_STEPS];
-extern struct wlan_pwr_cfg rtl8723B_leave_swlps_flow[RTL8723B_TRANS_SWLPS_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS];
+#define RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS 26
+#define RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS 15
+#define RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS 15
+#define RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS 15
+#define RTL8723B_TRANS_ACT_TO_LPS_STEPS 15
+#define RTL8723B_TRANS_LPS_TO_ACT_STEPS 15
+#define RTL8723B_TRANS_ACT_TO_SWLPS_STEPS 22
+#define RTL8723B_TRANS_SWLPS_TO_ACT_STEPS 15
+#define RTL8723B_TRANS_END_STEPS 1
+
+#define RTL8723B_TRANS_CARDEMU_TO_ACT \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { \
+ 0x0020, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) \
+ }, /*0x20[0] = 1b'1 enable LDOA12 MACRO block for all interface*/ \
+ { \
+ 0x0067, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), 0 \
+ }, /*0x67[0] = 0 to disable BT_GPS_SEL pins*/ \
+ { 0x0001, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_DELAY, \
+ 1, \
+ PWRSEQ_DELAY_MS }, /*Delay 1ms*/ \
+ { \
+ 0x0000, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(5), 0 \
+ }, /*0x00[5] = 1b'0 release analog Ips to digital , 1:isolation*/ \
+ { 0x0005, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ (BIT(4) | BIT(3) | BIT(2)), \
+ 0 }, /* disable SW LPS 0x04[10]= 0 and WLSUS_EN 0x04[11]= 0*/ \
+ { 0x0075, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) }, /* Disable USB suspend */ \
+ { \
+ 0x0006, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_POLLING, \
+ BIT(1), BIT(1) \
+ }, /* wait till 0x04[17] = 1 power ready*/ \
+ { 0x0075, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), (0) }, /* Enable USB suspend */ \
+ { \
+ 0x0006, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) \
+ }, /* release WLON reset 0x04[16]= 1*/ \
+ { 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(7), 0 }, /* disable HWPDN 0x04[15]= 0*/ \
+ { 0x0005, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ (BIT(4) | BIT(3)), \
+ 0 }, /* disable WL suspend*/ \
+ { 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) }, /* polling until return 0*/ \
+ { 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_POLLING, \
+ BIT(0), 0 }, /**/ \
+ { \
+ 0x0010, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(6), BIT(6) \
+ }, /* Enable WL control XTAL setting*/ \
+ { \
+ 0x0049, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), BIT(1) \
+ }, /*Enable falling edge triggering interrupt*/ \
+ { 0x0063, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), BIT(1) }, /*Enable GPIO9 interrupt mode*/ \
+ { 0x0062, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), 0 }, /*Enable GPIO9 input mode*/ \
+ { \
+ 0x0058, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) \
+ }, /*Enable HSISR GPIO[C:0] interrupt*/ \
+ { 0x005A, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), BIT(1) }, /*Enable HSISR GPIO9 interrupt*/ \
+ { \
+ 0x0068, PWR_CUT_TESTCHIP_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(3), BIT(3) \
+ }, /*For GPIO9 internal pull high setting by test chip*/ \
+ { \
+ 0x0069, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(6), BIT(6) \
+ }, /*For GPIO9 internal pull high setting*/
+
+#define RTL8723B_TRANS_ACT_TO_CARDEMU \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { 0x001F, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0 }, /*0x1F[7:0] = 0 turn off RF*/ \
+ { \
+ 0x0049, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), 0 \
+ }, /*Enable rising edge triggering interrupt*/ \
+ { \
+ 0x0006, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) \
+ }, /* release WLON reset 0x04[16]= 1*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), BIT(1) \
+ }, /*0x04[9] = 1 turn off MAC by HW state machine*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_POLLING, \
+ BIT(1), 0 \
+ }, /*wait till 0x04[9] = 0 polling until return 0 to disable*/ \
+ { 0x0010, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(6), 0 }, /* Enable BT control XTAL setting*/ \
+ { \
+ 0x0000, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(5), BIT(5) \
+ }, /*0x00[5] = 1b'1 analog Ips to digital , 1:isolation*/ \
+ { \
+ 0x0020, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 \
+ }, /*0x20[0] = 1b'0 disable LDOA12 MACRO block*/
+
+#define RTL8723B_TRANS_CARDEMU_TO_SUS \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
+ PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4) | BIT(3), (BIT(4) | BIT(3)) \
+ }, /*0x04[12:11] = 2b'11 enable WL suspend for PCIe*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(3) | BIT(4), BIT(3) \
+ }, /*0x04[12:11] = 2b'01 enable WL suspend*/ \
+ { \
+ 0x0023, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), BIT(4) \
+ }, /*0x23[4] = 1b'1 12H LDO enter sleep mode*/ \
+ { \
+ 0x0007, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x20 \
+ }, /*0x07[7:0] = 0x20 SDIO SOP option to disable BG/MB/ACK/SWR*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
+ PWR_INTF_PCI_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(3) | BIT(4), BIT(3) | BIT(4) \
+ }, /*0x04[12:11] = 2b'11 enable WL suspend for PCIe*/ \
+ { 0x0086, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_WRITE, \
+ BIT(0), \
+ BIT(0) }, /*Set SDIO suspend local register*/ \
+ { 0x0086, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_POLLING, \
+ BIT(1), \
+ 0 }, /*wait power state to suspend*/
+
+#define RTL8723B_TRANS_SUS_TO_CARDEMU \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(3) | BIT(7), 0 \
+ }, /*clear suspend enable and power down enable*/ \
+ { 0x0086, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_WRITE, \
+ BIT(0), \
+ 0 }, /*Set SDIO suspend local register*/ \
+ { 0x0086, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_POLLING, \
+ BIT(1), \
+ BIT(1) }, /*wait power state to suspend*/ \
+ { \
+ 0x0023, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), 0 \
+ }, /*0x23[4] = 1b'0 12H LDO enter normal mode*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(3) | BIT(4), 0 \
+ }, /*0x04[12:11] = 2b'01enable WL suspend*/
+
+#define RTL8723B_TRANS_CARDEMU_TO_CARDDIS \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, omments here*/ \
+ { 0x0007, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x20 }, /*0x07 = 0x20 , SOP option to disable BG/MB*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(3) | BIT(4), BIT(3) \
+ }, /*0x04[12:11] = 2b'01 enable WL suspend*/ \
+ { 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(2), BIT(2) }, /*0x04[10] = 1, enable SW LPS*/ \
+ { \
+ 0x004A, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 1 \
+ }, /*0x48[16] = 1 to enable GPIO9 as EXT WAKEUP*/ \
+ { \
+ 0x0023, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), BIT(4) \
+ }, /*0x23[4] = 1b'1 12H LDO enter sleep mode*/ \
+ { 0x0086, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_WRITE, \
+ BIT(0), \
+ BIT(0) }, /*Set SDIO suspend local register*/ \
+ { 0x0086, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_POLLING, \
+ BIT(1), \
+ 0 }, /*wait power state to suspend*/
+
+#define RTL8723B_TRANS_CARDDIS_TO_CARDEMU \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(3) | BIT(7), 0 \
+ }, /*clear suspend enable and power down enable*/ \
+ { 0x0086, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_WRITE, \
+ BIT(0), \
+ 0 }, /*Set SDIO suspend local register*/ \
+ { 0x0086, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_POLLING, \
+ BIT(1), \
+ BIT(1) }, /*wait power state to suspend*/ \
+ { \
+ 0x004A, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 \
+ }, /*0x48[16] = 0 to disable GPIO9 as EXT WAKEUP*/ \
+ { \
+ 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(3) | BIT(4), 0 \
+ }, /*0x04[12:11] = 2b'01enable WL suspend*/ \
+ { \
+ 0x0023, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), 0 \
+ }, /*0x23[4] = 1b'0 12H LDO enter normal mode*/ \
+ { 0x0301, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_PCI_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0 }, /*PCIe DMA start*/
+
+#define RTL8723B_TRANS_CARDEMU_TO_PDN \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { \
+ 0x0023, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), BIT(4) \
+ }, /*0x23[4] = 1b'1 12H LDO enter sleep mode*/ \
+ { \
+ 0x0007, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK | PWR_INTF_USB_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x20 \
+ }, /*0x07[7:0] = 0x20 SOP option to disable BG/MB/ACK/SWR*/ \
+ { 0x0006, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 }, /* 0x04[16] = 0*/ \
+ { 0x0005, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(7), BIT(7) }, /* 0x04[15] = 1*/
+
+#define RTL8723B_TRANS_ACT_TO_LPS \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { 0x0301, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_PCI_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0xFF }, /*PCIe DMA stop*/ \
+ { 0x0522, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0xFF }, /*Tx Pause*/ \
+ { 0x05F8, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_POLLING, \
+ 0xFF, \
+ 0 }, /*Should be zero if no packet is transmitting*/ \
+ { 0x05F9, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_POLLING, \
+ 0xFF, \
+ 0 }, /*Should be zero if no packet is transmitting*/ \
+ { 0x05FA, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_POLLING, \
+ 0xFF, \
+ 0 }, /*Should be zero if no packet is transmitting*/ \
+ { 0x05FB, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_POLLING, \
+ 0xFF, \
+ 0 }, /*Should be zero if no packet is transmitting*/ \
+ { \
+ 0x0002, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 \
+ }, /*CCK and OFDM are disabled, and clock are gated*/ \
+ { 0x0002, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_DELAY, \
+ 0, \
+ PWRSEQ_DELAY_US }, /*Delay 1us*/ \
+ { 0x0002, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), 0 }, /*Whole BB is reset*/ \
+ { 0x0100, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x03 }, /*Reset MAC TRX*/ \
+ { 0x0101, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), 0 }, /*check if removed later*/ \
+ { 0x0093, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x00 }, /*When driver enter Sus/ Disable, enable LOP for BT*/ \
+ { 0x0553, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(5), BIT(5) }, /*Respond TxOK to scheduler*/
+
+#define RTL8723B_TRANS_LPS_TO_ACT \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { 0x0080, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_SDIO, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x84 }, /*SDIO RPWM*/ \
+ { 0xFE58, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_USB_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x84 }, /*USB RPWM*/ \
+ { 0x0361, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_PCI_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x84 }, /*PCIe RPWM*/ \
+ { 0x0002, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_DELAY, \
+ 0, \
+ PWRSEQ_DELAY_MS }, /*Delay*/ \
+ { \
+ 0x0008, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), 0 \
+ }, /*. 0x08[4] = 0 switch TSF to 40M*/ \
+ { 0x0109, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_POLLING, \
+ BIT(7), 0 }, /*Polling 0x109[7]= 0 TSF in 40M*/ \
+ { \
+ 0x0029, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(6) | BIT(7), 0 \
+ }, /*. 0x29[7:6] = 2b'00 enable BB clock*/ \
+ { 0x0101, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), BIT(1) }, /*. 0x101[1] = 1*/ \
+ { 0x0100, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0xFF }, /*. 0x100[7:0] = 0xFF enable WMAC TRX*/ \
+ { \
+ 0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1) | BIT(0), BIT(1) | BIT(0) \
+ }, /*. 0x02[1:0] = 2b'11 enable BB macro*/ \
+ { 0x0522, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0 }, /*. 0x522 = 0*/
+
+#define RTL8723B_TRANS_ACT_TO_SWLPS \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { \
+ 0x0194, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) \
+ }, /*enable 32 K source*/ \
+ { \
+ 0x0002, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 \
+ }, /*CCK and OFDM are disabled, and clock are gated*/ \
+ { 0x0002, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 1 }, /*CCK and OFDM are enable*/ \
+ { \
+ 0x0002, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 \
+ }, /*CCK and OFDM are disabled, and clock are gated*/ \
+ { 0x0002, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 1 }, /*CCK and OFDM are enable*/ \
+ { \
+ 0x0002, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 \
+ }, /*CCK and OFDM are disabled, and clock are gated*/ \
+ { 0x0100, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x3F }, /*Reset MAC TRX*/ \
+ { 0x0101, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), 0 }, /*disable security engine*/ \
+ { 0x0093, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x40 }, /*When driver enter Sus/ Disable, enable LOP for BT*/ \
+ { 0x0553, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(5), BIT(5) }, /*reset dual TSF*/ \
+ { 0x0003, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(2), 0 }, /*Reset CPU*/ \
+ { 0x0080, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0 }, /*Reset MCUFWDL register*/ \
+ { 0x001D, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 }, /*Reset CPU IO Wrapper*/ \
+ { 0x001D, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 1 }, /*Reset CPU IO Wrapper*/ \
+ { 0x0287, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_POLLING, \
+ 0xFF, \
+ 0 }, /*polling RXFF packet number = 0 */ \
+ { 0x0286, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_POLLING, \
+ BIT(1), BIT(1) }, /*polling RXDMA idle */ \
+ { 0x013D, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) }, /*Clear FW RPWM interrupt */ \
+ { 0x0139, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) }, /*Set FW RPWM interrupt source*/ \
+ { 0x0008, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), BIT(4) }, /*switch TSF to 32K*/ \
+ { 0x0109, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(7), BIT(7) }, /*polling TSF stable*/ \
+ { 0x0090, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) }, /*Set FW LPS*/ \
+ { 0x0090, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_POLLING, \
+ BIT(0), 0 }, /*polling FW LPS ready */
+
+#define RTL8723B_TRANS_SWLPS_TO_ACT \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { \
+ 0x0008, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(4), 0 \
+ }, /*switch TSF to 32K*/ \
+ { 0x0109, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(7), 0 }, /*polling TSF stable*/ \
+ { \
+ 0x0101, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), BIT(1) \
+ }, /*. 0x101[1] = 1, enable security engine*/ \
+ { 0x0100, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0xFF }, /*. 0x100[7:0] = 0xFF enable WMAC TRX*/ \
+ { 0x06B7, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x09 }, /*. reset MAC rx state machine*/ \
+ { 0x06B4, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0x86 }, /*. reset MAC rx state machine*/ \
+ { 0x0080, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(1), BIT(1) }, /* set CPU RAM code ready*/ \
+ { 0x001D, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), 0 }, /*Reset CPU IO Wrapper*/ \
+ { 0x0003, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(2), 0 }, /* Enable CPU*/ \
+ { 0x001D, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) }, /*enable CPU IO Wrapper*/ \
+ { 0x0003, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(2), BIT(2) }, /* Enable CPU*/ \
+ { 0x0080, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_POLLING, \
+ BIT(7), BIT(7) }, /*polling FW init ready */ \
+ { 0x0080, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_POLLING, \
+ BIT(6), BIT(6) }, /*polling FW init ready */ \
+ { \
+ 0x0002, PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, PWR_CMD_WRITE, \
+ BIT(0), BIT(0) \
+ }, /*. 0x02[1:0] = 2b'11 enable BB macro*/ \
+ { 0x0522, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_SDIO_MSK, \
+ PWR_BASEADDR_MAC, \
+ PWR_CMD_WRITE, \
+ 0xFF, \
+ 0 }, /*. 0x522 = 0*/
+
+#define RTL8723B_TRANS_END \
+ /* format */ \
+ /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value }, comments here*/ \
+ { 0xFFFF, \
+ PWR_CUT_ALL_MSK, \
+ PWR_FAB_ALL_MSK, \
+ PWR_INTF_ALL_MSK, \
+ 0, \
+ PWR_CMD_END, \
+ 0, \
+ 0 },
+
+extern struct wlan_pwr_cfg
+ rtl8723B_power_on_flow[RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_radio_off_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_card_disable_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_card_enable_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_suspend_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_resume_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_hwpdn_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
+ RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_enter_lps_flow[RTL8723B_TRANS_ACT_TO_LPS_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_leave_lps_flow[RTL8723B_TRANS_LPS_TO_ACT_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_enter_swlps_flow[RTL8723B_TRANS_ACT_TO_SWLPS_STEPS +
+ RTL8723B_TRANS_END_STEPS];
+extern struct wlan_pwr_cfg
+ rtl8723B_leave_swlps_flow[RTL8723B_TRANS_SWLPS_TO_ACT_STEPS +
+ RTL8723B_TRANS_END_STEPS];
#endif
diff --git a/drivers/staging/rtl8723bs/include/hal_sdio.h b/drivers/staging/rtl8723bs/include/hal_sdio.h
index 3fc8acb430e57..e0938a4894020 100644
--- a/drivers/staging/rtl8723bs/include/hal_sdio.h
+++ b/drivers/staging/rtl8723bs/include/hal_sdio.h
@@ -7,12 +7,15 @@
#ifndef __HAL_SDIO_H_
#define __HAL_SDIO_H_
-#define ffaddr2deviceId(pdvobj, addr) (pdvobj->Queue2Pipe[addr])
+#define ffaddr2deviceId(pdvobj, addr) (pdvobj->Queue2Pipe[addr])
u8 rtw_hal_sdio_max_txoqt_free_space(struct adapter *padapter);
-u8 rtw_hal_sdio_query_tx_freepage(struct adapter *padapter, u8 PageIdx, u8 RequiredPageNum);
-void rtw_hal_sdio_update_tx_freepage(struct adapter *padapter, u8 PageIdx, u8 RequiredPageNum);
-void rtw_hal_set_sdio_tx_max_length(struct adapter *padapter, u8 numHQ, u8 numNQ, u8 numLQ, u8 numPubQ);
+u8 rtw_hal_sdio_query_tx_freepage(struct adapter *padapter, u8 PageIdx,
+ u8 RequiredPageNum);
+void rtw_hal_sdio_update_tx_freepage(struct adapter *padapter, u8 PageIdx,
+ u8 RequiredPageNum);
+void rtw_hal_set_sdio_tx_max_length(struct adapter *padapter, u8 numHQ,
+ u8 numNQ, u8 numLQ, u8 numPubQ);
u32 rtw_hal_get_sdio_tx_max_length(struct adapter *padapter, u8 queue_idx);
#endif /* __RTW_LED_H_ */
diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
index 39ee139f1da96..fd80af502e023 100644
--- a/drivers/staging/rtl8723bs/include/ieee80211.h
+++ b/drivers/staging/rtl8723bs/include/ieee80211.h
@@ -11,8 +11,8 @@
#define MGMT_QUEUE_NUM 5
-#define ETH_TYPE_LEN 2
-#define PAYLOAD_TYPE_LEN 1
+#define ETH_TYPE_LEN 2
+#define PAYLOAD_TYPE_LEN 1
#define RTL_IOCTL_HOSTAPD (SIOCIWFIRSTPRIV + 28)
@@ -61,39 +61,36 @@ enum {
#define WLAN_STA_MAYBE_WPS BIT(13)
#define WLAN_STA_NONERP BIT(31)
-#define IEEE_CMD_SET_WPA_PARAM 1
-#define IEEE_CMD_SET_WPA_IE 2
-#define IEEE_CMD_SET_ENCRYPTION 3
-#define IEEE_CMD_MLME 4
-
-#define IEEE_PARAM_WPA_ENABLED 1
-#define IEEE_PARAM_TKIP_COUNTERMEASURES 2
-#define IEEE_PARAM_DROP_UNENCRYPTED 3
-#define IEEE_PARAM_PRIVACY_INVOKED 4
-#define IEEE_PARAM_AUTH_ALGS 5
-#define IEEE_PARAM_IEEE_802_1X 6
-#define IEEE_PARAM_WPAX_SELECT 7
-
-#define IEEE_MLME_STA_DEAUTH 1
-#define IEEE_MLME_STA_DISASSOC 2
-
-#define IEEE_CRYPT_ERR_UNKNOWN_ALG 2
-#define IEEE_CRYPT_ERR_UNKNOWN_ADDR 3
-#define IEEE_CRYPT_ERR_CRYPT_INIT_FAILED 4
-#define IEEE_CRYPT_ERR_KEY_SET_FAILED 5
-#define IEEE_CRYPT_ERR_TX_KEY_SET_FAILED 6
-#define IEEE_CRYPT_ERR_CARD_CONF_FAILED 7
-
-
-#define IEEE_CRYPT_ALG_NAME_LEN 16
-
-#define WPA_CIPHER_NONE BIT(0)
-#define WPA_CIPHER_WEP40 BIT(1)
+#define IEEE_CMD_SET_WPA_PARAM 1
+#define IEEE_CMD_SET_WPA_IE 2
+#define IEEE_CMD_SET_ENCRYPTION 3
+#define IEEE_CMD_MLME 4
+
+#define IEEE_PARAM_WPA_ENABLED 1
+#define IEEE_PARAM_TKIP_COUNTERMEASURES 2
+#define IEEE_PARAM_DROP_UNENCRYPTED 3
+#define IEEE_PARAM_PRIVACY_INVOKED 4
+#define IEEE_PARAM_AUTH_ALGS 5
+#define IEEE_PARAM_IEEE_802_1X 6
+#define IEEE_PARAM_WPAX_SELECT 7
+
+#define IEEE_MLME_STA_DEAUTH 1
+#define IEEE_MLME_STA_DISASSOC 2
+
+#define IEEE_CRYPT_ERR_UNKNOWN_ALG 2
+#define IEEE_CRYPT_ERR_UNKNOWN_ADDR 3
+#define IEEE_CRYPT_ERR_CRYPT_INIT_FAILED 4
+#define IEEE_CRYPT_ERR_KEY_SET_FAILED 5
+#define IEEE_CRYPT_ERR_TX_KEY_SET_FAILED 6
+#define IEEE_CRYPT_ERR_CARD_CONF_FAILED 7
+
+#define IEEE_CRYPT_ALG_NAME_LEN 16
+
+#define WPA_CIPHER_NONE BIT(0)
+#define WPA_CIPHER_WEP40 BIT(1)
#define WPA_CIPHER_WEP104 BIT(2)
-#define WPA_CIPHER_TKIP BIT(3)
-#define WPA_CIPHER_CCMP BIT(4)
-
-
+#define WPA_CIPHER_TKIP BIT(3)
+#define WPA_CIPHER_CCMP BIT(4)
#define WPA_SELECTOR_LEN 4
extern u8 RTW_WPA_OUI_TYPE[];
@@ -108,7 +105,6 @@ extern u8 WPA_CIPHER_SUITE_WRAP[];
extern u8 WPA_CIPHER_SUITE_CCMP[];
extern u8 WPA_CIPHER_SUITE_WEP104[];
-
#define RSN_HEADER_LEN 4
#define RSN_SELECTOR_LEN 4
@@ -122,7 +118,6 @@ extern u8 RSN_CIPHER_SUITE_WRAP[];
extern u8 RSN_CIPHER_SUITE_CCMP[];
extern u8 RSN_CIPHER_SUITE_WEP104[];
-
enum {
RATEID_IDX_BGN_40M_2SS = 0,
RATEID_IDX_BGN_40M_1SS = 1,
@@ -139,26 +134,40 @@ enum network_type {
WIRELESS_INVALID = 0,
/* Sub-Element */
WIRELESS_11B = BIT(0), /* tx: cck only , rx: cck only, hw: cck */
- WIRELESS_11G = BIT(1), /* tx: ofdm only, rx: ofdm & cck, hw: cck & ofdm */
- WIRELESS_11_24N = BIT(3), /* tx: MCS only, rx: MCS & cck, hw: MCS & cck */
+ WIRELESS_11G =
+ BIT(1), /* tx: ofdm only, rx: ofdm & cck, hw: cck & ofdm */
+ WIRELESS_11_24N =
+ BIT(3), /* tx: MCS only, rx: MCS & cck, hw: MCS & cck */
WIRELESS_AUTO = BIT(5),
/* Combination */
/* Type for current wireless mode */
- WIRELESS_11BG = (WIRELESS_11B|WIRELESS_11G), /* tx: cck & ofdm, rx: cck & ofdm & MCS, hw: cck & ofdm */
- WIRELESS_11G_24N = (WIRELESS_11G|WIRELESS_11_24N), /* tx: ofdm & MCS, rx: ofdm & cck & MCS, hw: cck & ofdm */
- WIRELESS_11B_24N = (WIRELESS_11B|WIRELESS_11_24N), /* tx: ofdm & cck & MCS, rx: ofdm & cck & MCS, hw: ofdm & cck */
- WIRELESS_11BG_24N = (WIRELESS_11B|WIRELESS_11G|WIRELESS_11_24N), /* tx: ofdm & cck & MCS, rx: ofdm & cck & MCS, hw: ofdm & cck */
+ WIRELESS_11BG =
+ (WIRELESS_11B |
+ WIRELESS_11G), /* tx: cck & ofdm, rx: cck & ofdm & MCS, hw: cck & ofdm */
+ WIRELESS_11G_24N =
+ (WIRELESS_11G |
+ WIRELESS_11_24N), /* tx: ofdm & MCS, rx: ofdm & cck & MCS, hw: cck & ofdm */
+ WIRELESS_11B_24N =
+ (WIRELESS_11B |
+ WIRELESS_11_24N), /* tx: ofdm & cck & MCS, rx: ofdm & cck & MCS, hw: ofdm & cck */
+ WIRELESS_11BG_24N =
+ (WIRELESS_11B | WIRELESS_11G |
+ WIRELESS_11_24N), /* tx: ofdm & cck & MCS, rx: ofdm & cck & MCS, hw: ofdm & cck */
};
-#define SUPPORTED_24G_NETTYPE_MSK (WIRELESS_11B | WIRELESS_11G | WIRELESS_11_24N)
+#define SUPPORTED_24G_NETTYPE_MSK \
+ (WIRELESS_11B | WIRELESS_11G | WIRELESS_11_24N)
-#define is_legacy_only(net_type) ((net_type) == ((net_type) & (WIRELESS_11BG)))
+#define is_legacy_only(net_type) ((net_type) == ((net_type) & (WIRELESS_11BG)))
-#define is_supported_24g(net_type) ((net_type) & SUPPORTED_24G_NETTYPE_MSK ? true : false)
+#define is_supported_24g(net_type) \
+ ((net_type) & SUPPORTED_24G_NETTYPE_MSK ? true : false)
-#define is_supported_tx_cck(net_type) (((net_type) & (WIRELESS_11B)) ? true : false)
-#define is_supported_ht(net_type) (((net_type) & (WIRELESS_11_24N)) ? true : false)
+#define is_supported_tx_cck(net_type) \
+ (((net_type) & (WIRELESS_11B)) ? true : false)
+#define is_supported_ht(net_type) \
+ (((net_type) & (WIRELESS_11_24N)) ? true : false)
struct ieee_param {
u32 cmd;
@@ -173,7 +182,7 @@ struct ieee_param {
u8 reserved[32];
u8 data[];
} wpa_ie;
- struct{
+ struct {
int command;
int reason_code;
} mlme;
@@ -194,7 +203,7 @@ struct ieee_param {
struct ieee80211_ht_cap ht_cap;
} add_sta;
struct {
- u8 reserved[2];/* for set max_num_sta */
+ u8 reserved[2]; /* for set max_num_sta */
u8 buf[];
} bcn_ie;
} u;
@@ -214,12 +223,12 @@ struct sta_data {
u8 tx_supp_rates[16];
u32 tx_supp_rates_len;
struct ieee80211_ht_cap ht_cap;
- u64 rx_pkts;
- u64 rx_bytes;
- u64 rx_drops;
- u64 tx_pkts;
- u64 tx_bytes;
- u64 tx_drops;
+ u64 rx_pkts;
+ u64 rx_bytes;
+ u64 rx_drops;
+ u64 tx_pkts;
+ u64 tx_bytes;
+ u64 tx_drops;
};
/* this is stolen from ipw2200 driver */
@@ -233,25 +242,24 @@ struct eapol {
u16 length;
} __packed;
-#define IEEE80211_FCS_LEN 4
+#define IEEE80211_FCS_LEN 4
-#define MIN_FRAG_THRESHOLD 256U
-#define MAX_FRAG_THRESHOLD 2346U
+#define MIN_FRAG_THRESHOLD 256U
+#define MAX_FRAG_THRESHOLD 2346U
/* sequence control field */
-#define RTW_IEEE80211_SCTL_FRAG 0x000F
-#define RTW_IEEE80211_SCTL_SEQ 0xFFF0
-
+#define RTW_IEEE80211_SCTL_FRAG 0x000F
+#define RTW_IEEE80211_SCTL_SEQ 0xFFF0
#define RTW_ERP_INFO_NON_ERP_PRESENT BIT(0)
#define RTW_ERP_INFO_USE_PROTECTION BIT(1)
#define RTW_ERP_INFO_BARKER_PREAMBLE_MODE BIT(2)
/* QoS, QOS */
-#define NORMAL_ACK 0
-#define NO_ACK 1
-#define NON_EXPLICIT_ACK 2
-#define BLOCK_ACK 3
+#define NORMAL_ACK 0
+#define NO_ACK 1
+#define NON_EXPLICIT_ACK 2
+#define BLOCK_ACK 3
#ifndef ETH_P_PAE
#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */
@@ -259,7 +267,7 @@ struct eapol {
#define ETH_P_PREAUTH 0x88C7 /* IEEE 802.11i pre-authentication */
-#define ETH_P_ECONET 0x0018
+#define ETH_P_ECONET 0x0018
#ifndef ETH_P_80211_RAW
#define ETH_P_80211_RAW (ETH_P_ECONET + 1)
@@ -270,10 +278,10 @@ struct eapol {
#define P80211_OUI_LEN 3
struct ieee80211_snap_hdr {
- u8 dsap; /* always 0xAA */
- u8 ssap; /* always 0xAA */
- u8 ctrl; /* always 0x03 */
- u8 oui[P80211_OUI_LEN]; /* organizational universal id */
+ u8 dsap; /* always 0xAA */
+ u8 ssap; /* always 0xAA */
+ u8 ctrl; /* always 0x03 */
+ u8 oui[P80211_OUI_LEN]; /* organizational universal id */
} __packed;
#define SNAP_SIZE sizeof(struct ieee80211_snap_hdr)
@@ -284,104 +292,96 @@ struct ieee80211_snap_hdr {
#define WLAN_QC_GET_TID(qc) ((qc) & 0x0f)
#define WLAN_GET_SEQ_FRAG(seq) ((seq) & RTW_IEEE80211_SCTL_FRAG)
-#define WLAN_GET_SEQ_SEQ(seq) ((seq) & RTW_IEEE80211_SCTL_SEQ)
+#define WLAN_GET_SEQ_SEQ(seq) ((seq) & RTW_IEEE80211_SCTL_SEQ)
/* Reason codes */
#define WLAN_REASON_ACTIVE_ROAM 65533
-#define WLAN_REASON_JOIN_WRONG_CHANNEL 65534
+#define WLAN_REASON_JOIN_WRONG_CHANNEL 65534
#define WLAN_REASON_EXPIRATION_CHK 65535
#define IEEE80211_MGMT_HDR_LEN 24
#define IEEE80211_DATA_HDR3_LEN 24
#define IEEE80211_DATA_HDR4_LEN 30
-
-#define IEEE80211_STATMASK_SIGNAL (1<<0)
-#define IEEE80211_STATMASK_RSSI (1<<1)
-#define IEEE80211_STATMASK_NOISE (1<<2)
-#define IEEE80211_STATMASK_RATE (1<<3)
+#define IEEE80211_STATMASK_SIGNAL (1 << 0)
+#define IEEE80211_STATMASK_RSSI (1 << 1)
+#define IEEE80211_STATMASK_NOISE (1 << 2)
+#define IEEE80211_STATMASK_RATE (1 << 3)
#define IEEE80211_STATMASK_WEMASK 0x7
-
-#define IEEE80211_CCK_MODULATION (1<<0)
-#define IEEE80211_OFDM_MODULATION (1<<1)
-
-#define IEEE80211_24GHZ_BAND (1<<0)
-#define IEEE80211_52GHZ_BAND (1<<1)
-
-#define IEEE80211_CCK_RATE_LEN 4
-#define IEEE80211_NUM_OFDM_RATESLEN 8
-
-
-#define IEEE80211_CCK_RATE_1MB 0x02
-#define IEEE80211_CCK_RATE_2MB 0x04
-#define IEEE80211_CCK_RATE_5MB 0x0B
-#define IEEE80211_CCK_RATE_11MB 0x16
-#define IEEE80211_OFDM_RATE_LEN 8
-#define IEEE80211_OFDM_RATE_6MB 0x0C
-#define IEEE80211_OFDM_RATE_9MB 0x12
-#define IEEE80211_OFDM_RATE_12MB 0x18
-#define IEEE80211_OFDM_RATE_18MB 0x24
-#define IEEE80211_OFDM_RATE_24MB 0x30
-#define IEEE80211_OFDM_RATE_36MB 0x48
-#define IEEE80211_OFDM_RATE_48MB 0x60
-#define IEEE80211_OFDM_RATE_54MB 0x6C
-#define IEEE80211_BASIC_RATE_MASK 0x80
-
-#define IEEE80211_CCK_RATE_1MB_MASK (1<<0)
-#define IEEE80211_CCK_RATE_2MB_MASK (1<<1)
-#define IEEE80211_CCK_RATE_5MB_MASK (1<<2)
-#define IEEE80211_CCK_RATE_11MB_MASK (1<<3)
-#define IEEE80211_OFDM_RATE_6MB_MASK (1<<4)
-#define IEEE80211_OFDM_RATE_9MB_MASK (1<<5)
-#define IEEE80211_OFDM_RATE_12MB_MASK (1<<6)
-#define IEEE80211_OFDM_RATE_18MB_MASK (1<<7)
-#define IEEE80211_OFDM_RATE_24MB_MASK (1<<8)
-#define IEEE80211_OFDM_RATE_36MB_MASK (1<<9)
-#define IEEE80211_OFDM_RATE_48MB_MASK (1<<10)
-#define IEEE80211_OFDM_RATE_54MB_MASK (1<<11)
-
-#define IEEE80211_CCK_RATES_MASK 0x0000000F
-#define IEEE80211_CCK_BASIC_RATES_MASK (IEEE80211_CCK_RATE_1MB_MASK | \
- IEEE80211_CCK_RATE_2MB_MASK)
-#define IEEE80211_CCK_DEFAULT_RATES_MASK \
- (IEEE80211_CCK_BASIC_RATES_MASK | \
- IEEE80211_CCK_RATE_5MB_MASK | \
+#define IEEE80211_CCK_MODULATION (1 << 0)
+#define IEEE80211_OFDM_MODULATION (1 << 1)
+
+#define IEEE80211_24GHZ_BAND (1 << 0)
+#define IEEE80211_52GHZ_BAND (1 << 1)
+
+#define IEEE80211_CCK_RATE_LEN 4
+#define IEEE80211_NUM_OFDM_RATESLEN 8
+
+#define IEEE80211_CCK_RATE_1MB 0x02
+#define IEEE80211_CCK_RATE_2MB 0x04
+#define IEEE80211_CCK_RATE_5MB 0x0B
+#define IEEE80211_CCK_RATE_11MB 0x16
+#define IEEE80211_OFDM_RATE_LEN 8
+#define IEEE80211_OFDM_RATE_6MB 0x0C
+#define IEEE80211_OFDM_RATE_9MB 0x12
+#define IEEE80211_OFDM_RATE_12MB 0x18
+#define IEEE80211_OFDM_RATE_18MB 0x24
+#define IEEE80211_OFDM_RATE_24MB 0x30
+#define IEEE80211_OFDM_RATE_36MB 0x48
+#define IEEE80211_OFDM_RATE_48MB 0x60
+#define IEEE80211_OFDM_RATE_54MB 0x6C
+#define IEEE80211_BASIC_RATE_MASK 0x80
+
+#define IEEE80211_CCK_RATE_1MB_MASK (1 << 0)
+#define IEEE80211_CCK_RATE_2MB_MASK (1 << 1)
+#define IEEE80211_CCK_RATE_5MB_MASK (1 << 2)
+#define IEEE80211_CCK_RATE_11MB_MASK (1 << 3)
+#define IEEE80211_OFDM_RATE_6MB_MASK (1 << 4)
+#define IEEE80211_OFDM_RATE_9MB_MASK (1 << 5)
+#define IEEE80211_OFDM_RATE_12MB_MASK (1 << 6)
+#define IEEE80211_OFDM_RATE_18MB_MASK (1 << 7)
+#define IEEE80211_OFDM_RATE_24MB_MASK (1 << 8)
+#define IEEE80211_OFDM_RATE_36MB_MASK (1 << 9)
+#define IEEE80211_OFDM_RATE_48MB_MASK (1 << 10)
+#define IEEE80211_OFDM_RATE_54MB_MASK (1 << 11)
+
+#define IEEE80211_CCK_RATES_MASK 0x0000000F
+#define IEEE80211_CCK_BASIC_RATES_MASK \
+ (IEEE80211_CCK_RATE_1MB_MASK | IEEE80211_CCK_RATE_2MB_MASK)
+#define IEEE80211_CCK_DEFAULT_RATES_MASK \
+ (IEEE80211_CCK_BASIC_RATES_MASK | IEEE80211_CCK_RATE_5MB_MASK | \
IEEE80211_CCK_RATE_11MB_MASK)
-#define IEEE80211_OFDM_RATES_MASK 0x00000FF0
-#define IEEE80211_OFDM_BASIC_RATES_MASK (IEEE80211_OFDM_RATE_6MB_MASK | \
- IEEE80211_OFDM_RATE_12MB_MASK | \
- IEEE80211_OFDM_RATE_24MB_MASK)
-#define IEEE80211_OFDM_DEFAULT_RATES_MASK (IEEE80211_OFDM_BASIC_RATES_MASK | \
- IEEE80211_OFDM_RATE_9MB_MASK | \
- IEEE80211_OFDM_RATE_18MB_MASK | \
- IEEE80211_OFDM_RATE_36MB_MASK | \
- IEEE80211_OFDM_RATE_48MB_MASK | \
- IEEE80211_OFDM_RATE_54MB_MASK)
-#define IEEE80211_DEFAULT_RATES_MASK \
- (IEEE80211_OFDM_DEFAULT_RATES_MASK | \
- IEEE80211_CCK_DEFAULT_RATES_MASK)
-
-#define IEEE80211_NUM_OFDM_RATES 8
-#define IEEE80211_NUM_CCK_RATES 4
-#define IEEE80211_OFDM_SHIFT_MASK_A 4
-
+#define IEEE80211_OFDM_RATES_MASK 0x00000FF0
+#define IEEE80211_OFDM_BASIC_RATES_MASK \
+ (IEEE80211_OFDM_RATE_6MB_MASK | IEEE80211_OFDM_RATE_12MB_MASK | \
+ IEEE80211_OFDM_RATE_24MB_MASK)
+#define IEEE80211_OFDM_DEFAULT_RATES_MASK \
+ (IEEE80211_OFDM_BASIC_RATES_MASK | IEEE80211_OFDM_RATE_9MB_MASK | \
+ IEEE80211_OFDM_RATE_18MB_MASK | IEEE80211_OFDM_RATE_36MB_MASK | \
+ IEEE80211_OFDM_RATE_48MB_MASK | IEEE80211_OFDM_RATE_54MB_MASK)
+#define IEEE80211_DEFAULT_RATES_MASK \
+ (IEEE80211_OFDM_DEFAULT_RATES_MASK | IEEE80211_CCK_DEFAULT_RATES_MASK)
+
+#define IEEE80211_NUM_OFDM_RATES 8
+#define IEEE80211_NUM_CCK_RATES 4
+#define IEEE80211_OFDM_SHIFT_MASK_A 4
enum {
- MGN_1M = 0x02,
- MGN_2M = 0x04,
- MGN_5_5M = 0x0B,
- MGN_6M = 0x0C,
- MGN_9M = 0x12,
- MGN_11M = 0x16,
- MGN_12M = 0x18,
- MGN_18M = 0x24,
- MGN_24M = 0x30,
- MGN_36M = 0x48,
- MGN_48M = 0x60,
- MGN_54M = 0x6C,
- MGN_MCS32 = 0x7F,
+ MGN_1M = 0x02,
+ MGN_2M = 0x04,
+ MGN_5_5M = 0x0B,
+ MGN_6M = 0x0C,
+ MGN_9M = 0x12,
+ MGN_11M = 0x16,
+ MGN_12M = 0x18,
+ MGN_18M = 0x24,
+ MGN_24M = 0x30,
+ MGN_36M = 0x48,
+ MGN_48M = 0x60,
+ MGN_54M = 0x6C,
+ MGN_MCS32 = 0x7F,
MGN_MCS0,
MGN_MCS1,
MGN_MCS2,
@@ -393,10 +393,12 @@ enum {
MGN_UNKNOWN
};
-#define IS_HT_RATE(_rate) (_rate >= MGN_MCS0 && _rate <= MGN_MCS31)
-#define IS_CCK_RATE(_rate) (_rate == MGN_1M || _rate == MGN_2M || _rate == MGN_5_5M || _rate == MGN_11M)
-#define IS_OFDM_RATE(_rate) (_rate >= MGN_6M && _rate <= MGN_54M && _rate != MGN_11M)
-
+#define IS_HT_RATE(_rate) (_rate >= MGN_MCS0 && _rate <= MGN_MCS31)
+#define IS_CCK_RATE(_rate) \
+ (_rate == MGN_1M || _rate == MGN_2M || _rate == MGN_5_5M || \
+ _rate == MGN_11M)
+#define IS_OFDM_RATE(_rate) \
+ (_rate >= MGN_6M && _rate <= MGN_54M && _rate != MGN_11M)
/* NOTE: This data is for statistical purposes; not all hardware provides this
* information for frames received. Not setting these will not cause
@@ -410,27 +412,27 @@ enum {
*/
#define IEEE80211_FRAG_CACHE_LEN 4
-#define SEC_KEY_1 (1<<0)
-#define SEC_KEY_2 (1<<1)
-#define SEC_KEY_3 (1<<2)
-#define SEC_KEY_4 (1<<3)
-#define SEC_ACTIVE_KEY (1<<4)
-#define SEC_AUTH_MODE (1<<5)
-#define SEC_UNICAST_GROUP (1<<6)
-#define SEC_LEVEL (1<<7)
-#define SEC_ENABLED (1<<8)
-
-#define SEC_LEVEL_0 0 /* None */
-#define SEC_LEVEL_1 1 /* WEP 40 and 104 bit */
-#define SEC_LEVEL_2 2 /* Level 1 + TKIP */
+#define SEC_KEY_1 (1 << 0)
+#define SEC_KEY_2 (1 << 1)
+#define SEC_KEY_3 (1 << 2)
+#define SEC_KEY_4 (1 << 3)
+#define SEC_ACTIVE_KEY (1 << 4)
+#define SEC_AUTH_MODE (1 << 5)
+#define SEC_UNICAST_GROUP (1 << 6)
+#define SEC_LEVEL (1 << 7)
+#define SEC_ENABLED (1 << 8)
+
+#define SEC_LEVEL_0 0 /* None */
+#define SEC_LEVEL_1 1 /* WEP 40 and 104 bit */
+#define SEC_LEVEL_2 2 /* Level 1 + TKIP */
#define SEC_LEVEL_2_CKIP 3 /* Level 1 + CKIP */
-#define SEC_LEVEL_3 4 /* Level 2 + CCMP */
+#define SEC_LEVEL_3 4 /* Level 2 + CCMP */
#define WEP_KEYS 4
#define WEP_KEY_LEN 13
#define BIP_MAX_KEYID 5
-#define BIP_AAD_SIZE 20
+#define BIP_AAD_SIZE 20
/*
* 802.11 data frame from AP
@@ -448,45 +450,45 @@ enum {
#define BEACON_PROBE_SSID_ID_POSITION 12
/* Management Frame Information Element Types */
-#define MFIE_TYPE_SSID 0
-#define MFIE_TYPE_RATES 1
-#define MFIE_TYPE_FH_SET 2
-#define MFIE_TYPE_DS_SET 3
-#define MFIE_TYPE_CF_SET 4
-#define MFIE_TYPE_TIM 5
-#define MFIE_TYPE_IBSS_SET 6
-#define MFIE_TYPE_CHALLENGE 16
-#define MFIE_TYPE_ERP 42
-#define MFIE_TYPE_RSN 48
-#define MFIE_TYPE_RATES_EX 50
-#define MFIE_TYPE_GENERIC 221
+#define MFIE_TYPE_SSID 0
+#define MFIE_TYPE_RATES 1
+#define MFIE_TYPE_FH_SET 2
+#define MFIE_TYPE_DS_SET 3
+#define MFIE_TYPE_CF_SET 4
+#define MFIE_TYPE_TIM 5
+#define MFIE_TYPE_IBSS_SET 6
+#define MFIE_TYPE_CHALLENGE 16
+#define MFIE_TYPE_ERP 42
+#define MFIE_TYPE_RSN 48
+#define MFIE_TYPE_RATES_EX 50
+#define MFIE_TYPE_GENERIC 221
/* SWEEP TABLE ENTRIES NUMBER*/
-#define MAX_SWEEP_TAB_ENTRIES 42
-#define MAX_SWEEP_TAB_ENTRIES_PER_PACKET 7
+#define MAX_SWEEP_TAB_ENTRIES 42
+#define MAX_SWEEP_TAB_ENTRIES_PER_PACKET 7
/* MAX_RATES_LENGTH needs to be 12. The spec says 8, and many APs
* only use 8, and then use extended rates for the remaining supported
* rates. Other APs, however, stick all of their supported rates on the
* main rates information element...
*/
-#define MAX_RATES_LENGTH ((u8)12)
-#define MAX_RATES_EX_LENGTH ((u8)16)
-#define MAX_NETWORK_COUNT 128
-#define MAX_CHANNEL_NUMBER 161
-#define IEEE80211_SOFTMAC_SCAN_TIME 400
+#define MAX_RATES_LENGTH ((u8)12)
+#define MAX_RATES_EX_LENGTH ((u8)16)
+#define MAX_NETWORK_COUNT 128
+#define MAX_CHANNEL_NUMBER 161
+#define IEEE80211_SOFTMAC_SCAN_TIME 400
/* HZ / 2) */
#define IEEE80211_SOFTMAC_ASSOC_RETRY_TIME (HZ * 2)
-#define CRC_LENGTH 4U
+#define CRC_LENGTH 4U
#define MAX_WPA_IE_LEN (256)
#define MAX_WPS_IE_LEN (512)
#define MAX_P2P_IE_LEN (256)
#define MAX_WFD_IE_LEN (128)
-#define NETWORK_EMPTY_ESSID (1<<0)
-#define NETWORK_HAS_OFDM (1<<1)
-#define NETWORK_HAS_CCK (1<<2)
+#define NETWORK_EMPTY_ESSID (1 << 0)
+#define NETWORK_HAS_OFDM (1 << 1)
+#define NETWORK_HAS_CCK (1 << 2)
#define IEEE80211_DTIM_MBCAST 4
#define IEEE80211_DTIM_UCAST 2
@@ -508,15 +510,15 @@ enum {
#define DEFAULT_FTS 2346
#define IP_ARG(x) (x)
-#define CFG_IEEE80211_RESERVE_FCS (1<<0)
-#define CFG_IEEE80211_COMPUTE_FCS (1<<1)
+#define CFG_IEEE80211_RESERVE_FCS (1 << 0)
+#define CFG_IEEE80211_COMPUTE_FCS (1 << 1)
-#define MAXTID 16
+#define MAXTID 16
-#define IEEE_A (1<<0)
-#define IEEE_B (1<<1)
-#define IEEE_G (1<<2)
-#define IEEE_MODE_MASK (IEEE_A|IEEE_B|IEEE_G)
+#define IEEE_A (1 << 0)
+#define IEEE_B (1 << 1)
+#define IEEE_G (1 << 2)
+#define IEEE_MODE_MASK (IEEE_A | IEEE_B | IEEE_G)
/* Action category code */
enum {
@@ -525,15 +527,17 @@ enum {
RTW_WLAN_CATEGORY_DLS = 2,
RTW_WLAN_CATEGORY_BACK = 3,
RTW_WLAN_CATEGORY_PUBLIC = 4, /* IEEE 802.11 public action frames */
- RTW_WLAN_CATEGORY_RADIO_MEASUREMENT = 5,
+ RTW_WLAN_CATEGORY_RADIO_MEASUREMENT = 5,
RTW_WLAN_CATEGORY_FT = 6,
RTW_WLAN_CATEGORY_HT = 7,
RTW_WLAN_CATEGORY_SA_QUERY = 8,
- RTW_WLAN_CATEGORY_UNPROTECTED_WNM = 11, /* add for CONFIG_IEEE80211W, none 11w also can use */
+ RTW_WLAN_CATEGORY_UNPROTECTED_WNM =
+ 11, /* add for CONFIG_IEEE80211W, none 11w also can use */
RTW_WLAN_CATEGORY_TDLS = 12,
- RTW_WLAN_CATEGORY_SELF_PROTECTED = 15, /* add for CONFIG_IEEE80211W, none 11w also can use */
+ RTW_WLAN_CATEGORY_SELF_PROTECTED =
+ 15, /* add for CONFIG_IEEE80211W, none 11w also can use */
RTW_WLAN_CATEGORY_WMM = 17,
- RTW_WLAN_CATEGORY_P2P = 0x7f,/* P2P action frames */
+ RTW_WLAN_CATEGORY_P2P = 0x7f, /* P2P action frames */
};
enum {
@@ -575,7 +579,6 @@ enum {
#define WME_TSPEC_DIRECTION_DOWNLINK 1
#define WME_TSPEC_DIRECTION_BI_DIRECTIONAL 3
-
#define OUI_BROADCOM 0x00904c /* Broadcom (Epigram) */
#define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */
@@ -596,17 +599,16 @@ enum {
* is not permitted.
*/
enum rtw_ieee80211_channel_flags {
- RTW_IEEE80211_CHAN_DISABLED = 1<<0,
- RTW_IEEE80211_CHAN_PASSIVE_SCAN = 1<<1,
- RTW_IEEE80211_CHAN_NO_IBSS = 1<<2,
- RTW_IEEE80211_CHAN_RADAR = 1<<3,
- RTW_IEEE80211_CHAN_NO_HT40PLUS = 1<<4,
- RTW_IEEE80211_CHAN_NO_HT40MINUS = 1<<5,
+ RTW_IEEE80211_CHAN_DISABLED = 1 << 0,
+ RTW_IEEE80211_CHAN_PASSIVE_SCAN = 1 << 1,
+ RTW_IEEE80211_CHAN_NO_IBSS = 1 << 2,
+ RTW_IEEE80211_CHAN_RADAR = 1 << 3,
+ RTW_IEEE80211_CHAN_NO_HT40PLUS = 1 << 4,
+ RTW_IEEE80211_CHAN_NO_HT40MINUS = 1 << 5,
};
-#define RTW_IEEE80211_CHAN_NO_HT40 \
- (RTW_IEEE80211_CHAN_NO_HT40PLUS | \
- RTW_IEEE80211_CHAN_NO_HT40MINUS)
+#define RTW_IEEE80211_CHAN_NO_HT40 \
+ (RTW_IEEE80211_CHAN_NO_HT40PLUS | RTW_IEEE80211_CHAN_NO_HT40MINUS)
/* Represent channel details, subset of ieee80211_channel */
struct rtw_ieee80211_channel {
@@ -623,31 +625,22 @@ struct rtw_ieee80211_channel {
/* int orig_mpwr; */
};
-#define CHAN_FMT \
- /*"band:%d, "*/ \
- /*"center_freq:%u, "*/ \
- "hw_value:%u, " \
- "flags:0x%08x" \
- /*"max_antenna_gain:%d\n"*/ \
- /*"max_power:%d\n"*/ \
- /*"max_reg_power:%d\n"*/ \
- /*"beacon_found:%u\n"*/ \
- /*"orig_flags:0x%08x\n"*/ \
- /*"orig_mag:%d\n"*/ \
- /*"orig_mpwr:%d\n"*/
-
-#define CHAN_ARG(channel) \
- /*(channel)->band*/ \
- /*, (channel)->center_freq*/ \
- (channel)->hw_value \
- , (channel)->flags \
- /*, (channel)->max_antenna_gain*/ \
- /*, (channel)->max_power*/ \
- /*, (channel)->max_reg_power*/ \
- /*, (channel)->beacon_found*/ \
- /*, (channel)->orig_flags*/ \
- /*, (channel)->orig_mag*/ \
- /*, (channel)->orig_mpwr*/ \
+#define CHAN_FMT \
+ /*"band:%d, "*/ \
+ /*"center_freq:%u, "*/ \
+ "hw_value:%u, " \
+ "flags:0x%08x" /*"max_antenna_gain:%d\n"*/ /*"max_power:%d\n"*/ \
+ /*"max_reg_power:%d\n"*/ /*"beacon_found:%u\n"*/ \
+ /*"orig_flags:0x%08x\n"*/ /*"orig_mag:%d\n"*/ /*"orig_mpwr:%d\n"*/
+
+#define CHAN_ARG(channel) \
+ /*(channel)->band*/ \
+ /*, (channel)->center_freq*/ \
+ (channel)->hw_value, \
+ (channel)->flags /*, (channel)->max_antenna_gain*/ \
+ /*, (channel)->max_power*/ /*, (channel)->max_reg_power*/ \
+ /*, (channel)->beacon_found*/ /*, (channel)->orig_flags*/ \
+ /*, (channel)->orig_mag*/ /*, (channel)->orig_mpwr*/
/* Parsed Information Elements */
struct rtw_ieee802_11_elems {
@@ -705,22 +698,21 @@ struct rtw_ieee802_11_elems {
u8 vht_op_mode_notify_len;
};
-enum parse_result {
- PARSE_OK = 0,
- PARSE_UNKNOWN = 1,
- PARSE_FAILED = -1
-};
+enum parse_result { PARSE_OK = 0, PARSE_UNKNOWN = 1, PARSE_FAILED = -1 };
enum parse_result rtw_ieee802_11_parse_elems(u8 *start, uint len,
struct rtw_ieee802_11_elems *elems,
int show_errors);
-u8 *rtw_set_fixed_ie(unsigned char *pbuf, unsigned int len, unsigned char *source, unsigned int *frlen);
+u8 *rtw_set_fixed_ie(unsigned char *pbuf, unsigned int len,
+ unsigned char *source, unsigned int *frlen);
u8 *rtw_set_ie(u8 *pbuf, signed int index, uint len, u8 *source, uint *frlen);
u8 *rtw_get_ie(u8 *pbuf, signed int index, signed int *len, signed int limit);
-u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui, u8 oui_len, u8 *ie, uint *ielen);
-int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset, u8 eid, u8 *oui, u8 oui_len);
+u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui, u8 oui_len, u8 *ie,
+ uint *ielen);
+int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset, u8 eid, u8 *oui,
+ u8 oui_len);
void rtw_set_supported_rate(u8 *SupportedRates, uint mode);
@@ -729,14 +721,19 @@ unsigned char *rtw_get_wpa2_ie(unsigned char *pie, int *rsn_ie_len, int limit);
int rtw_get_wpa_cipher_suite(u8 *s);
int rtw_get_wpa2_cipher_suite(u8 *s);
int rtw_get_wapi_ie(u8 *in_ie, uint in_len, u8 *wapi_ie, u16 *wapi_len);
-int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x);
-int rtw_parse_wpa2_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwise_cipher, int *is_8021x);
+int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher,
+ int *pairwise_cipher, int *is_8021x);
+int rtw_parse_wpa2_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher,
+ int *pairwise_cipher, int *is_8021x);
-void rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, u8 *wpa_ie, u16 *wpa_len);
+void rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len,
+ u8 *wpa_ie, u16 *wpa_len);
u8 *rtw_get_wps_ie(u8 *in_ie, uint in_len, u8 *wps_ie, uint *wps_ielen);
-u8 *rtw_get_wps_attr(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8 *buf_attr, u32 *len_attr);
-u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8 *buf_content, uint *len_content);
+u8 *rtw_get_wps_attr(u8 *wps_ie, uint wps_ielen, u16 target_attr_id,
+ u8 *buf_attr, u32 *len_attr);
+u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id,
+ u8 *buf_content, uint *len_content);
/**
* for_each_ie - iterate over continuous IEs
@@ -744,16 +741,15 @@ u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id, u8
* @buf:
* @buf_len:
*/
-#define for_each_ie(ie, buf, buf_len) \
+#define for_each_ie(ie, buf, buf_len) \
for (ie = (void *)buf; (((u8 *)ie) - ((u8 *)buf) + 1) < buf_len; \
- ie = (void *)(((u8 *)ie) + *(((u8 *)ie) + 1) + 2))
+ ie = (void *)(((u8 *)ie) + *(((u8 *)ie) + 1) + 2))
-uint rtw_get_rateset_len(u8 *rateset);
+uint rtw_get_rateset_len(u8 *rateset);
struct registry_priv;
int rtw_generate_ie(struct registry_priv *pregistrypriv);
-
int rtw_get_bit_value_from_ieee_value(u8 val);
bool rtw_is_cckrates_included(u8 *rate);
@@ -768,7 +764,8 @@ void rtw_macaddr_cfg(struct device *dev, u8 *mac_addr);
u16 rtw_mcs_rate(u8 bw_40MHz, u8 short_GI, unsigned char *MCS_rate);
-int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category, u8 *action);
+int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category,
+ u8 *action);
const char *action_public_str(u8 action);
#endif /* IEEE80211_H */
diff --git a/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h b/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
index bc62b7285950f..f9fd4c8d76733 100644
--- a/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
+++ b/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h
@@ -15,7 +15,7 @@ struct rtw_wdev_priv {
struct cfg80211_scan_request *scan_request;
spinlock_t scan_req_lock;
- struct net_device *pmon_ndev;/* for monitor interface */
+ struct net_device *pmon_ndev; /* for monitor interface */
char ifname_mon[IFNAMSIZ + 1]; /* interface name for monitor interface */
bool block;
@@ -32,27 +32,42 @@ void rtw_wdev_unregister(struct wireless_dev *wdev);
void rtw_cfg80211_init_wiphy(struct adapter *padapter);
-void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnetwork);
+void rtw_cfg80211_unlink_bss(struct adapter *padapter,
+ struct wlan_network *pnetwork);
void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter);
int rtw_ieee80211_channel_to_frequency(int chan);
-struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wlan_network *pnetwork);
+struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter,
+ struct wlan_network *pnetwork);
int rtw_cfg80211_check_bss(struct adapter *padapter);
void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter);
void rtw_cfg80211_indicate_connect(struct adapter *padapter);
void rtw_cfg80211_indicate_disconnect(struct adapter *padapter);
void rtw_cfg80211_indicate_scan_done(struct adapter *adapter, bool aborted);
-void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter, u8 *pmgmt_frame, uint frame_len);
-void rtw_cfg80211_indicate_sta_disassoc(struct adapter *padapter, unsigned char *da, unsigned short reason);
+void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter, u8 *pmgmt_frame,
+ uint frame_len);
+void rtw_cfg80211_indicate_sta_disassoc(struct adapter *padapter,
+ unsigned char *da,
+ unsigned short reason);
-void rtw_cfg80211_rx_action(struct adapter *adapter, u8 *frame, uint frame_len, const char *msg);
+void rtw_cfg80211_rx_action(struct adapter *adapter, u8 *frame, uint frame_len,
+ const char *msg);
bool rtw_cfg80211_pwr_mgmt(struct adapter *adapter);
-#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0)
-#define rtw_cfg80211_send_rx_assoc(adapter, bss, buf, len) cfg80211_send_rx_assoc((adapter)->pnetdev, bss, buf, len)
-#define rtw_cfg80211_mgmt_tx_status(adapter, cookie, buf, len, ack, gfp) cfg80211_mgmt_tx_status((adapter)->rtw_wdev, cookie, buf, len, ack, gfp)
-#define rtw_cfg80211_ready_on_channel(adapter, cookie, chan, channel_type, duration, gfp) cfg80211_ready_on_channel((adapter)->rtw_wdev, cookie, chan, duration, gfp)
-#define rtw_cfg80211_remain_on_channel_expired(adapter, cookie, chan, chan_type, gfp) cfg80211_remain_on_channel_expired((adapter)->rtw_wdev, cookie, chan, gfp)
+#define rtw_cfg80211_rx_mgmt(adapter, freq, sig_dbm, buf, len, gfp) \
+ cfg80211_rx_mgmt((adapter)->rtw_wdev, freq, sig_dbm, buf, len, 0)
+#define rtw_cfg80211_send_rx_assoc(adapter, bss, buf, len) \
+ cfg80211_send_rx_assoc((adapter)->pnetdev, bss, buf, len)
+#define rtw_cfg80211_mgmt_tx_status(adapter, cookie, buf, len, ack, gfp) \
+ cfg80211_mgmt_tx_status((adapter)->rtw_wdev, cookie, buf, len, ack, gfp)
+#define rtw_cfg80211_ready_on_channel(adapter, cookie, chan, channel_type, \
+ duration, gfp) \
+ cfg80211_ready_on_channel((adapter)->rtw_wdev, cookie, chan, duration, \
+ gfp)
+#define rtw_cfg80211_remain_on_channel_expired(adapter, cookie, chan, \
+ chan_type, gfp) \
+ cfg80211_remain_on_channel_expired((adapter)->rtw_wdev, cookie, chan, \
+ gfp)
#endif /* __IOCTL_CFG80211_H__ */
diff --git a/drivers/staging/rtl8723bs/include/osdep_intf.h b/drivers/staging/rtl8723bs/include/osdep_intf.h
index 83a25598e9627..cdc4867798698 100644
--- a/drivers/staging/rtl8723bs/include/osdep_intf.h
+++ b/drivers/staging/rtl8723bs/include/osdep_intf.h
@@ -39,4 +39,4 @@ int rtw_resume_common(struct adapter *padapter);
int netdev_open(struct net_device *pnetdev);
-#endif /* _OSDEP_INTF_H_ */
+#endif /* _OSDEP_INTF_H_ */
diff --git a/drivers/staging/rtl8723bs/include/osdep_service.h b/drivers/staging/rtl8723bs/include/osdep_service.h
index 2f5011a8210cd..4b03acb94bb94 100644
--- a/drivers/staging/rtl8723bs/include/osdep_service.h
+++ b/drivers/staging/rtl8723bs/include/osdep_service.h
@@ -7,14 +7,12 @@
#ifndef __OSDEP_SERVICE_H_
#define __OSDEP_SERVICE_H_
-
-#define _FAIL 0
-#define _SUCCESS 1
+#define _FAIL 0
+#define _SUCCESS 1
#define RTW_RX_HANDLED 2
#include <osdep_service_linux.h>
-
extern int RTW_STATUS_CODE(int error_code);
int _rtw_netif_rx(struct net_device *ndev, struct sk_buff *skb);
@@ -27,7 +25,7 @@ static inline void flush_signals_thread(void)
flush_signals(current);
}
-#define _RND(sz, r) ((((sz)+((r)-1))/(r))*(r))
+#define _RND(sz, r) ((((sz) + ((r) - 1)) / (r)) * (r))
extern void rtw_free_netdev(struct net_device *netdev);
@@ -49,5 +47,4 @@ bool rtw_cbuf_push(struct rtw_cbuf *cbuf, void *buf);
void *rtw_cbuf_pop(struct rtw_cbuf *cbuf);
struct rtw_cbuf *rtw_cbuf_alloc(u32 size);
-
#endif
diff --git a/drivers/staging/rtl8723bs/include/osdep_service_linux.h b/drivers/staging/rtl8723bs/include/osdep_service_linux.h
index 2ec54f9e180c2..b53f6996789fe 100644
--- a/drivers/staging/rtl8723bs/include/osdep_service_linux.h
+++ b/drivers/staging/rtl8723bs/include/osdep_service_linux.h
@@ -29,7 +29,7 @@
#include <linux/if_arp.h>
#include <linux/rtnetlink.h>
#include <linux/delay.h>
-#include <linux/interrupt.h> /* for struct tasklet_struct */
+#include <linux/interrupt.h> /* for struct tasklet_struct */
#include <linux/ip.h>
#include <linux/kthread.h>
#include <linux/list.h>
@@ -38,17 +38,17 @@
#include <net/ieee80211_radiotap.h>
#include <net/cfg80211.h>
-struct __queue {
- struct list_head queue;
- spinlock_t lock;
+struct __queue {
+ struct list_head queue;
+ spinlock_t lock;
};
-static inline struct list_head *get_next(struct list_head *list)
+static inline struct list_head *get_next(struct list_head *list)
{
return list->next;
}
-static inline struct list_head *get_list_head(struct __queue *queue)
+static inline struct list_head *get_list_head(struct __queue *queue)
{
return (&(queue->queue));
}
@@ -58,7 +58,8 @@ static inline void _set_timer(struct timer_list *ptimer, u32 delay_time)
mod_timer(ptimer, (jiffies + (delay_time * HZ / 1000)));
}
-static inline void _init_workitem(struct work_struct *pwork, void *pfunc, void *cntx)
+static inline void _init_workitem(struct work_struct *pwork, void *pfunc,
+ void *cntx)
{
INIT_WORK(pwork, pfunc);
}
@@ -115,7 +116,8 @@ static inline struct adapter *rtw_netdev_priv(struct net_device *netdev)
return ((struct rtw_netdev_priv_indicator *)netdev_priv(netdev))->priv;
}
-struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_priv);
+struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv,
+ void *old_priv);
extern struct net_device *rtw_alloc_etherdev(int sizeof_priv);
#endif
diff --git a/drivers/staging/rtl8723bs/include/rtl8192c_recv.h b/drivers/staging/rtl8723bs/include/rtl8192c_recv.h
index 1f86654f04033..8c6649405835f 100644
--- a/drivers/staging/rtl8723bs/include/rtl8192c_recv.h
+++ b/drivers/staging/rtl8723bs/include/rtl8192c_recv.h
@@ -28,9 +28,11 @@ struct phy_stat {
};
/* Rx smooth factor */
-#define Rx_Smooth_Factor (20)
+#define Rx_Smooth_Factor (20)
-void rtl8192c_translate_rx_signal_stuff(union recv_frame *precvframe, struct phy_stat *pphy_status);
-void rtl8192c_query_rx_desc_status(union recv_frame *precvframe, struct recv_stat *pdesc);
+void rtl8192c_translate_rx_signal_stuff(union recv_frame *precvframe,
+ struct phy_stat *pphy_status);
+void rtl8192c_query_rx_desc_status(union recv_frame *precvframe,
+ struct recv_stat *pdesc);
#endif
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
index 6b2d79e19088e..7ace4fa2e3ae3 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h
@@ -75,88 +75,147 @@ enum {
/* H2C CMD CONTENT -------------------------------------------------- */
/* */
/* _RSVDPAGE_LOC_CMD_0x00 */
-#define SET_8723B_H2CCMD_RSVDPAGE_LOC_PROBE_RSP(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd, 0, 8, __Value)
-#define SET_8723B_H2CCMD_RSVDPAGE_LOC_PSPOLL(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+1, 0, 8, __Value)
-#define SET_8723B_H2CCMD_RSVDPAGE_LOC_NULL_DATA(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+2, 0, 8, __Value)
-#define SET_8723B_H2CCMD_RSVDPAGE_LOC_QOS_NULL_DATA(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+3, 0, 8, __Value)
-#define SET_8723B_H2CCMD_RSVDPAGE_LOC_BT_QOS_NULL_DATA(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+4, 0, 8, __Value)
+#define SET_8723B_H2CCMD_RSVDPAGE_LOC_PROBE_RSP(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd, 0, 8, __Value)
+#define SET_8723B_H2CCMD_RSVDPAGE_LOC_PSPOLL(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd) + 1, 0, 8, __Value)
+#define SET_8723B_H2CCMD_RSVDPAGE_LOC_NULL_DATA(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd) + 2, 0, 8, __Value)
+#define SET_8723B_H2CCMD_RSVDPAGE_LOC_QOS_NULL_DATA(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd) + 3, 0, 8, __Value)
+#define SET_8723B_H2CCMD_RSVDPAGE_LOC_BT_QOS_NULL_DATA(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd) + 4, 0, 8, __Value)
/* _MEDIA_STATUS_RPT_PARM_CMD_0x01 */
-#define SET_8723B_H2CCMD_MSRRPT_PARM_OPMODE(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 1, __Value)
-#define SET_8723B_H2CCMD_MSRRPT_PARM_MACID_IND(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 1, 1, __Value)
-#define SET_8723B_H2CCMD_MSRRPT_PARM_MACID(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd+1, 0, 8, __Value)
-#define SET_8723B_H2CCMD_MSRRPT_PARM_MACID_END(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd+2, 0, 8, __Value)
+#define SET_8723B_H2CCMD_MSRRPT_PARM_OPMODE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 1, __Value)
+#define SET_8723B_H2CCMD_MSRRPT_PARM_MACID_IND(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 1, 1, __Value)
+#define SET_8723B_H2CCMD_MSRRPT_PARM_MACID(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd + 1, 0, 8, __Value)
+#define SET_8723B_H2CCMD_MSRRPT_PARM_MACID_END(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd + 2, 0, 8, __Value)
/* _KEEP_ALIVE_CMD_0x03 */
-#define SET_8723B_H2CCMD_KEEPALIVE_PARM_ENABLE(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 1, __Value)
-#define SET_8723B_H2CCMD_KEEPALIVE_PARM_ADOPT(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 1, 1, __Value)
-#define SET_8723B_H2CCMD_KEEPALIVE_PARM_PKT_TYPE(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 2, 1, __Value)
-#define SET_8723B_H2CCMD_KEEPALIVE_PARM_CHECK_PERIOD(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd+1, 0, 8, __Value)
+#define SET_8723B_H2CCMD_KEEPALIVE_PARM_ENABLE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 1, __Value)
+#define SET_8723B_H2CCMD_KEEPALIVE_PARM_ADOPT(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 1, 1, __Value)
+#define SET_8723B_H2CCMD_KEEPALIVE_PARM_PKT_TYPE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 2, 1, __Value)
+#define SET_8723B_H2CCMD_KEEPALIVE_PARM_CHECK_PERIOD(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd + 1, 0, 8, __Value)
/* _DISCONNECT_DECISION_CMD_0x04 */
-#define SET_8723B_H2CCMD_DISCONDECISION_PARM_ENABLE(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 1, __Value)
-#define SET_8723B_H2CCMD_DISCONDECISION_PARM_ADOPT(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 1, 1, __Value)
-#define SET_8723B_H2CCMD_DISCONDECISION_PARM_CHECK_PERIOD(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd+1, 0, 8, __Value)
-#define SET_8723B_H2CCMD_DISCONDECISION_PARM_TRY_PKT_NUM(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd+2, 0, 8, __Value)
+#define SET_8723B_H2CCMD_DISCONDECISION_PARM_ENABLE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 1, __Value)
+#define SET_8723B_H2CCMD_DISCONDECISION_PARM_ADOPT(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 1, 1, __Value)
+#define SET_8723B_H2CCMD_DISCONDECISION_PARM_CHECK_PERIOD(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd + 1, 0, 8, __Value)
+#define SET_8723B_H2CCMD_DISCONDECISION_PARM_TRY_PKT_NUM(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd + 2, 0, 8, __Value)
/* _PWR_MOD_CMD_0x20 */
-#define SET_8723B_H2CCMD_PWRMODE_PARM_MODE(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd, 0, 8, __Value)
-#define SET_8723B_H2CCMD_PWRMODE_PARM_RLBM(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+1, 0, 4, __Value)
-#define SET_8723B_H2CCMD_PWRMODE_PARM_SMART_PS(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+1, 4, 4, __Value)
-#define SET_8723B_H2CCMD_PWRMODE_PARM_BCN_PASS_TIME(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+2, 0, 8, __Value)
-#define SET_8723B_H2CCMD_PWRMODE_PARM_ALL_QUEUE_UAPSD(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+3, 0, 8, __Value)
-#define SET_8723B_H2CCMD_PWRMODE_PARM_PWR_STATE(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+4, 0, 8, __Value)
-#define SET_8723B_H2CCMD_PWRMODE_PARM_BYTE5(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+5, 0, 8, __Value)
-
-#define GET_8723B_H2CCMD_PWRMODE_PARM_MODE(__pH2CCmd) LE_BITS_TO_1BYTE(__pH2CCmd, 0, 8)
+#define SET_8723B_H2CCMD_PWRMODE_PARM_MODE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd, 0, 8, __Value)
+#define SET_8723B_H2CCMD_PWRMODE_PARM_RLBM(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE((__pH2CCmd) + 1, 0, 4, __Value)
+#define SET_8723B_H2CCMD_PWRMODE_PARM_SMART_PS(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE((__pH2CCmd) + 1, 4, 4, __Value)
+#define SET_8723B_H2CCMD_PWRMODE_PARM_BCN_PASS_TIME(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd) + 2, 0, 8, __Value)
+#define SET_8723B_H2CCMD_PWRMODE_PARM_ALL_QUEUE_UAPSD(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd) + 3, 0, 8, __Value)
+#define SET_8723B_H2CCMD_PWRMODE_PARM_PWR_STATE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd) + 4, 0, 8, __Value)
+#define SET_8723B_H2CCMD_PWRMODE_PARM_BYTE5(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd) + 5, 0, 8, __Value)
+
+#define GET_8723B_H2CCMD_PWRMODE_PARM_MODE(__pH2CCmd) \
+ LE_BITS_TO_1BYTE(__pH2CCmd, 0, 8)
/* _PS_TUNE_PARAM_CMD_0x21 */
-#define SET_8723B_H2CCMD_PSTUNE_PARM_BCN_TO_LIMIT(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 8, __Value)
-#define SET_8723B_H2CCMD_PSTUNE_PARM_DTIM_TIMEOUT(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+1, 0, 8, __Value)
-#define SET_8723B_H2CCMD_PSTUNE_PARM_ADOPT(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 0, 1, __Value)
-#define SET_8723B_H2CCMD_PSTUNE_PARM_PS_TIMEOUT(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 1, 7, __Value)
-#define SET_8723B_H2CCMD_PSTUNE_PARM_DTIM_PERIOD(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+3, 0, 8, __Value)
+#define SET_8723B_H2CCMD_PSTUNE_PARM_BCN_TO_LIMIT(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 8, __Value)
+#define SET_8723B_H2CCMD_PSTUNE_PARM_DTIM_TIMEOUT(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 1, 0, 8, __Value)
+#define SET_8723B_H2CCMD_PSTUNE_PARM_ADOPT(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 0, 1, __Value)
+#define SET_8723B_H2CCMD_PSTUNE_PARM_PS_TIMEOUT(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 1, 7, __Value)
+#define SET_8723B_H2CCMD_PSTUNE_PARM_DTIM_PERIOD(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 3, 0, 8, __Value)
/* _MACID_CFG_CMD_0x40 */
-#define SET_8723B_H2CCMD_MACID_CFG_MACID(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 8, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_RAID(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+1, 0, 5, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_SGI_EN(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+1, 7, 1, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_BW(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 0, 2, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_NO_UPDATE(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 3, 1, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_VHT_EN(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 4, 2, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_DISPT(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 6, 1, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_DISRA(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 7, 1, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_RATE_MASK0(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+3, 0, 8, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_RATE_MASK1(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+4, 0, 8, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_RATE_MASK2(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+5, 0, 8, __Value)
-#define SET_8723B_H2CCMD_MACID_CFG_RATE_MASK3(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+6, 0, 8, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_MACID(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 8, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_RAID(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 1, 0, 5, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_SGI_EN(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 1, 7, 1, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_BW(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 0, 2, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_NO_UPDATE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 3, 1, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_VHT_EN(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 4, 2, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_DISPT(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 6, 1, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_DISRA(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 7, 1, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_RATE_MASK0(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 3, 0, 8, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_RATE_MASK1(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 4, 0, 8, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_RATE_MASK2(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 5, 0, 8, __Value)
+#define SET_8723B_H2CCMD_MACID_CFG_RATE_MASK3(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 6, 0, 8, __Value)
/* _RSSI_SETTING_CMD_0x42 */
-#define SET_8723B_H2CCMD_RSSI_SETTING_MACID(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 8, __Value)
-#define SET_8723B_H2CCMD_RSSI_SETTING_RSSI(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 0, 7, __Value)
-#define SET_8723B_H2CCMD_RSSI_SETTING_ULDL_STATE(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+3, 0, 8, __Value)
+#define SET_8723B_H2CCMD_RSSI_SETTING_MACID(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 8, __Value)
+#define SET_8723B_H2CCMD_RSSI_SETTING_RSSI(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 0, 7, __Value)
+#define SET_8723B_H2CCMD_RSSI_SETTING_ULDL_STATE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 3, 0, 8, __Value)
/* _AP_REQ_TXRPT_CMD_0x43 */
-#define SET_8723B_H2CCMD_APREQRPT_PARM_MACID1(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 8, __Value)
-#define SET_8723B_H2CCMD_APREQRPT_PARM_MACID2(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+1, 0, 8, __Value)
+#define SET_8723B_H2CCMD_APREQRPT_PARM_MACID1(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 8, __Value)
+#define SET_8723B_H2CCMD_APREQRPT_PARM_MACID2(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 1, 0, 8, __Value)
/* _FORCE_BT_TXPWR_CMD_0x62 */
-#define SET_8723B_H2CCMD_BT_PWR_IDX(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_PWR_IDX(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd, 0, 8, __Value)
/* _FORCE_BT_MP_OPER_CMD_0x67 */
-#define SET_8723B_H2CCMD_BT_MPOPER_VER(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 4, __Value)
-#define SET_8723B_H2CCMD_BT_MPOPER_REQNUM(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd, 4, 4, __Value)
-#define SET_8723B_H2CCMD_BT_MPOPER_IDX(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+1, 0, 8, __Value)
-#define SET_8723B_H2CCMD_BT_MPOPER_PARAM1(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+2, 0, 8, __Value)
-#define SET_8723B_H2CCMD_BT_MPOPER_PARAM2(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+3, 0, 8, __Value)
-#define SET_8723B_H2CCMD_BT_MPOPER_PARAM3(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE(__pH2CCmd+4, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_MPOPER_VER(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 0, 4, __Value)
+#define SET_8723B_H2CCMD_BT_MPOPER_REQNUM(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd, 4, 4, __Value)
+#define SET_8723B_H2CCMD_BT_MPOPER_IDX(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 1, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_MPOPER_PARAM1(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 2, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_MPOPER_PARAM2(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 3, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_MPOPER_PARAM3(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE(__pH2CCmd + 4, 0, 8, __Value)
/* _BT_FW_PATCH_0x6A */
-#define SET_8723B_H2CCMD_BT_FW_PATCH_SIZE(__pH2CCmd, __Value) SET_BITS_TO_LE_2BYTE((u8 *)(__pH2CCmd), 0, 16, __Value)
-#define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR0(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+2, 0, 8, __Value)
-#define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR1(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+3, 0, 8, __Value)
-#define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR2(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+4, 0, 8, __Value)
-#define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR3(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+5, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_FW_PATCH_SIZE(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_2BYTE((u8 *)(__pH2CCmd), 0, 16, __Value)
+#define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR0(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE((__pH2CCmd) + 2, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR1(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE((__pH2CCmd) + 3, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR2(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE((__pH2CCmd) + 4, 0, 8, __Value)
+#define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR3(__pH2CCmd, __Value) \
+ SET_BITS_TO_LE_1BYTE((__pH2CCmd) + 5, 0, 8, __Value)
/* */
/* Function Statement -------------------------------------------------- */
@@ -166,17 +225,21 @@ enum {
void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 Mode);
void rtl8723b_set_FwJoinBssRpt_cmd(struct adapter *padapter, u8 mstatus);
void rtl8723b_set_rssi_cmd(struct adapter *padapter, u8 *param);
-void rtl8723b_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 *arg, u8 rssi_level);
+void rtl8723b_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 *arg,
+ u8 rssi_level);
void rtl8723b_fw_try_ap_cmd(struct adapter *padapter, u32 need_ack);
/* s32 rtl8723b_set_lowpwr_lps_cmd(struct adapter *padapter, u8 enable); */
void rtl8723b_set_FwPsTuneParam_cmd(struct adapter *padapter);
-void rtl8723b_set_FwMacIdConfig_cmd(struct adapter *padapter, u8 mac_id, u8 raid, u8 bw, u8 sgi, u32 mask);
-void rtl8723b_set_FwMediaStatusRpt_cmd(struct adapter *padapter, u8 mstatus, u8 macid);
+void rtl8723b_set_FwMacIdConfig_cmd(struct adapter *padapter, u8 mac_id,
+ u8 raid, u8 bw, u8 sgi, u32 mask);
+void rtl8723b_set_FwMediaStatusRpt_cmd(struct adapter *padapter, u8 mstatus,
+ u8 macid);
void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus);
void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter);
void rtl8723b_set_FwPwrModeInIPS_cmd(struct adapter *padapter, u8 cmd_param);
-s32 FillH2CCmd8723B(struct adapter *padapter, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer);
+s32 FillH2CCmd8723B(struct adapter *padapter, u8 ElementID, u32 CmdLen,
+ u8 *pCmdBuffer);
#endif
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
index b6006110ad6b0..c3df320947861 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h
@@ -23,9 +23,9 @@
/* RTL8723B From header */
/* */
-#define FW_8723B_SIZE 0x8000
+#define FW_8723B_SIZE 0x8000
#define FW_8723B_START_ADDRESS 0x1000
-#define FW_8723B_END_ADDRESS 0x1FFF /* 0x5FFF */
+#define FW_8723B_END_ADDRESS 0x1FFF /* 0x5FFF */
#define IS_FW_HEADER_EXIST_8723B(fw_hdr) \
((le16_to_cpu(fw_hdr->signature) & 0xFFF0) == 0x5300)
@@ -40,28 +40,28 @@ struct rt_firmware_hdr {
/* 8-byte alignment required */
/* LONG WORD 0 ---- */
- __le16 signature; /* 92C0: test chip; 92C, 88C0: test chip;
+ __le16 signature; /* 92C0: test chip; 92C, 88C0: test chip;
* 88C1: MP A-cut; 92C1: MP A-cut
*/
- u8 category; /* AP/NIC and USB/PCI */
- u8 function; /* Reserved for different FW function indications,
+ u8 category; /* AP/NIC and USB/PCI */
+ u8 function; /* Reserved for different FW function indications,
* for further use when driver needs to download
* different FW in different conditions.
*/
- __le16 version; /* FW Version */
+ __le16 version; /* FW Version */
__le16 subversion; /* FW Subversion, default 0x00 */
/* LONG WORD 1 ---- */
- u8 month; /* Release time Month field */
- u8 date; /* Release time Date field */
- u8 hour; /* Release time Hour field */
+ u8 month; /* Release time Month field */
+ u8 date; /* Release time Date field */
+ u8 hour; /* Release time Hour field */
u8 minute; /* Release time Minute field */
__le16 ram_code_size; /* The size of RAM code */
__le16 rsvd2;
/* LONG WORD 2 ---- */
- __le32 svn_idx; /* The SVN entry index */
+ __le32 svn_idx; /* The SVN entry index */
__le32 rsvd3;
/* LONG WORD 3 ---- */
@@ -69,7 +69,7 @@ struct rt_firmware_hdr {
__le32 rsvd5;
};
-#define DRIVER_EARLY_INT_TIME_8723B 0x05
+#define DRIVER_EARLY_INT_TIME_8723B 0x05
#define BCN_DMA_ATIME_INT_TIME_8723B 0x02
/* for 8723B */
@@ -77,8 +77,8 @@ struct rt_firmware_hdr {
#define PAGE_SIZE_TX_8723B 128
#define PAGE_SIZE_RX_8723B 8
-#define RX_DMA_SIZE_8723B 0x4000 /* 16K */
-#define RX_DMA_RESERVED_SIZE_8723B 0x80 /* 128B, reserved for tx report */
+#define RX_DMA_SIZE_8723B 0x4000 /* 16K */
+#define RX_DMA_RESERVED_SIZE_8723B 0x80 /* 128B, reserved for tx report */
#define RX_DMA_BOUNDARY_8723B \
(RX_DMA_SIZE_8723B - RX_DMA_RESERVED_SIZE_8723B - 1)
@@ -88,7 +88,7 @@ struct rt_firmware_hdr {
/* For General Reserved Page Number(Beacon Queue is reserved page) */
/* Beacon:2, PS-Poll:1, Null Data:1, Qos Null Data:1, BT Qos Null Data:1 */
-#define BCNQ_PAGE_NUM_8723B 0x08
+#define BCNQ_PAGE_NUM_8723B 0x08
#define BCNQ1_PAGE_NUM_8723B 0x00
#define MAX_RX_DMA_BUFFER_SIZE_8723B 0x2800 /* RX 10K */
@@ -97,10 +97,9 @@ struct rt_firmware_hdr {
/* ARP Rsp:1, RWC:1, GTK Info:1, GTK RSP:2, GTK EXT MEM:2, PNO: 6 */
#define WOWLAN_PAGE_NUM_8723B 0x00
-#define TX_TOTAL_PAGE_NUMBER_8723B \
- (0xFF - BCNQ_PAGE_NUM_8723B - \
- BCNQ1_PAGE_NUM_8723B - \
- WOWLAN_PAGE_NUM_8723B)
+#define TX_TOTAL_PAGE_NUMBER_8723B \
+ (0xFF - BCNQ_PAGE_NUM_8723B - BCNQ1_PAGE_NUM_8723B - \
+ WOWLAN_PAGE_NUM_8723B)
#define TX_PAGE_BOUNDARY_8723B (TX_TOTAL_PAGE_NUMBER_8723B + 1)
#define WMM_NORMAL_TX_TOTAL_PAGE_NUMBER_8723B TX_TOTAL_PAGE_NUMBER_8723B
@@ -124,26 +123,27 @@ struct rt_firmware_hdr {
#define HAL_EFUSE_MEMORY
-#define HWSET_MAX_SIZE_8723B 512
+#define HWSET_MAX_SIZE_8723B 512
#define EFUSE_REAL_CONTENT_LEN_8723B 512
-#define EFUSE_MAP_LEN_8723B 512
-#define EFUSE_MAX_SECTION_8723B 64
+#define EFUSE_MAP_LEN_8723B 512
+#define EFUSE_MAX_SECTION_8723B 64
-#define EFUSE_IC_ID_OFFSET 506 /* For some inferiority IC purpose.
+#define EFUSE_IC_ID_OFFSET \
+ 506 /* For some inferiority IC purpose.
* Added by Roger, 2009.09.02.
*/
#define AVAILABLE_EFUSE_ADDR(addr) (addr < EFUSE_REAL_CONTENT_LEN_8723B)
-#define EFUSE_ACCESS_ON 0x69 /* For RTL8723 only. */
+#define EFUSE_ACCESS_ON 0x69 /* For RTL8723 only. */
#define EFUSE_ACCESS_OFF 0x00 /* For RTL8723 only. */
/* */
/* EFUSE for BT definition */
/* */
#define EFUSE_BT_REAL_BANK_CONTENT_LEN 512
-#define EFUSE_BT_REAL_CONTENT_LEN 1536 /* 512*3 */
-#define EFUSE_BT_MAP_LEN 1024 /* 1k bytes */
-#define EFUSE_BT_MAX_SECTION 128 /* 1024/8 */
+#define EFUSE_BT_REAL_CONTENT_LEN 1536 /* 512*3 */
+#define EFUSE_BT_MAP_LEN 1024 /* 1k bytes */
+#define EFUSE_BT_MAX_SECTION 128 /* 1024/8 */
#define EFUSE_PROTECT_BYTES_BANK 16
@@ -173,20 +173,20 @@ struct c2h_evt_hdr_t {
} __packed;
enum { /* tag_Package_Definition */
- PACKAGE_DEFAULT,
- PACKAGE_QFN68,
- PACKAGE_TFBGA90,
- PACKAGE_TFBGA80,
- PACKAGE_TFBGA79
+ PACKAGE_DEFAULT,
+ PACKAGE_QFN68,
+ PACKAGE_TFBGA90,
+ PACKAGE_TFBGA80,
+ PACKAGE_TFBGA79
};
-#define INCLUDE_MULTI_FUNC_BT(_Adapter) \
+#define INCLUDE_MULTI_FUNC_BT(_Adapter) \
(GET_HAL_DATA(_Adapter)->MultiFunc & RT_MULTI_FUNC_BT)
#define INCLUDE_MULTI_FUNC_GPS(_Adapter) \
(GET_HAL_DATA(_Adapter)->MultiFunc & RT_MULTI_FUNC_GPS)
/* rtl8723a_hal_init.c */
-s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw);
+s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw);
void rtl8723b_FirmwareSelfReset(struct adapter *padapter);
void rtl8723b_InitializeFirmwareVars(struct adapter *padapter);
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_recv.h b/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
index e9ebecb224a6f..f0d8e52f02be4 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_recv.h
@@ -11,71 +11,71 @@
struct rxreport_8723b {
/* DWORD 0 */
- u32 pktlen:14;
- u32 crc32:1;
- u32 icverr:1;
- u32 drvinfosize:4;
- u32 security:3;
- u32 qos:1;
- u32 shift:2;
- u32 physt:1;
- u32 swdec:1;
- u32 rsvd0028:2;
- u32 eor:1;
- u32 rsvd0031:1;
+ u32 pktlen : 14;
+ u32 crc32 : 1;
+ u32 icverr : 1;
+ u32 drvinfosize : 4;
+ u32 security : 3;
+ u32 qos : 1;
+ u32 shift : 2;
+ u32 physt : 1;
+ u32 swdec : 1;
+ u32 rsvd0028 : 2;
+ u32 eor : 1;
+ u32 rsvd0031 : 1;
/* DWORD 1 */
- u32 macid:7;
- u32 rsvd0407:1;
- u32 tid:4;
- u32 macid_vld:1;
- u32 amsdu:1;
- u32 rxid_match:1;
- u32 paggr:1;
- u32 a1fit:4;
- u32 chkerr:1; /* 20 */
- u32 rx_ipv:1;
- u32 rx_is_tcp_udp:1;
- u32 chk_vld:1; /* 23 */
- u32 pam:1;
- u32 pwr:1;
- u32 md:1;
- u32 mf:1;
- u32 type:2;
- u32 mc:1;
- u32 bc:1;
+ u32 macid : 7;
+ u32 rsvd0407 : 1;
+ u32 tid : 4;
+ u32 macid_vld : 1;
+ u32 amsdu : 1;
+ u32 rxid_match : 1;
+ u32 paggr : 1;
+ u32 a1fit : 4;
+ u32 chkerr : 1; /* 20 */
+ u32 rx_ipv : 1;
+ u32 rx_is_tcp_udp : 1;
+ u32 chk_vld : 1; /* 23 */
+ u32 pam : 1;
+ u32 pwr : 1;
+ u32 md : 1;
+ u32 mf : 1;
+ u32 type : 2;
+ u32 mc : 1;
+ u32 bc : 1;
/* DWORD 2 */
- u32 seq:12;
- u32 frag:4;
- u32 rx_is_qos:1;
- u32 rsvd0817:1;
- u32 wlanhd_iv_len:6;
- u32 hwrsvd0824:4;
- u32 c2h_ind:1;
- u32 rsvd0829:2;
- u32 fcs_ok:1;
+ u32 seq : 12;
+ u32 frag : 4;
+ u32 rx_is_qos : 1;
+ u32 rsvd0817 : 1;
+ u32 wlanhd_iv_len : 6;
+ u32 hwrsvd0824 : 4;
+ u32 c2h_ind : 1;
+ u32 rsvd0829 : 2;
+ u32 fcs_ok : 1;
/* DWORD 3 */
- u32 rx_rate:7;
- u32 rsvd1207:3;
- u32 htc:1;
- u32 esop:1;
- u32 bssid_fit:2;
- u32 rsvd1214:2;
- u32 dma_agg_num:8;
- u32 rsvd1224:5;
- u32 patternmatch:1;
- u32 unicastwake:1;
- u32 magicwake:1;
+ u32 rx_rate : 7;
+ u32 rsvd1207 : 3;
+ u32 htc : 1;
+ u32 esop : 1;
+ u32 bssid_fit : 2;
+ u32 rsvd1214 : 2;
+ u32 dma_agg_num : 8;
+ u32 rsvd1224 : 5;
+ u32 patternmatch : 1;
+ u32 unicastwake : 1;
+ u32 magicwake : 1;
/* DWORD 4 */
- u32 splcp:1; /* Ofdm sgi or cck_splcp */
- u32 ldpc:1;
- u32 stbc:1;
- u32 not_sounding:1;
- u32 bw:2;
- u32 rsvd1606:26;
+ u32 splcp : 1; /* Ofdm sgi or cck_splcp */
+ u32 ldpc : 1;
+ u32 stbc : 1;
+ u32 not_sounding : 1;
+ u32 bw : 2;
+ u32 rsvd1606 : 26;
/* DWORD 5 */
u32 tsfl;
@@ -84,7 +84,8 @@ struct rxreport_8723b {
s32 rtl8723bs_init_recv_priv(struct adapter *padapter);
void rtl8723bs_free_recv_priv(struct adapter *padapter);
-void rtl8723b_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);
+void rtl8723b_query_rx_phy_status(union recv_frame *prframe,
+ struct phy_stat *pphy_stat);
void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe);
void rtl8723b_read_chip_version(struct adapter *padapter);
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_rf.h b/drivers/staging/rtl8723bs/include/rtl8723b_rf.h
index 525eb2facca06..b7b3271b96e01 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_rf.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_rf.h
@@ -7,11 +7,9 @@
#ifndef __RTL8723B_RF_H__
#define __RTL8723B_RF_H__
+int PHY_RF6052_Config8723B(struct adapter *Adapter);
-int PHY_RF6052_Config8723B(struct adapter *Adapter);
-
-void
-PHY_RF6052SetBandwidth8723B(struct adapter *Adapter,
- enum channel_width Bandwidth);
+void PHY_RF6052SetBandwidth8723B(struct adapter *Adapter,
+ enum channel_width Bandwidth);
#endif
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_spec.h b/drivers/staging/rtl8723bs/include/rtl8723b_spec.h
index 7f749e32a5b97..5553ba7c6c61b 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_spec.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_spec.h
@@ -7,43 +7,43 @@
#ifndef __RTL8723B_SPEC_H__
#define __RTL8723B_SPEC_H__
-#define HAL_NAV_UPPER_UNIT_8723B 128 /* micro-second */
+#define HAL_NAV_UPPER_UNIT_8723B 128 /* micro-second */
/* */
/* */
/* 0x0000h ~ 0x00FFh System Configuration */
/* */
/* */
-#define REG_RSV_CTRL_8723B 0x001C /* 3 Byte */
-#define REG_BT_WIFI_ANTENNA_SWITCH_8723B 0x0038
-#define REG_HSISR_8723B 0x005c
-#define REG_PAD_CTRL1_8723B 0x0064
-#define REG_AFE_CTRL_4_8723B 0x0078
-#define REG_HMEBOX_DBG_0_8723B 0x0088
-#define REG_HMEBOX_DBG_1_8723B 0x008A
-#define REG_HMEBOX_DBG_2_8723B 0x008C
-#define REG_HMEBOX_DBG_3_8723B 0x008E
-#define REG_HIMR0_8723B 0x00B0
-#define REG_HISR0_8723B 0x00B4
-#define REG_HIMR1_8723B 0x00B8
-#define REG_HISR1_8723B 0x00BC
-#define REG_PMC_DBG_CTRL2_8723B 0x00CC
+#define REG_RSV_CTRL_8723B 0x001C /* 3 Byte */
+#define REG_BT_WIFI_ANTENNA_SWITCH_8723B 0x0038
+#define REG_HSISR_8723B 0x005c
+#define REG_PAD_CTRL1_8723B 0x0064
+#define REG_AFE_CTRL_4_8723B 0x0078
+#define REG_HMEBOX_DBG_0_8723B 0x0088
+#define REG_HMEBOX_DBG_1_8723B 0x008A
+#define REG_HMEBOX_DBG_2_8723B 0x008C
+#define REG_HMEBOX_DBG_3_8723B 0x008E
+#define REG_HIMR0_8723B 0x00B0
+#define REG_HISR0_8723B 0x00B4
+#define REG_HIMR1_8723B 0x00B8
+#define REG_HISR1_8723B 0x00BC
+#define REG_PMC_DBG_CTRL2_8723B 0x00CC
/* */
/* */
/* 0x0100h ~ 0x01FFh MACTOP General Configuration */
/* */
/* */
-#define REG_C2HEVT_CMD_ID_8723B 0x01A0
-#define REG_C2HEVT_CMD_LEN_8723B 0x01AE
+#define REG_C2HEVT_CMD_ID_8723B 0x01A0
+#define REG_C2HEVT_CMD_LEN_8723B 0x01AE
#define REG_WOWLAN_WAKE_REASON 0x01C7
-#define REG_WOWLAN_GTK_DBG1 0x630
-#define REG_WOWLAN_GTK_DBG2 0x634
+#define REG_WOWLAN_GTK_DBG1 0x630
+#define REG_WOWLAN_GTK_DBG2 0x634
-#define REG_HMEBOX_EXT0_8723B 0x01F0
-#define REG_HMEBOX_EXT1_8723B 0x01F4
-#define REG_HMEBOX_EXT2_8723B 0x01F8
-#define REG_HMEBOX_EXT3_8723B 0x01FC
+#define REG_HMEBOX_EXT0_8723B 0x01F0
+#define REG_HMEBOX_EXT1_8723B 0x01F4
+#define REG_HMEBOX_EXT2_8723B 0x01F8
+#define REG_HMEBOX_EXT3_8723B 0x01FC
/* */
/* */
@@ -56,52 +56,52 @@
/* 0x0280h ~ 0x02FFh RXDMA Configuration */
/* */
/* */
-#define REG_RXDMA_CONTROL_8723B 0x0286 /* Control the RX DMA. */
-#define REG_RXDMA_MODE_CTRL_8723B 0x0290
+#define REG_RXDMA_CONTROL_8723B 0x0286 /* Control the RX DMA. */
+#define REG_RXDMA_MODE_CTRL_8723B 0x0290
/* */
/* */
/* 0x0300h ~ 0x03FFh PCIe */
/* */
/* */
-#define REG_PCIE_CTRL_REG_8723B 0x0300
-#define REG_INT_MIG_8723B 0x0304 /* Interrupt Migration */
-#define REG_BCNQ_DESA_8723B 0x0308 /* TX Beacon Descriptor Address */
-#define REG_HQ_DESA_8723B 0x0310 /* TX High Queue Descriptor Address */
-#define REG_MGQ_DESA_8723B 0x0318 /* TX Manage Queue Descriptor Address */
-#define REG_VOQ_DESA_8723B 0x0320 /* TX VO Queue Descriptor Address */
-#define REG_VIQ_DESA_8723B 0x0328 /* TX VI Queue Descriptor Address */
-#define REG_BEQ_DESA_8723B 0x0330 /* TX BE Queue Descriptor Address */
-#define REG_BKQ_DESA_8723B 0x0338 /* TX BK Queue Descriptor Address */
-#define REG_RX_DESA_8723B 0x0340 /* RX Queue Descriptor Address */
-#define REG_DBI_WDATA_8723B 0x0348 /* DBI Write Data */
-#define REG_DBI_RDATA_8723B 0x034C /* DBI Read Data */
-#define REG_DBI_ADDR_8723B 0x0350 /* DBI Address */
-#define REG_DBI_FLAG_8723B 0x0352 /* DBI Read/Write Flag */
-#define REG_MDIO_WDATA_8723B 0x0354 /* MDIO for Write PCIE PHY */
-#define REG_MDIO_RDATA_8723B 0x0356 /* MDIO for Reads PCIE PHY */
-#define REG_MDIO_CTL_8723B 0x0358 /* MDIO for Control */
-#define REG_DBG_SEL_8723B 0x0360 /* Debug Selection Register */
-#define REG_PCIE_HRPWM_8723B 0x0361 /* PCIe RPWM */
-#define REG_PCIE_HCPWM_8723B 0x0363 /* PCIe CPWM */
-#define REG_PCIE_MULTIFET_CTRL_8723B 0x036A /* PCIE Multi-Fethc Control */
+#define REG_PCIE_CTRL_REG_8723B 0x0300
+#define REG_INT_MIG_8723B 0x0304 /* Interrupt Migration */
+#define REG_BCNQ_DESA_8723B 0x0308 /* TX Beacon Descriptor Address */
+#define REG_HQ_DESA_8723B 0x0310 /* TX High Queue Descriptor Address */
+#define REG_MGQ_DESA_8723B 0x0318 /* TX Manage Queue Descriptor Address */
+#define REG_VOQ_DESA_8723B 0x0320 /* TX VO Queue Descriptor Address */
+#define REG_VIQ_DESA_8723B 0x0328 /* TX VI Queue Descriptor Address */
+#define REG_BEQ_DESA_8723B 0x0330 /* TX BE Queue Descriptor Address */
+#define REG_BKQ_DESA_8723B 0x0338 /* TX BK Queue Descriptor Address */
+#define REG_RX_DESA_8723B 0x0340 /* RX Queue Descriptor Address */
+#define REG_DBI_WDATA_8723B 0x0348 /* DBI Write Data */
+#define REG_DBI_RDATA_8723B 0x034C /* DBI Read Data */
+#define REG_DBI_ADDR_8723B 0x0350 /* DBI Address */
+#define REG_DBI_FLAG_8723B 0x0352 /* DBI Read/Write Flag */
+#define REG_MDIO_WDATA_8723B 0x0354 /* MDIO for Write PCIE PHY */
+#define REG_MDIO_RDATA_8723B 0x0356 /* MDIO for Reads PCIE PHY */
+#define REG_MDIO_CTL_8723B 0x0358 /* MDIO for Control */
+#define REG_DBG_SEL_8723B 0x0360 /* Debug Selection Register */
+#define REG_PCIE_HRPWM_8723B 0x0361 /* PCIe RPWM */
+#define REG_PCIE_HCPWM_8723B 0x0363 /* PCIe CPWM */
+#define REG_PCIE_MULTIFET_CTRL_8723B 0x036A /* PCIE Multi-Fethc Control */
/* */
/* */
/* 0x0400h ~ 0x047Fh Protocol Configuration */
/* */
/* */
-#define REG_TXPKTBUF_BCNQ_BDNY_8723B 0x0424
-#define REG_TXPKTBUF_MGQ_BDNY_8723B 0x0425
-#define REG_TXPKTBUF_WMAC_LBK_BF_HD_8723B 0x045D
-#define REG_AMPDU_BURST_MODE_8723B 0x04BC
+#define REG_TXPKTBUF_BCNQ_BDNY_8723B 0x0424
+#define REG_TXPKTBUF_MGQ_BDNY_8723B 0x0425
+#define REG_TXPKTBUF_WMAC_LBK_BF_HD_8723B 0x045D
+#define REG_AMPDU_BURST_MODE_8723B 0x04BC
/* */
/* */
/* 0x0500h ~ 0x05FFh EDCA Configuration */
/* */
/* */
-#define REG_SECONDARY_CCA_CTRL_8723B 0x0577
+#define REG_SECONDARY_CCA_CTRL_8723B 0x0577
/* */
/* */
@@ -124,7 +124,7 @@
/* */
/* SDIO register */
/* */
-#define SDIO_REG_HCPWM1_8723B 0x025 /* HCI Current Power Mode 1 */
+#define SDIO_REG_HCPWM1_8723B 0x025 /* HCI Current Power Mode 1 */
/* */
/* 8723 Register Bit and Content definition */
@@ -132,11 +132,9 @@
/* 2 HSISR */
/* interrupt mask which needs to clear */
-#define MASK_HSISR_CLEAR (HSISR_GPIO12_0_INT |\
- HSISR_SPS_OCP_INT |\
- HSISR_RON_INT |\
- HSISR_PDNINT |\
- HSISR_GPIO9_INT)
+#define MASK_HSISR_CLEAR \
+ (HSISR_GPIO12_0_INT | HSISR_SPS_OCP_INT | HSISR_RON_INT | \
+ HSISR_PDNINT | HSISR_GPIO9_INT)
/* */
/* */
@@ -155,8 +153,8 @@
/* 0x0280h ~ 0x02FFh RXDMA Configuration */
/* */
/* */
-#define BIT_USB_RXDMA_AGG_EN BIT(31)
-#define RXDMA_AGG_MODE_EN BIT(1)
+#define BIT_USB_RXDMA_AGG_EN BIT(31)
+#define RXDMA_AGG_MODE_EN BIT(1)
/* */
/* */
@@ -167,7 +165,7 @@
/* */
/* 8723B REG_CCK_CHECK (offset 0x454) */
/* */
-#define BIT_BCN_PORT_SEL BIT(5)
+#define BIT_BCN_PORT_SEL BIT(5)
/* */
/* */
@@ -180,58 +178,67 @@
/* 0x0600h ~ 0x07FFh WMAC Configuration */
/* */
/* */
-#define EEPROM_RF_GAIN_OFFSET 0xC1
-#define EEPROM_RF_GAIN_VAL 0x1F6
+#define EEPROM_RF_GAIN_OFFSET 0xC1
+#define EEPROM_RF_GAIN_VAL 0x1F6
/* */
/* 8195 IMR/ISR bits (offset 0xB0, 8bits) */
/* */
-#define IMR_DISABLED_8723B 0
+#define IMR_DISABLED_8723B 0
/* IMR DW0(0x00B0-00B3) Bit 0-31 */
-#define IMR_TIMER2_8723B BIT(31) /* Timeout interrupt 2 */
-#define IMR_TIMER1_8723B BIT(30) /* Timeout interrupt 1 */
-#define IMR_PSTIMEOUT_8723B BIT(29) /* Power Save Time Out Interrupt */
-#define IMR_GTINT4_8723B BIT(28) /* When GTIMER4 expires, this bit is set to 1 */
-#define IMR_GTINT3_8723B BIT(27) /* When GTIMER3 expires, this bit is set to 1 */
-#define IMR_TXBCN0ERR_8723B BIT(26) /* Transmit Beacon0 Error */
-#define IMR_TXBCN0OK_8723B BIT(25) /* Transmit Beacon0 OK */
-#define IMR_TSF_BIT32_TOGGLE_8723B BIT(24) /* TSF Timer BIT32 toggle indication interrupt */
-#define IMR_BCNDMAINT0_8723B BIT(20) /* Beacon DMA Interrupt 0 */
-#define IMR_BCNDERR0_8723B BIT(16) /* Beacon Queue DMA OK0 */
-#define IMR_HSISR_IND_ON_INT_8723B BIT(15) /* HSISR Indicator (HSIMR & HSISR is true, this bit is set to 1) */
-#define IMR_BCNDMAINT_E_8723B BIT(14) /* Beacon DMA Interrupt Extension for Win7 */
-#define IMR_ATIMEND_8723B BIT(12) /* CTWidnow End or ATIM Window End */
-#define IMR_C2HCMD_8723B BIT(10) /* CPU to Host Command INT Status, Write 1 clear */
-#define IMR_CPWM2_8723B BIT(9) /* CPU power Mode exchange INT Status, Write 1 clear */
-#define IMR_CPWM_8723B BIT(8) /* CPU power Mode exchange INT Status, Write 1 clear */
-#define IMR_HIGHDOK_8723B BIT(7) /* High Queue DMA OK */
-#define IMR_MGNTDOK_8723B BIT(6) /* Management Queue DMA OK */
-#define IMR_BKDOK_8723B BIT(5) /* AC_BK DMA OK */
-#define IMR_BEDOK_8723B BIT(4) /* AC_BE DMA OK */
-#define IMR_VIDOK_8723B BIT(3) /* AC_VI DMA OK */
-#define IMR_VODOK_8723B BIT(2) /* AC_VO DMA OK */
-#define IMR_RDU_8723B BIT(1) /* Rx Descriptor Unavailable */
-#define IMR_ROK_8723B BIT(0) /* Receive DMA OK */
+#define IMR_TIMER2_8723B BIT(31) /* Timeout interrupt 2 */
+#define IMR_TIMER1_8723B BIT(30) /* Timeout interrupt 1 */
+#define IMR_PSTIMEOUT_8723B BIT(29) /* Power Save Time Out Interrupt */
+#define IMR_GTINT4_8723B \
+ BIT(28) /* When GTIMER4 expires, this bit is set to 1 */
+#define IMR_GTINT3_8723B \
+ BIT(27) /* When GTIMER3 expires, this bit is set to 1 */
+#define IMR_TXBCN0ERR_8723B BIT(26) /* Transmit Beacon0 Error */
+#define IMR_TXBCN0OK_8723B BIT(25) /* Transmit Beacon0 OK */
+#define IMR_TSF_BIT32_TOGGLE_8723B \
+ BIT(24) /* TSF Timer BIT32 toggle indication interrupt */
+#define IMR_BCNDMAINT0_8723B BIT(20) /* Beacon DMA Interrupt 0 */
+#define IMR_BCNDERR0_8723B BIT(16) /* Beacon Queue DMA OK0 */
+#define IMR_HSISR_IND_ON_INT_8723B \
+ BIT(15) /* HSISR Indicator (HSIMR & HSISR is true, this bit is set to 1) */
+#define IMR_BCNDMAINT_E_8723B \
+ BIT(14) /* Beacon DMA Interrupt Extension for Win7 */
+#define IMR_ATIMEND_8723B BIT(12) /* CTWidnow End or ATIM Window End */
+#define IMR_C2HCMD_8723B \
+ BIT(10) /* CPU to Host Command INT Status, Write 1 clear */
+#define IMR_CPWM2_8723B \
+ BIT(9) /* CPU power Mode exchange INT Status, Write 1 clear */
+#define IMR_CPWM_8723B \
+ BIT(8) /* CPU power Mode exchange INT Status, Write 1 clear */
+#define IMR_HIGHDOK_8723B BIT(7) /* High Queue DMA OK */
+#define IMR_MGNTDOK_8723B BIT(6) /* Management Queue DMA OK */
+#define IMR_BKDOK_8723B BIT(5) /* AC_BK DMA OK */
+#define IMR_BEDOK_8723B BIT(4) /* AC_BE DMA OK */
+#define IMR_VIDOK_8723B BIT(3) /* AC_VI DMA OK */
+#define IMR_VODOK_8723B BIT(2) /* AC_VO DMA OK */
+#define IMR_RDU_8723B BIT(1) /* Rx Descriptor Unavailable */
+#define IMR_ROK_8723B BIT(0) /* Receive DMA OK */
/* IMR DW1(0x00B4-00B7) Bit 0-31 */
-#define IMR_BCNDMAINT7_8723B BIT(27) /* Beacon DMA Interrupt 7 */
-#define IMR_BCNDMAINT6_8723B BIT(26) /* Beacon DMA Interrupt 6 */
-#define IMR_BCNDMAINT5_8723B BIT(25) /* Beacon DMA Interrupt 5 */
-#define IMR_BCNDMAINT4_8723B BIT(24) /* Beacon DMA Interrupt 4 */
-#define IMR_BCNDMAINT3_8723B BIT(23) /* Beacon DMA Interrupt 3 */
-#define IMR_BCNDMAINT2_8723B BIT(22) /* Beacon DMA Interrupt 2 */
-#define IMR_BCNDMAINT1_8723B BIT(21) /* Beacon DMA Interrupt 1 */
-#define IMR_BCNDOK7_8723B BIT(20) /* Beacon Queue DMA OK Interrupt 7 */
-#define IMR_BCNDOK6_8723B BIT(19) /* Beacon Queue DMA OK Interrupt 6 */
-#define IMR_BCNDOK5_8723B BIT(18) /* Beacon Queue DMA OK Interrupt 5 */
-#define IMR_BCNDOK4_8723B BIT(17) /* Beacon Queue DMA OK Interrupt 4 */
-#define IMR_BCNDOK3_8723B BIT(16) /* Beacon Queue DMA OK Interrupt 3 */
-#define IMR_BCNDOK2_8723B BIT(15) /* Beacon Queue DMA OK Interrupt 2 */
-#define IMR_BCNDOK1_8723B BIT(14) /* Beacon Queue DMA OK Interrupt 1 */
-#define IMR_ATIMEND_E_8723B BIT(13) /* ATIM Window End Extension for Win7 */
-#define IMR_TXERR_8723B BIT(11) /* Tx Error Flag Interrupt Status, write 1 clear. */
-#define IMR_RXERR_8723B BIT(10) /* Rx Error Flag INT Status, Write 1 clear */
-#define IMR_TXFOVW_8723B BIT(9) /* Transmit FIFO Overflow */
-#define IMR_RXFOVW_8723B BIT(8) /* Receive FIFO Overflow */
+#define IMR_BCNDMAINT7_8723B BIT(27) /* Beacon DMA Interrupt 7 */
+#define IMR_BCNDMAINT6_8723B BIT(26) /* Beacon DMA Interrupt 6 */
+#define IMR_BCNDMAINT5_8723B BIT(25) /* Beacon DMA Interrupt 5 */
+#define IMR_BCNDMAINT4_8723B BIT(24) /* Beacon DMA Interrupt 4 */
+#define IMR_BCNDMAINT3_8723B BIT(23) /* Beacon DMA Interrupt 3 */
+#define IMR_BCNDMAINT2_8723B BIT(22) /* Beacon DMA Interrupt 2 */
+#define IMR_BCNDMAINT1_8723B BIT(21) /* Beacon DMA Interrupt 1 */
+#define IMR_BCNDOK7_8723B BIT(20) /* Beacon Queue DMA OK Interrupt 7 */
+#define IMR_BCNDOK6_8723B BIT(19) /* Beacon Queue DMA OK Interrupt 6 */
+#define IMR_BCNDOK5_8723B BIT(18) /* Beacon Queue DMA OK Interrupt 5 */
+#define IMR_BCNDOK4_8723B BIT(17) /* Beacon Queue DMA OK Interrupt 4 */
+#define IMR_BCNDOK3_8723B BIT(16) /* Beacon Queue DMA OK Interrupt 3 */
+#define IMR_BCNDOK2_8723B BIT(15) /* Beacon Queue DMA OK Interrupt 2 */
+#define IMR_BCNDOK1_8723B BIT(14) /* Beacon Queue DMA OK Interrupt 1 */
+#define IMR_ATIMEND_E_8723B BIT(13) /* ATIM Window End Extension for Win7 */
+#define IMR_TXERR_8723B \
+ BIT(11) /* Tx Error Flag Interrupt Status, write 1 clear. */
+#define IMR_RXERR_8723B BIT(10) /* Rx Error Flag INT Status, Write 1 clear */
+#define IMR_TXFOVW_8723B BIT(9) /* Transmit FIFO Overflow */
+#define IMR_RXFOVW_8723B BIT(8) /* Receive FIFO Overflow */
#endif
diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
index ddf868c7899ba..962cab21dc567 100644
--- a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
+++ b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h
@@ -10,408 +10,534 @@
/* */
/* Queue Select Value in TxDesc */
/* */
-#define QSLT_BK 0x2/* 0x01 */
-#define QSLT_BE 0x0
-#define QSLT_VI 0x5/* 0x4 */
-#define QSLT_VO 0x7/* 0x6 */
-#define QSLT_BEACON 0x10
-#define QSLT_HIGH 0x11
-#define QSLT_MGNT 0x12
-#define QSLT_CMD 0x13
+#define QSLT_BK 0x2 /* 0x01 */
+#define QSLT_BE 0x0
+#define QSLT_VI 0x5 /* 0x4 */
+#define QSLT_VO 0x7 /* 0x6 */
+#define QSLT_BEACON 0x10
+#define QSLT_HIGH 0x11
+#define QSLT_MGNT 0x12
+#define QSLT_CMD 0x13
#define MAX_TID (15)
/* OFFSET 0 */
-#define OFFSET_SZ 0
-#define OFFSET_SHT 16
-#define BMC BIT(24)
-#define LSG BIT(26)
-#define FSG BIT(27)
-#define OWN BIT(31)
-
+#define OFFSET_SZ 0
+#define OFFSET_SHT 16
+#define BMC BIT(24)
+#define LSG BIT(26)
+#define FSG BIT(27)
+#define OWN BIT(31)
/* OFFSET 4 */
-#define PKT_OFFSET_SZ 0
-#define BK BIT(6)
-#define QSEL_SHT 8
-#define Rate_ID_SHT 16
-#define NAVUSEHDR BIT(20)
-#define PKT_OFFSET_SHT 26
-#define HWPC BIT(31)
+#define PKT_OFFSET_SZ 0
+#define BK BIT(6)
+#define QSEL_SHT 8
+#define Rate_ID_SHT 16
+#define NAVUSEHDR BIT(20)
+#define PKT_OFFSET_SHT 26
+#define HWPC BIT(31)
/* OFFSET 8 */
-#define AGG_EN BIT(29)
+#define AGG_EN BIT(29)
/* OFFSET 12 */
-#define SEQ_SHT 16
+#define SEQ_SHT 16
/* OFFSET 16 */
-#define QoS BIT(6)
-#define HW_SEQ_EN BIT(7)
-#define USERATE BIT(8)
-#define DISDATAFB BIT(10)
-#define DATA_SHORT BIT(24)
-#define DATA_BW BIT(25)
+#define QoS BIT(6)
+#define HW_SEQ_EN BIT(7)
+#define USERATE BIT(8)
+#define DISDATAFB BIT(10)
+#define DATA_SHORT BIT(24)
+#define DATA_BW BIT(25)
/* OFFSET 20 */
-#define SGI BIT(6)
+#define SGI BIT(6)
/* */
/* defined for TX DESC Operation */
/* */
struct txdesc_8723b {
/* Offset 0 */
- u32 pktlen:16;
- u32 offset:8;
- u32 bmc:1;
- u32 htc:1;
- u32 rsvd0026:1;
- u32 rsvd0027:1;
- u32 linip:1;
- u32 noacm:1;
- u32 gf:1;
- u32 rsvd0031:1;
+ u32 pktlen : 16;
+ u32 offset : 8;
+ u32 bmc : 1;
+ u32 htc : 1;
+ u32 rsvd0026 : 1;
+ u32 rsvd0027 : 1;
+ u32 linip : 1;
+ u32 noacm : 1;
+ u32 gf : 1;
+ u32 rsvd0031 : 1;
/* Offset 4 */
- u32 macid:7;
- u32 rsvd0407:1;
- u32 qsel:5;
- u32 rdg_nav_ext:1;
- u32 lsig_txop_en:1;
- u32 pifs:1;
- u32 rate_id:5;
- u32 en_desc_id:1;
- u32 sectype:2;
- u32 pkt_offset:5; /* unit: 8 bytes */
- u32 moredata:1;
- u32 txop_ps_cap:1;
- u32 txop_ps_mode:1;
+ u32 macid : 7;
+ u32 rsvd0407 : 1;
+ u32 qsel : 5;
+ u32 rdg_nav_ext : 1;
+ u32 lsig_txop_en : 1;
+ u32 pifs : 1;
+ u32 rate_id : 5;
+ u32 en_desc_id : 1;
+ u32 sectype : 2;
+ u32 pkt_offset : 5; /* unit: 8 bytes */
+ u32 moredata : 1;
+ u32 txop_ps_cap : 1;
+ u32 txop_ps_mode : 1;
/* Offset 8 */
- u32 p_aid:9;
- u32 rsvd0809:1;
- u32 cca_rts:2;
- u32 agg_en:1;
- u32 rdg_en:1;
- u32 null_0:1;
- u32 null_1:1;
- u32 bk:1;
- u32 morefrag:1;
- u32 raw:1;
- u32 spe_rpt:1;
- u32 ampdu_density:3;
- u32 bt_null:1;
- u32 g_id:6;
- u32 rsvd0830:2;
+ u32 p_aid : 9;
+ u32 rsvd0809 : 1;
+ u32 cca_rts : 2;
+ u32 agg_en : 1;
+ u32 rdg_en : 1;
+ u32 null_0 : 1;
+ u32 null_1 : 1;
+ u32 bk : 1;
+ u32 morefrag : 1;
+ u32 raw : 1;
+ u32 spe_rpt : 1;
+ u32 ampdu_density : 3;
+ u32 bt_null : 1;
+ u32 g_id : 6;
+ u32 rsvd0830 : 2;
/* Offset 12 */
- u32 wheader_len:4;
- u32 chk_en:1;
- u32 early_rate:1;
- u32 hw_ssn_sel:2;
- u32 userate:1;
- u32 disrtsfb:1;
- u32 disdatafb:1;
- u32 cts2self:1;
- u32 rtsen:1;
- u32 hw_rts_en:1;
- u32 port_id:1;
- u32 navusehdr:1;
- u32 use_max_len:1;
- u32 max_agg_num:5;
- u32 ndpa:2;
- u32 ampdu_max_time:8;
+ u32 wheader_len : 4;
+ u32 chk_en : 1;
+ u32 early_rate : 1;
+ u32 hw_ssn_sel : 2;
+ u32 userate : 1;
+ u32 disrtsfb : 1;
+ u32 disdatafb : 1;
+ u32 cts2self : 1;
+ u32 rtsen : 1;
+ u32 hw_rts_en : 1;
+ u32 port_id : 1;
+ u32 navusehdr : 1;
+ u32 use_max_len : 1;
+ u32 max_agg_num : 5;
+ u32 ndpa : 2;
+ u32 ampdu_max_time : 8;
/* Offset 16 */
- u32 datarate:7;
- u32 try_rate:1;
- u32 data_ratefb_lmt:5;
- u32 rts_ratefb_lmt:4;
- u32 rty_lmt_en:1;
- u32 data_rt_lmt:6;
- u32 rtsrate:5;
- u32 pcts_en:1;
- u32 pcts_mask_idx:2;
+ u32 datarate : 7;
+ u32 try_rate : 1;
+ u32 data_ratefb_lmt : 5;
+ u32 rts_ratefb_lmt : 4;
+ u32 rty_lmt_en : 1;
+ u32 data_rt_lmt : 6;
+ u32 rtsrate : 5;
+ u32 pcts_en : 1;
+ u32 pcts_mask_idx : 2;
/* Offset 20 */
- u32 data_sc:4;
- u32 data_short:1;
- u32 data_bw:2;
- u32 data_ldpc:1;
- u32 data_stbc:2;
- u32 vcs_stbc:2;
- u32 rts_short:1;
- u32 rts_sc:4;
- u32 rsvd2016:7;
- u32 tx_ant:4;
- u32 txpwr_offset:3;
- u32 rsvd2031:1;
+ u32 data_sc : 4;
+ u32 data_short : 1;
+ u32 data_bw : 2;
+ u32 data_ldpc : 1;
+ u32 data_stbc : 2;
+ u32 vcs_stbc : 2;
+ u32 rts_short : 1;
+ u32 rts_sc : 4;
+ u32 rsvd2016 : 7;
+ u32 tx_ant : 4;
+ u32 txpwr_offset : 3;
+ u32 rsvd2031 : 1;
/* Offset 24 */
- u32 sw_define:12;
- u32 mbssid:4;
- u32 antsel_A:3;
- u32 antsel_B:3;
- u32 antsel_C:3;
- u32 antsel_D:3;
- u32 rsvd2428:4;
+ u32 sw_define : 12;
+ u32 mbssid : 4;
+ u32 antsel_A : 3;
+ u32 antsel_B : 3;
+ u32 antsel_C : 3;
+ u32 antsel_D : 3;
+ u32 rsvd2428 : 4;
/* Offset 28 */
- u32 checksum:16;
- u32 rsvd2816:8;
- u32 usb_txagg_num:8;
+ u32 checksum : 16;
+ u32 rsvd2816 : 8;
+ u32 usb_txagg_num : 8;
/* Offset 32 */
- u32 rts_rc:6;
- u32 bar_rty_th:2;
- u32 data_rc:6;
- u32 rsvd3214:1;
- u32 en_hwseq:1;
- u32 nextneadpage:8;
- u32 tailpage:8;
+ u32 rts_rc : 6;
+ u32 bar_rty_th : 2;
+ u32 data_rc : 6;
+ u32 rsvd3214 : 1;
+ u32 en_hwseq : 1;
+ u32 nextneadpage : 8;
+ u32 tailpage : 8;
/* Offset 36 */
- u32 padding_len:11;
- u32 txbf_path:1;
- u32 seq:12;
- u32 final_data_rate:8;
+ u32 padding_len : 11;
+ u32 txbf_path : 1;
+ u32 seq : 12;
+ u32 final_data_rate : 8;
};
#ifndef __INC_HAL8723BDESC_H
#define __INC_HAL8723BDESC_H
-#define RX_STATUS_DESC_SIZE_8723B 24
+#define RX_STATUS_DESC_SIZE_8723B 24
#define RX_DRV_INFO_SIZE_UNIT_8723B 8
-
/* DWORD 0 */
-#define SET_RX_STATUS_DESC_PKT_LEN_8723B(__pRxStatusDesc, __Value) SET_BITS_TO_LE_4BYTE(__pRxStatusDesc, 0, 14, __Value)
-#define SET_RX_STATUS_DESC_EOR_8723B(__pRxStatusDesc, __Value) SET_BITS_TO_LE_4BYTE(__pRxStatusDesc, 30, 1, __Value)
-#define SET_RX_STATUS_DESC_OWN_8723B(__pRxStatusDesc, __Value) SET_BITS_TO_LE_4BYTE(__pRxStatusDesc, 31, 1, __Value)
-
-#define GET_RX_STATUS_DESC_PKT_LEN_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 0, 14)
-#define GET_RX_STATUS_DESC_CRC32_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 14, 1)
-#define GET_RX_STATUS_DESC_ICV_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 15, 1)
-#define GET_RX_STATUS_DESC_DRVINFO_SIZE_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 16, 4)
-#define GET_RX_STATUS_DESC_SECURITY_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 20, 3)
-#define GET_RX_STATUS_DESC_QOS_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 23, 1)
-#define GET_RX_STATUS_DESC_SHIFT_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 24, 2)
-#define GET_RX_STATUS_DESC_PHY_STATUS_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 26, 1)
-#define GET_RX_STATUS_DESC_SWDEC_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 27, 1)
-#define GET_RX_STATUS_DESC_LAST_SEG_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 28, 1)
-#define GET_RX_STATUS_DESC_FIRST_SEG_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 29, 1)
-#define GET_RX_STATUS_DESC_EOR_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 30, 1)
-#define GET_RX_STATUS_DESC_OWN_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc, 31, 1)
+#define SET_RX_STATUS_DESC_PKT_LEN_8723B(__pRxStatusDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pRxStatusDesc, 0, 14, __Value)
+#define SET_RX_STATUS_DESC_EOR_8723B(__pRxStatusDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pRxStatusDesc, 30, 1, __Value)
+#define SET_RX_STATUS_DESC_OWN_8723B(__pRxStatusDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pRxStatusDesc, 31, 1, __Value)
+
+#define GET_RX_STATUS_DESC_PKT_LEN_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 0, 14)
+#define GET_RX_STATUS_DESC_CRC32_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 14, 1)
+#define GET_RX_STATUS_DESC_ICV_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 15, 1)
+#define GET_RX_STATUS_DESC_DRVINFO_SIZE_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 16, 4)
+#define GET_RX_STATUS_DESC_SECURITY_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 20, 3)
+#define GET_RX_STATUS_DESC_QOS_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 23, 1)
+#define GET_RX_STATUS_DESC_SHIFT_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 24, 2)
+#define GET_RX_STATUS_DESC_PHY_STATUS_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 26, 1)
+#define GET_RX_STATUS_DESC_SWDEC_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 27, 1)
+#define GET_RX_STATUS_DESC_LAST_SEG_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 28, 1)
+#define GET_RX_STATUS_DESC_FIRST_SEG_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 29, 1)
+#define GET_RX_STATUS_DESC_EOR_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 30, 1)
+#define GET_RX_STATUS_DESC_OWN_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc, 31, 1)
/* DWORD 1 */
-#define GET_RX_STATUS_DESC_MACID_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 0, 7)
-#define GET_RX_STATUS_DESC_TID_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 8, 4)
-#define GET_RX_STATUS_DESC_AMSDU_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 13, 1)
-#define GET_RX_STATUS_DESC_RXID_MATCH_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 14, 1)
-#define GET_RX_STATUS_DESC_PAGGR_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 15, 1)
-#define GET_RX_STATUS_DESC_A1_FIT_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 16, 4)
-#define GET_RX_STATUS_DESC_CHKERR_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 20, 1)
-#define GET_RX_STATUS_DESC_IPVER_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 21, 1)
-#define GET_RX_STATUS_DESC_IS_TCPUDP__8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 22, 1)
-#define GET_RX_STATUS_DESC_CHK_VLD_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 23, 1)
-#define GET_RX_STATUS_DESC_PAM_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 24, 1)
-#define GET_RX_STATUS_DESC_PWR_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 25, 1)
-#define GET_RX_STATUS_DESC_MORE_DATA_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 26, 1)
-#define GET_RX_STATUS_DESC_MORE_FRAG_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 27, 1)
-#define GET_RX_STATUS_DESC_TYPE_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 28, 2)
-#define GET_RX_STATUS_DESC_MC_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 30, 1)
-#define GET_RX_STATUS_DESC_BC_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+4, 31, 1)
+#define GET_RX_STATUS_DESC_MACID_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 0, 7)
+#define GET_RX_STATUS_DESC_TID_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 8, 4)
+#define GET_RX_STATUS_DESC_AMSDU_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 13, 1)
+#define GET_RX_STATUS_DESC_RXID_MATCH_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 14, 1)
+#define GET_RX_STATUS_DESC_PAGGR_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 15, 1)
+#define GET_RX_STATUS_DESC_A1_FIT_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 16, 4)
+#define GET_RX_STATUS_DESC_CHKERR_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 20, 1)
+#define GET_RX_STATUS_DESC_IPVER_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 21, 1)
+#define GET_RX_STATUS_DESC_IS_TCPUDP__8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 22, 1)
+#define GET_RX_STATUS_DESC_CHK_VLD_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 23, 1)
+#define GET_RX_STATUS_DESC_PAM_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 24, 1)
+#define GET_RX_STATUS_DESC_PWR_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 25, 1)
+#define GET_RX_STATUS_DESC_MORE_DATA_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 26, 1)
+#define GET_RX_STATUS_DESC_MORE_FRAG_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 27, 1)
+#define GET_RX_STATUS_DESC_TYPE_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 28, 2)
+#define GET_RX_STATUS_DESC_MC_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 30, 1)
+#define GET_RX_STATUS_DESC_BC_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 4, 31, 1)
/* DWORD 2 */
-#define GET_RX_STATUS_DESC_SEQ_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+8, 0, 12)
-#define GET_RX_STATUS_DESC_FRAG_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+8, 12, 4)
-#define GET_RX_STATUS_DESC_RX_IS_QOS_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+8, 16, 1)
-#define GET_RX_STATUS_DESC_WLANHD_IV_LEN_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+8, 18, 6)
-#define GET_RX_STATUS_DESC_RPT_SEL_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+8, 28, 1)
+#define GET_RX_STATUS_DESC_SEQ_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 8, 0, 12)
+#define GET_RX_STATUS_DESC_FRAG_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 8, 12, 4)
+#define GET_RX_STATUS_DESC_RX_IS_QOS_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 8, 16, 1)
+#define GET_RX_STATUS_DESC_WLANHD_IV_LEN_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 8, 18, 6)
+#define GET_RX_STATUS_DESC_RPT_SEL_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 8, 28, 1)
/* DWORD 3 */
-#define GET_RX_STATUS_DESC_RX_RATE_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+12, 0, 7)
-#define GET_RX_STATUS_DESC_HTC_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+12, 10, 1)
-#define GET_RX_STATUS_DESC_EOSP_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+12, 11, 1)
-#define GET_RX_STATUS_DESC_BSSID_FIT_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+12, 12, 2)
-#define GET_RX_STATUS_DESC_PATTERN_MATCH_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+12, 29, 1)
-#define GET_RX_STATUS_DESC_UNICAST_MATCH_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+12, 30, 1)
-#define GET_RX_STATUS_DESC_MAGIC_MATCH_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+12, 31, 1)
+#define GET_RX_STATUS_DESC_RX_RATE_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 12, 0, 7)
+#define GET_RX_STATUS_DESC_HTC_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 12, 10, 1)
+#define GET_RX_STATUS_DESC_EOSP_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 12, 11, 1)
+#define GET_RX_STATUS_DESC_BSSID_FIT_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 12, 12, 2)
+#define GET_RX_STATUS_DESC_PATTERN_MATCH_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 12, 29, 1)
+#define GET_RX_STATUS_DESC_UNICAST_MATCH_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 12, 30, 1)
+#define GET_RX_STATUS_DESC_MAGIC_MATCH_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 12, 31, 1)
/* DWORD 6 */
-#define GET_RX_STATUS_DESC_SPLCP_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+16, 0, 1)
-#define GET_RX_STATUS_DESC_LDPC_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+16, 1, 1)
-#define GET_RX_STATUS_DESC_STBC_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+16, 2, 1)
-#define GET_RX_STATUS_DESC_BW_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+16, 4, 2)
+#define GET_RX_STATUS_DESC_SPLCP_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 16, 0, 1)
+#define GET_RX_STATUS_DESC_LDPC_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 16, 1, 1)
+#define GET_RX_STATUS_DESC_STBC_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 16, 2, 1)
+#define GET_RX_STATUS_DESC_BW_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 16, 4, 2)
/* DWORD 5 */
-#define GET_RX_STATUS_DESC_TSFL_8723B(__pRxStatusDesc) LE_BITS_TO_4BYTE(__pRxStatusDesc+20, 0, 32)
-
-#define GET_RX_STATUS_DESC_BUFF_ADDR_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+24, 0, 32)
-#define GET_RX_STATUS_DESC_BUFF_ADDR64_8723B(__pRxDesc) LE_BITS_TO_4BYTE(__pRxDesc+28, 0, 32)
+#define GET_RX_STATUS_DESC_TSFL_8723B(__pRxStatusDesc) \
+ LE_BITS_TO_4BYTE(__pRxStatusDesc + 20, 0, 32)
-#define SET_RX_STATUS_DESC_BUFF_ADDR_8723B(__pRxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pRxDesc+24, 0, 32, __Value)
+#define GET_RX_STATUS_DESC_BUFF_ADDR_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 24, 0, 32)
+#define GET_RX_STATUS_DESC_BUFF_ADDR64_8723B(__pRxDesc) \
+ LE_BITS_TO_4BYTE(__pRxDesc + 28, 0, 32)
+#define SET_RX_STATUS_DESC_BUFF_ADDR_8723B(__pRxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pRxDesc + 24, 0, 32, __Value)
/* Dword 0 */
-#define GET_TX_DESC_OWN_8723B(__pTxDesc) LE_BITS_TO_4BYTE(__pTxDesc, 31, 1)
-
-#define SET_TX_DESC_PKT_SIZE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 0, 16, __Value)
-#define SET_TX_DESC_OFFSET_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 16, 8, __Value)
-#define SET_TX_DESC_BMC_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 24, 1, __Value)
-#define SET_TX_DESC_HTC_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 25, 1, __Value)
-#define SET_TX_DESC_LAST_SEG_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 26, 1, __Value)
-#define SET_TX_DESC_FIRST_SEG_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 27, 1, __Value)
-#define SET_TX_DESC_LINIP_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 28, 1, __Value)
-#define SET_TX_DESC_NO_ACM_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 29, 1, __Value)
-#define SET_TX_DESC_GF_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 30, 1, __Value)
-#define SET_TX_DESC_OWN_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc, 31, 1, __Value)
+#define GET_TX_DESC_OWN_8723B(__pTxDesc) LE_BITS_TO_4BYTE(__pTxDesc, 31, 1)
+
+#define SET_TX_DESC_PKT_SIZE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 0, 16, __Value)
+#define SET_TX_DESC_OFFSET_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 16, 8, __Value)
+#define SET_TX_DESC_BMC_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 24, 1, __Value)
+#define SET_TX_DESC_HTC_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 25, 1, __Value)
+#define SET_TX_DESC_LAST_SEG_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 26, 1, __Value)
+#define SET_TX_DESC_FIRST_SEG_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 27, 1, __Value)
+#define SET_TX_DESC_LINIP_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 28, 1, __Value)
+#define SET_TX_DESC_NO_ACM_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 29, 1, __Value)
+#define SET_TX_DESC_GF_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 30, 1, __Value)
+#define SET_TX_DESC_OWN_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc, 31, 1, __Value)
/* Dword 1 */
-#define SET_TX_DESC_MACID_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 0, 7, __Value)
-#define SET_TX_DESC_QUEUE_SEL_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 8, 5, __Value)
-#define SET_TX_DESC_RDG_NAV_EXT_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 13, 1, __Value)
-#define SET_TX_DESC_LSIG_TXOP_EN_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 14, 1, __Value)
-#define SET_TX_DESC_PIFS_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 15, 1, __Value)
-#define SET_TX_DESC_RATE_ID_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 16, 5, __Value)
-#define SET_TX_DESC_EN_DESC_ID_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 21, 1, __Value)
-#define SET_TX_DESC_SEC_TYPE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 22, 2, __Value)
-#define SET_TX_DESC_PKT_OFFSET_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+4, 24, 5, __Value)
-
+#define SET_TX_DESC_MACID_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 0, 7, __Value)
+#define SET_TX_DESC_QUEUE_SEL_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 8, 5, __Value)
+#define SET_TX_DESC_RDG_NAV_EXT_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 13, 1, __Value)
+#define SET_TX_DESC_LSIG_TXOP_EN_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 14, 1, __Value)
+#define SET_TX_DESC_PIFS_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 15, 1, __Value)
+#define SET_TX_DESC_RATE_ID_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 16, 5, __Value)
+#define SET_TX_DESC_EN_DESC_ID_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 21, 1, __Value)
+#define SET_TX_DESC_SEC_TYPE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 22, 2, __Value)
+#define SET_TX_DESC_PKT_OFFSET_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 4, 24, 5, __Value)
/* Dword 2 */
-#define SET_TX_DESC_PAID_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 0, 9, __Value)
-#define SET_TX_DESC_CCA_RTS_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 10, 2, __Value)
-#define SET_TX_DESC_AGG_ENABLE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 12, 1, __Value)
-#define SET_TX_DESC_RDG_ENABLE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 13, 1, __Value)
-#define SET_TX_DESC_AGG_BREAK_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 16, 1, __Value)
-#define SET_TX_DESC_MORE_FRAG_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 17, 1, __Value)
-#define SET_TX_DESC_RAW_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 18, 1, __Value)
-#define SET_TX_DESC_SPE_RPT_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 19, 1, __Value)
-#define SET_TX_DESC_AMPDU_DENSITY_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 20, 3, __Value)
-#define SET_TX_DESC_BT_INT_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 23, 1, __Value)
-#define SET_TX_DESC_GID_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+8, 24, 6, __Value)
-
+#define SET_TX_DESC_PAID_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 0, 9, __Value)
+#define SET_TX_DESC_CCA_RTS_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 10, 2, __Value)
+#define SET_TX_DESC_AGG_ENABLE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 12, 1, __Value)
+#define SET_TX_DESC_RDG_ENABLE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 13, 1, __Value)
+#define SET_TX_DESC_AGG_BREAK_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 16, 1, __Value)
+#define SET_TX_DESC_MORE_FRAG_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 17, 1, __Value)
+#define SET_TX_DESC_RAW_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 18, 1, __Value)
+#define SET_TX_DESC_SPE_RPT_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 19, 1, __Value)
+#define SET_TX_DESC_AMPDU_DENSITY_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 20, 3, __Value)
+#define SET_TX_DESC_BT_INT_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 23, 1, __Value)
+#define SET_TX_DESC_GID_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 8, 24, 6, __Value)
/* Dword 3 */
-#define SET_TX_DESC_WHEADER_LEN_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 0, 4, __Value)
-#define SET_TX_DESC_CHK_EN_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 4, 1, __Value)
-#define SET_TX_DESC_EARLY_MODE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 5, 1, __Value)
-#define SET_TX_DESC_HWSEQ_SEL_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 6, 2, __Value)
-#define SET_TX_DESC_USE_RATE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 8, 1, __Value)
-#define SET_TX_DESC_DISABLE_RTS_FB_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 9, 1, __Value)
-#define SET_TX_DESC_DISABLE_FB_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 10, 1, __Value)
-#define SET_TX_DESC_CTS2SELF_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 11, 1, __Value)
-#define SET_TX_DESC_RTS_ENABLE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 12, 1, __Value)
-#define SET_TX_DESC_HW_RTS_ENABLE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 13, 1, __Value)
-#define SET_TX_DESC_NAV_USE_HDR_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 15, 1, __Value)
-#define SET_TX_DESC_USE_MAX_LEN_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 16, 1, __Value)
-#define SET_TX_DESC_MAX_AGG_NUM_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 17, 5, __Value)
-#define SET_TX_DESC_NDPA_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 22, 2, __Value)
-#define SET_TX_DESC_AMPDU_MAX_TIME_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+12, 24, 8, __Value)
+#define SET_TX_DESC_WHEADER_LEN_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 0, 4, __Value)
+#define SET_TX_DESC_CHK_EN_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 4, 1, __Value)
+#define SET_TX_DESC_EARLY_MODE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 5, 1, __Value)
+#define SET_TX_DESC_HWSEQ_SEL_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 6, 2, __Value)
+#define SET_TX_DESC_USE_RATE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 8, 1, __Value)
+#define SET_TX_DESC_DISABLE_RTS_FB_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 9, 1, __Value)
+#define SET_TX_DESC_DISABLE_FB_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 10, 1, __Value)
+#define SET_TX_DESC_CTS2SELF_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 11, 1, __Value)
+#define SET_TX_DESC_RTS_ENABLE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 12, 1, __Value)
+#define SET_TX_DESC_HW_RTS_ENABLE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 13, 1, __Value)
+#define SET_TX_DESC_NAV_USE_HDR_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 15, 1, __Value)
+#define SET_TX_DESC_USE_MAX_LEN_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 16, 1, __Value)
+#define SET_TX_DESC_MAX_AGG_NUM_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 17, 5, __Value)
+#define SET_TX_DESC_NDPA_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 22, 2, __Value)
+#define SET_TX_DESC_AMPDU_MAX_TIME_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 12, 24, 8, __Value)
/* Dword 4 */
-#define SET_TX_DESC_TX_RATE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 0, 7, __Value)
-#define SET_TX_DESC_DATA_RATE_FB_LIMIT_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 8, 5, __Value)
-#define SET_TX_DESC_RTS_RATE_FB_LIMIT_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 13, 4, __Value)
-#define SET_TX_DESC_RETRY_LIMIT_ENABLE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 17, 1, __Value)
-#define SET_TX_DESC_DATA_RETRY_LIMIT_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 18, 6, __Value)
-#define SET_TX_DESC_RTS_RATE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+16, 24, 5, __Value)
-
+#define SET_TX_DESC_TX_RATE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 16, 0, 7, __Value)
+#define SET_TX_DESC_DATA_RATE_FB_LIMIT_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 16, 8, 5, __Value)
+#define SET_TX_DESC_RTS_RATE_FB_LIMIT_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 16, 13, 4, __Value)
+#define SET_TX_DESC_RETRY_LIMIT_ENABLE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 16, 17, 1, __Value)
+#define SET_TX_DESC_DATA_RETRY_LIMIT_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 16, 18, 6, __Value)
+#define SET_TX_DESC_RTS_RATE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 16, 24, 5, __Value)
/* Dword 5 */
-#define SET_TX_DESC_DATA_SC_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 0, 4, __Value)
-#define SET_TX_DESC_DATA_SHORT_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 4, 1, __Value)
-#define SET_TX_DESC_DATA_BW_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 5, 2, __Value)
-#define SET_TX_DESC_DATA_LDPC_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 7, 1, __Value)
-#define SET_TX_DESC_DATA_STBC_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 8, 2, __Value)
-#define SET_TX_DESC_CTROL_STBC_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 10, 2, __Value)
-#define SET_TX_DESC_RTS_SHORT_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 12, 1, __Value)
-#define SET_TX_DESC_RTS_SC_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+20, 13, 4, __Value)
-
+#define SET_TX_DESC_DATA_SC_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 20, 0, 4, __Value)
+#define SET_TX_DESC_DATA_SHORT_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 20, 4, 1, __Value)
+#define SET_TX_DESC_DATA_BW_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 20, 5, 2, __Value)
+#define SET_TX_DESC_DATA_LDPC_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 20, 7, 1, __Value)
+#define SET_TX_DESC_DATA_STBC_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 20, 8, 2, __Value)
+#define SET_TX_DESC_CTROL_STBC_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 20, 10, 2, __Value)
+#define SET_TX_DESC_RTS_SHORT_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 20, 12, 1, __Value)
+#define SET_TX_DESC_RTS_SC_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 20, 13, 4, __Value)
/* Dword 6 */
-#define SET_TX_DESC_SW_DEFINE_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 0, 12, __Value)
-#define SET_TX_DESC_ANTSEL_A_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 16, 3, __Value)
-#define SET_TX_DESC_ANTSEL_B_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 19, 3, __Value)
-#define SET_TX_DESC_ANTSEL_C_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 22, 3, __Value)
-#define SET_TX_DESC_ANTSEL_D_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+24, 25, 3, __Value)
+#define SET_TX_DESC_SW_DEFINE_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 24, 0, 12, __Value)
+#define SET_TX_DESC_ANTSEL_A_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 24, 16, 3, __Value)
+#define SET_TX_DESC_ANTSEL_B_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 24, 19, 3, __Value)
+#define SET_TX_DESC_ANTSEL_C_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 24, 22, 3, __Value)
+#define SET_TX_DESC_ANTSEL_D_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 24, 25, 3, __Value)
/* Dword 7 */
-#define SET_TX_DESC_TX_DESC_CHECKSUM_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 0, 16, __Value)
-#define SET_TX_DESC_USB_TXAGG_NUM_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 24, 8, __Value)
-#define SET_TX_DESC_SDIO_TXSEQ_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+28, 16, 8, __Value)
+#define SET_TX_DESC_TX_DESC_CHECKSUM_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 28, 0, 16, __Value)
+#define SET_TX_DESC_USB_TXAGG_NUM_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 28, 24, 8, __Value)
+#define SET_TX_DESC_SDIO_TXSEQ_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 28, 16, 8, __Value)
/* Dword 8 */
-#define SET_TX_DESC_HWSEQ_EN_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+32, 15, 1, __Value)
+#define SET_TX_DESC_HWSEQ_EN_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 32, 15, 1, __Value)
/* Dword 9 */
-#define SET_TX_DESC_SEQ_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+36, 12, 12, __Value)
+#define SET_TX_DESC_SEQ_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 36, 12, 12, __Value)
/* Dword 10 */
-#define SET_TX_DESC_TX_BUFFER_ADDRESS_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+40, 0, 32, __Value)
-#define GET_TX_DESC_TX_BUFFER_ADDRESS_8723B(__pTxDesc) LE_BITS_TO_4BYTE(__pTxDesc+40, 0, 32)
+#define SET_TX_DESC_TX_BUFFER_ADDRESS_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 40, 0, 32, __Value)
+#define GET_TX_DESC_TX_BUFFER_ADDRESS_8723B(__pTxDesc) \
+ LE_BITS_TO_4BYTE(__pTxDesc + 40, 0, 32)
/* Dword 11 */
-#define SET_TX_DESC_NEXT_DESC_ADDRESS_8723B(__pTxDesc, __Value) SET_BITS_TO_LE_4BYTE(__pTxDesc+48, 0, 32, __Value)
-
-
-#define SET_EARLYMODE_PKTNUM_8723B(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr, 0, 4, __Value)
-#define SET_EARLYMODE_LEN0_8723B(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr, 4, 15, __Value)
-#define SET_EARLYMODE_LEN1_1_8723B(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr, 19, 13, __Value)
-#define SET_EARLYMODE_LEN1_2_8723B(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr+4, 0, 2, __Value)
-#define SET_EARLYMODE_LEN2_8723B(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr+4, 2, 15, __Value)
-#define SET_EARLYMODE_LEN3_8723B(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr+4, 17, 15, __Value)
+#define SET_TX_DESC_NEXT_DESC_ADDRESS_8723B(__pTxDesc, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pTxDesc + 48, 0, 32, __Value)
+
+#define SET_EARLYMODE_PKTNUM_8723B(__pAddr, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pAddr, 0, 4, __Value)
+#define SET_EARLYMODE_LEN0_8723B(__pAddr, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pAddr, 4, 15, __Value)
+#define SET_EARLYMODE_LEN1_1_8723B(__pAddr, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pAddr, 19, 13, __Value)
+#define SET_EARLYMODE_LEN1_2_8723B(__pAddr, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pAddr + 4, 0, 2, __Value)
+#define SET_EARLYMODE_LEN2_8723B(__pAddr, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pAddr + 4, 2, 15, __Value)
+#define SET_EARLYMODE_LEN3_8723B(__pAddr, __Value) \
+ SET_BITS_TO_LE_4BYTE(__pAddr + 4, 17, 15, __Value)
#endif
/* */
/* */
-/* Rate */
+/* Rate */
/* */
/* */
/* CCK Rates, TxHT = 0 */
-#define DESC8723B_RATE1M 0x00
-#define DESC8723B_RATE2M 0x01
-#define DESC8723B_RATE5_5M 0x02
-#define DESC8723B_RATE11M 0x03
+#define DESC8723B_RATE1M 0x00
+#define DESC8723B_RATE2M 0x01
+#define DESC8723B_RATE5_5M 0x02
+#define DESC8723B_RATE11M 0x03
/* OFDM Rates, TxHT = 0 */
-#define DESC8723B_RATE6M 0x04
-#define DESC8723B_RATE9M 0x05
-#define DESC8723B_RATE12M 0x06
-#define DESC8723B_RATE18M 0x07
-#define DESC8723B_RATE24M 0x08
-#define DESC8723B_RATE36M 0x09
-#define DESC8723B_RATE48M 0x0a
-#define DESC8723B_RATE54M 0x0b
+#define DESC8723B_RATE6M 0x04
+#define DESC8723B_RATE9M 0x05
+#define DESC8723B_RATE12M 0x06
+#define DESC8723B_RATE18M 0x07
+#define DESC8723B_RATE24M 0x08
+#define DESC8723B_RATE36M 0x09
+#define DESC8723B_RATE48M 0x0a
+#define DESC8723B_RATE54M 0x0b
/* MCS Rates, TxHT = 1 */
-#define DESC8723B_RATEMCS0 0x0c
-#define DESC8723B_RATEMCS1 0x0d
-#define DESC8723B_RATEMCS2 0x0e
-#define DESC8723B_RATEMCS3 0x0f
-#define DESC8723B_RATEMCS4 0x10
-#define DESC8723B_RATEMCS5 0x11
-#define DESC8723B_RATEMCS6 0x12
-#define DESC8723B_RATEMCS7 0x13
-
-#define RX_HAL_IS_CCK_RATE_8723B(pDesc)\
- (GET_RX_STATUS_DESC_RX_RATE_8723B(pDesc) == DESC8723B_RATE1M ||\
- GET_RX_STATUS_DESC_RX_RATE_8723B(pDesc) == DESC8723B_RATE2M ||\
- GET_RX_STATUS_DESC_RX_RATE_8723B(pDesc) == DESC8723B_RATE5_5M ||\
- GET_RX_STATUS_DESC_RX_RATE_8723B(pDesc) == DESC8723B_RATE11M)
-
+#define DESC8723B_RATEMCS0 0x0c
+#define DESC8723B_RATEMCS1 0x0d
+#define DESC8723B_RATEMCS2 0x0e
+#define DESC8723B_RATEMCS3 0x0f
+#define DESC8723B_RATEMCS4 0x10
+#define DESC8723B_RATEMCS5 0x11
+#define DESC8723B_RATEMCS6 0x12
+#define DESC8723B_RATEMCS7 0x13
+
+#define RX_HAL_IS_CCK_RATE_8723B(pDesc) \
+ (GET_RX_STATUS_DESC_RX_RATE_8723B(pDesc) == DESC8723B_RATE1M || \
+ GET_RX_STATUS_DESC_RX_RATE_8723B(pDesc) == DESC8723B_RATE2M || \
+ GET_RX_STATUS_DESC_RX_RATE_8723B(pDesc) == DESC8723B_RATE5_5M || \
+ GET_RX_STATUS_DESC_RX_RATE_8723B(pDesc) == DESC8723B_RATE11M)
void rtl8723b_update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem);
-void rtl8723b_fill_fake_txdesc(struct adapter *padapter, u8 *pDesc, u32 BufferLen, u8 IsPsPoll, u8 IsBTQosNull, u8 bDataFrame);
+void rtl8723b_fill_fake_txdesc(struct adapter *padapter, u8 *pDesc,
+ u32 BufferLen, u8 IsPsPoll, u8 IsBTQosNull,
+ u8 bDataFrame);
u32 rtl8723bs_hal_init(struct adapter *padapter);
u32 rtl8723bs_hal_deinit(struct adapter *padapter);
s32 rtl8723bs_init_xmit_priv(struct adapter *padapter);
void rtl8723bs_free_xmit_priv(struct adapter *padapter);
s32 rtl8723bs_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe);
-s32 rtl8723bs_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe);
-s32 rtl8723bs_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe);
+s32 rtl8723bs_mgnt_xmit(struct adapter *padapter,
+ struct xmit_frame *pmgntframe);
+s32 rtl8723bs_hal_xmitframe_enqueue(struct adapter *padapter,
+ struct xmit_frame *pxmitframe);
s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter);
int rtl8723bs_xmit_thread(void *context);
diff --git a/drivers/staging/rtl8723bs/include/rtw_ap.h b/drivers/staging/rtl8723bs/include/rtw_ap.h
index 83e835eb6513f..b147ce36fb92b 100644
--- a/drivers/staging/rtl8723bs/include/rtw_ap.h
+++ b/drivers/staging/rtl8723bs/include/rtw_ap.h
@@ -15,7 +15,7 @@ void add_ratid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level);
void expire_timeout_chk(struct adapter *padapter);
void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta);
void start_bss_network(struct adapter *padapter);
-int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len);
+int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len);
void rtw_ap_restore_network(struct adapter *padapter);
void rtw_set_macaddr_acl(struct adapter *padapter, int mode);
int rtw_acl_add_sta(struct adapter *padapter, u8 *addr);
@@ -23,14 +23,17 @@ void rtw_acl_remove_sta(struct adapter *padapter, u8 *addr);
u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta);
int rtw_ap_set_group_key(struct adapter *padapter, u8 *key, u8 alg, int keyid);
-int rtw_ap_set_wep_key(struct adapter *padapter, u8 *key, u8 keylen, int keyid, u8 set_tx);
+int rtw_ap_set_wep_key(struct adapter *padapter, u8 *key, u8 keylen, int keyid,
+ u8 set_tx);
void associated_clients_update(struct adapter *padapter, u8 updated);
-void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta);
+void bss_cap_update_on_sta_join(struct adapter *padapter,
+ struct sta_info *psta);
u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta);
void sta_info_update(struct adapter *padapter, struct sta_info *psta);
void ap_sta_info_defer_update(struct adapter *padapter, struct sta_info *psta);
-u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta, bool active, u16 reason);
+u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta, bool active,
+ u16 reason);
void rtw_sta_flush(struct adapter *padapter);
void start_ap_mode(struct adapter *padapter);
void stop_ap_mode(struct adapter *padapter);
diff --git a/drivers/staging/rtl8723bs/include/rtw_btcoex.h b/drivers/staging/rtl8723bs/include/rtw_btcoex.h
index 7651034987898..48cb2a202ae7e 100644
--- a/drivers/staging/rtl8723bs/include/rtw_btcoex.h
+++ b/drivers/staging/rtl8723bs/include/rtw_btcoex.h
@@ -9,10 +9,10 @@
#include <drv_types.h>
-#define PACKET_NORMAL 0
-#define PACKET_DHCP 1
-#define PACKET_ARP 2
-#define PACKET_EAPOL 3
+#define PACKET_NORMAL 0
+#define PACKET_DHCP 1
+#define PACKET_ARP 2
+#define PACKET_EAPOL 3
void rtw_btcoex_media_status_notify(struct adapter *padapter, u8 media_status);
void rtw_btcoex_halt_notify(struct adapter *padapter);
@@ -20,7 +20,8 @@ void rtw_btcoex_halt_notify(struct adapter *padapter);
/* ================================================== */
/* Below Functions are called by BT-Coex */
/* ================================================== */
-void rtw_btcoex_reject_ap_aggregated_packet(struct adapter *padapter, u8 enable);
+void rtw_btcoex_reject_ap_aggregated_packet(struct adapter *padapter,
+ u8 enable);
void rtw_btcoex_lps_enter(struct adapter *padapter);
void rtw_btcoex_lps_leave(struct adapter *padapter);
diff --git a/drivers/staging/rtl8723bs/include/rtw_byteorder.h b/drivers/staging/rtl8723bs/include/rtw_byteorder.h
index c3a65f9717932..0d16ca4f69f15 100644
--- a/drivers/staging/rtl8723bs/include/rtw_byteorder.h
+++ b/drivers/staging/rtl8723bs/include/rtw_byteorder.h
@@ -10,7 +10,7 @@
#if defined(__LITTLE_ENDIAN)
#include <linux/byteorder/little_endian.h>
#else
-# include <linux/byteorder/big_endian.h>
+#include <linux/byteorder/big_endian.h>
#endif
#endif /* _RTL871X_BYTEORDER_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_cmd.h b/drivers/staging/rtl8723bs/include/rtw_cmd.h
index f78aa0d7abc5a..ba10de8f4c170 100644
--- a/drivers/staging/rtl8723bs/include/rtw_cmd.h
+++ b/drivers/staging/rtl8723bs/include/rtw_cmd.h
@@ -9,90 +9,90 @@
#include <linux/completion.h>
-#define C2H_MEM_SZ (16*1024)
-
- #define FREE_CMDOBJ_SZ 128
-
- #define MAX_CMDSZ 1024
- #define MAX_RSPSZ 512
- #define MAX_EVTSZ 1024
-
- #define CMDBUFF_ALIGN_SZ 512
-
- struct cmd_obj {
- struct adapter *padapter;
- u16 cmdcode;
- u8 res;
- u8 *parmbuf;
- u32 cmdsz;
- u8 *rsp;
- u32 rspsz;
- struct submit_ctx *sctx;
- struct list_head list;
- };
-
- /* cmd flags */
- enum {
- RTW_CMDF_DIRECTLY = BIT(0),
- RTW_CMDF_WAIT_ACK = BIT(1),
- };
-
- struct cmd_priv {
- struct completion cmd_queue_comp;
- struct completion terminate_cmdthread_comp;
- struct __queue cmd_queue;
- u8 cmd_seq;
- u8 *cmd_buf; /* shall be non-paged, and 4 bytes aligned */
- u8 *cmd_allocated_buf;
- u8 *rsp_buf; /* shall be non-paged, and 4 bytes aligned */
- u8 *rsp_allocated_buf;
- u32 cmd_issued_cnt;
- u32 cmd_done_cnt;
- u32 rsp_cnt;
- atomic_t cmdthd_running;
- /* u8 cmdthd_running; */
- u8 stop_req;
- struct adapter *padapter;
- struct mutex sctx_mutex;
- };
-
- struct evt_priv {
- struct work_struct c2h_wk;
- bool c2h_wk_alive;
- struct rtw_cbuf *c2h_queue;
- #define C2H_QUEUE_MAX_LEN 10
-
- atomic_t event_seq;
- u8 *evt_buf; /* shall be non-paged, and 4 bytes aligned */
- u8 *evt_allocated_buf;
- u32 evt_done_cnt;
- u8 *c2h_mem;
- u8 *allocated_c2h_mem;
- };
+#define C2H_MEM_SZ (16 * 1024)
+
+#define FREE_CMDOBJ_SZ 128
+
+#define MAX_CMDSZ 1024
+#define MAX_RSPSZ 512
+#define MAX_EVTSZ 1024
+
+#define CMDBUFF_ALIGN_SZ 512
+
+struct cmd_obj {
+ struct adapter *padapter;
+ u16 cmdcode;
+ u8 res;
+ u8 *parmbuf;
+ u32 cmdsz;
+ u8 *rsp;
+ u32 rspsz;
+ struct submit_ctx *sctx;
+ struct list_head list;
+};
+
+/* cmd flags */
+enum {
+ RTW_CMDF_DIRECTLY = BIT(0),
+ RTW_CMDF_WAIT_ACK = BIT(1),
+};
+
+struct cmd_priv {
+ struct completion cmd_queue_comp;
+ struct completion terminate_cmdthread_comp;
+ struct __queue cmd_queue;
+ u8 cmd_seq;
+ u8 *cmd_buf; /* shall be non-paged, and 4 bytes aligned */
+ u8 *cmd_allocated_buf;
+ u8 *rsp_buf; /* shall be non-paged, and 4 bytes aligned */
+ u8 *rsp_allocated_buf;
+ u32 cmd_issued_cnt;
+ u32 cmd_done_cnt;
+ u32 rsp_cnt;
+ atomic_t cmdthd_running;
+ /* u8 cmdthd_running; */
+ u8 stop_req;
+ struct adapter *padapter;
+ struct mutex sctx_mutex;
+};
+
+struct evt_priv {
+ struct work_struct c2h_wk;
+ bool c2h_wk_alive;
+ struct rtw_cbuf *c2h_queue;
+#define C2H_QUEUE_MAX_LEN 10
+
+ atomic_t event_seq;
+ u8 *evt_buf; /* shall be non-paged, and 4 bytes aligned */
+ u8 *evt_allocated_buf;
+ u32 evt_done_cnt;
+ u8 *c2h_mem;
+ u8 *allocated_c2h_mem;
+};
#define init_h2fwcmd_w_parm_no_rsp(pcmd, pparm, code) \
-do {\
- INIT_LIST_HEAD(&pcmd->list);\
- pcmd->cmdcode = code;\
- pcmd->parmbuf = (u8 *)(pparm);\
- pcmd->cmdsz = sizeof(*pparm);\
- pcmd->rsp = NULL;\
- pcmd->rspsz = 0;\
-} while (0)
+ do { \
+ INIT_LIST_HEAD(&pcmd->list); \
+ pcmd->cmdcode = code; \
+ pcmd->parmbuf = (u8 *)(pparm); \
+ pcmd->cmdsz = sizeof(*pparm); \
+ pcmd->rsp = NULL; \
+ pcmd->rspsz = 0; \
+ } while (0)
#define init_h2fwcmd_w_parm_no_parm_rsp(pcmd, code) \
-do {\
- INIT_LIST_HEAD(&pcmd->list);\
- pcmd->cmdcode = code;\
- pcmd->parmbuf = NULL;\
- pcmd->cmdsz = 0;\
- pcmd->rsp = NULL;\
- pcmd->rspsz = 0;\
-} while (0)
+ do { \
+ INIT_LIST_HEAD(&pcmd->list); \
+ pcmd->cmdcode = code; \
+ pcmd->parmbuf = NULL; \
+ pcmd->cmdsz = 0; \
+ pcmd->rsp = NULL; \
+ pcmd->rspsz = 0; \
+ } while (0)
struct c2h_evt_hdr {
- u8 id:4;
- u8 plen:4;
+ u8 id : 4;
+ u8 plen : 4;
u8 seq;
u8 payload[];
};
@@ -124,12 +124,12 @@ enum {
DYNAMIC_CHK_WK_CID,
DM_CTRL_WK_CID,
PBC_POLLING_WK_CID,
- POWER_SAVING_CTRL_WK_CID,/* IPS, AUTOSuspend */
+ POWER_SAVING_CTRL_WK_CID, /* IPS, AUTOSuspend */
LPS_CTRL_WK_CID,
ANT_SELECT_WK_CID,
P2P_PS_WK_CID,
P2P_PROTO_WK_CID,
- CHECK_HIQ_WK_CID,/* for softap mode, check hi queue if empty */
+ CHECK_HIQ_WK_CID, /* for softap mode, check hi queue if empty */
INTEl_WIDI_WK_CID,
C2H_WK_CID,
RTP_TIMER_CFG_WK_CID,
@@ -221,7 +221,7 @@ The definition of mode:
#define IW_MODE_MONITOR 6 Passive monitor (listen only)
*/
-struct setopmode_parm {
+struct setopmode_parm {
u8 mode;
u8 rsvd[3];
};
@@ -236,9 +236,9 @@ Command-Event Mode
*/
#define RTW_SSID_SCAN_AMOUNT 9 /* for WEXT_CSCAN_AMOUNT 9 */
-#define RTW_CHANNEL_SCAN_AMOUNT (14+37)
+#define RTW_CHANNEL_SCAN_AMOUNT (14 + 37)
struct sitesurvey_parm {
- signed int scan_mode; /* active: 1, passive: 0 */
+ signed int scan_mode; /* active: 1, passive: 0 */
u8 ssid_num;
u8 ch_num;
struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
@@ -254,8 +254,8 @@ Command Mode
*/
struct setauth_parm {
- u8 mode; /* 0: legacy open, 1: legacy shared 2: 802.1x */
- u8 _1x; /* 0: PSK, 1: TLS */
+ u8 mode; /* 0: legacy open, 1: legacy shared 2: 802.1x */
+ u8 _1x; /* 0: PSK, 1: TLS */
u8 rsvd[2];
};
@@ -272,11 +272,11 @@ when 802.1x ==> keyid > 2 ==> unicast key
*/
struct setkey_parm {
- u8 algorithm; /* encryption algorithm, could be none, wep40, TKIP, CCMP, wep104 */
+ u8 algorithm; /* encryption algorithm, could be none, wep40, TKIP, CCMP, wep104 */
u8 keyid;
- u8 grpkey; /* 1: this is the grpkey for 802.1x. 0: this is the unicast key for 802.1x */
- u8 set_tx; /* 1: main tx key for wep. 0: other key. */
- u8 key[16]; /* this could be 40 or 104 */
+ u8 grpkey; /* 1: this is the grpkey for 802.1x. 0: this is the unicast key for 802.1x */
+ u8 set_tx; /* 1: main tx key for wep. 0: other key. */
+ u8 key[16]; /* this could be 40 or 104 */
};
/*
@@ -356,7 +356,7 @@ Notes: To setup the basic rate of RTL8711
Command Mode
*/
-struct setbasicrate_parm {
+struct setbasicrate_parm {
u8 basicrates[NumRates];
};
@@ -395,7 +395,6 @@ Command-Rsp Mode
*/
struct getdatarate_parm {
u32 rsvd;
-
};
/*
@@ -412,12 +411,12 @@ Command Mode
*/
-struct setphyinfo_parm {
+struct setphyinfo_parm {
struct regulatory_class class_sets[NUM_REGULATORYS];
u8 status;
};
-struct getphyinfo_parm {
+struct getphyinfo_parm {
u32 rsvd;
};
@@ -430,7 +429,7 @@ This command will be used when channel/modem/band is changed.
Command Mode
*/
-struct setphy_parm {
+struct setphy_parm {
u8 rfchannel;
u8 modem;
};
@@ -443,9 +442,8 @@ Notes: To get the current setting of channel/modem/band
Command-Rsp Mode
*/
-struct getphy_parm {
+struct getphy_parm {
u32 rsvd;
-
};
struct Tx_Beacon_param {
@@ -550,9 +548,7 @@ struct RunInThread_param {
void *context;
};
-
-#define GEN_CMD_CODE(cmd) cmd ## _CMD_
-
+#define GEN_CMD_CODE(cmd) cmd##_CMD_
/*
@@ -565,31 +561,39 @@ struct RunInThread_param {
*/
-#define H2C_RSP_OFFSET 512
+#define H2C_RSP_OFFSET 512
-#define H2C_SUCCESS 0x00
-#define H2C_SUCCESS_RSP 0x01
-#define H2C_DUPLICATED 0x02
-#define H2C_DROPPED 0x03
-#define H2C_PARAMETERS_ERROR 0x04
-#define H2C_REJECTED 0x05
-#define H2C_CMD_OVERFLOW 0x06
-#define H2C_RESERVED 0x07
+#define H2C_SUCCESS 0x00
+#define H2C_SUCCESS_RSP 0x01
+#define H2C_DUPLICATED 0x02
+#define H2C_DROPPED 0x03
+#define H2C_PARAMETERS_ERROR 0x04
+#define H2C_REJECTED 0x05
+#define H2C_CMD_OVERFLOW 0x06
+#define H2C_RESERVED 0x07
-u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num, struct rtw_ieee80211_channel *ch, int ch_num);
-extern u8 rtw_createbss_cmd(struct adapter *padapter);
-int rtw_startbss_cmd(struct adapter *padapter, int flags);
+u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid,
+ int ssid_num, struct rtw_ieee80211_channel *ch,
+ int ch_num);
+extern u8 rtw_createbss_cmd(struct adapter *padapter);
+int rtw_startbss_cmd(struct adapter *padapter, int flags);
struct sta_info;
-extern u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_key, bool enqueue);
-extern u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueue);
-
-extern u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork);
-u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue);
-extern u8 rtw_setopmode_cmd(struct adapter *padapter, enum ndis_802_11_network_infrastructure networktype, bool enqueue);
-extern u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode);
-
-extern u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset, u8 *pval);
+extern u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta,
+ u8 unicast_key, bool enqueue);
+extern u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta,
+ u8 enqueue);
+
+extern u8 rtw_joinbss_cmd(struct adapter *padapter,
+ struct wlan_network *pnetwork);
+u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms,
+ bool enqueue);
+extern u8 rtw_setopmode_cmd(struct adapter *padapter,
+ enum ndis_802_11_network_infrastructure networktype,
+ bool enqueue);
+extern u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode);
+
+extern u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset, u8 *pval);
extern u8 rtw_setfwdig_cmd(struct adapter *padapter, u8 type);
extern u8 rtw_setfwra_cmd(struct adapter *padapter, u8 type);
@@ -613,24 +617,31 @@ extern u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt);
u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf);
-extern void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
-extern void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
-extern void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
-extern void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
-extern void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
-
-extern void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
-extern void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
-extern void rtw_getrttbl_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd);
-
+extern void rtw_survey_cmd_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd);
+extern void rtw_disassoc_cmd_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd);
+extern void rtw_joinbss_cmd_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd);
+extern void rtw_createbss_cmd_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd);
+extern void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd);
+
+extern void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd);
+extern void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd);
+extern void rtw_getrttbl_cmdrsp_callback(struct adapter *padapter,
+ struct cmd_obj *pcmd);
struct _cmd_callback {
u32 cmd_code;
- void (*callback)(struct adapter *padapter, struct cmd_obj *cmd);
+ void (*callback)(struct adapter *padapter, struct cmd_obj *cmd);
};
enum {
- GEN_CMD_CODE(_Read_MACREG), /*0*/
+ GEN_CMD_CODE(_Read_MACREG), /*0*/
GEN_CMD_CODE(_Write_MACREG),
GEN_CMD_CODE(_Read_BBREG),
GEN_CMD_CODE(_Write_BBREG),
@@ -641,18 +652,18 @@ enum {
GEN_CMD_CODE(_Read_EFUSE),
GEN_CMD_CODE(_Write_EFUSE),
- GEN_CMD_CODE(_Read_CAM), /*10*/
+ GEN_CMD_CODE(_Read_CAM), /*10*/
GEN_CMD_CODE(_Write_CAM),
GEN_CMD_CODE(_setBCNITV),
GEN_CMD_CODE(_setMBIDCFG),
- GEN_CMD_CODE(_JoinBss), /*14*/
+ GEN_CMD_CODE(_JoinBss), /*14*/
GEN_CMD_CODE(_DisConnect), /*15*/
GEN_CMD_CODE(_CreateBss),
GEN_CMD_CODE(_SetOpMode),
- GEN_CMD_CODE(_SiteSurvey), /*18*/
+ GEN_CMD_CODE(_SiteSurvey), /*18*/
GEN_CMD_CODE(_SetAuth),
- GEN_CMD_CODE(_SetKey), /*20*/
+ GEN_CMD_CODE(_SetKey), /*20*/
GEN_CMD_CODE(_SetStaKey),
GEN_CMD_CODE(_SetAssocSta),
GEN_CMD_CODE(_DelAssocSta),
@@ -663,7 +674,7 @@ enum {
GEN_CMD_CODE(_GetDataRate),
GEN_CMD_CODE(_SetPhyInfo),
- GEN_CMD_CODE(_GetPhyInfo), /*30*/
+ GEN_CMD_CODE(_GetPhyInfo), /*30*/
GEN_CMD_CODE(_SetPhy),
GEN_CMD_CODE(_GetPhy),
GEN_CMD_CODE(_readRssi),
@@ -686,7 +697,7 @@ enum {
GEN_CMD_CODE(_SetCrystalCap),
GEN_CMD_CODE(_SetSingleCarrierTx), /*50*/
- GEN_CMD_CODE(_SetSingleToneTx),/*51*/
+ GEN_CMD_CODE(_SetSingleToneTx), /*51*/
GEN_CMD_CODE(_SetCarrierSuppressionTx),
GEN_CMD_CODE(_SetContinuousTx),
GEN_CMD_CODE(_SwitchBandwidth), /*54*/
@@ -707,9 +718,9 @@ enum {
MAX_H2CCMD
};
-#define _GetBBReg_CMD_ _Read_BBREG_CMD_
-#define _SetBBReg_CMD_ _Write_BBREG_CMD_
-#define _GetRFReg_CMD_ _Read_RFREG_CMD_
-#define _SetRFReg_CMD_ _Write_RFREG_CMD_
+#define _GetBBReg_CMD_ _Read_BBREG_CMD_
+#define _SetBBReg_CMD_ _Write_BBREG_CMD_
+#define _GetRFReg_CMD_ _Read_RFREG_CMD_
+#define _SetRFReg_CMD_ _Write_RFREG_CMD_
#endif /* __RTW_CMD_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_eeprom.h b/drivers/staging/rtl8723bs/include/rtw_eeprom.h
index 9b84105af816b..eac064d628736 100644
--- a/drivers/staging/rtl8723bs/include/rtw_eeprom.h
+++ b/drivers/staging/rtl8723bs/include/rtw_eeprom.h
@@ -7,32 +7,31 @@
#ifndef __RTW_EEPROM_H__
#define __RTW_EEPROM_H__
-
-#define RTL8712_EEPROM_ID 0x8712
+#define RTL8712_EEPROM_ID 0x8712
/* define EEPROM_MAX_SIZE 256 */
-#define HWSET_MAX_SIZE_128 128
-#define HWSET_MAX_SIZE_256 256
-#define HWSET_MAX_SIZE_512 512
+#define HWSET_MAX_SIZE_128 128
+#define HWSET_MAX_SIZE_256 256
+#define HWSET_MAX_SIZE_512 512
-#define EEPROM_MAX_SIZE HWSET_MAX_SIZE_512
+#define EEPROM_MAX_SIZE HWSET_MAX_SIZE_512
-#define CLOCK_RATE 50 /* 100us */
+#define CLOCK_RATE 50 /* 100us */
/* EEPROM opcodes */
-#define EEPROM_READ_OPCODE 06
-#define EEPROM_WRITE_OPCODE 05
-#define EEPROM_ERASE_OPCODE 07
-#define EEPROM_EWEN_OPCODE 19 /* Erase/write enable */
-#define EEPROM_EWDS_OPCODE 16 /* Erase/write disable */
+#define EEPROM_READ_OPCODE 06
+#define EEPROM_WRITE_OPCODE 05
+#define EEPROM_ERASE_OPCODE 07
+#define EEPROM_EWEN_OPCODE 19 /* Erase/write enable */
+#define EEPROM_EWDS_OPCODE 16 /* Erase/write disable */
/* Country codes */
-#define USA 0x555320
-#define EUROPE 0x1 /* temp, should be provided later */
-#define JAPAN 0x2 /* temp, should be provided later */
+#define USA 0x555320
+#define EUROPE 0x1 /* temp, should be provided later */
+#define JAPAN 0x2 /* temp, should be provided later */
-#define eeprom_cis0_sz 17
-#define eeprom_cis1_sz 50
+#define eeprom_cis0_sz 17
+#define eeprom_cis1_sz 50
/* */
/* Customer ID, note that: */
@@ -49,10 +48,10 @@ enum {
RT_CID_8187_HW_LED = 3,
RT_CID_8187_NETGEAR = 4,
RT_CID_WHQL = 5,
- RT_CID_819x_CAMEO = 6,
+ RT_CID_819x_CAMEO = 6,
RT_CID_819x_RUNTOP = 7,
RT_CID_819x_Senao = 8,
- RT_CID_TOSHIBA = 9, /* Merge by Jacken, 2008/01/31. */
+ RT_CID_TOSHIBA = 9, /* Merge by Jacken, 2008/01/31. */
RT_CID_819x_Netcore = 10,
RT_CID_Nettronix = 11,
RT_CID_DLINK = 12,
@@ -61,7 +60,8 @@ enum {
RT_CID_CHINA_MOBILE = 15,
RT_CID_819x_ALPHA = 16,
RT_CID_819x_Sitecom = 17,
- RT_CID_CCX = 18, /* It's set under CCX logo test and isn't demanded for CCX functions, but for test behavior like retry limit and tx report. By Bruce, 2009-02-17. */
+ RT_CID_CCX =
+ 18, /* It's set under CCX logo test and isn't demanded for CCX functions, but for test behavior like retry limit and tx report. By Bruce, 2009-02-17. */
RT_CID_819x_Lenovo = 19,
RT_CID_819x_QMI = 20,
RT_CID_819x_Edimax_Belkin = 21,
@@ -70,7 +70,8 @@ enum {
RT_CID_819x_MSI = 24,
RT_CID_819x_Acer = 25,
RT_CID_819x_AzWave_ASUS = 26,
- RT_CID_819x_AzWave = 27, /* For AzWave in PCIe, The ID is AzWave use and not only Asus */
+ RT_CID_819x_AzWave =
+ 27, /* For AzWave in PCIe, The ID is AzWave use and not only Asus */
RT_CID_819x_HP = 28,
RT_CID_819x_WNC_COREGA = 29,
RT_CID_819x_Arcadyan_Belkin = 30,
@@ -87,9 +88,10 @@ enum {
RT_CID_INTEL_CHINA = 41,
RT_CID_TPLINK_HPWR = 42,
RT_CID_819x_Sercomm_Netgear = 43,
- RT_CID_819x_ALPHA_Dlink = 44,/* add by ylb 20121012 for customer led for alpha */
- RT_CID_WNC_NEC = 45,/* add by page for NEC */
- RT_CID_DNI_BUFFALO = 46,/* add by page for NEC */
+ RT_CID_819x_ALPHA_Dlink =
+ 44, /* add by ylb 20121012 for customer led for alpha */
+ RT_CID_WNC_NEC = 45, /* add by page for NEC */
+ RT_CID_DNI_BUFFALO = 46, /* add by page for NEC */
};
struct eeprom_priv {
@@ -98,21 +100,22 @@ struct eeprom_priv {
u8 bloadmac_fail_flag;
u8 EepromOrEfuse;
- u8 mac_addr[6]; /* PermanentAddress */
+ u8 mac_addr[6]; /* PermanentAddress */
- u16 channel_plan;
- u16 CustomerID;
+ u16 channel_plan;
+ u16 CustomerID;
- u8 efuse_eeprom_data[EEPROM_MAX_SIZE]; /* 92C:256bytes, 88E:512bytes, we use union set (512bytes) */
+ u8 efuse_eeprom_data
+ [EEPROM_MAX_SIZE]; /* 92C:256bytes, 88E:512bytes, we use union set (512bytes) */
u8 adjuseVoltageVal;
u8 EEPROMRFGainOffset;
u8 EEPROMRFGainVal;
u8 sdio_setting;
- u32 ocr;
+ u32 ocr;
u8 cis0[eeprom_cis0_sz];
u8 cis1[eeprom_cis1_sz];
};
-#endif /* __RTL871X_EEPROM_H__ */
+#endif /* __RTL871X_EEPROM_H__ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h
index 808ba94a59987..e0b3f3ef2c44e 100644
--- a/drivers/staging/rtl8723bs/include/rtw_efuse.h
+++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h
@@ -4,41 +4,41 @@
#ifndef __RTW_EFUSE_H__
#define __RTW_EFUSE_H__
-#define PGPKT_DATA_SIZE 8
+#define PGPKT_DATA_SIZE 8
-#define EFUSE_WIFI 0
-#define EFUSE_BT 1
+#define EFUSE_WIFI 0
+#define EFUSE_BT 1
enum {
- TYPE_EFUSE_MAX_SECTION = 0,
- TYPE_EFUSE_REAL_CONTENT_LEN = 1,
- TYPE_AVAILABLE_EFUSE_BYTES_BANK = 2,
- TYPE_AVAILABLE_EFUSE_BYTES_TOTAL = 3,
- TYPE_EFUSE_MAP_LEN = 4,
- TYPE_EFUSE_PROTECT_BYTES_BANK = 5,
- TYPE_EFUSE_CONTENT_LEN_BANK = 6,
+ TYPE_EFUSE_MAX_SECTION = 0,
+ TYPE_EFUSE_REAL_CONTENT_LEN = 1,
+ TYPE_AVAILABLE_EFUSE_BYTES_BANK = 2,
+ TYPE_AVAILABLE_EFUSE_BYTES_TOTAL = 3,
+ TYPE_EFUSE_MAP_LEN = 4,
+ TYPE_EFUSE_PROTECT_BYTES_BANK = 5,
+ TYPE_EFUSE_CONTENT_LEN_BANK = 6,
};
-#define EFUSE_MAX_MAP_LEN 512
+#define EFUSE_MAX_MAP_LEN 512
-#define EFUSE_MAX_HW_SIZE 512
-#define EFUSE_MAX_SECTION_BASE 16
+#define EFUSE_MAX_HW_SIZE 512
+#define EFUSE_MAX_SECTION_BASE 16
#define EXT_HEADER(header) ((header & 0x1F) == 0x0F)
-#define ALL_WORDS_DISABLED(wde) ((wde & 0x0F) == 0x0F)
+#define ALL_WORDS_DISABLED(wde) ((wde & 0x0F) == 0x0F)
#define GET_HDR_OFFSET_2_0(header) ((header & 0xE0) >> 5)
-#define EFUSE_REPEAT_THRESHOLD_ 3
+#define EFUSE_REPEAT_THRESHOLD_ 3
/* */
/* The following is for BT Efuse definition */
/* */
-#define EFUSE_BT_MAX_MAP_LEN 1024
-#define EFUSE_MAX_BANK 4
-#define EFUSE_MAX_BT_BANK (EFUSE_MAX_BANK-1)
+#define EFUSE_BT_MAX_MAP_LEN 1024
+#define EFUSE_MAX_BANK 4
+#define EFUSE_MAX_BT_BANK (EFUSE_MAX_BANK - 1)
/* */
/*--------------------------Define Parameters-------------------------------*/
-#define EFUSE_MAX_WORD_UNIT 4
+#define EFUSE_MAX_WORD_UNIT 4
/*------------------------------Define structure----------------------------*/
struct pgpkt_struct {
@@ -73,6 +73,7 @@ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data);
u8 rtw_efuse_read_1_byte(struct adapter *padapter, u16 Address);
void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType);
-void rtw_efuse_shadow_read(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value);
+void rtw_efuse_shadow_read(struct adapter *padapter, u8 Type, u16 Offset,
+ u32 *Value);
#endif
diff --git a/drivers/staging/rtl8723bs/include/rtw_event.h b/drivers/staging/rtl8723bs/include/rtw_event.h
index 62e0dec249adb..ef40dc49202f9 100644
--- a/drivers/staging/rtl8723bs/include/rtw_event.h
+++ b/drivers/staging/rtl8723bs/include/rtw_event.h
@@ -11,7 +11,7 @@
Used to report a bss has been scanned
*/
-struct survey_event {
+struct survey_event {
struct wlan_bssid_ex bss;
};
@@ -23,8 +23,7 @@ bss_cnt indicates the number of bss that has been reported.
*/
struct surveydone_event {
- unsigned int bss_cnt;
-
+ unsigned int bss_cnt;
};
/*
@@ -38,7 +37,7 @@ Used to report the link result of joining the given bss
*/
struct joinbss_event {
- struct wlan_network network;
+ struct wlan_network network;
};
/*
@@ -50,47 +49,42 @@ It is used in AP/Ad-HoC(M) mode.
struct stassoc_event {
unsigned char macaddr[6];
unsigned char rsvd[2];
- int cam_id;
-
+ int cam_id;
};
struct stadel_event {
- unsigned char macaddr[6];
- unsigned char rsvd[2]; /* for reason */
- int mac_id;
+ unsigned char macaddr[6];
+ unsigned char rsvd[2]; /* for reason */
+ int mac_id;
};
struct wmm_event {
unsigned char wmm;
};
-#define GEN_EVT_CODE(event) event ## _EVT_
-
-
+#define GEN_EVT_CODE(event) event##_EVT_
struct fwevent {
u32 parmsize;
void (*event_callback)(struct adapter *dev, u8 *pbuf);
};
-
-#define C2HEVENT_SZ 32
+#define C2HEVENT_SZ 32
struct event_node {
unsigned char *node;
unsigned char evt_code;
unsigned short evt_sz;
- volatile int *caller_ff_tail;
- int caller_ff_sz;
+ volatile int *caller_ff_tail;
+ int caller_ff_sz;
};
-#define NETWORK_QUEUE_SZ 4
+#define NETWORK_QUEUE_SZ 4
struct network_queue {
- volatile int head;
- volatile int tail;
+ volatile int head;
+ volatile int tail;
struct wlan_bssid_ex networks[NETWORK_QUEUE_SZ];
};
-
#endif /* _WLANEVENT_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_ht.h b/drivers/staging/rtl8723bs/include/rtw_ht.h
index da3efba7112ae..31649b11148ef 100644
--- a/drivers/staging/rtl8723bs/include/rtw_ht.h
+++ b/drivers/staging/rtl8723bs/include/rtw_ht.h
@@ -7,12 +7,11 @@
#ifndef _RTW_HT_H_
#define _RTW_HT_H_
-
struct ht_priv {
u8 ht_option;
- u8 ampdu_enable;/* for enable Tx A-MPDU */
- u8 tx_amsdu_enable;/* for enable Tx A-MSDU */
- u8 bss_coexist;/* for 20/40 Bss coexist */
+ u8 ampdu_enable; /* for enable Tx A-MPDU */
+ u8 tx_amsdu_enable; /* for enable Tx A-MSDU */
+ u8 bss_coexist; /* for 20/40 Bss coexist */
/* u8 baddbareq_issued[16]; */
u32 tx_amsdu_maxlen; /* 1: 8k, 0:4k ; default:8k, for tx */
@@ -20,7 +19,7 @@ struct ht_priv {
u8 rx_ampdu_min_spacing;
- u8 ch_offset;/* PRIME_CHNL_OFFSET */
+ u8 ch_offset; /* PRIME_CHNL_OFFSET */
u8 sgi_20m;
u8 sgi_40m;
@@ -34,7 +33,6 @@ struct ht_priv {
u8 beamform_cap;
struct ieee80211_ht_cap ht_cap;
-
};
enum {
@@ -52,7 +50,8 @@ enum {
RT_HT_CAP_USE_SOFTAP = 0x10,
RT_HT_CAP_USE_92SE = 0x20,
RT_HT_CAP_USE_88C_92C = 0x40,
- RT_HT_CAP_USE_AP_CLIENT_MODE = 0x80, /* AP team request to reserve this bit, by Emily */
+ RT_HT_CAP_USE_AP_CLIENT_MODE =
+ 0x80, /* AP team request to reserve this bit, by Emily */
};
enum {
@@ -61,23 +60,29 @@ enum {
RT_HT_CAP_USE_JAGUAR_CCUT = 0x04,
};
-#define LDPC_HT_ENABLE_RX BIT(0)
-#define LDPC_HT_ENABLE_TX BIT(1)
-#define LDPC_HT_CAP_TX BIT(3)
+#define LDPC_HT_ENABLE_RX BIT(0)
+#define LDPC_HT_ENABLE_TX BIT(1)
+#define LDPC_HT_CAP_TX BIT(3)
-#define STBC_HT_ENABLE_RX BIT(0)
-#define STBC_HT_ENABLE_TX BIT(1)
-#define STBC_HT_CAP_TX BIT(3)
+#define STBC_HT_ENABLE_RX BIT(0)
+#define STBC_HT_ENABLE_TX BIT(1)
+#define STBC_HT_CAP_TX BIT(3)
-#define BEAMFORMING_HT_BEAMFORMER_ENABLE BIT(0) /* Declare our NIC supports beamformer */
-#define BEAMFORMING_HT_BEAMFORMEE_ENABLE BIT(1) /* Declare our NIC supports beamformee */
+#define BEAMFORMING_HT_BEAMFORMER_ENABLE \
+ BIT(0) /* Declare our NIC supports beamformer */
+#define BEAMFORMING_HT_BEAMFORMEE_ENABLE \
+ BIT(1) /* Declare our NIC supports beamformee */
/* 20/40 BSS Coexist */
-#define SET_EXT_CAPABILITY_ELE_BSS_COEXIST(_pEleStart, _val) SET_BITS_TO_LE_1BYTE((_pEleStart), 0, 1, _val)
+#define SET_EXT_CAPABILITY_ELE_BSS_COEXIST(_pEleStart, _val) \
+ SET_BITS_TO_LE_1BYTE((_pEleStart), 0, 1, _val)
-#define GET_HT_CAPABILITY_ELE_LDPC_CAP(_pEleStart) LE_BITS_TO_1BYTE(_pEleStart, 0, 1)
-#define GET_HT_CAPABILITY_ELE_TX_STBC(_pEleStart) LE_BITS_TO_1BYTE(_pEleStart, 7, 1)
+#define GET_HT_CAPABILITY_ELE_LDPC_CAP(_pEleStart) \
+ LE_BITS_TO_1BYTE(_pEleStart, 0, 1)
+#define GET_HT_CAPABILITY_ELE_TX_STBC(_pEleStart) \
+ LE_BITS_TO_1BYTE(_pEleStart, 7, 1)
-#define GET_HT_CAPABILITY_ELE_RX_STBC(_pEleStart) LE_BITS_TO_1BYTE((_pEleStart)+1, 0, 2)
+#define GET_HT_CAPABILITY_ELE_RX_STBC(_pEleStart) \
+ LE_BITS_TO_1BYTE((_pEleStart) + 1, 0, 2)
-#endif /* _RTL871X_HT_H_ */
+#endif /* _RTL871X_HT_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_io.h b/drivers/staging/rtl8723bs/include/rtw_io.h
index 3c99a2bc19bd0..48633dac55b29 100644
--- a/drivers/staging/rtl8723bs/include/rtw_io.h
+++ b/drivers/staging/rtl8723bs/include/rtw_io.h
@@ -11,22 +11,23 @@
struct intf_hdl;
struct _io_ops {
- u8 (*_read8)(struct intf_hdl *pintfhdl, u32 addr);
- u16 (*_read16)(struct intf_hdl *pintfhdl, u32 addr);
- u32 (*_read32)(struct intf_hdl *pintfhdl, u32 addr);
+ u8 (*_read8)(struct intf_hdl *pintfhdl, u32 addr);
+ u16 (*_read16)(struct intf_hdl *pintfhdl, u32 addr);
+ u32 (*_read32)(struct intf_hdl *pintfhdl, u32 addr);
- int (*_write8)(struct intf_hdl *pintfhdl, u32 addr, u8 val);
- int (*_write16)(struct intf_hdl *pintfhdl, u32 addr, u16 val);
- int (*_write32)(struct intf_hdl *pintfhdl, u32 addr, u32 val);
+ int (*_write8)(struct intf_hdl *pintfhdl, u32 addr, u8 val);
+ int (*_write16)(struct intf_hdl *pintfhdl, u32 addr, u16 val);
+ int (*_write32)(struct intf_hdl *pintfhdl, u32 addr, u32 val);
- u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
+ u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
+ u8 *pmem);
};
-struct intf_hdl {
+struct intf_hdl {
struct adapter *padapter;
- struct dvobj_priv *pintf_dev;/* pointer to &(padapter->dvobjpriv); */
+ struct dvobj_priv *pintf_dev; /* pointer to &(padapter->dvobjpriv); */
- struct _io_ops io_ops;
+ struct _io_ops io_ops;
};
#define SD_IO_TRY_CNT (8)
@@ -36,11 +37,9 @@ int rtw_inc_and_chk_continual_io_error(struct dvobj_priv *dvobj);
void rtw_reset_continual_io_error(struct dvobj_priv *dvobj);
struct io_priv {
-
struct adapter *padapter;
struct intf_hdl intf;
-
};
extern u8 rtw_read8(struct adapter *adapter, u32 addr);
@@ -53,6 +52,8 @@ extern int rtw_write32(struct adapter *adapter, u32 addr, u32 val);
extern u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
-int rtw_init_io_priv(struct adapter *padapter, void (*set_intf_ops)(struct adapter *padapter, struct _io_ops *pops));
+int rtw_init_io_priv(struct adapter *padapter,
+ void (*set_intf_ops)(struct adapter *padapter,
+ struct _io_ops *pops));
-#endif /* _RTL8711_IO_H_ */
+#endif /* _RTL8711_IO_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
index c3a1d1a84f789..bc49214425663 100644
--- a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
+++ b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h
@@ -9,13 +9,20 @@
typedef u8 NDIS_802_11_PMKID_VALUE[16];
-u8 rtw_set_802_11_authentication_mode(struct adapter *pdapter, enum ndis_802_11_authentication_mode authmode);
-u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep);
+u8 rtw_set_802_11_authentication_mode(
+ struct adapter *pdapter, enum ndis_802_11_authentication_mode authmode);
+u8 rtw_set_802_11_add_wep(struct adapter *padapter,
+ struct ndis_802_11_wep *wep);
u8 rtw_set_802_11_disassociate(struct adapter *padapter);
-u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter, struct ndis_802_11_ssid *pssid, int ssid_max_num);
-u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter, enum ndis_802_11_network_infrastructure networktype);
+u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter,
+ struct ndis_802_11_ssid *pssid,
+ int ssid_max_num);
+u8 rtw_set_802_11_infrastructure_mode(
+ struct adapter *padapter,
+ enum ndis_802_11_network_infrastructure networktype);
u8 rtw_set_802_11_ssid(struct adapter *padapter, struct ndis_802_11_ssid *ssid);
-u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid, struct ndis_802_11_ssid *ssid);
+u8 rtw_set_802_11_connect(struct adapter *padapter, u8 *bssid,
+ struct ndis_802_11_ssid *ssid);
u8 rtw_validate_bssid(u8 *bssid);
u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid);
diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme.h b/drivers/staging/rtl8723bs/include/rtw_mlme.h
index 8cc96164e1cf2..77b4342c62c4d 100644
--- a/drivers/staging/rtl8723bs/include/rtw_mlme.h
+++ b/drivers/staging/rtl8723bs/include/rtw_mlme.h
@@ -7,49 +7,48 @@
#ifndef __RTW_MLME_H_
#define __RTW_MLME_H_
-
-#define MAX_BSS_CNT 128
+#define MAX_BSS_CNT 128
/* define MAX_JOIN_TIMEOUT 2000 */
/* define MAX_JOIN_TIMEOUT 2500 */
-#define MAX_JOIN_TIMEOUT 6500
+#define MAX_JOIN_TIMEOUT 6500
-/* Commented by Albert 20101105 */
-/* Increase the scanning timeout because of increasing the SURVEY_TO value. */
+/* Commented by Albert 20101105 */
+/* Increase the scanning timeout because of increasing the SURVEY_TO value. */
-#define SCANNING_TIMEOUT 8000
+#define SCANNING_TIMEOUT 8000
-#define SCANQUEUE_LIFETIME 20000 /* 20sec, unit:msec */
+#define SCANQUEUE_LIFETIME 20000 /* 20sec, unit:msec */
-#define WIFI_NULL_STATE 0x00000000
-#define WIFI_ASOC_STATE 0x00000001 /* Under Linked state... */
-#define WIFI_SLEEP_STATE 0x00000004
-#define WIFI_STATION_STATE 0x00000008
-#define WIFI_AP_STATE 0x00000010
-#define WIFI_ADHOC_STATE 0x00000020
-#define WIFI_ADHOC_MASTER_STATE 0x00000040
-#define WIFI_UNDER_LINKING 0x00000080
+#define WIFI_NULL_STATE 0x00000000
+#define WIFI_ASOC_STATE 0x00000001 /* Under Linked state... */
+#define WIFI_SLEEP_STATE 0x00000004
+#define WIFI_STATION_STATE 0x00000008
+#define WIFI_AP_STATE 0x00000010
+#define WIFI_ADHOC_STATE 0x00000020
+#define WIFI_ADHOC_MASTER_STATE 0x00000040
+#define WIFI_UNDER_LINKING 0x00000080
-#define WIFI_UNDER_WPS 0x00000100
-#define WIFI_STA_ALIVE_CHK_STATE 0x00000400
-#define WIFI_SITE_MONITOR 0x00000800 /* to indicate the station is under site surveying */
+#define WIFI_UNDER_WPS 0x00000100
+#define WIFI_STA_ALIVE_CHK_STATE 0x00000400
+#define WIFI_SITE_MONITOR \
+ 0x00000800 /* to indicate the station is under site surveying */
/* ifdef UNDER_MPTEST */
-#define WIFI_MP_STATE 0x00010000
+#define WIFI_MP_STATE 0x00010000
/* endif */
/* define _FW_UNDER_CMD WIFI_UNDER_CMD */
-#define _FW_UNDER_LINKING WIFI_UNDER_LINKING
-#define _FW_LINKED WIFI_ASOC_STATE
-#define _FW_UNDER_SURVEY WIFI_SITE_MONITOR
-
+#define _FW_UNDER_LINKING WIFI_UNDER_LINKING
+#define _FW_LINKED WIFI_ASOC_STATE
+#define _FW_UNDER_SURVEY WIFI_SITE_MONITOR
enum {
- dot11AuthAlgrthm_Open = 0,
- dot11AuthAlgrthm_Shared,
- dot11AuthAlgrthm_8021X,
- dot11AuthAlgrthm_Auto,
- dot11AuthAlgrthm_WAPI,
- dot11AuthAlgrthm_MaxNum
+ dot11AuthAlgrthm_Open = 0,
+ dot11AuthAlgrthm_Shared,
+ dot11AuthAlgrthm_8021X,
+ dot11AuthAlgrthm_Auto,
+ dot11AuthAlgrthm_WAPI,
+ dot11AuthAlgrthm_MaxNum
};
/* Scan type including active and passive scan. */
@@ -86,27 +85,27 @@ which take __queue.lock.
*/
struct sitesurvey_ctrl {
- u64 last_tx_pkts;
- uint last_rx_pkts;
- signed int traffic_busy;
- struct timer_list sitesurvey_ctrl_timer;
+ u64 last_tx_pkts;
+ uint last_rx_pkts;
+ signed int traffic_busy;
+ struct timer_list sitesurvey_ctrl_timer;
};
struct rt_link_detect_t {
- u32 num_tx_ok_in_period;
- u32 num_rx_ok_in_period;
- u32 num_rx_unicast_ok_in_period;
- bool busy_traffic;
- bool tx_busy_traffic;
- bool rx_busy_traffic;
+ u32 num_tx_ok_in_period;
+ u32 num_rx_ok_in_period;
+ u32 num_rx_unicast_ok_in_period;
+ bool busy_traffic;
+ bool tx_busy_traffic;
+ bool rx_busy_traffic;
/* For interrupt migration purpose. */
- bool higher_busy_traffic;
+ bool higher_busy_traffic;
/* We may disable Tx interrupt according as Rx traffic. */
- bool higher_busy_rx_traffic;
+ bool higher_busy_rx_traffic;
/* We may disable Tx interrupt according as Tx traffic. */
- bool higher_busy_tx_traffic;
- u8 traffic_transition_count;
- u32 low_power_transition_count;
+ bool higher_busy_tx_traffic;
+ u8 traffic_transition_count;
+ u32 low_power_transition_count;
};
/* used for mlme_priv.roam_flags */
@@ -117,9 +116,9 @@ enum {
};
struct mlme_priv {
-
- spinlock_t lock;
- signed int fw_state; /* shall we protect this variable? maybe not necessarily... */
+ spinlock_t lock;
+ signed int
+ fw_state; /* shall we protect this variable? maybe not necessarily... */
u8 bScanInProcess;
u8 to_join; /* flag */
@@ -129,20 +128,21 @@ struct mlme_priv {
u8 roam_rssi_diff_th; /* rssi difference threshold for active scan candidate selection */
u32 roam_scan_int_ms; /* scan interval for active roam */
u32 roam_scanr_exp_ms; /* scan result expire time in ms for roam */
- u8 roam_tgt_addr[ETH_ALEN]; /* request to roam to specific target without other consideration */
+ u8 roam_tgt_addr
+ [ETH_ALEN]; /* request to roam to specific target without other consideration */
u8 *nic_hdl;
u8 not_indic_disco;
- struct list_head *pscanned;
- struct __queue free_bss_pool;
- struct __queue scanned_queue;
+ struct list_head *pscanned;
+ struct __queue free_bss_pool;
+ struct __queue scanned_queue;
u8 *free_bss_buf;
- struct ndis_802_11_ssid assoc_ssid;
+ struct ndis_802_11_ssid assoc_ssid;
u8 assoc_bssid[6];
- struct wlan_network cur_network;
+ struct wlan_network cur_network;
struct wlan_network *cur_network_scanned;
/* uint wireless_mode; no used, remove it */
@@ -154,8 +154,10 @@ struct mlme_priv {
uint assoc_by_bssid;
uint assoc_by_rssi;
- struct timer_list scan_to_timer; /* driver itself handles scan_timeout status. */
- unsigned long scan_start_time; /* used to evaluate the time spent in scanning */
+ struct timer_list
+ scan_to_timer; /* driver itself handles scan_timeout status. */
+ unsigned long
+ scan_start_time; /* used to evaluate the time spent in scanning */
struct timer_list set_scan_deny_timer;
atomic_t set_scan_deny; /* 0: allowed, 1: deny */
@@ -168,17 +170,16 @@ struct mlme_priv {
/* Number of HT AP/stations 20 MHz */
/* int num_sta_ht_20mhz; */
-
int num_FortyMHzIntolerant;
struct ht_priv htpriv;
- struct rt_link_detect_t link_detect_info;
- struct timer_list dynamic_chk_timer; /* dynamic/periodic check timer */
+ struct rt_link_detect_t link_detect_info;
+ struct timer_list dynamic_chk_timer; /* dynamic/periodic check timer */
u8 acm_mask; /* for wmm acm mask */
u8 ChannelPlan;
- enum rt_scan_type scan_mode; /* active: 1, passive: 0 */
+ enum rt_scan_type scan_mode; /* active: 1, passive: 0 */
u8 *wps_probe_req_ie;
u32 wps_probe_req_ie_len;
@@ -236,11 +237,11 @@ struct mlme_priv {
u32 p2p_go_probe_resp_ie_len; /* for GO */
u32 p2p_assoc_req_ie_len;
- spinlock_t bcn_update_lock;
+ spinlock_t bcn_update_lock;
u8 update_bcn;
u8 NumOfBcnInfoChkFail;
- unsigned long timeBcnInfoChkStart;
+ unsigned long timeBcnInfoChkStart;
};
void rtw_mlme_reset_auto_scan_int(struct adapter *adapter);
@@ -268,22 +269,27 @@ extern void _rtw_scan_timeout_handler(struct timer_list *t);
int event_thread(void *context);
extern void rtw_free_network_queue(struct adapter *adapter, u8 isfreeall);
-extern int rtw_init_mlme_priv(struct adapter *adapter);/* (struct mlme_priv *pmlmepriv); */
+extern int rtw_init_mlme_priv(
+ struct adapter *adapter); /* (struct mlme_priv *pmlmepriv); */
extern void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv);
-
-extern signed int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv);
-extern signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, signed int keyid, u8 set_tx, bool enqueue);
-extern signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv);
+extern signed int
+rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv);
+extern signed int rtw_set_key(struct adapter *adapter,
+ struct security_priv *psecuritypriv,
+ signed int keyid, u8 set_tx, bool enqueue);
+extern signed int rtw_set_auth(struct adapter *adapter,
+ struct security_priv *psecuritypriv);
static inline u8 *get_bssid(struct mlme_priv *pmlmepriv)
-{ /* if sta_mode:pmlmepriv->cur_network.network.mac_address => bssid */
+{ /* if sta_mode:pmlmepriv->cur_network.network.mac_address => bssid */
/* if adhoc_mode:pmlmepriv->cur_network.network.mac_address => ibss mac address */
return pmlmepriv->cur_network.network.mac_address;
}
-static inline signed int check_fwstate(struct mlme_priv *pmlmepriv, signed int state)
+static inline signed int check_fwstate(struct mlme_priv *pmlmepriv,
+ signed int state)
{
if (pmlmepriv->fw_state & state)
return true;
@@ -320,21 +326,30 @@ static inline void _clr_fwstate_(struct mlme_priv *pmlmepriv, signed int state)
}
extern u16 rtw_get_capability(struct wlan_bssid_ex *bss);
-extern void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target);
-extern void rtw_disconnect_hdl_under_linked(struct adapter *adapter, struct sta_info *psta, u8 free_assoc);
+extern void rtw_update_scanned_network(struct adapter *adapter,
+ struct wlan_bssid_ex *target);
+extern void rtw_disconnect_hdl_under_linked(struct adapter *adapter,
+ struct sta_info *psta,
+ u8 free_assoc);
extern void rtw_generate_random_ibss(u8 *pibss);
-extern struct wlan_network *rtw_find_network(struct __queue *scanned_queue, u8 *addr);
-extern struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue);
-struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue, struct wlan_network *network);
-
-extern void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue);
+extern struct wlan_network *rtw_find_network(struct __queue *scanned_queue,
+ u8 *addr);
+extern struct wlan_network *
+rtw_get_oldest_wlan_network(struct __queue *scanned_queue);
+struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue,
+ struct wlan_network *network);
+
+extern void rtw_free_assoc_resources(struct adapter *adapter,
+ int lock_scanned_queue);
extern void rtw_indicate_disconnect(struct adapter *adapter);
extern void rtw_indicate_connect(struct adapter *adapter);
void rtw_indicate_scan_done(struct adapter *padapter, bool aborted);
void rtw_scan_abort(struct adapter *adapter);
-extern int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len);
-extern int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint initial_out_len);
+extern int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie,
+ uint in_len);
+extern int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie,
+ uint in_len, uint initial_out_len);
extern void rtw_init_registrypriv_dev_network(struct adapter *adapter);
extern void rtw_update_registrypriv_dev_network(struct adapter *adapter);
@@ -355,12 +370,13 @@ extern void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv);
extern struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv);
+extern void _rtw_free_network(struct mlme_priv *pmlmepriv,
+ struct wlan_network *pnetwork, u8 isfreeall);
+extern void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv,
+ struct wlan_network *pnetwork);
-extern void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall);
-extern void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork);
-
-
-extern struct wlan_network *_rtw_find_network(struct __queue *scanned_queue, u8 *addr);
+extern struct wlan_network *_rtw_find_network(struct __queue *scanned_queue,
+ u8 *addr);
bool rtw_if_up(struct adapter *padapter);
@@ -369,21 +385,27 @@ bool rtw_linked_check(struct adapter *padapter);
u8 *rtw_get_capability_from_ie(u8 *ie);
u8 *rtw_get_beacon_interval_from_ie(u8 *ie);
-
void rtw_joinbss_reset(struct adapter *padapter);
void rtw_ht_use_default_setting(struct adapter *padapter);
void rtw_build_wmm_ie_ht(struct adapter *padapter, u8 *out_ie, uint *pout_len);
-unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel);
-void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channel);
-void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitframe);
-void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie, uint *pout_len);
+unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie,
+ u8 *out_ie, uint in_len, uint *pout_len,
+ u8 channel);
+void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len,
+ u8 channel);
+void rtw_issue_addbareq_cmd(struct adapter *padapter,
+ struct xmit_frame *pxmitframe);
+void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie,
+ uint *pout_len);
bool rtw_is_same_ibss(struct adapter *adapter, struct wlan_network *pnetwork);
-int is_same_network(struct wlan_bssid_ex *src, struct wlan_bssid_ex *dst, u8 feature);
+int is_same_network(struct wlan_bssid_ex *src, struct wlan_bssid_ex *dst,
+ u8 feature);
#define rtw_roam_flags(adapter) ((adapter)->mlmepriv.roam_flags)
-#define rtw_chk_roam_flags(adapter, flags) ((adapter)->mlmepriv.roam_flags & flags)
+#define rtw_chk_roam_flags(adapter, flags) \
+ ((adapter)->mlmepriv.roam_flags & flags)
void _rtw_roaming(struct adapter *adapter, struct wlan_network *tgt_network);
void rtw_roaming(struct adapter *adapter, struct wlan_network *tgt_network);
@@ -392,7 +414,8 @@ u8 rtw_dec_to_roam(struct adapter *adapter);
u8 rtw_to_roam(struct adapter *adapter);
int rtw_select_roaming_candidate(struct mlme_priv *pmlmepriv);
-void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta, u32 mstatus);
+void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta,
+ u32 mstatus);
void rtw_reset_securitypriv(struct adapter *adapter);
#endif /* __RTL871X_MLME_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
index cb23c6939bfc5..70cce58030819 100644
--- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
+++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h
@@ -7,58 +7,56 @@
#ifndef __RTW_MLME_EXT_H_
#define __RTW_MLME_EXT_H_
-
/* Commented by Albert 20101105 */
/* Increase the SURVEY_TO value from 100 to 150 (100ms to 150ms) */
/* The Realtek 8188CE SoftAP will spend around 100ms to send the probe response after receiving the probe request. */
/* So, this driver tried to extend the dwell time for each scanning channel. */
/* This will increase the chance to receive the probe response from SoftAP. */
-#define SURVEY_TO (100)
-#define REAUTH_TO (300) /* 50) */
-#define REASSOC_TO (300) /* 50) */
+#define SURVEY_TO (100)
+#define REAUTH_TO (300) /* 50) */
+#define REASSOC_TO (300) /* 50) */
/* define DISCONNECT_TO (3000) */
-#define ADDBA_TO (2000)
+#define ADDBA_TO (2000)
-#define REAUTH_LIMIT (4)
-#define REASSOC_LIMIT (4)
+#define REAUTH_LIMIT (4)
+#define REASSOC_LIMIT (4)
-#define DYNAMIC_FUNC_DISABLE (0x0)
+#define DYNAMIC_FUNC_DISABLE (0x0)
/* ====== ODM_ABILITY_E ======== */
/* BB ODM section BIT 0-15 */
-#define DYNAMIC_BB_DIG BIT(0) /* ODM_BB_DIG */
-#define DYNAMIC_BB_DYNAMIC_TXPWR BIT(2) /* ODM_BB_DYNAMIC_TXPWR */
-#define DYNAMIC_BB_ANT_DIV BIT(6) /* ODM_BB_ANT_DIV */
+#define DYNAMIC_BB_DIG BIT(0) /* ODM_BB_DIG */
+#define DYNAMIC_BB_DYNAMIC_TXPWR BIT(2) /* ODM_BB_DYNAMIC_TXPWR */
+#define DYNAMIC_BB_ANT_DIV BIT(6) /* ODM_BB_ANT_DIV */
/* RF ODM section BIT 24-31 */
-#define DYNAMIC_RF_CALIBRATION BIT(26)/* ODM_RF_CALIBRATION */
-
-#define DYNAMIC_ALL_FUNC_ENABLE 0xFFFFFFF
-
-#define _HW_STATE_NOLINK_ 0x00
-#define _HW_STATE_ADHOC_ 0x01
-#define _HW_STATE_STATION_ 0x02
-#define _HW_STATE_AP_ 0x03
-
-
-#define _1M_RATE_ 0
-#define _2M_RATE_ 1
-#define _5M_RATE_ 2
-#define _11M_RATE_ 3
-#define _6M_RATE_ 4
-#define _9M_RATE_ 5
-#define _12M_RATE_ 6
-#define _18M_RATE_ 7
-#define _24M_RATE_ 8
-#define _36M_RATE_ 9
-#define _48M_RATE_ 10
-#define _54M_RATE_ 11
+#define DYNAMIC_RF_CALIBRATION BIT(26) /* ODM_RF_CALIBRATION */
+
+#define DYNAMIC_ALL_FUNC_ENABLE 0xFFFFFFF
+
+#define _HW_STATE_NOLINK_ 0x00
+#define _HW_STATE_ADHOC_ 0x01
+#define _HW_STATE_STATION_ 0x02
+#define _HW_STATE_AP_ 0x03
+
+#define _1M_RATE_ 0
+#define _2M_RATE_ 1
+#define _5M_RATE_ 2
+#define _11M_RATE_ 3
+#define _6M_RATE_ 4
+#define _9M_RATE_ 5
+#define _12M_RATE_ 6
+#define _18M_RATE_ 7
+#define _24M_RATE_ 8
+#define _36M_RATE_ 9
+#define _48M_RATE_ 10
+#define _54M_RATE_ 11
/********************************************************
MCS rate definitions
*********************************************************/
-#define MCS_RATE_1R (0x000000ff)
+#define MCS_RATE_1R (0x000000ff)
extern unsigned char RTW_WPA_OUI[];
extern unsigned char WMM_OUI[];
@@ -69,7 +67,6 @@ extern unsigned char P2P_OUI[];
extern unsigned char WMM_INFO_OUI[];
extern unsigned char WMM_PARA_OUI[];
-
/* */
/* Channel Plan Type. */
/* Note: */
@@ -147,18 +144,20 @@ enum {
};
enum {
- RT_CHANNEL_DOMAIN_2G_WORLD = 0x00, /* Worldwird 13 */
- RT_CHANNEL_DOMAIN_2G_ETSI1 = 0x01, /* Europe */
- RT_CHANNEL_DOMAIN_2G_FCC1 = 0x02, /* US */
- RT_CHANNEL_DOMAIN_2G_MKK1 = 0x03, /* Japan */
- RT_CHANNEL_DOMAIN_2G_ETSI2 = 0x04, /* France */
- RT_CHANNEL_DOMAIN_2G_GLOBAL = 0x05, /* Global domain */
+ RT_CHANNEL_DOMAIN_2G_WORLD = 0x00, /* Worldwird 13 */
+ RT_CHANNEL_DOMAIN_2G_ETSI1 = 0x01, /* Europe */
+ RT_CHANNEL_DOMAIN_2G_FCC1 = 0x02, /* US */
+ RT_CHANNEL_DOMAIN_2G_MKK1 = 0x03, /* Japan */
+ RT_CHANNEL_DOMAIN_2G_ETSI2 = 0x04, /* France */
+ RT_CHANNEL_DOMAIN_2G_GLOBAL = 0x05, /* Global domain */
RT_CHANNEL_DOMAIN_2G_NULL = 0x06,
/* Add new channel plan above this line =============== */
RT_CHANNEL_DOMAIN_2G_MAX,
};
-#define rtw_is_channel_plan_valid(chplan) (chplan < RT_CHANNEL_DOMAIN_MAX || chplan == RT_CHANNEL_DOMAIN_REALTEK_DEFINE)
+#define rtw_is_channel_plan_valid(chplan) \
+ (chplan < RT_CHANNEL_DOMAIN_MAX || \
+ chplan == RT_CHANNEL_DOMAIN_REALTEK_DEFINE)
struct rt_channel_plan {
unsigned char Channel[MAX_CHANNEL_NUM];
@@ -175,28 +174,28 @@ struct rt_channel_plan_map {
};
enum {
- HT_IOT_PEER_UNKNOWN = 0,
- HT_IOT_PEER_REALTEK = 1,
- HT_IOT_PEER_REALTEK_92SE = 2,
- HT_IOT_PEER_BROADCOM = 3,
- HT_IOT_PEER_RALINK = 4,
- HT_IOT_PEER_ATHEROS = 5,
- HT_IOT_PEER_CISCO = 6,
- HT_IOT_PEER_MERU = 7,
- HT_IOT_PEER_MARVELL = 8,
- HT_IOT_PEER_REALTEK_SOFTAP = 9,/* peer is RealTek SOFT_AP, by Bohn, 2009.12.17 */
- HT_IOT_PEER_SELF_SOFTAP = 10, /* Self is SoftAP */
- HT_IOT_PEER_AIRGO = 11,
- HT_IOT_PEER_INTEL = 12,
- HT_IOT_PEER_RTK_APCLIENT = 13,
- HT_IOT_PEER_REALTEK_81XX = 14,
- HT_IOT_PEER_REALTEK_WOW = 15,
+ HT_IOT_PEER_UNKNOWN = 0,
+ HT_IOT_PEER_REALTEK = 1,
+ HT_IOT_PEER_REALTEK_92SE = 2,
+ HT_IOT_PEER_BROADCOM = 3,
+ HT_IOT_PEER_RALINK = 4,
+ HT_IOT_PEER_ATHEROS = 5,
+ HT_IOT_PEER_CISCO = 6,
+ HT_IOT_PEER_MERU = 7,
+ HT_IOT_PEER_MARVELL = 8,
+ HT_IOT_PEER_REALTEK_SOFTAP =
+ 9, /* peer is RealTek SOFT_AP, by Bohn, 2009.12.17 */
+ HT_IOT_PEER_SELF_SOFTAP = 10, /* Self is SoftAP */
+ HT_IOT_PEER_AIRGO = 11,
+ HT_IOT_PEER_INTEL = 12,
+ HT_IOT_PEER_RTK_APCLIENT = 13,
+ HT_IOT_PEER_REALTEK_81XX = 14,
+ HT_IOT_PEER_REALTEK_WOW = 15,
HT_IOT_PEER_REALTEK_JAGUAR_BCUTAP = 16,
HT_IOT_PEER_REALTEK_JAGUAR_CCUTAP = 17,
- HT_IOT_PEER_MAX = 18
+ HT_IOT_PEER_MAX = 18
};
-
enum {
SCAN_DISABLE = 0,
SCAN_START = 1,
@@ -207,22 +206,24 @@ enum {
};
struct mlme_handler {
- unsigned int num;
+ unsigned int num;
char *str;
- unsigned int (*func)(struct adapter *padapter, union recv_frame *precv_frame);
+ unsigned int (*func)(struct adapter *padapter,
+ union recv_frame *precv_frame);
};
struct action_handler {
- unsigned int num;
+ unsigned int num;
char *str;
- unsigned int (*func)(struct adapter *padapter, union recv_frame *precv_frame);
+ unsigned int (*func)(struct adapter *padapter,
+ union recv_frame *precv_frame);
};
-struct ss_res {
- int state;
- int bss_cnt;
- int channel_idx;
- int scan_mode;
+struct ss_res {
+ int state;
+ int bss_cnt;
+ int channel_idx;
+ int scan_mode;
u8 ssid_num;
u8 ch_num;
struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
@@ -234,26 +235,28 @@ struct ss_res {
/* define AD_HOC_MODE 0x04 */
/* define NO_LINK_MODE 0x00 */
-#define WIFI_FW_NULL_STATE _HW_STATE_NOLINK_
-#define WIFI_FW_STATION_STATE _HW_STATE_STATION_
-#define WIFI_FW_AP_STATE _HW_STATE_AP_
-#define WIFI_FW_ADHOC_STATE _HW_STATE_ADHOC_
+#define WIFI_FW_NULL_STATE _HW_STATE_NOLINK_
+#define WIFI_FW_STATION_STATE _HW_STATE_STATION_
+#define WIFI_FW_AP_STATE _HW_STATE_AP_
+#define WIFI_FW_ADHOC_STATE _HW_STATE_ADHOC_
-#define WIFI_FW_AUTH_NULL 0x00000100
-#define WIFI_FW_AUTH_STATE 0x00000200
-#define WIFI_FW_AUTH_SUCCESS 0x00000400
+#define WIFI_FW_AUTH_NULL 0x00000100
+#define WIFI_FW_AUTH_STATE 0x00000200
+#define WIFI_FW_AUTH_SUCCESS 0x00000400
-#define WIFI_FW_ASSOC_STATE 0x00002000
-#define WIFI_FW_ASSOC_SUCCESS 0x00004000
+#define WIFI_FW_ASSOC_STATE 0x00002000
+#define WIFI_FW_ASSOC_SUCCESS 0x00004000
-#define WIFI_FW_LINKING_STATE (WIFI_FW_AUTH_NULL | WIFI_FW_AUTH_STATE | WIFI_FW_AUTH_SUCCESS | WIFI_FW_ASSOC_STATE)
+#define WIFI_FW_LINKING_STATE \
+ (WIFI_FW_AUTH_NULL | WIFI_FW_AUTH_STATE | WIFI_FW_AUTH_SUCCESS | \
+ WIFI_FW_ASSOC_STATE)
struct FW_Sta_Info {
struct sta_info *psta;
u32 status;
u32 rx_pkt;
u32 retry;
- NDIS_802_11_RATES_EX SupportedRates;
+ NDIS_802_11_RATES_EX SupportedRates;
};
/*
@@ -280,10 +283,10 @@ struct mlme_ext_info {
u32 reassoc_count;
u32 link_count;
u32 auth_seq;
- u32 auth_algo; /* 802.11 auth, could be open, shared, auto */
+ u32 auth_algo; /* 802.11 auth, could be open, shared, auto */
u32 authModeToggle;
- u32 enc_algo;/* encrypt algorithm; */
- u32 key_index; /* this is only valid for legendary wep, 0~3 for key id. */
+ u32 enc_algo; /* encrypt algorithm; */
+ u32 key_index; /* this is only valid for legendary wep, 0~3 for key id. */
u32 iv;
u8 chg_txt[128];
u16 aid;
@@ -312,18 +315,20 @@ struct mlme_ext_info {
u8 hidden_ssid_mode;
u8 VHT_enable;
- struct ADDBA_request ADDBA_req;
- struct WMM_para_element WMM_param;
- struct HT_caps_element HT_caps;
- struct HT_info_element HT_info;
- struct wlan_bssid_ex network;/* join network or bss_network, if in ap mode, it is the same to cur_network.network */
- struct FW_Sta_Info FW_sta_info[NUM_STA];
+ struct ADDBA_request ADDBA_req;
+ struct WMM_para_element WMM_param;
+ struct HT_caps_element HT_caps;
+ struct HT_info_element HT_info;
+ struct wlan_bssid_ex
+ network; /* join network or bss_network, if in ap mode, it is the same to cur_network.network */
+ struct FW_Sta_Info FW_sta_info[NUM_STA];
};
/* The channel information about this channel including joining, scanning, and power constraints. */
struct rt_channel_info {
- u8 ChannelNum; /* The channel number. */
- enum rt_scan_type ScanType; /* Scan type such as passive or active scan. */
+ u8 ChannelNum; /* The channel number. */
+ enum rt_scan_type
+ ScanType; /* Scan type such as passive or active scan. */
};
int rtw_ch_set_search_ch(struct rt_channel_info *ch_set, const u32 ch);
@@ -353,7 +358,7 @@ struct p2p_channels {
};
struct p2p_oper_class_map {
- enum hw_mode {IEEE80211G, IEEE80211A} mode;
+ enum hw_mode { IEEE80211G, IEEE80211A } mode;
u8 op_class;
u8 min_chan;
u8 max_chan;
@@ -362,9 +367,9 @@ struct p2p_oper_class_map {
};
struct mlme_ext_priv {
- struct adapter *padapter;
+ struct adapter *padapter;
u8 mlmeext_init;
- atomic_t event_seq;
+ atomic_t event_seq;
u16 mgnt_seq;
u16 sa_query_seq;
u64 mgnt_80211w_IPN;
@@ -373,24 +378,25 @@ struct mlme_ext_priv {
unsigned char cur_channel;
unsigned char cur_bwmode;
- unsigned char cur_ch_offset;/* PRIME_CHNL_OFFSET */
- unsigned char cur_wireless_mode; /* NETWORK_TYPE */
+ unsigned char cur_ch_offset; /* PRIME_CHNL_OFFSET */
+ unsigned char cur_wireless_mode; /* NETWORK_TYPE */
unsigned char max_chan_nums;
- struct rt_channel_info channel_set[MAX_CHANNEL_NUM];
+ struct rt_channel_info channel_set[MAX_CHANNEL_NUM];
struct p2p_channels channel_list;
unsigned char basicrate[NumRates];
unsigned char datarate[NumRates];
unsigned char default_supported_mcs_set[16];
- struct ss_res sitesurvey_res;
- struct mlme_ext_info mlmext_info; /* for sta/adhoc mode, including current scanning/connecting/connected related info. */
- /* for ap mode, network includes ap's cap_info */
- struct timer_list survey_timer;
- struct timer_list link_timer;
- struct timer_list sa_query_timer;
+ struct ss_res sitesurvey_res;
+ struct mlme_ext_info
+ mlmext_info; /* for sta/adhoc mode, including current scanning/connecting/connected related info. */
+ /* for ap mode, network includes ap's cap_info */
+ struct timer_list survey_timer;
+ struct timer_list link_timer;
+ struct timer_list sa_query_timer;
/* struct timer_list ADDBA_timer; */
- u16 chan_scan_time;
+ u16 chan_scan_time;
unsigned long last_scan_time;
u8 scan_abort;
u8 tx_rate; /* TXRATE when USERATE is set. */
@@ -413,7 +419,7 @@ struct mlme_ext_priv {
/* recv_decache check for Action_public frame */
u8 action_public_dialog_token;
- u16 action_public_rxseq;
+ u16 action_public_rxseq;
u8 active_keep_alive_check;
};
@@ -428,7 +434,8 @@ extern struct xmit_frame *alloc_mgtxmitframe(struct xmit_priv *pxmitpriv);
u8 networktype_to_raid_ex(struct adapter *adapter, struct sta_info *psta);
-void get_rate_set(struct adapter *padapter, unsigned char *pbssrate, int *bssrate_len);
+void get_rate_set(struct adapter *padapter, unsigned char *pbssrate,
+ int *bssrate_len);
void set_mcs_rate_by_mask(u8 *mcs_set, u32 mask);
void update_basic_rate_table(struct adapter *padapter, u8 *mBratesOS);
void update_basic_rate_table_soft_ap(u8 *bssrateset, u32 bssratelen);
@@ -446,7 +453,8 @@ void rtw_set_oper_choffset(struct adapter *adapter, u8 offset);
u8 rtw_get_center_ch(u8 channel, u8 chnl_bw, u8 chnl_offset);
unsigned long rtw_get_on_cur_ch_time(struct adapter *adapter);
-void set_channel_bwmode(struct adapter *padapter, unsigned char channel, unsigned char channel_offset, unsigned short bwmode);
+void set_channel_bwmode(struct adapter *padapter, unsigned char channel,
+ unsigned char channel_offset, unsigned short bwmode);
void r8723bs_select_channel(struct adapter *padapter, unsigned char channel);
unsigned int decide_wait_for_beacon_timeout(unsigned int bcn_interval);
@@ -460,18 +468,20 @@ void write_cam(struct adapter *padapter, u8 id, u16 ctrl, u8 *mac, u8 *key);
void clear_cam_entry(struct adapter *padapter, u8 id);
/* modify cache only */
-void write_cam_cache(struct adapter *adapter, u8 id, u16 ctrl, u8 *mac, u8 *key);
+void write_cam_cache(struct adapter *adapter, u8 id, u16 ctrl, u8 *mac,
+ u8 *key);
void clear_cam_cache(struct adapter *adapter, u8 id);
void invalidate_cam_all(struct adapter *padapter);
-
int allocate_fw_sta_entry(struct adapter *padapter);
void flush_all_cam_entry(struct adapter *padapter);
void site_survey(struct adapter *padapter);
-u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, struct wlan_bssid_ex *bssid);
-void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, struct adapter *padapter, bool update_ie);
+u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame,
+ struct wlan_bssid_ex *bssid);
+void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src,
+ struct adapter *padapter, bool update_ie);
u8 *get_my_bssid(struct wlan_bssid_ex *pnetwork);
u16 get_beacon_interval(struct wlan_bssid_ex *bss);
@@ -493,23 +503,27 @@ void ERP_IE_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE);
void VCS_update(struct adapter *padapter, struct sta_info *psta);
void update_ldpc_stbc_cap(struct sta_info *psta);
-void update_beacon_info(struct adapter *padapter, u8 *pframe, uint len, struct sta_info *psta);
+void update_beacon_info(struct adapter *padapter, u8 *pframe, uint len,
+ struct sta_info *psta);
int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len);
void update_IOT_info(struct adapter *padapter);
void update_capinfo(struct adapter *Adapter, u16 updateCap);
void update_wireless_mode(struct adapter *padapter);
void update_sta_basic_rate(struct sta_info *psta, u8 wireless_mode);
-int update_sta_support_rate(struct adapter *padapter, u8 *pvar_ie, uint var_ie_len, int cam_idx);
+int update_sta_support_rate(struct adapter *padapter, u8 *pvar_ie,
+ uint var_ie_len, int cam_idx);
/* for sta/adhoc mode */
void update_sta_info(struct adapter *padapter, struct sta_info *psta);
void Update_RA_Entry(struct adapter *padapter, struct sta_info *psta);
void set_sta_rate(struct adapter *padapter, struct sta_info *psta);
-unsigned int receive_disconnect(struct adapter *padapter, unsigned char *MacAddr, unsigned short reason);
+unsigned int receive_disconnect(struct adapter *padapter,
+ unsigned char *MacAddr, unsigned short reason);
unsigned char get_highest_rate_idx(u32 mask);
-int support_short_GI(struct adapter *padapter, struct HT_caps_element *pHT_caps, u8 bwmode);
+int support_short_GI(struct adapter *padapter, struct HT_caps_element *pHT_caps,
+ u8 bwmode);
unsigned int is_ap_in_tkip(struct adapter *padapter);
s16 rtw_camid_search(struct adapter *adapter, u8 *addr, s16 kid);
@@ -520,36 +534,55 @@ extern void rtw_alloc_macid(struct adapter *padapter, struct sta_info *psta);
extern void rtw_release_macid(struct adapter *padapter, struct sta_info *psta);
void report_join_res(struct adapter *padapter, int res);
-void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame);
+void report_survey_event(struct adapter *padapter,
+ union recv_frame *precv_frame);
void report_surveydone_event(struct adapter *padapter);
-void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsigned short reason);
-void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int cam_idx);
+void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr,
+ unsigned short reason);
+void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr,
+ int cam_idx);
void report_wmm_edca_update(struct adapter *padapter);
u8 chk_bmc_sleepq_cmd(struct adapter *padapter);
extern u8 set_tx_beacon_cmd(struct adapter *padapter);
-unsigned int setup_beacon_frame(struct adapter *padapter, unsigned char *beacon_frame);
+unsigned int setup_beacon_frame(struct adapter *padapter,
+ unsigned char *beacon_frame);
void update_mgnt_tx_rate(struct adapter *padapter, u8 rate);
-void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattrib);
-void update_mgntframe_attrib_addr(struct adapter *padapter, struct xmit_frame *pmgntframe);
+void update_mgntframe_attrib(struct adapter *padapter,
+ struct pkt_attrib *pattrib);
+void update_mgntframe_attrib_addr(struct adapter *padapter,
+ struct xmit_frame *pmgntframe);
void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe);
-s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms);
-s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe);
+s32 dump_mgntframe_and_wait(struct adapter *padapter,
+ struct xmit_frame *pmgntframe, int timeout_ms);
+s32 dump_mgntframe_and_wait_ack(struct adapter *padapter,
+ struct xmit_frame *pmgntframe);
void issue_beacon(struct adapter *padapter, int timeout_ms);
-void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p_probereq);
+void issue_probersp(struct adapter *padapter, unsigned char *da,
+ u8 is_valid_p2p_probereq);
void issue_assocreq(struct adapter *padapter);
-void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type);
-void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status);
-void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da);
-s32 issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, u8 ch, bool append_wps, int try_cnt, int wait_ms);
-int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int power_mode, int try_cnt, int wait_ms);
+void issue_asocrsp(struct adapter *padapter, unsigned short status,
+ struct sta_info *pstat, int pkt_type);
+void issue_auth(struct adapter *padapter, struct sta_info *psta,
+ unsigned short status);
+void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid,
+ u8 *da);
+s32 issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid,
+ u8 *da, u8 ch, bool append_wps, int try_cnt, int wait_ms);
+int issue_nulldata(struct adapter *padapter, unsigned char *da,
+ unsigned int power_mode, int try_cnt, int wait_ms);
s32 issue_nulldata_in_interrupt(struct adapter *padapter, u8 *da);
-int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int try_cnt, int wait_ms);
-int issue_deauth(struct adapter *padapter, unsigned char *da, unsigned short reason);
-int issue_deauth_ex(struct adapter *padapter, u8 *da, unsigned short reason, int try_cnt, int wait_ms);
-void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short status);
-void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short tid);
+int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid,
+ int try_cnt, int wait_ms);
+int issue_deauth(struct adapter *padapter, unsigned char *da,
+ unsigned short reason);
+int issue_deauth_ex(struct adapter *padapter, u8 *da, unsigned short reason,
+ int try_cnt, int wait_ms);
+void issue_action_BA(struct adapter *padapter, unsigned char *raddr,
+ unsigned char action, unsigned short status);
+void issue_action_SA_Query(struct adapter *padapter, unsigned char *raddr,
+ unsigned char action, unsigned short tid);
unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr);
unsigned int send_beacon(struct adapter *padapter);
@@ -558,28 +591,41 @@ void start_clnt_auth(struct adapter *padapter);
void start_clnt_join(struct adapter *padapter);
void start_create_ibss(struct adapter *padapter);
-unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int OnProbeReq(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int OnProbeRsp(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int DoReserved(struct adapter *padapter, union recv_frame *precv_frame);
+unsigned int OnAssocReq(struct adapter *padapter,
+ union recv_frame *precv_frame);
+unsigned int OnAssocRsp(struct adapter *padapter,
+ union recv_frame *precv_frame);
+unsigned int OnProbeReq(struct adapter *padapter,
+ union recv_frame *precv_frame);
+unsigned int OnProbeRsp(struct adapter *padapter,
+ union recv_frame *precv_frame);
+unsigned int DoReserved(struct adapter *padapter,
+ union recv_frame *precv_frame);
unsigned int OnBeacon(struct adapter *padapter, union recv_frame *precv_frame);
unsigned int OnAtim(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame);
+unsigned int OnDisassoc(struct adapter *padapter,
+ union recv_frame *precv_frame);
unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_frame);
+unsigned int OnAuthClient(struct adapter *padapter,
+ union recv_frame *precv_frame);
unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame);
unsigned int OnAction(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int on_action_spct(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int on_action_public(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int OnAction_ht(struct adapter *padapter, union recv_frame *precv_frame);
-unsigned int OnAction_sa_query(struct adapter *padapter, union recv_frame *precv_frame);
+unsigned int on_action_spct(struct adapter *padapter,
+ union recv_frame *precv_frame);
+unsigned int OnAction_back(struct adapter *padapter,
+ union recv_frame *precv_frame);
+unsigned int on_action_public(struct adapter *padapter,
+ union recv_frame *precv_frame);
+unsigned int OnAction_ht(struct adapter *padapter,
+ union recv_frame *precv_frame);
+unsigned int OnAction_sa_query(struct adapter *padapter,
+ union recv_frame *precv_frame);
void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res);
void mlmeext_sta_del_event_callback(struct adapter *padapter);
-void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *psta);
+void mlmeext_sta_add_event_callback(struct adapter *padapter,
+ struct sta_info *psta);
void linked_status_chk(struct adapter *padapter);
@@ -592,35 +638,38 @@ void sa_query_timer_hdl(struct timer_list *t);
/* void reauth_timer_hdl(struct adapter *padapter); */
/* void reassoc_timer_hdl(struct adapter *padapter); */
-#define set_survey_timer(mlmeext, ms) \
- do { \
+#define set_survey_timer(mlmeext, ms) \
+ do { \
_set_timer(&(mlmeext)->survey_timer, (ms)); \
} while (0)
-#define set_link_timer(mlmeext, ms) \
- do { \
+#define set_link_timer(mlmeext, ms) \
+ do { \
_set_timer(&(mlmeext)->link_timer, (ms)); \
} while (0)
-#define set_sa_query_timer(mlmeext, ms) \
- do { \
+#define set_sa_query_timer(mlmeext, ms) \
+ do { \
_set_timer(&(mlmeext)->sa_query_timer, (ms)); \
} while (0)
-extern void process_addba_req(struct adapter *padapter, u8 *paddba_req, u8 *addr);
+extern void process_addba_req(struct adapter *padapter, u8 *paddba_req,
+ u8 *addr);
extern void update_TSF(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len);
-extern void correct_TSF(struct adapter *padapter, struct mlme_ext_priv *pmlmeext);
-extern void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len);
+extern void correct_TSF(struct adapter *padapter,
+ struct mlme_ext_priv *pmlmeext);
+extern void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe,
+ uint len);
extern bool traffic_status_watchdog(struct adapter *padapter, bool from_timer);
-int rtw_chk_start_clnt_join(struct adapter *padapter, u8 *ch, u8 *bw, u8 *offset);
+int rtw_chk_start_clnt_join(struct adapter *padapter, u8 *ch, u8 *bw,
+ u8 *offset);
struct cmd_hdl {
- uint parmsize;
+ uint parmsize;
u8 (*h2cfuns)(struct adapter *padapter, u8 *pbuf);
};
-
u8 read_macreg_hdl(struct adapter *padapter, u8 *pbuf);
u8 write_macreg_hdl(struct adapter *padapter, u8 *pbuf);
u8 read_bbreg_hdl(struct adapter *padapter, u8 *pbuf);
@@ -628,7 +677,6 @@ u8 write_bbreg_hdl(struct adapter *padapter, u8 *pbuf);
u8 read_rfreg_hdl(struct adapter *padapter, u8 *pbuf);
u8 write_rfreg_hdl(struct adapter *padapter, u8 *pbuf);
-
u8 NULL_hdl(struct adapter *padapter, u8 *pbuf);
u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf);
u8 disconnect_hdl(struct adapter *padapter, u8 *pbuf);
@@ -648,25 +696,26 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf);
u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf);
u8 set_ch_hdl(struct adapter *padapter, u8 *pbuf);
u8 set_chplan_hdl(struct adapter *padapter, unsigned char *pbuf);
-u8 set_csa_hdl(struct adapter *padapter, unsigned char *pbuf); /* Kurt: Handling DFS channel switch announcement ie. */
+u8 set_csa_hdl(
+ struct adapter *padapter,
+ unsigned char
+ *pbuf); /* Kurt: Handling DFS channel switch announcement ie. */
u8 tdls_hdl(struct adapter *padapter, unsigned char *pbuf);
u8 run_in_thread_hdl(struct adapter *padapter, u8 *pbuf);
-
-#define GEN_DRV_CMD_HANDLER(size, cmd) {size, &cmd ## _hdl},
-#define GEN_MLME_EXT_HANDLER(size, cmd) {size, cmd},
+#define GEN_DRV_CMD_HANDLER(size, cmd) { size, &cmd##_hdl },
+#define GEN_MLME_EXT_HANDLER(size, cmd) { size, cmd },
struct C2HEvent_Header {
-
#ifdef __LITTLE_ENDIAN
- unsigned int len:16;
- unsigned int ID:8;
- unsigned int seq:8;
+ unsigned int len : 16;
+ unsigned int ID : 8;
+ unsigned int seq : 8;
#else
- unsigned int seq:8;
- unsigned int ID:8;
- unsigned int len:16;
+ unsigned int seq : 8;
+ unsigned int ID : 8;
+ unsigned int len : 16;
#endif
unsigned int rsvd;
};
@@ -680,28 +729,28 @@ enum {
GEN_EVT_CODE(_Read_RFREG),
GEN_EVT_CODE(_Read_EEPROM),
GEN_EVT_CODE(_Read_EFUSE),
- GEN_EVT_CODE(_Read_CAM), /*5*/
+ GEN_EVT_CODE(_Read_CAM), /*5*/
GEN_EVT_CODE(_Get_BasicRate),
GEN_EVT_CODE(_Get_DataRate),
- GEN_EVT_CODE(_Survey), /*8*/
- GEN_EVT_CODE(_SurveyDone), /*9*/
+ GEN_EVT_CODE(_Survey), /*8*/
+ GEN_EVT_CODE(_SurveyDone), /*9*/
GEN_EVT_CODE(_JoinBss), /*10*/
GEN_EVT_CODE(_AddSTA),
GEN_EVT_CODE(_DelSTA),
GEN_EVT_CODE(_AtimDone),
GEN_EVT_CODE(_TX_Report),
- GEN_EVT_CODE(_CCX_Report), /*15*/
+ GEN_EVT_CODE(_CCX_Report), /*15*/
GEN_EVT_CODE(_DTM_Report),
GEN_EVT_CODE(_TX_Rate_Statistics),
GEN_EVT_CODE(_C2HLBK),
GEN_EVT_CODE(_FWDBG),
- GEN_EVT_CODE(_C2HFEEDBACK), /*20*/
+ GEN_EVT_CODE(_C2HFEEDBACK), /*20*/
GEN_EVT_CODE(_ADDBA),
GEN_EVT_CODE(_C2HBCN),
- GEN_EVT_CODE(_ReportPwrState), /* filen: only for PCIE, USB */
- GEN_EVT_CODE(_CloseRF), /* filen: only for PCIE, work around ASPM */
- GEN_EVT_CODE(_WMM), /*25*/
+ GEN_EVT_CODE(_ReportPwrState), /* filen: only for PCIE, USB */
+ GEN_EVT_CODE(_CloseRF), /* filen: only for PCIE, work around ASPM */
+ GEN_EVT_CODE(_WMM), /*25*/
MAX_C2HEVT
};
diff --git a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
index 6977892a57420..7e81b380cd653 100644
--- a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
+++ b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h
@@ -9,16 +9,15 @@
#include <linux/mutex.h>
-#define XMIT_ALIVE BIT(0)
-#define CMD_ALIVE BIT(2)
-#define BTCOEX_ALIVE BIT(4)
-
+#define XMIT_ALIVE BIT(0)
+#define CMD_ALIVE BIT(2)
+#define BTCOEX_ALIVE BIT(4)
enum {
- PS_MODE_ACTIVE = 0,
+ PS_MODE_ACTIVE = 0,
PS_MODE_MIN,
PS_MODE_MAX,
- PS_MODE_DTIM, /* PS_MODE_SELF_DEFINED */
+ PS_MODE_DTIM, /* PS_MODE_SELF_DEFINED */
PS_MODE_VOIP,
PS_MODE_UAPSD_WMM,
PS_MODE_UAPSD,
@@ -35,22 +34,22 @@ enum {
BIT[4] = sub-state
*/
-#define PS_DPS BIT(0)
-#define PS_LCLK (PS_DPS)
-#define PS_RF_OFF BIT(1)
-#define PS_ALL_ON BIT(2)
-#define PS_ST_ACTIVE BIT(3)
+#define PS_DPS BIT(0)
+#define PS_LCLK (PS_DPS)
+#define PS_RF_OFF BIT(1)
+#define PS_ALL_ON BIT(2)
+#define PS_ST_ACTIVE BIT(3)
-#define PS_ACK BIT(6)
-#define PS_TOGGLE BIT(7)
+#define PS_ACK BIT(6)
+#define PS_TOGGLE BIT(7)
-#define PS_STATE_MASK (0x0F)
+#define PS_STATE_MASK (0x0F)
-#define PS_STATE(x) (PS_STATE_MASK & (x))
+#define PS_STATE(x) (PS_STATE_MASK & (x))
-#define PS_STATE_S0 (PS_DPS)
-#define PS_STATE_S2 (PS_RF_OFF)
-#define PS_STATE_S4 ((PS_ST_ACTIVE) | (PS_ALL_ON))
+#define PS_STATE_S0 (PS_DPS)
+#define PS_STATE_S2 (PS_RF_OFF)
+#define PS_STATE_S4 ((PS_ST_ACTIVE) | (PS_ALL_ON))
struct reportpwrstate_parm {
unsigned char mode;
@@ -58,36 +57,42 @@ struct reportpwrstate_parm {
unsigned short rsvd;
};
-#define LPS_DELAY_TIME (1 * HZ) /* 1 sec */
+#define LPS_DELAY_TIME (1 * HZ) /* 1 sec */
/* RF state. */
enum rt_rf_power_state {
- rf_on, /* RF is on after RFSleep or RFOff */
- rf_sleep, /* 802.11 Power Save mode */
- rf_off, /* HW/SW Radio OFF or Inactive Power Save */
+ rf_on, /* RF is on after RFSleep or RFOff */
+ rf_sleep, /* 802.11 Power Save mode */
+ rf_off, /* HW/SW Radio OFF or Inactive Power Save */
/* Add the new RF state above this line ===== */
rf_max
};
/* RF Off Level for IPS or HW/SW radio off */
-#define RT_RF_OFF_LEVL_ASPM BIT(0) /* PCI ASPM */
-#define RT_RF_OFF_LEVL_CLK_REQ BIT(1) /* PCI clock request */
-#define RT_RF_OFF_LEVL_PCI_D3 BIT(2) /* PCI D3 mode */
-#define RT_RF_OFF_LEVL_HALT_NIC BIT(3) /* NIC halt, re-initialize hw parameters */
-#define RT_RF_OFF_LEVL_FREE_FW BIT(4) /* FW free, re-download the FW */
-#define RT_RF_OFF_LEVL_FW_32K BIT(5) /* FW in 32k */
-#define RT_RF_PS_LEVEL_ALWAYS_ASPM BIT(6) /* Always enable ASPM and Clock Req in initialization. */
-#define RT_RF_LPS_DISALBE_2R BIT(30) /* When LPS is on, disable 2R if no packet is received or transmitted. */
-#define RT_RF_LPS_LEVEL_ASPM BIT(31) /* LPS with ASPM */
-
-#define RT_IN_PS_LEVEL(ppsc, _PS_FLAG) ((ppsc->cur_ps_level & _PS_FLAG) ? true : false)
-#define RT_CLEAR_PS_LEVEL(ppsc, _PS_FLAG) (ppsc->cur_ps_level &= (~(_PS_FLAG)))
-#define RT_SET_PS_LEVEL(ppsc, _PS_FLAG) (ppsc->cur_ps_level |= _PS_FLAG)
+#define RT_RF_OFF_LEVL_ASPM BIT(0) /* PCI ASPM */
+#define RT_RF_OFF_LEVL_CLK_REQ BIT(1) /* PCI clock request */
+#define RT_RF_OFF_LEVL_PCI_D3 BIT(2) /* PCI D3 mode */
+#define RT_RF_OFF_LEVL_HALT_NIC \
+ BIT(3) /* NIC halt, re-initialize hw parameters */
+#define RT_RF_OFF_LEVL_FREE_FW BIT(4) /* FW free, re-download the FW */
+#define RT_RF_OFF_LEVL_FW_32K BIT(5) /* FW in 32k */
+#define RT_RF_PS_LEVEL_ALWAYS_ASPM \
+ BIT(6) /* Always enable ASPM and Clock Req in initialization. */
+#define RT_RF_LPS_DISALBE_2R \
+ BIT(30) /* When LPS is on, disable 2R if no packet is received or transmitted. */
+#define RT_RF_LPS_LEVEL_ASPM BIT(31) /* LPS with ASPM */
+
+#define RT_IN_PS_LEVEL(ppsc, _PS_FLAG) \
+ ((ppsc->cur_ps_level & _PS_FLAG) ? true : false)
+#define RT_CLEAR_PS_LEVEL(ppsc, _PS_FLAG) (ppsc->cur_ps_level &= (~(_PS_FLAG)))
+#define RT_SET_PS_LEVEL(ppsc, _PS_FLAG) (ppsc->cur_ps_level |= _PS_FLAG)
/* ASPM OSC Control bit, added by Roger, 2013.03.29. */
-#define RT_PCI_ASPM_OSC_IGNORE 0 /* PCI ASPM ignore OSC control in default */
-#define RT_PCI_ASPM_OSC_ENABLE BIT(0) /* PCI ASPM controlled by OS according to ACPI Spec 5.0 */
-#define RT_PCI_ASPM_OSC_DISABLE BIT(1) /* PCI ASPM controlled by driver or BIOS, i.e., force enable ASPM */
+#define RT_PCI_ASPM_OSC_IGNORE 0 /* PCI ASPM ignore OSC control in default */
+#define RT_PCI_ASPM_OSC_ENABLE \
+ BIT(0) /* PCI ASPM controlled by OS according to ACPI Spec 5.0 */
+#define RT_PCI_ASPM_OSC_DISABLE \
+ BIT(1) /* PCI ASPM controlled by driver or BIOS, i.e., force enable ASPM */
enum {
PSBBREG_RF0 = 0,
@@ -98,10 +103,10 @@ enum {
};
enum { /* for ips_mode */
- IPS_NONE = 0,
- IPS_NORMAL,
- IPS_LEVEL_2,
- IPS_NUM
+ IPS_NONE = 0,
+ IPS_NORMAL,
+ IPS_LEVEL_2,
+ IPS_NUM
};
/* Design for pwrctrl_priv.ips_deny, 32 bits for 32 reasons at most */
@@ -120,7 +125,8 @@ enum ps_deny_reason {
struct pwrctrl_priv {
struct mutex lock;
volatile u8 rpwm; /* requested power state for fw */
- volatile u8 cpwm; /* fw current power state. updated when 1. read from HCPWM 2. driver lowers power level */
+ volatile u8
+ cpwm; /* fw current power state. updated when 1. read from HCPWM 2. driver lowers power level */
volatile u8 tog; /* toggling */
volatile u8 cpwm_tog; /* toggling */
@@ -145,15 +151,16 @@ struct pwrctrl_priv {
u32 cur_ps_level;
u32 reg_rfps_level;
- uint ips_enter_cnts;
- uint ips_leave_cnts;
+ uint ips_enter_cnts;
+ uint ips_leave_cnts;
u8 ips_mode;
u8 ips_org_mode;
u8 ips_mode_req; /* used to accept the mode setting request, will update to ipsmode later */
bool bips_processing;
- unsigned long ips_deny_time; /* will deny IPS when system time is smaller than this */
- u8 pre_ips_type;/* 0: default flow, 1: carddisbale flow */
+ unsigned long
+ ips_deny_time; /* will deny IPS when system time is smaller than this */
+ u8 pre_ips_type; /* 0: default flow, 1: carddisbale flow */
/* ps_deny: if 0, power save is free to go; otherwise deny all kinds of power save. */
/* Use enum ps_deny_reason to decide reason. */
@@ -169,11 +176,10 @@ struct pwrctrl_priv {
u8 power_mgnt;
u8 org_power_mgnt;
bool fw_current_in_ps_mode;
- unsigned long delay_lps_last_time_stamp;
- s32 pnp_current_pwr_state;
+ unsigned long delay_lps_last_time_stamp;
+ s32 pnp_current_pwr_state;
u8 pnp_bstop_trx;
-
u8 bInternalAutoSuspend;
u8 bInSuspend;
@@ -184,16 +190,16 @@ struct pwrctrl_priv {
u8 wowlan_wake_reason;
u8 wowlan_ap_mode;
u8 wowlan_mode;
- struct timer_list pwr_state_check_timer;
+ struct timer_list pwr_state_check_timer;
struct adapter *adapter;
- int pwr_state_check_interval;
+ int pwr_state_check_interval;
u8 pwr_state_check_cnts;
- int ps_flag; /* used by autosuspend */
+ int ps_flag; /* used by autosuspend */
- enum rt_rf_power_state rf_pwrstate;/* cur power state, only for IPS */
+ enum rt_rf_power_state rf_pwrstate; /* cur power state, only for IPS */
/* rt_rf_power_state current_rfpwrstate; */
- enum rt_rf_power_state change_rfpwrstate;
+ enum rt_rf_power_state change_rfpwrstate;
u8 bHWPowerdown; /* power down mode selection. 0:radio off, 1:power down */
u8 bHWPwrPindetect; /* come from registrypriv.hwpwrp_detect. enable power down function. 0:disable, 1:enable */
@@ -202,13 +208,12 @@ struct pwrctrl_priv {
unsigned long PS_BBRegBackup[PSBBREG_TOTALCNT];
};
-#define rtw_ips_mode_req(pwrctl, ips_mode) \
- ((pwrctl)->ips_mode_req = (ips_mode))
+#define rtw_ips_mode_req(pwrctl, ips_mode) ((pwrctl)->ips_mode_req = (ips_mode))
#define RTW_PWR_STATE_CHK_INTERVAL 2000
-#define _rtw_set_pwr_state_check_timer(pwrctl, ms) \
- do { \
+#define _rtw_set_pwr_state_check_timer(pwrctl, ms) \
+ do { \
_set_timer(&(pwrctl)->pwr_state_check_timer, (ms)); \
} while (0)
@@ -221,7 +226,8 @@ extern s32 rtw_register_tx_alive(struct adapter *padapter);
extern void rtw_unregister_tx_alive(struct adapter *padapter);
extern s32 rtw_register_cmd_alive(struct adapter *padapter);
extern void rtw_unregister_cmd_alive(struct adapter *padapter);
-extern void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportpwrstate);
+extern void cpwm_int_hdl(struct adapter *padapter,
+ struct reportpwrstate_parm *preportpwrstate);
extern void LPS_Leave_check(struct adapter *padapter);
extern void LeaveAllPowerSaveMode(struct adapter *Adapter);
@@ -236,14 +242,19 @@ void rtw_ps_processor(struct adapter *padapter);
s32 LPS_RF_ON_check(struct adapter *padapter, u32 delay_ms);
void LPS_Enter(struct adapter *padapter, const char *msg);
void LPS_Leave(struct adapter *padapter, const char *msg);
-void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets);
-void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_ant_mode, const char *msg);
+void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx,
+ u32 tx_packets);
+void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps,
+ u8 bcn_ant_mode, const char *msg);
void rtw_set_rpwm(struct adapter *padapter, u8 val8);
void rtw_set_ips_deny(struct adapter *padapter, u32 ms);
-int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms, const char *caller);
-#define rtw_pwr_wakeup(adapter) _rtw_pwr_wakeup(adapter, RTW_PWR_STATE_CHK_INTERVAL, __func__)
-#define rtw_pwr_wakeup_ex(adapter, ips_deffer_ms) _rtw_pwr_wakeup(adapter, ips_deffer_ms, __func__)
+int _rtw_pwr_wakeup(struct adapter *padapter, u32 ips_deffer_ms,
+ const char *caller);
+#define rtw_pwr_wakeup(adapter) \
+ _rtw_pwr_wakeup(adapter, RTW_PWR_STATE_CHK_INTERVAL, __func__)
+#define rtw_pwr_wakeup_ex(adapter, ips_deffer_ms) \
+ _rtw_pwr_wakeup(adapter, ips_deffer_ms, __func__)
int rtw_pm_set_ips(struct adapter *padapter, u8 mode);
int rtw_pm_set_lps(struct adapter *padapter, u8 mode);
@@ -251,4 +262,4 @@ void rtw_ps_deny(struct adapter *padapter, enum ps_deny_reason reason);
void rtw_ps_deny_cancel(struct adapter *padapter, enum ps_deny_reason reason);
u32 rtw_ps_deny_get(struct adapter *padapter);
-#endif /* __RTL871X_PWRCTRL_H_ */
+#endif /* __RTL871X_PWRCTRL_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_qos.h b/drivers/staging/rtl8723bs/include/rtw_qos.h
index 1f28837f6c27c..d6fbf9c37479e 100644
--- a/drivers/staging/rtl8723bs/include/rtw_qos.h
+++ b/drivers/staging/rtl8723bs/include/rtw_qos.h
@@ -5,15 +5,12 @@
*
******************************************************************************/
-
#ifndef _RTW_QOS_H_
#define _RTW_QOS_H_
-
-
-struct qos_priv {
- unsigned int qos_option; /* bit mask option: u-apsd, s-apsd, ts, block ack... */
+struct qos_priv {
+ unsigned int
+ qos_option; /* bit mask option: u-apsd, s-apsd, ts, block ack... */
};
-
-#endif /* _RTL871X_QOS_H_ */
+#endif /* _RTL871X_QOS_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h
index 9c32d480a20a1..4af452934f542 100644
--- a/drivers/staging/rtl8723bs/include/rtw_recv.h
+++ b/drivers/staging/rtl8723bs/include/rtw_recv.h
@@ -11,34 +11,34 @@
#define NR_RECVFRAME 256
-#define RXFRAME_ALIGN 8
-#define RXFRAME_ALIGN_SZ (1<<RXFRAME_ALIGN)
+#define RXFRAME_ALIGN 8
+#define RXFRAME_ALIGN_SZ (1 << RXFRAME_ALIGN)
-#define DRVINFO_SZ 4 /* unit is 8bytes */
+#define DRVINFO_SZ 4 /* unit is 8bytes */
-#define MAX_RX_NUMBLKS (32)
+#define MAX_RX_NUMBLKS (32)
#define RECVFRAME_HDR_ALIGN 128
#define SNAP_SIZE sizeof(struct ieee80211_snap_hdr)
-#define MAX_SUBFRAME_COUNT 64
+#define MAX_SUBFRAME_COUNT 64
-#define LLC_HEADER_LENGTH 6
+#define LLC_HEADER_LENGTH 6
/* for Rx reordering buffer control */
struct recv_reorder_ctrl {
- struct adapter *padapter;
+ struct adapter *padapter;
u8 enable;
- u16 indicate_seq;/* wstart_b, init_value = 0xffff */
+ u16 indicate_seq; /* wstart_b, init_value = 0xffff */
u16 wend_b;
u8 wsize_b;
struct __queue pending_recvframe_queue;
struct timer_list reordering_ctrl_timer;
};
-struct stainfo_rxcache {
+struct stainfo_rxcache {
u16 tid_rxseq[16];
-/*
+ /*
unsigned short tid0_rxseq;
unsigned short tid1_rxseq;
unsigned short tid2_rxseq;
@@ -58,38 +58,37 @@ struct stainfo_rxcache {
*/
};
-
struct signal_stat {
- u8 update_req; /* used to indicate */
- u8 avg_val; /* avg of valid elements */
- u32 total_num; /* num of valid elements */
- u32 total_val; /* sum of valid elements */
+ u8 update_req; /* used to indicate */
+ u8 avg_val; /* avg of valid elements */
+ u32 total_num; /* num of valid elements */
+ u32 total_val; /* sum of valid elements */
};
struct phy_info {
u8 rx_pwd_ba11;
- u8 SignalQuality; /* in 0-100 index. */
- s8 rx_mimo_signal_quality[4]; /* per-path's EVM */
- u8 RxMIMOEVMdbm[4]; /* per-path's EVM dbm */
+ u8 SignalQuality; /* in 0-100 index. */
+ s8 rx_mimo_signal_quality[4]; /* per-path's EVM */
+ u8 RxMIMOEVMdbm[4]; /* per-path's EVM dbm */
- u8 rx_mimo_signal_strength[4];/* in 0~100 index */
+ u8 rx_mimo_signal_strength[4]; /* in 0~100 index */
- u16 Cfo_short[4]; /* per-path's Cfo_short */
- u16 Cfo_tail[4]; /* per-path's Cfo_tail */
+ u16 Cfo_short[4]; /* per-path's Cfo_short */
+ u16 Cfo_tail[4]; /* per-path's Cfo_tail */
- s8 RxPower; /* in dBm Translate from PWdB */
- s8 RecvSignalPower;/* Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures. */
+ s8 RxPower; /* in dBm Translate from PWdB */
+ s8 RecvSignalPower; /* Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures. */
u8 bt_rx_rssi_percentage;
u8 SignalStrength; /* in 0-100 index. */
- s8 RxPwr[4]; /* per-path's pwdb */
- u8 RxSNR[4]; /* per-path's SNR */
+ s8 RxPwr[4]; /* per-path's pwdb */
+ u8 RxSNR[4]; /* per-path's SNR */
u8 BandWidth;
u8 btCoexPwrAdjust;
};
-struct rx_pkt_attrib {
+struct rx_pkt_attrib {
u16 pkt_len;
u8 physt;
u8 drvinfo_sz;
@@ -128,9 +127,9 @@ struct rx_pkt_attrib {
u8 data_rate;
u8 sgi;
u8 pkt_rpt_type;
- u32 MacIDValidEntry[2]; /* 64 bits present 64 entry. */
+ u32 MacIDValidEntry[2]; /* 64 bits present 64 entry. */
-/*
+ /*
u8 signal_qual;
s8 rx_mimo_signal_qual[2];
u8 signal_strength;
@@ -140,17 +139,16 @@ struct rx_pkt_attrib {
struct phy_info phy_info;
};
-
/* These definition is used for Rx packet reordering. */
-#define SN_LESS(a, b) (((a - b) & 0x800) != 0)
-#define SN_EQUAL(a, b) (a == b)
+#define SN_LESS(a, b) (((a - b) & 0x800) != 0)
+#define SN_EQUAL(a, b) (a == b)
/* define REORDER_WIN_SIZE 128 */
/* define REORDER_ENTRY_NUM 128 */
-#define REORDER_WAIT_TIME (50) /* (ms) */
+#define REORDER_WAIT_TIME (50) /* (ms) */
#define RECVBUFF_ALIGN_SZ 8
-#define RXDESC_SIZE 24
+#define RXDESC_SIZE 24
struct recv_stat {
__le32 rxdw0;
@@ -170,22 +168,22 @@ accesser of recv_priv: rtw_recv_entry(dispatch / passive level); recv_thread(pas
using enter_critical section to protect
*/
struct recv_priv {
- spinlock_t lock;
- struct __queue free_recv_queue;
- struct __queue recv_pending_queue;
- struct __queue uc_swdec_pending_queue;
+ spinlock_t lock;
+ struct __queue free_recv_queue;
+ struct __queue recv_pending_queue;
+ struct __queue uc_swdec_pending_queue;
u8 *pallocated_frame_buf;
u8 *precv_frame_buf;
uint free_recvframe_cnt;
- struct adapter *adapter;
+ struct adapter *adapter;
u32 bIsAnyNonBEPkts;
- u64 rx_bytes;
- u64 rx_pkts;
- u64 rx_drop;
- uint rx_icv_err;
- uint rx_largepacket_crcerr;
- uint rx_smallpacket_crcerr;
- uint rx_middlepacket_crcerr;
+ u64 rx_bytes;
+ u64 rx_pkts;
+ u64 rx_drop;
+ uint rx_icv_err;
+ uint rx_largepacket_crcerr;
+ uint rx_smallpacket_crcerr;
+ uint rx_middlepacket_crcerr;
struct tasklet_struct irq_prepare_beacon_tasklet;
struct tasklet_struct recv_tasklet;
@@ -193,26 +191,25 @@ struct recv_priv {
struct sk_buff_head rx_skb_queue;
u8 *pallocated_recv_buf;
- u8 *precv_buf; /* 4 alignment */
- struct __queue free_recv_buf_queue;
+ u8 *precv_buf; /* 4 alignment */
+ struct __queue free_recv_buf_queue;
u32 free_recv_buf_queue_cnt;
- struct __queue recv_buf_pending_queue;
+ struct __queue recv_buf_pending_queue;
/* For display the phy information */
- u8 is_signal_dbg; /* for debug */
- u8 signal_strength_dbg; /* for debug */
+ u8 is_signal_dbg; /* for debug */
+ u8 signal_strength_dbg; /* for debug */
u8 signal_strength;
u8 signal_qual;
- s8 rssi; /* translate_percentage_to_dbm(ptarget_wlan->network.PhyInfo.SignalStrength); */
+ s8 rssi; /* translate_percentage_to_dbm(ptarget_wlan->network.PhyInfo.SignalStrength); */
/* s8 rxpwdb; */
s16 noise;
/* int RxSNRdB[2]; */
/* s8 RxRssi[2]; */
/* int FalseAlmCnt_all; */
-
struct timer_list signal_stat_timer;
u32 signal_stat_sampling_interval;
/* u32 signal_stat_converging_constant; */
@@ -220,25 +217,24 @@ struct recv_priv {
struct signal_stat signal_strength_data;
};
-#define rtw_set_signal_stat_timer(recvpriv) _set_timer(&(recvpriv)->signal_stat_timer, (recvpriv)->signal_stat_sampling_interval)
+#define rtw_set_signal_stat_timer(recvpriv) \
+ _set_timer(&(recvpriv)->signal_stat_timer, \
+ (recvpriv)->signal_stat_sampling_interval)
struct sta_recv_priv {
-
- spinlock_t lock;
- signed int option;
+ spinlock_t lock;
+ signed int option;
/* struct __queue blk_strms[MAX_RX_NUMBLKS]; */
- struct __queue defrag_q; /* keeping the fragment frame until defrag */
+ struct __queue defrag_q; /* keeping the fragment frame until defrag */
- struct stainfo_rxcache rxcache;
+ struct stainfo_rxcache rxcache;
/* uint sta_rx_bytes; */
/* uint sta_rx_pkts; */
/* uint sta_rx_fail; */
-
};
-
struct recv_buf {
struct list_head list;
@@ -257,11 +253,10 @@ struct recv_buf {
u8 *ptail;
u8 *pend;
- struct sk_buff *pskb;
+ struct sk_buff *pskb;
u8 reuse;
};
-
/*
head ----->
@@ -278,11 +273,11 @@ struct recv_buf {
*/
struct recv_frame_hdr {
- struct list_head list;
- struct sk_buff *pkt;
- struct sk_buff *pkt_newalloc;
+ struct list_head list;
+ struct sk_buff *pkt;
+ struct sk_buff *pkt_newalloc;
- struct adapter *adapter;
+ struct adapter *adapter;
u8 fragcnt;
@@ -290,7 +285,7 @@ struct recv_frame_hdr {
struct rx_pkt_attrib attrib;
- uint len;
+ uint len;
u8 *rx_head;
u8 *rx_data;
u8 *rx_tail;
@@ -298,7 +293,6 @@ struct recv_frame_hdr {
void *precvbuf;
-
/* */
struct sta_info *psta;
@@ -306,45 +300,54 @@ struct recv_frame_hdr {
struct recv_reorder_ctrl *preorder_ctrl;
};
-
union recv_frame {
- union{
+ union {
struct list_head list;
struct recv_frame_hdr hdr;
- uint mem[RECVFRAME_HDR_ALIGN>>2];
+ uint mem[RECVFRAME_HDR_ALIGN >> 2];
} u;
/* uint mem[MAX_RXSZ>>2]; */
-
};
enum {
- NORMAL_RX,/* Normal rx packet */
- TX_REPORT1,/* CCX */
- TX_REPORT2,/* TX RPT */
- HIS_REPORT,/* USB HISR RPT */
+ NORMAL_RX, /* Normal rx packet */
+ TX_REPORT1, /* CCX */
+ TX_REPORT2, /* TX RPT */
+ HIS_REPORT, /* USB HISR RPT */
C2H_PACKET
};
-extern union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */
-extern union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */
-extern int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue);
-
-extern int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue);
-extern int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue);
-
-extern void rtw_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue);
+extern union recv_frame *_rtw_alloc_recvframe(
+ struct __queue *
+ pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */
+extern union recv_frame *rtw_alloc_recvframe(
+ struct __queue *
+ pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */
+extern int rtw_free_recvframe(union recv_frame *precvframe,
+ struct __queue *pfree_recv_queue);
+
+extern int _rtw_enqueue_recvframe(union recv_frame *precvframe,
+ struct __queue *queue);
+extern int rtw_enqueue_recvframe(union recv_frame *precvframe,
+ struct __queue *queue);
+
+extern void rtw_free_recvframe_queue(struct __queue *pframequeue,
+ struct __queue *pfree_recv_queue);
u32 rtw_free_uc_swdec_pending_queue(struct adapter *adapter);
-signed int rtw_enqueue_recvbuf_to_head(struct recv_buf *precvbuf, struct __queue *queue);
-signed int rtw_enqueue_recvbuf(struct recv_buf *precvbuf, struct __queue *queue);
+signed int rtw_enqueue_recvbuf_to_head(struct recv_buf *precvbuf,
+ struct __queue *queue);
+signed int rtw_enqueue_recvbuf(struct recv_buf *precvbuf,
+ struct __queue *queue);
struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue);
void rtw_reordering_ctrl_timeout_handler(struct timer_list *t);
-signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter);
+signed int _rtw_init_recv_priv(struct recv_priv *precvpriv,
+ struct adapter *padapter);
void _rtw_free_recv_priv(struct recv_priv *precvpriv);
-s32 rtw_recv_entry(union recv_frame *precv_frame);
+s32 rtw_recv_entry(union recv_frame *precv_frame);
static inline u8 *get_rxmem(union recv_frame *precvframe)
{
@@ -361,11 +364,9 @@ static inline u8 *recvframe_pull(union recv_frame *precvframe, signed int sz)
/* used for extract sz bytes from rx_data, update rx_data and return the updated rx_data to the caller */
-
if (!precvframe)
return NULL;
-
precvframe->u.hdr.rx_data += sz;
if (precvframe->u.hdr.rx_data > precvframe->u.hdr.rx_tail) {
@@ -376,7 +377,6 @@ static inline u8 *recvframe_pull(union recv_frame *precvframe, signed int sz)
precvframe->u.hdr.len -= sz;
return precvframe->u.hdr.rx_data;
-
}
static inline u8 *recvframe_put(union recv_frame *precvframe, signed int sz)
@@ -402,12 +402,10 @@ static inline u8 *recvframe_put(union recv_frame *precvframe, signed int sz)
precvframe->u.hdr.len += sz;
return precvframe->u.hdr.rx_tail;
-
}
-
-
-static inline u8 *recvframe_pull_tail(union recv_frame *precvframe, signed int sz)
+static inline u8 *recvframe_pull_tail(union recv_frame *precvframe,
+ signed int sz)
{
/* rmv data from rx_tail (by yitsen) */
@@ -427,7 +425,6 @@ static inline u8 *recvframe_pull_tail(union recv_frame *precvframe, signed int s
precvframe->u.hdr.len -= sz;
return precvframe->u.hdr.rx_tail;
-
}
static inline signed int get_recvframe_len(union recv_frame *precvframe)
@@ -435,10 +432,9 @@ static inline signed int get_recvframe_len(union recv_frame *precvframe)
return precvframe->u.hdr.len;
}
-
static inline s32 translate_percentage_to_dbm(u32 SignalStrengthIndex)
{
- s32 SignalPower; /* in dBm. */
+ s32 SignalPower; /* in dBm. */
/* Translate to dBm (x = 0.5y-95). */
SignalPower = (s32)((SignalStrengthIndex + 1) >> 1);
@@ -447,11 +443,11 @@ static inline s32 translate_percentage_to_dbm(u32 SignalStrengthIndex)
return SignalPower;
}
-
struct sta_info;
extern void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv);
-extern void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame);
+extern void mgt_dispatcher(struct adapter *padapter,
+ union recv_frame *precv_frame);
#endif
diff --git a/drivers/staging/rtl8723bs/include/rtw_rf.h b/drivers/staging/rtl8723bs/include/rtw_rf.h
index 9f98b3f5a2e35..fab4c5e099e00 100644
--- a/drivers/staging/rtl8723bs/include/rtw_rf.h
+++ b/drivers/staging/rtl8723bs/include/rtw_rf.h
@@ -4,77 +4,76 @@
* Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
*
******************************************************************************/
-#ifndef __RTW_RF_H_
+#ifndef __RTW_RF_H_
#define __RTW_RF_H_
+#define OFDM_PHY 1
+#define MIXED_PHY 2
+#define CCK_PHY 3
-#define OFDM_PHY 1
-#define MIXED_PHY 2
-#define CCK_PHY 3
-
-#define NumRates 13
+#define NumRates 13
/* slot time for 11g */
-#define SHORT_SLOT_TIME 9
-#define NON_SHORT_SLOT_TIME 20
+#define SHORT_SLOT_TIME 9
+#define NON_SHORT_SLOT_TIME 20
-#define RTL8711_RF_MAX_SENS 6
-#define RTL8711_RF_DEF_SENS 4
+#define RTL8711_RF_MAX_SENS 6
+#define RTL8711_RF_DEF_SENS 4
/*
* We now define the following channels as the max channels in each channel plan.
* 2G, total 14 chnls
* {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
*/
-#define MAX_CHANNEL_NUM_2G 14
-#define MAX_CHANNEL_NUM 14
+#define MAX_CHANNEL_NUM_2G 14
+#define MAX_CHANNEL_NUM 14
-#define NUM_REGULATORYS 1
+#define NUM_REGULATORYS 1
/* Country codes */
-#define USA 0x555320
-#define EUROPE 0x1 /* temp, should be provided later */
-#define JAPAN 0x2 /* temp, should be provided later */
+#define USA 0x555320
+#define EUROPE 0x1 /* temp, should be provided later */
+#define JAPAN 0x2 /* temp, should be provided later */
-struct regulatory_class {
- u32 starting_freq; /* MHz, */
+struct regulatory_class {
+ u32 starting_freq; /* MHz, */
u8 channel_set[MAX_CHANNEL_NUM];
- u8 channel_cck_power[MAX_CHANNEL_NUM];/* dbm */
- u8 channel_ofdm_power[MAX_CHANNEL_NUM];/* dbm */
- u8 txpower_limit; /* dbm */
- u8 channel_spacing; /* MHz */
+ u8 channel_cck_power[MAX_CHANNEL_NUM]; /* dbm */
+ u8 channel_ofdm_power[MAX_CHANNEL_NUM]; /* dbm */
+ u8 txpower_limit; /* dbm */
+ u8 channel_spacing; /* MHz */
u8 modem;
};
enum {
- cESS = 0x0001,
- cIBSS = 0x0002,
- cPollable = 0x0004,
- cPollReq = 0x0008,
- cPrivacy = 0x0010,
- cShortPreamble = 0x0020,
- cPBCC = 0x0040,
- cChannelAgility = 0x0080,
- cSpectrumMgnt = 0x0100,
- cQos = 0x0200, /* For HCCA, use with CF-Pollable and CF-PollReq */
- cShortSlotTime = 0x0400,
- cAPSD = 0x0800,
- cRM = 0x1000, /* RRM (Radio Request Measurement) */
- cDSSS_OFDM = 0x2000,
- cDelayedBA = 0x4000,
- cImmediateBA = 0x8000,
+ cESS = 0x0001,
+ cIBSS = 0x0002,
+ cPollable = 0x0004,
+ cPollReq = 0x0008,
+ cPrivacy = 0x0010,
+ cShortPreamble = 0x0020,
+ cPBCC = 0x0040,
+ cChannelAgility = 0x0080,
+ cSpectrumMgnt = 0x0100,
+ cQos = 0x0200, /* For HCCA, use with CF-Pollable and CF-PollReq */
+ cShortSlotTime = 0x0400,
+ cAPSD = 0x0800,
+ cRM = 0x1000, /* RRM (Radio Request Measurement) */
+ cDSSS_OFDM = 0x2000,
+ cDelayedBA = 0x4000,
+ cImmediateBA = 0x8000,
};
enum {
- PREAMBLE_LONG = 1,
- PREAMBLE_AUTO = 2,
- PREAMBLE_SHORT = 3,
+ PREAMBLE_LONG = 1,
+ PREAMBLE_AUTO = 2,
+ PREAMBLE_SHORT = 3,
};
/* Bandwidth Offset */
-#define HAL_PRIME_CHNL_OFFSET_DONT_CARE 0
-#define HAL_PRIME_CHNL_OFFSET_LOWER 1
-#define HAL_PRIME_CHNL_OFFSET_UPPER 2
+#define HAL_PRIME_CHNL_OFFSET_DONT_CARE 0
+#define HAL_PRIME_CHNL_OFFSET_LOWER 1
+#define HAL_PRIME_CHNL_OFFSET_UPPER 2
/* Represent Channel Width in HT Capabilities */
enum channel_width {
diff --git a/drivers/staging/rtl8723bs/include/rtw_security.h b/drivers/staging/rtl8723bs/include/rtw_security.h
index 32f6d3a5e3092..e41d0fa7c6d83 100644
--- a/drivers/staging/rtl8723bs/include/rtw_security.h
+++ b/drivers/staging/rtl8723bs/include/rtw_security.h
@@ -9,15 +9,15 @@
#include <crypto/arc4.h>
-#define _NO_PRIVACY_ 0x0
-#define _WEP40_ 0x1
-#define _TKIP_ 0x2
-#define _TKIP_WTMIC_ 0x3
-#define _AES_ 0x4
-#define _WEP104_ 0x5
-#define _WEP_WPA_MIXED_ 0x07 /* WEP + WPA */
-#define _SMS4_ 0x06
-#define _BIP_ 0x8
+#define _NO_PRIVACY_ 0x0
+#define _WEP40_ 0x1
+#define _TKIP_ 0x2
+#define _TKIP_WTMIC_ 0x3
+#define _AES_ 0x4
+#define _WEP104_ 0x5
+#define _WEP_WPA_MIXED_ 0x07 /* WEP + WPA */
+#define _SMS4_ 0x06
+#define _BIP_ 0x8
#define is_wep_enc(alg) (((alg) == _WEP40_) || ((alg) == _WEP104_))
const char *security_type_str(u8 value);
@@ -26,15 +26,14 @@ const char *security_type_str(u8 value);
#define AES_PRIV_SIZE (4 * 44)
enum {
- ENCRYP_PROTOCOL_OPENSYS, /* open system */
- ENCRYP_PROTOCOL_WEP, /* WEP */
- ENCRYP_PROTOCOL_WPA, /* WPA */
- ENCRYP_PROTOCOL_WPA2, /* WPA2 */
- ENCRYP_PROTOCOL_WAPI, /* WAPI: Not support in this version */
+ ENCRYP_PROTOCOL_OPENSYS, /* open system */
+ ENCRYP_PROTOCOL_WEP, /* WEP */
+ ENCRYP_PROTOCOL_WPA, /* WPA */
+ ENCRYP_PROTOCOL_WPA2, /* WPA2 */
+ ENCRYP_PROTOCOL_WAPI, /* WAPI: Not support in this version */
ENCRYP_PROTOCOL_MAX
};
-
#ifndef Ndis802_11AuthModeWPA2
#define Ndis802_11AuthModeWPA2 (Ndis802_11AuthModeWPANone + 1)
#endif
@@ -43,84 +42,83 @@ enum {
#define Ndis802_11AuthModeWPA2PSK (Ndis802_11AuthModeWPANone + 2)
#endif
-union pn48 {
-
- u64 val;
+union pn48 {
+ u64 val;
#ifdef __LITTLE_ENDIAN
-struct {
- u8 TSC0;
- u8 TSC1;
- u8 TSC2;
- u8 TSC3;
- u8 TSC4;
- u8 TSC5;
- u8 TSC6;
- u8 TSC7;
-} _byte_;
+ struct {
+ u8 TSC0;
+ u8 TSC1;
+ u8 TSC2;
+ u8 TSC3;
+ u8 TSC4;
+ u8 TSC5;
+ u8 TSC6;
+ u8 TSC7;
+ } _byte_;
#else
-struct {
- u8 TSC7;
- u8 TSC6;
- u8 TSC5;
- u8 TSC4;
- u8 TSC3;
- u8 TSC2;
- u8 TSC1;
- u8 TSC0;
-} _byte_;
+ struct {
+ u8 TSC7;
+ u8 TSC6;
+ u8 TSC5;
+ u8 TSC4;
+ u8 TSC3;
+ u8 TSC2;
+ u8 TSC1;
+ u8 TSC0;
+ } _byte_;
#endif
-
};
union Keytype {
- u8 skey[16];
- u32 lkey[4];
+ u8 skey[16];
+ u32 lkey[4];
};
-
struct rt_pmkid_list {
- u8 bUsed;
- u8 Bssid[6];
- u8 PMKID[16];
- u8 SsidBuf[33];
+ u8 bUsed;
+ u8 Bssid[6];
+ u8 PMKID[16];
+ u8 SsidBuf[33];
u8 *ssid_octet;
- u16 ssid_length;
+ u16 ssid_length;
};
-
struct security_priv {
- u32 dot11AuthAlgrthm; /* 802.11 auth, could be open, shared, 8021x and authswitch */
- u32 dot11PrivacyAlgrthm; /* This specify the privacy for shared auth. algorithm. */
+ u32 dot11AuthAlgrthm; /* 802.11 auth, could be open, shared, 8021x and authswitch */
+ u32 dot11PrivacyAlgrthm; /* This specify the privacy for shared auth. algorithm. */
/* WEP */
- u32 dot11PrivacyKeyIndex; /* this is only valid for legendary wep, 0~3 for key id. (tx key index) */
- union Keytype dot11DefKey[4]; /* this is only valid for def. key */
+ u32 dot11PrivacyKeyIndex; /* this is only valid for legendary wep, 0~3 for key id. (tx key index) */
+ union Keytype dot11DefKey[4]; /* this is only valid for def. key */
u32 dot11DefKeylen[4];
u8 key_mask; /* use to restore wep key after hal_init */
- u32 dot118021XGrpPrivacy; /* This specify the privacy algthm. used for Grp key */
- u32 dot118021XGrpKeyid; /* key id used for Grp Key (tx key index) */
- union Keytype dot118021XGrpKey[BIP_MAX_KEYID + 1]; /* 802.1x Group Key, for inx0 and inx1 */
- union Keytype dot118021XGrptxmickey[BIP_MAX_KEYID + 1];
- union Keytype dot118021XGrprxmickey[BIP_MAX_KEYID + 1];
- union pn48 dot11Grptxpn; /* PN48 used for Grp Key xmit. */
- union pn48 dot11Grprxpn; /* PN48 used for Grp Key recv. */
- u32 dot11wBIPKeyid; /* key id used for BIP Key (tx key index) */
- union Keytype dot11wBIPKey[BIP_MAX_KEYID + 1]; /* BIP Key, for index4 and index5 */
- union pn48 dot11wBIPtxpn; /* PN48 used for Grp Key xmit. */
- union pn48 dot11wBIPrxpn; /* PN48 used for Grp Key recv. */
+ u32 dot118021XGrpPrivacy; /* This specify the privacy algthm. used for Grp key */
+ u32 dot118021XGrpKeyid; /* key id used for Grp Key (tx key index) */
+ union Keytype
+ dot118021XGrpKey[BIP_MAX_KEYID +
+ 1]; /* 802.1x Group Key, for inx0 and inx1 */
+ union Keytype dot118021XGrptxmickey[BIP_MAX_KEYID + 1];
+ union Keytype dot118021XGrprxmickey[BIP_MAX_KEYID + 1];
+ union pn48 dot11Grptxpn; /* PN48 used for Grp Key xmit. */
+ union pn48 dot11Grprxpn; /* PN48 used for Grp Key recv. */
+ u32 dot11wBIPKeyid; /* key id used for BIP Key (tx key index) */
+ union Keytype dot11wBIPKey[BIP_MAX_KEYID +
+ 1]; /* BIP Key, for index4 and index5 */
+ union pn48 dot11wBIPtxpn; /* PN48 used for Grp Key xmit. */
+ union pn48 dot11wBIPrxpn; /* PN48 used for Grp Key recv. */
/* extend security capabilities for AP_MODE */
- unsigned int dot8021xalg;/* 0:disable, 1:psk, 2:802.1x */
- unsigned int wpa_psk;/* 0:disable, bit(0): WPA, bit(1):WPA2 */
+ unsigned int dot8021xalg; /* 0:disable, 1:psk, 2:802.1x */
+ unsigned int wpa_psk; /* 0:disable, bit(0): WPA, bit(1):WPA2 */
unsigned int wpa_group_cipher;
unsigned int wpa2_group_cipher;
unsigned int wpa_pairwise_cipher;
unsigned int wpa2_pairwise_cipher;
- u8 wps_ie[MAX_WPS_IE_LEN];/* added in assoc req */
+ u8 wps_ie[MAX_WPS_IE_LEN]; /* added in assoc req */
int wps_ie_len;
struct arc4_ctx xmit_arc4_ctx;
@@ -133,26 +131,24 @@ struct security_priv {
u8 bcheck_grpkey;
u8 bgrpkey_handshake;
- s32 sw_encrypt;/* from registry_priv */
- s32 sw_decrypt;/* from registry_priv */
-
- s32 hw_decrypted;/* if the rx packets is hw_decrypted ==false, it means the hw has not been ready. */
+ s32 sw_encrypt; /* from registry_priv */
+ s32 sw_decrypt; /* from registry_priv */
+ s32 hw_decrypted; /* if the rx packets is hw_decrypted ==false, it means the hw has not been ready. */
/* keeps the auth_type & enc_status from upper layer ioctl(wpa_supplicant or wzc) */
- u32 ndisauthtype; /* enum ndis_802_11_authentication_mode */
- u32 ndisencryptstatus; /* NDIS_802_11_ENCRYPTION_STATUS */
+ u32 ndisauthtype; /* enum ndis_802_11_authentication_mode */
+ u32 ndisencryptstatus; /* NDIS_802_11_ENCRYPTION_STATUS */
- struct wlan_bssid_ex sec_bss; /* for joinbss (h2c buffer) usage */
+ struct wlan_bssid_ex sec_bss; /* for joinbss (h2c buffer) usage */
struct ndis_802_11_wep ndiswep;
u8 assoc_info[600];
u8 szofcapability[256]; /* for wpa2 usage */
u8 oidassociation[512]; /* for wpa/wpa2 usage */
- u8 authenticator_ie[256]; /* store ap security information element */
- u8 supplicant_ie[256]; /* store sta security information element */
-
+ u8 authenticator_ie[256]; /* store ap security information element */
+ u8 supplicant_ie[256]; /* store sta security information element */
/* for tkip countermeasure */
unsigned long last_mic_err_time;
@@ -161,80 +157,79 @@ struct security_priv {
u32 btkip_countermeasure_time;
/* For WPA2 Pre-Authentication. */
- struct rt_pmkid_list PMKIDList[NUM_PMKID_CACHE]; /* Renamed from PreAuthKey[NUM_PRE_AUTH_KEY]. Annie, 2006-10-13. */
- u8 PMKIDIndex;
+ struct rt_pmkid_list PMKIDList
+ [NUM_PMKID_CACHE]; /* Renamed from PreAuthKey[NUM_PRE_AUTH_KEY]. Annie, 2006-10-13. */
+ u8 PMKIDIndex;
u8 bWepDefaultKeyIdxSet;
-
};
-#define GET_ENCRY_ALGO(psecuritypriv, psta, encry_algo, bmcst)\
-do {\
- switch (psecuritypriv->dot11AuthAlgrthm) {\
- case dot11AuthAlgrthm_Open:\
- case dot11AuthAlgrthm_Shared:\
- case dot11AuthAlgrthm_Auto:\
- encry_algo = (u8)psecuritypriv->dot11PrivacyAlgrthm;\
- break;\
- case dot11AuthAlgrthm_8021X:\
- if (bmcst)\
- encry_algo = (u8)psecuritypriv->dot118021XGrpPrivacy;\
- else\
- encry_algo = (u8)psta->dot118021XPrivacy;\
- break;\
- case dot11AuthAlgrthm_WAPI:\
- encry_algo = (u8)psecuritypriv->dot11PrivacyAlgrthm;\
- break;\
- } \
-} while (0)
-
-#define SET_ICE_IV_LEN(iv_len, icv_len, encrypt)\
-do {\
- switch (encrypt) {\
- case _WEP40_:\
- case _WEP104_:\
- iv_len = 4;\
- icv_len = 4;\
- break;\
- case _TKIP_:\
- iv_len = 8;\
- icv_len = 4;\
- break;\
- case _AES_:\
- iv_len = 8;\
- icv_len = 8;\
- break;\
- case _SMS4_:\
- iv_len = 18;\
- icv_len = 16;\
- break;\
- default:\
- iv_len = 0;\
- icv_len = 0;\
- break;\
- } \
-} while (0)
-
-
-#define GET_TKIP_PN(iv, dot11txpn)\
-do {\
- dot11txpn._byte_.TSC0 = iv[2];\
- dot11txpn._byte_.TSC1 = iv[0];\
- dot11txpn._byte_.TSC2 = iv[4];\
- dot11txpn._byte_.TSC3 = iv[5];\
- dot11txpn._byte_.TSC4 = iv[6];\
- dot11txpn._byte_.TSC5 = iv[7];\
-} while (0)
-
-
-#define ROL32(A, n) (((A) << (n)) | (((A)>>(32-(n))) & ((1UL << (n)) - 1)))
-#define ROR32(A, n) ROL32((A), 32-(n))
+#define GET_ENCRY_ALGO(psecuritypriv, psta, encry_algo, bmcst) \
+ do { \
+ switch (psecuritypriv->dot11AuthAlgrthm) { \
+ case dot11AuthAlgrthm_Open: \
+ case dot11AuthAlgrthm_Shared: \
+ case dot11AuthAlgrthm_Auto: \
+ encry_algo = (u8)psecuritypriv->dot11PrivacyAlgrthm; \
+ break; \
+ case dot11AuthAlgrthm_8021X: \
+ if (bmcst) \
+ encry_algo = (u8)psecuritypriv \
+ ->dot118021XGrpPrivacy; \
+ else \
+ encry_algo = (u8)psta->dot118021XPrivacy; \
+ break; \
+ case dot11AuthAlgrthm_WAPI: \
+ encry_algo = (u8)psecuritypriv->dot11PrivacyAlgrthm; \
+ break; \
+ } \
+ } while (0)
+
+#define SET_ICE_IV_LEN(iv_len, icv_len, encrypt) \
+ do { \
+ switch (encrypt) { \
+ case _WEP40_: \
+ case _WEP104_: \
+ iv_len = 4; \
+ icv_len = 4; \
+ break; \
+ case _TKIP_: \
+ iv_len = 8; \
+ icv_len = 4; \
+ break; \
+ case _AES_: \
+ iv_len = 8; \
+ icv_len = 8; \
+ break; \
+ case _SMS4_: \
+ iv_len = 18; \
+ icv_len = 16; \
+ break; \
+ default: \
+ iv_len = 0; \
+ icv_len = 0; \
+ break; \
+ } \
+ } while (0)
+
+#define GET_TKIP_PN(iv, dot11txpn) \
+ do { \
+ dot11txpn._byte_.TSC0 = iv[2]; \
+ dot11txpn._byte_.TSC1 = iv[0]; \
+ dot11txpn._byte_.TSC2 = iv[4]; \
+ dot11txpn._byte_.TSC3 = iv[5]; \
+ dot11txpn._byte_.TSC4 = iv[6]; \
+ dot11txpn._byte_.TSC5 = iv[7]; \
+ } while (0)
+
+#define ROL32(A, n) (((A) << (n)) | (((A) >> (32 - (n))) & ((1UL << (n)) - 1)))
+#define ROR32(A, n) ROL32((A), 32 - (n))
struct mic_data {
- u32 K0, K1; /* Key */
- u32 L, R; /* Current state */
- u32 M; /* Message accumulator (single word) */
- u32 nBytesInM; /* # bytes in M */
+ u32 K0, K1; /* Key */
+ u32 L, R; /* Current state */
+ u32 M; /* Message accumulator (single word) */
+ u32 nBytesInM; /* # bytes in M */
};
/* ===== start - public domain SHA256 implementation ===== */
@@ -249,24 +244,19 @@ void rtw_secmicappendbyte(struct mic_data *pmicdata, u8 b);
void rtw_secmicappend(struct mic_data *pmicdata, u8 *src, u32 nBytes);
void rtw_secgetmic(struct mic_data *pmicdata, u8 *dst);
-void rtw_seccalctkipmic(
- u8 *key,
- u8 *header,
- u8 *data,
- u32 data_len,
- u8 *Miccode,
- u8 priority);
+void rtw_seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len,
+ u8 *Miccode, u8 priority);
u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe);
u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe);
-void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe);
+void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe);
-u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe);
-u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe);
-void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe);
+u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe);
+u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe);
+void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe);
u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe);
void rtw_sec_restore_wep_key(struct adapter *adapter);
u8 rtw_handle_tkip_countermeasure(struct adapter *adapter, const char *caller);
-#endif /* __RTL871X_SECURITY_H_ */
+#endif /* __RTL871X_SECURITY_H_ */
diff --git a/drivers/staging/rtl8723bs/include/rtw_version.h b/drivers/staging/rtl8723bs/include/rtw_version.h
index 55e907b097aef..008a74c2644ca 100644
--- a/drivers/staging/rtl8723bs/include/rtw_version.h
+++ b/drivers/staging/rtl8723bs/include/rtw_version.h
@@ -1,3 +1,3 @@
/* SPDX-License-Identifier: GPL-2.0 */
-#define DRIVERVERSION "v4.3.5.5_12290.20140916_BTCOEX20140507-4E40"
-#define BTCOEXVERSION "BTCOEX20140507-4E40"
+#define DRIVERVERSION "v4.3.5.5_12290.20140916_BTCOEX20140507-4E40"
+#define BTCOEXVERSION "BTCOEX20140507-4E40"
diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h
index f67cb22e3396f..480d5d3db5d2c 100644
--- a/drivers/staging/rtl8723bs/include/rtw_xmit.h
+++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h
@@ -9,73 +9,76 @@
#include <linux/completion.h>
-#define MAX_XMITBUF_SZ (20480) /* 20k */
+#define MAX_XMITBUF_SZ (20480) /* 20k */
-#define NR_XMITBUFF (16)
+#define NR_XMITBUFF (16)
#define XMITBUF_ALIGN_SZ 512
/* xmit extension buff definition */
-#define MAX_XMIT_EXTBUF_SZ (1536)
-#define NR_XMIT_EXTBUFF (32)
+#define MAX_XMIT_EXTBUF_SZ (1536)
+#define NR_XMIT_EXTBUFF (32)
-#define MAX_CMDBUF_SZ (5120) /* 4096) */
+#define MAX_CMDBUF_SZ (5120) /* 4096) */
-#define MAX_NUMBLKS (1)
+#define MAX_NUMBLKS (1)
#define XMIT_VO_QUEUE (0)
#define XMIT_VI_QUEUE (1)
#define XMIT_BE_QUEUE (2)
#define XMIT_BK_QUEUE (3)
-#define VO_QUEUE_INX 0
-#define VI_QUEUE_INX 1
-#define BE_QUEUE_INX 2
-#define BK_QUEUE_INX 3
-#define BCN_QUEUE_INX 4
-#define MGT_QUEUE_INX 5
-#define HIGH_QUEUE_INX 6
-
-#define HW_QUEUE_ENTRY 8
-
-#define WEP_IV(pattrib_iv, dot11txpn, keyidx)\
-do {\
- pattrib_iv[0] = dot11txpn._byte_.TSC0;\
- pattrib_iv[1] = dot11txpn._byte_.TSC1;\
- pattrib_iv[2] = dot11txpn._byte_.TSC2;\
- pattrib_iv[3] = ((keyidx & 0x3)<<6);\
- dot11txpn.val = (dot11txpn.val == 0xffffff) ? 0 : (dot11txpn.val + 1);\
-} while (0)
-
-
-#define TKIP_IV(pattrib_iv, dot11txpn, keyidx)\
-do {\
- pattrib_iv[0] = dot11txpn._byte_.TSC1;\
- pattrib_iv[1] = (dot11txpn._byte_.TSC1 | 0x20) & 0x7f;\
- pattrib_iv[2] = dot11txpn._byte_.TSC0;\
- pattrib_iv[3] = BIT(5) | ((keyidx & 0x3)<<6);\
- pattrib_iv[4] = dot11txpn._byte_.TSC2;\
- pattrib_iv[5] = dot11txpn._byte_.TSC3;\
- pattrib_iv[6] = dot11txpn._byte_.TSC4;\
- pattrib_iv[7] = dot11txpn._byte_.TSC5;\
- dot11txpn.val = dot11txpn.val == 0xffffffffffffULL ? 0 : (dot11txpn.val + 1);\
-} while (0)
-
-#define AES_IV(pattrib_iv, dot11txpn, keyidx)\
-do {\
- pattrib_iv[0] = dot11txpn._byte_.TSC0;\
- pattrib_iv[1] = dot11txpn._byte_.TSC1;\
- pattrib_iv[2] = 0;\
- pattrib_iv[3] = BIT(5) | ((keyidx & 0x3)<<6);\
- pattrib_iv[4] = dot11txpn._byte_.TSC2;\
- pattrib_iv[5] = dot11txpn._byte_.TSC3;\
- pattrib_iv[6] = dot11txpn._byte_.TSC4;\
- pattrib_iv[7] = dot11txpn._byte_.TSC5;\
- dot11txpn.val = dot11txpn.val == 0xffffffffffffULL ? 0 : (dot11txpn.val + 1);\
-} while (0)
-
-
-#define HWXMIT_ENTRY 4
+#define VO_QUEUE_INX 0
+#define VI_QUEUE_INX 1
+#define BE_QUEUE_INX 2
+#define BK_QUEUE_INX 3
+#define BCN_QUEUE_INX 4
+#define MGT_QUEUE_INX 5
+#define HIGH_QUEUE_INX 6
+
+#define HW_QUEUE_ENTRY 8
+
+#define WEP_IV(pattrib_iv, dot11txpn, keyidx) \
+ do { \
+ pattrib_iv[0] = dot11txpn._byte_.TSC0; \
+ pattrib_iv[1] = dot11txpn._byte_.TSC1; \
+ pattrib_iv[2] = dot11txpn._byte_.TSC2; \
+ pattrib_iv[3] = ((keyidx & 0x3) << 6); \
+ dot11txpn.val = \
+ (dot11txpn.val == 0xffffff) ? 0 : (dot11txpn.val + 1); \
+ } while (0)
+
+#define TKIP_IV(pattrib_iv, dot11txpn, keyidx) \
+ do { \
+ pattrib_iv[0] = dot11txpn._byte_.TSC1; \
+ pattrib_iv[1] = (dot11txpn._byte_.TSC1 | 0x20) & 0x7f; \
+ pattrib_iv[2] = dot11txpn._byte_.TSC0; \
+ pattrib_iv[3] = BIT(5) | ((keyidx & 0x3) << 6); \
+ pattrib_iv[4] = dot11txpn._byte_.TSC2; \
+ pattrib_iv[5] = dot11txpn._byte_.TSC3; \
+ pattrib_iv[6] = dot11txpn._byte_.TSC4; \
+ pattrib_iv[7] = dot11txpn._byte_.TSC5; \
+ dot11txpn.val = dot11txpn.val == 0xffffffffffffULL ? \
+ 0 : \
+ (dot11txpn.val + 1); \
+ } while (0)
+
+#define AES_IV(pattrib_iv, dot11txpn, keyidx) \
+ do { \
+ pattrib_iv[0] = dot11txpn._byte_.TSC0; \
+ pattrib_iv[1] = dot11txpn._byte_.TSC1; \
+ pattrib_iv[2] = 0; \
+ pattrib_iv[3] = BIT(5) | ((keyidx & 0x3) << 6); \
+ pattrib_iv[4] = dot11txpn._byte_.TSC2; \
+ pattrib_iv[5] = dot11txpn._byte_.TSC3; \
+ pattrib_iv[6] = dot11txpn._byte_.TSC4; \
+ pattrib_iv[7] = dot11txpn._byte_.TSC5; \
+ dot11txpn.val = dot11txpn.val == 0xffffffffffffULL ? \
+ 0 : \
+ (dot11txpn.val + 1); \
+ } while (0)
+
+#define HWXMIT_ENTRY 4
/* For Buffer Descriptor ring architecture */
#define TXDESC_SIZE 40
@@ -102,16 +105,16 @@ struct tx_desc {
union txdesc {
struct tx_desc txdesc;
- unsigned int value[TXDESC_SIZE>>2];
+ unsigned int value[TXDESC_SIZE >> 2];
};
-struct hw_xmit {
+struct hw_xmit {
/* spinlock_t xmit_lock; */
/* struct list_head pending; */
struct __queue *sta_queue;
/* struct hw_txqueue *phwtxqueue; */
/* signed int txcmdcnt; */
- int accnt;
+ int accnt;
};
/* reduce size */
@@ -122,12 +125,12 @@ struct pkt_attrib {
u8 dhcp_pkt;
u16 ether_type;
u16 seqnum;
- u16 pkt_hdrlen; /* the original 802.3 pkt header len */
- u16 hdrlen; /* the WLAN Header Len */
- u32 pktlen; /* the original 802.3 pkt raw_data len (not include ether_hdr data) */
+ u16 pkt_hdrlen; /* the original 802.3 pkt header len */
+ u16 hdrlen; /* the WLAN Header Len */
+ u32 pktlen; /* the original 802.3 pkt raw_data len (not include ether_hdr data) */
u32 last_txcmdsz;
u8 nr_frags;
- u8 encrypt; /* when 0 indicates no encryption; when non-zero, indicates the encryption algorithm */
+ u8 encrypt; /* when 0 indicates no encryption; when non-zero, indicates the encryption algorithm */
u8 iv_len;
u8 icv_len;
u8 iv[18];
@@ -135,7 +138,7 @@ struct pkt_attrib {
u8 priority;
u8 ack_policy;
u8 mac_id;
- u8 vcs_mode; /* virtual carrier sense method */
+ u8 vcs_mode; /* virtual carrier sense method */
u8 dst[ETH_ALEN];
u8 src[ETH_ALEN];
u8 ta[ETH_ALEN];
@@ -143,41 +146,40 @@ struct pkt_attrib {
u8 key_idx;
u8 qos_en;
u8 ht_en;
- u8 raid;/* rate adpative id */
+ u8 raid; /* rate adpative id */
u8 bwmode;
- u8 ch_offset;/* PRIME_CHNL_OFFSET */
- u8 sgi;/* short GI */
- u8 ampdu_en;/* tx ampdu enable */
+ u8 ch_offset; /* PRIME_CHNL_OFFSET */
+ u8 sgi; /* short GI */
+ u8 ampdu_en; /* tx ampdu enable */
u8 ampdu_spacing; /* ampdu_min_spacing for peer sta's rx */
- u8 mdata;/* more data bit */
- u8 pctrl;/* per packet txdesc control enable */
- u8 triggered;/* for ap mode handling Power Saving sta */
+ u8 mdata; /* more data bit */
+ u8 pctrl; /* per packet txdesc control enable */
+ u8 triggered; /* for ap mode handling Power Saving sta */
u8 qsel;
- u8 order;/* order bit */
+ u8 order; /* order bit */
u8 eosp;
u8 rate;
u8 intel_proxim;
u8 retry_ctrl;
- u8 mbssid;
+ u8 mbssid;
u8 ldpc;
u8 stbc;
struct sta_info *psta;
u8 rtsen;
u8 cts2self;
- union Keytype dot11tkiptxmickey;
+ union Keytype dot11tkiptxmickey;
/* union Keytype dot11tkiprxmickey; */
- union Keytype dot118021x_UncstKey;
+ union Keytype dot118021x_UncstKey;
u8 icmp_pkt;
-
};
-#define WLANHDR_OFFSET 64
+#define WLANHDR_OFFSET 64
-#define NULL_FRAMETAG (0x0)
-#define DATA_FRAMETAG 0x01
-#define MGNT_FRAMETAG 0x03
+#define NULL_FRAMETAG (0x0)
+#define DATA_FRAMETAG 0x01
+#define MGNT_FRAMETAG 0x03
enum {
XMITBUF_DATA = 0,
@@ -185,7 +187,7 @@ enum {
XMITBUF_CMD = 2,
};
-struct submit_ctx {
+struct submit_ctx {
unsigned long submit_time; /* */
u32 timeout_ms; /* <0: not synchronous, 0: wait forever, >0: up to ms waiting */
int status; /* status for operation */
@@ -208,14 +210,13 @@ enum {
RTW_SCTX_DONE_CMD_ERROR,
};
-
void rtw_sctx_init(struct submit_ctx *sctx, int timeout_ms);
int rtw_sctx_wait(struct submit_ctx *sctx);
void rtw_sctx_done_err(struct submit_ctx **sctx, int status);
void rtw_sctx_done(struct submit_ctx **sctx);
struct xmit_buf {
- struct list_head list;
+ struct list_head list;
struct adapter *padapter;
@@ -229,7 +230,7 @@ struct xmit_buf {
u16 flags;
u32 alloc_sz;
- u32 len;
+ u32 len;
struct submit_ctx *sctx;
@@ -242,15 +243,14 @@ struct xmit_buf {
u8 agg_num;
};
-
struct xmit_frame {
- struct list_head list;
+ struct list_head list;
struct pkt_attrib attrib;
struct sk_buff *pkt;
- int frame_tag;
+ int frame_tag;
struct adapter *padapter;
@@ -265,70 +265,60 @@ struct xmit_frame {
u8 *alloc_addr; /* the actual address this xmitframe allocated */
u8 ext_tag; /* 0:data, 1:mgmt */
-
};
struct tx_servq {
- struct list_head tx_pending;
- struct __queue sta_pending;
+ struct list_head tx_pending;
+ struct __queue sta_pending;
int qcnt;
};
-
struct sta_xmit_priv {
- spinlock_t lock;
- signed int option;
- signed int apsd_setting; /* When bit mask is on, the associated edca queue supports APSD. */
-
+ spinlock_t lock;
+ signed int option;
+ signed int
+ apsd_setting; /* When bit mask is on, the associated edca queue supports APSD. */
/* struct tx_servq blk_q[MAX_NUMBLKS]; */
- struct tx_servq be_q; /* priority == 0, 3 */
- struct tx_servq bk_q; /* priority == 1, 2 */
- struct tx_servq vi_q; /* priority == 4, 5 */
- struct tx_servq vo_q; /* priority == 6, 7 */
- struct list_head legacy_dz;
- struct list_head apsd;
+ struct tx_servq be_q; /* priority == 0, 3 */
+ struct tx_servq bk_q; /* priority == 1, 2 */
+ struct tx_servq vi_q; /* priority == 4, 5 */
+ struct tx_servq vo_q; /* priority == 6, 7 */
+ struct list_head legacy_dz;
+ struct list_head apsd;
u16 txseq_tid[16];
/* uint sta_tx_bytes; */
/* u64 sta_tx_pkts; */
/* uint sta_tx_fail; */
-
-
};
-
-struct hw_txqueue {
- volatile signed int head;
- volatile signed int tail;
- volatile signed int free_sz; /* in units of 64 bytes */
- volatile signed int free_cmdsz;
- volatile signed int txsz[8];
- uint ff_hwaddr;
- uint cmd_hwaddr;
- signed int ac_tag;
-};
-
-enum cmdbuf_type {
- CMDBUF_BEACON = 0x00,
- CMDBUF_RSVD,
- CMDBUF_MAX
+struct hw_txqueue {
+ volatile signed int head;
+ volatile signed int tail;
+ volatile signed int free_sz; /* in units of 64 bytes */
+ volatile signed int free_cmdsz;
+ volatile signed int txsz[8];
+ uint ff_hwaddr;
+ uint cmd_hwaddr;
+ signed int ac_tag;
};
-struct xmit_priv {
+enum cmdbuf_type { CMDBUF_BEACON = 0x00, CMDBUF_RSVD, CMDBUF_MAX };
- spinlock_t lock;
+struct xmit_priv {
+ spinlock_t lock;
struct completion xmit_comp;
struct completion terminate_xmitthread_comp;
/* struct __queue blk_strms[MAX_NUMBLKS]; */
- struct __queue be_pending;
- struct __queue bk_pending;
- struct __queue vi_pending;
- struct __queue vo_pending;
- struct __queue bm_pending;
+ struct __queue be_pending;
+ struct __queue bk_pending;
+ struct __queue vi_pending;
+ struct __queue vo_pending;
+ struct __queue bm_pending;
/* struct __queue legacy_dz_queue; */
/* struct __queue apsd_queue; */
@@ -336,7 +326,7 @@ struct xmit_priv {
u8 *pallocated_frame_buf;
u8 *pxmit_frame_buf;
uint free_xmitframe_cnt;
- struct __queue free_xmit_queue;
+ struct __queue free_xmit_queue;
/* uint mapping_addr; */
/* uint pkt_sz; */
@@ -352,24 +342,25 @@ struct xmit_priv {
/* struct hw_txqueue vo_txqueue; */
/* struct hw_txqueue bmc_txqueue; */
- uint frag_len;
+ uint frag_len;
- struct adapter *adapter;
+ struct adapter *adapter;
- u8 vcs_setting;
+ u8 vcs_setting;
u8 vcs;
u8 vcs_type;
/* u16 rts_thresh; */
- u64 tx_bytes;
- u64 tx_pkts;
- u64 tx_drop;
- u64 last_tx_pkts;
+ u64 tx_bytes;
+ u64 tx_pkts;
+ u64 tx_drop;
+ u64 last_tx_pkts;
struct hw_xmit *hwxmits;
u8 hwxmit_entry;
- u8 wmm_para_seq[4];/* sequence for wmm ac parameter strength from large to small. it's value is 0->vo, 1->vi, 2->be, 3->bk. */
+ u8 wmm_para_seq
+ [4]; /* sequence for wmm ac parameter strength from large to small. it's value is 0->vo, 1->vi, 2->be, 3->bk. */
void *SdioXmitThread;
struct completion SdioXmitStart;
@@ -386,11 +377,11 @@ struct xmit_priv {
u8 *pxmit_extbuf;
uint free_xmit_extbuf_cnt;
- struct xmit_buf pcmd_xmitbuf[CMDBUF_MAX];
+ struct xmit_buf pcmd_xmitbuf[CMDBUF_MAX];
u16 nqos_ssn;
- int ack_tx;
+ int ack_tx;
struct mutex ack_tx_mutex;
struct submit_ctx ack_tx_ops;
u8 seq_no;
@@ -398,68 +389,82 @@ struct xmit_priv {
};
extern struct xmit_frame *__rtw_alloc_cmdxmitframe(struct xmit_priv *pxmitpriv,
- enum cmdbuf_type buf_type);
+ enum cmdbuf_type buf_type);
#define rtw_alloc_cmdxmitframe(p) __rtw_alloc_cmdxmitframe(p, CMDBUF_RSVD)
#define rtw_alloc_bcnxmitframe(p) __rtw_alloc_cmdxmitframe(p, CMDBUF_BEACON)
extern struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv);
-extern s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf);
+extern s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv,
+ struct xmit_buf *pxmitbuf);
extern struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv);
-extern s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf);
-
-void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz);
-extern void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len);
-extern s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib);
+extern s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv,
+ struct xmit_buf *pxmitbuf);
+
+void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe,
+ int sz);
+extern void rtw_update_protection(struct adapter *padapter, u8 *ie,
+ uint ie_len);
+extern s32 rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr,
+ struct pkt_attrib *pattrib);
extern s32 rtw_put_snap(u8 *data, u16 h_proto);
extern struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv);
struct xmit_frame *rtw_alloc_xmitframe_ext(struct xmit_priv *pxmitpriv);
struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv);
-extern s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe);
-extern void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue);
-struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac);
-int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe);
+extern s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv,
+ struct xmit_frame *pxmitframe);
+extern void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv,
+ struct __queue *pframequeue);
+struct tx_servq *rtw_get_sta_pending(struct adapter *padapter,
+ struct sta_info *psta, signed int up,
+ u8 *ac);
+int rtw_xmitframe_enqueue(struct adapter *padapter,
+ struct xmit_frame *pxmitframe);
extern u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib);
#define rtw_wlan_pkt_size(f) rtw_calculate_wlan_pkt_size_by_attribue(&f->attrib)
-extern s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe);
-extern s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe);
+extern s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt,
+ struct xmit_frame *pxmitframe);
+extern s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter,
+ struct sk_buff *pkt,
+ struct xmit_frame *pxmitframe);
s32 _rtw_init_hw_txqueue(struct hw_txqueue *phw_txqueue, u8 ac_tag);
void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv);
-
s32 rtw_txframes_pending(struct adapter *padapter);
void rtw_init_hwxmits(struct hw_xmit *phwxmit, signed int entry);
-
s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter);
void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv);
-
void rtw_free_hwxmits(struct adapter *padapter);
-
s32 rtw_xmit(struct adapter *padapter, struct sk_buff **pkt);
bool xmitframe_hiq_filter(struct xmit_frame *xmitframe);
-signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xmit_frame *pxmitframe);
+signed int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter,
+ struct xmit_frame *pxmitframe);
void stop_sta_xmit(struct adapter *padapter, struct sta_info *psta);
void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta);
-void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *psta);
+void xmit_delivery_enabled_frames(struct adapter *padapter,
+ struct sta_info *psta);
u8 query_ra_short_GI(struct sta_info *psta);
u8 qos_acm(u8 acm_mask, u8 priority);
-void enqueue_pending_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf);
-void enqueue_pending_xmitbuf_to_head(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf);
+void enqueue_pending_xmitbuf(struct xmit_priv *pxmitpriv,
+ struct xmit_buf *pxmitbuf);
+void enqueue_pending_xmitbuf_to_head(struct xmit_priv *pxmitpriv,
+ struct xmit_buf *pxmitbuf);
struct xmit_buf *dequeue_pending_xmitbuf(struct xmit_priv *pxmitpriv);
-struct xmit_buf *dequeue_pending_xmitbuf_under_survey(struct xmit_priv *pxmitpriv);
-signed int check_pending_xmitbuf(struct xmit_priv *pxmitpriv);
-int rtw_xmit_thread(void *context);
+struct xmit_buf *
+dequeue_pending_xmitbuf_under_survey(struct xmit_priv *pxmitpriv);
+signed int check_pending_xmitbuf(struct xmit_priv *pxmitpriv);
+int rtw_xmit_thread(void *context);
-u32 rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe);
+u32 rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe);
int rtw_ack_tx_wait(struct xmit_priv *pxmitpriv, u32 timeout_ms);
void rtw_ack_tx_done(struct xmit_priv *pxmitpriv, int status);
@@ -467,4 +472,4 @@ void rtw_ack_tx_done(struct xmit_priv *pxmitpriv, int status);
/* include after declaring struct xmit_buf, in order to avoid warning */
#include <xmit_osdep.h>
-#endif /* _RTL871X_XMIT_H_ */
+#endif /* _RTL871X_XMIT_H_ */
diff --git a/drivers/staging/rtl8723bs/include/sdio_ops.h b/drivers/staging/rtl8723bs/include/sdio_ops.h
index 252b0e1646e51..0f89e4765c3be 100644
--- a/drivers/staging/rtl8723bs/include/sdio_ops.h
+++ b/drivers/staging/rtl8723bs/include/sdio_ops.h
@@ -7,7 +7,6 @@
#ifndef __SDIO_OPS_H__
#define __SDIO_OPS_H__
-
#include <sdio_ops_linux.h>
extern void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops);
@@ -16,8 +15,10 @@ extern void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops);
/* extern void sdio_func1cmd52_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem); */
extern u8 SdioLocalCmd52Read1Byte(struct adapter *padapter, u32 addr);
extern void SdioLocalCmd52Write1Byte(struct adapter *padapter, u32 addr, u8 v);
-extern s32 sdio_local_read(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf);
-extern s32 sdio_local_write(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf);
+extern s32 sdio_local_read(struct adapter *padapter, u32 addr, u32 cnt,
+ u8 *pbuf);
+extern s32 sdio_local_write(struct adapter *padapter, u32 addr, u32 cnt,
+ u8 *pbuf);
u32 _sdio_read32(struct adapter *padapter, u32 addr);
s32 _sdio_write32(struct adapter *padapter, u32 addr, u32 val);
diff --git a/drivers/staging/rtl8723bs/include/sdio_ops_linux.h b/drivers/staging/rtl8723bs/include/sdio_ops_linux.h
index cd67a7201065f..c02c2d9e98caf 100644
--- a/drivers/staging/rtl8723bs/include/sdio_ops_linux.h
+++ b/drivers/staging/rtl8723bs/include/sdio_ops_linux.h
@@ -7,9 +7,9 @@
#ifndef __SDIO_OPS_LINUX_H__
#define __SDIO_OPS_LINUX_H__
-#define SDIO_ERR_VAL8 0xEA
-#define SDIO_ERR_VAL16 0xEAEA
-#define SDIO_ERR_VAL32 0xEAEAEAEA
+#define SDIO_ERR_VAL8 0xEA
+#define SDIO_ERR_VAL16 0xEAEA
+#define SDIO_ERR_VAL32 0xEAEAEAEA
s32 _sd_cmd52_read(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pdata);
s32 _sd_cmd52_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pdata);
diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h
index 63343998266ad..e3e87cee83e86 100644
--- a/drivers/staging/rtl8723bs/include/sta_info.h
+++ b/drivers/staging/rtl8723bs/include/sta_info.h
@@ -7,18 +7,16 @@
#ifndef __STA_INFO_H_
#define __STA_INFO_H_
-
-#define IBSS_START_MAC_ID 2
+#define IBSS_START_MAC_ID 2
#define NUM_STA 32
#define NUM_ACL 16
-
/* if mode == 0, then the sta is allowed once the addr is hit. */
/* if mode == 1, then the sta is rejected once the addr is non-hit. */
struct rtw_wlan_acl_node {
struct list_head list;
- u8 addr[ETH_ALEN];
- u8 valid;
+ u8 addr[ETH_ALEN];
+ u8 valid;
};
/* mode = 0, disable */
@@ -28,50 +26,48 @@ struct wlan_acl_pool {
int mode;
int num;
struct rtw_wlan_acl_node aclnode[NUM_ACL];
- struct __queue acl_node_q;
+ struct __queue acl_node_q;
};
struct rssi_sta {
- s32 UndecoratedSmoothedPWDB;
- s32 UndecoratedSmoothedCCK;
- s32 UndecoratedSmoothedOFDM;
- u64 PacketMap;
+ s32 UndecoratedSmoothedPWDB;
+ s32 UndecoratedSmoothedCCK;
+ s32 UndecoratedSmoothedOFDM;
+ u64 PacketMap;
u8 ValidBit;
};
-struct stainfo_stats {
-
+struct stainfo_stats {
u64 rx_mgnt_pkts;
- u64 rx_beacon_pkts;
- u64 rx_probereq_pkts;
- u64 rx_probersp_pkts;
- u64 rx_probersp_bm_pkts;
- u64 rx_probersp_uo_pkts;
+ u64 rx_beacon_pkts;
+ u64 rx_probereq_pkts;
+ u64 rx_probersp_pkts;
+ u64 rx_probersp_bm_pkts;
+ u64 rx_probersp_uo_pkts;
u64 rx_ctrl_pkts;
u64 rx_data_pkts;
- u64 last_rx_mgnt_pkts;
- u64 last_rx_beacon_pkts;
- u64 last_rx_probereq_pkts;
- u64 last_rx_probersp_pkts;
- u64 last_rx_probersp_bm_pkts;
- u64 last_rx_probersp_uo_pkts;
- u64 last_rx_ctrl_pkts;
- u64 last_rx_data_pkts;
-
- u64 rx_bytes;
- u64 rx_drops;
-
- u64 tx_pkts;
- u64 tx_bytes;
- u64 tx_drops;
+ u64 last_rx_mgnt_pkts;
+ u64 last_rx_beacon_pkts;
+ u64 last_rx_probereq_pkts;
+ u64 last_rx_probersp_pkts;
+ u64 last_rx_probersp_bm_pkts;
+ u64 last_rx_probersp_uo_pkts;
+ u64 last_rx_ctrl_pkts;
+ u64 last_rx_data_pkts;
+
+ u64 rx_bytes;
+ u64 rx_drops;
+
+ u64 tx_pkts;
+ u64 tx_bytes;
+ u64 tx_drops;
};
struct sta_info {
-
- spinlock_t lock;
- struct list_head list; /* free_sta_queue */
- struct list_head hash_list; /* sta_hash */
+ spinlock_t lock;
+ struct list_head list; /* free_sta_queue */
+ struct list_head hash_list; /* sta_hash */
struct adapter *padapter;
struct sta_xmit_priv sta_xmitpriv;
@@ -87,19 +83,18 @@ struct sta_info {
u8 hwaddr[ETH_ALEN];
bool ieee8021x_blocked;
- uint dot118021XPrivacy; /* aes, tkip... */
- union Keytype dot11tkiptxmickey;
- union Keytype dot11tkiprxmickey;
- union Keytype dot118021x_UncstKey;
- union pn48 dot11txpn; /* PN48 used for Unicast xmit */
- union pn48 dot11wtxpn; /* PN48 used for Unicast mgmt xmit. */
- union pn48 dot11rxpn; /* PN48 used for Unicast recv. */
-
+ uint dot118021XPrivacy; /* aes, tkip... */
+ union Keytype dot11tkiptxmickey;
+ union Keytype dot11tkiprxmickey;
+ union Keytype dot118021x_UncstKey;
+ union pn48 dot11txpn; /* PN48 used for Unicast xmit */
+ union pn48 dot11wtxpn; /* PN48 used for Unicast mgmt xmit. */
+ union pn48 dot11rxpn; /* PN48 used for Unicast recv. */
u8 bssrateset[16];
u32 bssratelen;
- s32 rssi;
- s32 signal_quality;
+ s32 rssi;
+ s32 signal_quality;
u8 cts2self;
u8 rtsen;
@@ -107,7 +102,7 @@ struct sta_info {
u8 raid;
u8 init_rate;
u32 ra_mask;
- u8 wireless_mode; /* NETWORK_TYPE */
+ u8 wireless_mode; /* NETWORK_TYPE */
u8 bw_mode;
u8 ldpc;
@@ -122,10 +117,9 @@ struct sta_info {
struct recv_reorder_ctrl recvreorder_ctrl[16];
/* for A-MPDU Tx */
- /* unsigned char ampdu_txen_bitmap; */
+ /* unsigned char ampdu_txen_bitmap; */
u16 BA_starting_seqctrl[16];
-
struct ht_priv htpriv;
/* Notes: */
@@ -148,8 +142,8 @@ struct sta_info {
u16 capability;
int flags;
- int dot8021xalg;/* 0:disable, 1:psk, 2:802.1x */
- int wpa_psk;/* 0:disable, bit(0): WPA, bit(1):WPA2 */
+ int dot8021xalg; /* 0:disable, 1:psk, 2:802.1x */
+ int wpa_psk; /* 0:disable, bit(0): WPA, bit(1):WPA2 */
int wpa_group_cipher;
int wpa2_group_cipher;
int wpa_pairwise_cipher;
@@ -170,7 +164,7 @@ struct sta_info {
u8 qos_info;
u8 max_sp_len;
- u8 uapsd_bk;/* BIT(0): Delivery enabled, BIT(1): Trigger enabled */
+ u8 uapsd_bk; /* BIT(0): Delivery enabled, BIT(1): Trigger enabled */
u8 uapsd_be;
u8 uapsd_vi;
u8 uapsd_vo;
@@ -186,7 +180,7 @@ struct sta_info {
u32 assoc_req_len;
/* for DM */
- struct rssi_sta rssi_stat;
+ struct rssi_sta rssi_stat;
/* ODM_STA_INFO_T */
/* ================ODM Relative Info ======================= */
@@ -196,16 +190,16 @@ struct sta_info {
/* 2011/10/20 MH Add for ODM STA info. */
/* */
/* Driver Write */
- u8 bValid; /* record the sta status link or not? */
- u8 IOTPeer; /* Enum value. HT_IOT_PEER_E */
+ u8 bValid; /* record the sta status link or not? */
+ u8 IOTPeer; /* Enum value. HT_IOT_PEER_E */
/* ODM Write */
/* 1 PHY_STATUS_INFO */
- u8 RSSI_Path[4]; /* */
+ u8 RSSI_Path[4]; /* */
u8 RSSI_Ave;
u8 RXEVM[4];
u8 RXSNR[4];
- u8 rssi_level; /* for Refresh RA mask */
+ u8 rssi_level; /* for Refresh RA mask */
/* ODM Write */
/* 1 TX_INFO (may changed by IC) */
/* TX_INFO_T pTxInfo; Define in IC folder. Move lower layer. */
@@ -217,51 +211,51 @@ struct sta_info {
u16 RxMgmtFrameSeqNum;
};
-#define sta_rx_pkts(sta) \
- (sta->sta_stats.rx_mgnt_pkts \
- + sta->sta_stats.rx_ctrl_pkts \
- + sta->sta_stats.rx_data_pkts)
+#define sta_rx_pkts(sta) \
+ (sta->sta_stats.rx_mgnt_pkts + sta->sta_stats.rx_ctrl_pkts + \
+ sta->sta_stats.rx_data_pkts)
-#define sta_rx_data_pkts(sta) \
- (sta->sta_stats.rx_data_pkts)
+#define sta_rx_data_pkts(sta) (sta->sta_stats.rx_data_pkts)
-#define sta_last_rx_data_pkts(sta) \
- (sta->sta_stats.last_rx_data_pkts)
+#define sta_last_rx_data_pkts(sta) (sta->sta_stats.last_rx_data_pkts)
-#define sta_rx_beacon_pkts(sta) \
- (sta->sta_stats.rx_beacon_pkts)
+#define sta_rx_beacon_pkts(sta) (sta->sta_stats.rx_beacon_pkts)
-#define sta_last_rx_beacon_pkts(sta) \
- (sta->sta_stats.last_rx_beacon_pkts)
+#define sta_last_rx_beacon_pkts(sta) (sta->sta_stats.last_rx_beacon_pkts)
-#define sta_rx_probersp_pkts(sta) \
- (sta->sta_stats.rx_probersp_pkts)
+#define sta_rx_probersp_pkts(sta) (sta->sta_stats.rx_probersp_pkts)
-#define sta_last_rx_probersp_pkts(sta) \
- (sta->sta_stats.last_rx_probersp_pkts)
+#define sta_last_rx_probersp_pkts(sta) (sta->sta_stats.last_rx_probersp_pkts)
-#define sta_update_last_rx_pkts(sta) \
- do { \
- sta->sta_stats.last_rx_mgnt_pkts = sta->sta_stats.rx_mgnt_pkts; \
- sta->sta_stats.last_rx_beacon_pkts = sta->sta_stats.rx_beacon_pkts; \
- sta->sta_stats.last_rx_probereq_pkts = sta->sta_stats.rx_probereq_pkts; \
- sta->sta_stats.last_rx_probersp_pkts = sta->sta_stats.rx_probersp_pkts; \
- sta->sta_stats.last_rx_probersp_bm_pkts = sta->sta_stats.rx_probersp_bm_pkts; \
- sta->sta_stats.last_rx_probersp_uo_pkts = sta->sta_stats.rx_probersp_uo_pkts; \
- sta->sta_stats.last_rx_ctrl_pkts = sta->sta_stats.rx_ctrl_pkts; \
- sta->sta_stats.last_rx_data_pkts = sta->sta_stats.rx_data_pkts; \
+#define sta_update_last_rx_pkts(sta) \
+ do { \
+ sta->sta_stats.last_rx_mgnt_pkts = \
+ sta->sta_stats.rx_mgnt_pkts; \
+ sta->sta_stats.last_rx_beacon_pkts = \
+ sta->sta_stats.rx_beacon_pkts; \
+ sta->sta_stats.last_rx_probereq_pkts = \
+ sta->sta_stats.rx_probereq_pkts; \
+ sta->sta_stats.last_rx_probersp_pkts = \
+ sta->sta_stats.rx_probersp_pkts; \
+ sta->sta_stats.last_rx_probersp_bm_pkts = \
+ sta->sta_stats.rx_probersp_bm_pkts; \
+ sta->sta_stats.last_rx_probersp_uo_pkts = \
+ sta->sta_stats.rx_probersp_uo_pkts; \
+ sta->sta_stats.last_rx_ctrl_pkts = \
+ sta->sta_stats.rx_ctrl_pkts; \
+ sta->sta_stats.last_rx_data_pkts = \
+ sta->sta_stats.rx_data_pkts; \
} while (0)
#define STA_PKTS_FMT "(m:%llu, c:%llu, d:%llu)"
-struct sta_priv {
-
+struct sta_priv {
u8 *pallocated_stainfo_buf;
u8 *pstainfo_buf;
- struct __queue free_sta_queue;
+ struct __queue free_sta_queue;
spinlock_t sta_hash_lock;
- struct list_head sta_hash[NUM_STA];
+ struct list_head sta_hash[NUM_STA];
int asoc_sta_count;
struct __queue sleep_q;
struct __queue wakeup_q;
@@ -275,7 +269,7 @@ struct sta_priv {
u8 asoc_list_cnt;
u8 auth_list_cnt;
- unsigned int auth_to; /* sec, time to expire in authenticating. */
+ unsigned int auth_to; /* sec, time to expire in authenticating. */
unsigned int assoc_to; /* sec, time to expire before associating. */
unsigned int expire_to; /* sec , time to expire after associated. */
@@ -285,15 +279,14 @@ struct sta_priv {
*/
struct sta_info *sta_aid[NUM_STA];
- u16 sta_dz_bitmap;/* only support for 15 stations, aid bitmap for sleeping stations. */
- u16 tim_bitmap;/* only support 15 stations, aid = 0~15 mapping bit0~bit15 */
+ u16 sta_dz_bitmap; /* only support for 15 stations, aid bitmap for sleeping stations. */
+ u16 tim_bitmap; /* only support 15 stations, aid = 0~15 mapping bit0~bit15 */
u16 max_num_sta;
struct wlan_acl_pool acl_list;
};
-
static inline u32 wifi_mac_hash(u8 *mac)
{
u32 x;
@@ -306,20 +299,21 @@ static inline u32 wifi_mac_hash(u8 *mac)
x = (x << 2) ^ mac[5];
x ^= x >> 8;
- x = x & (NUM_STA - 1);
+ x = x & (NUM_STA - 1);
return x;
}
-
extern u32 _rtw_init_sta_priv(struct sta_priv *pstapriv);
extern u32 _rtw_free_sta_priv(struct sta_priv *pstapriv);
#define stainfo_offset_valid(offset) (offset < NUM_STA && offset >= 0)
int rtw_stainfo_offset(struct sta_priv *stapriv, struct sta_info *sta);
-struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv, int offset);
+struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv,
+ int offset);
-extern struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr);
+extern struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv,
+ u8 *hwaddr);
extern u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta);
extern void rtw_free_all_stainfo(struct adapter *padapter);
extern struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr);
diff --git a/drivers/staging/rtl8723bs/include/wifi.h b/drivers/staging/rtl8723bs/include/wifi.h
index c8844e2bf7b45..f7c0c0256041f 100644
--- a/drivers/staging/rtl8723bs/include/wifi.h
+++ b/drivers/staging/rtl8723bs/include/wifi.h
@@ -7,187 +7,171 @@
#ifndef _WIFI_H_
#define _WIFI_H_
-#define WLAN_HDR_A3_LEN 24
-#define WLAN_HDR_A3_QOS_LEN 26
+#define WLAN_HDR_A3_LEN 24
+#define WLAN_HDR_A3_QOS_LEN 26
-#define WLAN_WMM_LEN 24
+#define WLAN_WMM_LEN 24
/* This value is tested by WiFi 11n Test Plan 5.2.3. */
/* This test verifies the WLAN NIC can update the NAV through sending the CTS with large duration. */
-#define WiFiNavUpperUs 30000 /* 30 ms */
+#define WiFiNavUpperUs 30000 /* 30 ms */
enum {
- WIFI_MGT_TYPE = (0),
- WIFI_CTRL_TYPE = (BIT(2)),
- WIFI_DATA_TYPE = (BIT(3)),
- WIFI_QOS_DATA_TYPE = (BIT(7)|BIT(3)), /* QoS Data */
+ WIFI_MGT_TYPE = (0),
+ WIFI_CTRL_TYPE = (BIT(2)),
+ WIFI_DATA_TYPE = (BIT(3)),
+ WIFI_QOS_DATA_TYPE = (BIT(7) | BIT(3)), /* QoS Data */
};
enum {
- /* below is for mgt frame */
- WIFI_ASSOCREQ = (0 | WIFI_MGT_TYPE),
- WIFI_ASSOCRSP = (BIT(4) | WIFI_MGT_TYPE),
- WIFI_REASSOCREQ = (BIT(5) | WIFI_MGT_TYPE),
- WIFI_REASSOCRSP = (BIT(5) | BIT(4) | WIFI_MGT_TYPE),
- WIFI_PROBEREQ = (BIT(6) | WIFI_MGT_TYPE),
- WIFI_PROBERSP = (BIT(6) | BIT(4) | WIFI_MGT_TYPE),
- WIFI_BEACON = (BIT(7) | WIFI_MGT_TYPE),
- WIFI_ATIM = (BIT(7) | BIT(4) | WIFI_MGT_TYPE),
- WIFI_DISASSOC = (BIT(7) | BIT(5) | WIFI_MGT_TYPE),
- WIFI_AUTH = (BIT(7) | BIT(5) | BIT(4) | WIFI_MGT_TYPE),
- WIFI_DEAUTH = (BIT(7) | BIT(6) | WIFI_MGT_TYPE),
- WIFI_ACTION = (BIT(7) | BIT(6) | BIT(4) | WIFI_MGT_TYPE),
- WIFI_ACTION_NOACK = (BIT(7) | BIT(6) | BIT(5) | WIFI_MGT_TYPE),
-
- /* below is for control frame */
- WIFI_NDPA = (BIT(6) | BIT(4) | WIFI_CTRL_TYPE),
- WIFI_PSPOLL = (BIT(7) | BIT(5) | WIFI_CTRL_TYPE),
- WIFI_RTS = (BIT(7) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE),
- WIFI_CTS = (BIT(7) | BIT(6) | WIFI_CTRL_TYPE),
- WIFI_ACK = (BIT(7) | BIT(6) | BIT(4) | WIFI_CTRL_TYPE),
- WIFI_CFEND = (BIT(7) | BIT(6) | BIT(5) | WIFI_CTRL_TYPE),
- WIFI_CFEND_CFACK = (BIT(7) | BIT(6) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE),
-
- /* below is for data frame */
- WIFI_DATA = (0 | WIFI_DATA_TYPE),
- WIFI_DATA_CFACK = (BIT(4) | WIFI_DATA_TYPE),
- WIFI_DATA_CFPOLL = (BIT(5) | WIFI_DATA_TYPE),
- WIFI_DATA_CFACKPOLL = (BIT(5) | BIT(4) | WIFI_DATA_TYPE),
- WIFI_DATA_NULL = (BIT(6) | WIFI_DATA_TYPE),
- WIFI_CF_ACK = (BIT(6) | BIT(4) | WIFI_DATA_TYPE),
- WIFI_CF_POLL = (BIT(6) | BIT(5) | WIFI_DATA_TYPE),
- WIFI_CF_ACKPOLL = (BIT(6) | BIT(5) | BIT(4) | WIFI_DATA_TYPE),
- WIFI_QOS_DATA_NULL = (BIT(6) | WIFI_QOS_DATA_TYPE),
+ /* below is for mgt frame */
+ WIFI_ASSOCREQ = (0 | WIFI_MGT_TYPE),
+ WIFI_ASSOCRSP = (BIT(4) | WIFI_MGT_TYPE),
+ WIFI_REASSOCREQ = (BIT(5) | WIFI_MGT_TYPE),
+ WIFI_REASSOCRSP = (BIT(5) | BIT(4) | WIFI_MGT_TYPE),
+ WIFI_PROBEREQ = (BIT(6) | WIFI_MGT_TYPE),
+ WIFI_PROBERSP = (BIT(6) | BIT(4) | WIFI_MGT_TYPE),
+ WIFI_BEACON = (BIT(7) | WIFI_MGT_TYPE),
+ WIFI_ATIM = (BIT(7) | BIT(4) | WIFI_MGT_TYPE),
+ WIFI_DISASSOC = (BIT(7) | BIT(5) | WIFI_MGT_TYPE),
+ WIFI_AUTH = (BIT(7) | BIT(5) | BIT(4) | WIFI_MGT_TYPE),
+ WIFI_DEAUTH = (BIT(7) | BIT(6) | WIFI_MGT_TYPE),
+ WIFI_ACTION = (BIT(7) | BIT(6) | BIT(4) | WIFI_MGT_TYPE),
+ WIFI_ACTION_NOACK = (BIT(7) | BIT(6) | BIT(5) | WIFI_MGT_TYPE),
+
+ /* below is for control frame */
+ WIFI_NDPA = (BIT(6) | BIT(4) | WIFI_CTRL_TYPE),
+ WIFI_PSPOLL = (BIT(7) | BIT(5) | WIFI_CTRL_TYPE),
+ WIFI_RTS = (BIT(7) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE),
+ WIFI_CTS = (BIT(7) | BIT(6) | WIFI_CTRL_TYPE),
+ WIFI_ACK = (BIT(7) | BIT(6) | BIT(4) | WIFI_CTRL_TYPE),
+ WIFI_CFEND = (BIT(7) | BIT(6) | BIT(5) | WIFI_CTRL_TYPE),
+ WIFI_CFEND_CFACK = (BIT(7) | BIT(6) | BIT(5) | BIT(4) | WIFI_CTRL_TYPE),
+
+ /* below is for data frame */
+ WIFI_DATA = (0 | WIFI_DATA_TYPE),
+ WIFI_DATA_CFACK = (BIT(4) | WIFI_DATA_TYPE),
+ WIFI_DATA_CFPOLL = (BIT(5) | WIFI_DATA_TYPE),
+ WIFI_DATA_CFACKPOLL = (BIT(5) | BIT(4) | WIFI_DATA_TYPE),
+ WIFI_DATA_NULL = (BIT(6) | WIFI_DATA_TYPE),
+ WIFI_CF_ACK = (BIT(6) | BIT(4) | WIFI_DATA_TYPE),
+ WIFI_CF_POLL = (BIT(6) | BIT(5) | WIFI_DATA_TYPE),
+ WIFI_CF_ACKPOLL = (BIT(6) | BIT(5) | BIT(4) | WIFI_DATA_TYPE),
+ WIFI_QOS_DATA_NULL = (BIT(6) | WIFI_QOS_DATA_TYPE),
};
-#define _TO_DS_ BIT(8)
-#define _FROM_DS_ BIT(9)
-#define _MORE_FRAG_ BIT(10)
-#define _RETRY_ BIT(11)
-#define _PWRMGT_ BIT(12)
-#define _MORE_DATA_ BIT(13)
-#define _PRIVACY_ BIT(14)
-#define _ORDER_ BIT(15)
+#define _TO_DS_ BIT(8)
+#define _FROM_DS_ BIT(9)
+#define _MORE_FRAG_ BIT(10)
+#define _RETRY_ BIT(11)
+#define _PWRMGT_ BIT(12)
+#define _MORE_DATA_ BIT(13)
+#define _PRIVACY_ BIT(14)
+#define _ORDER_ BIT(15)
-#define SetToDs(pbuf) \
- (*(__le16 *)(pbuf) |= cpu_to_le16(_TO_DS_))
+#define SetToDs(pbuf) (*(__le16 *)(pbuf) |= cpu_to_le16(_TO_DS_))
-#define GetToDs(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_TO_DS_)) != 0)
+#define GetToDs(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_TO_DS_)) != 0)
-#define SetFrDs(pbuf) \
- (*(__le16 *)(pbuf) |= cpu_to_le16(_FROM_DS_))
+#define SetFrDs(pbuf) (*(__le16 *)(pbuf) |= cpu_to_le16(_FROM_DS_))
-#define GetFrDs(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_FROM_DS_)) != 0)
+#define GetFrDs(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_FROM_DS_)) != 0)
-#define get_tofr_ds(pframe) ((GetToDs(pframe) << 1) | GetFrDs(pframe))
+#define get_tofr_ds(pframe) ((GetToDs(pframe) << 1) | GetFrDs(pframe))
-#define SetMFrag(pbuf) \
- (*(__le16 *)(pbuf) |= cpu_to_le16(_MORE_FRAG_))
+#define SetMFrag(pbuf) (*(__le16 *)(pbuf) |= cpu_to_le16(_MORE_FRAG_))
-#define GetMFrag(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_MORE_FRAG_)) != 0)
+#define GetMFrag(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_MORE_FRAG_)) != 0)
-#define ClearMFrag(pbuf) \
- (*(__le16 *)(pbuf) &= (~cpu_to_le16(_MORE_FRAG_)))
+#define ClearMFrag(pbuf) (*(__le16 *)(pbuf) &= (~cpu_to_le16(_MORE_FRAG_)))
-#define GetRetry(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_RETRY_)) != 0)
+#define GetRetry(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_RETRY_)) != 0)
-#define ClearRetry(pbuf) \
- (*(__le16 *)(pbuf) &= (~cpu_to_le16(_RETRY_)))
+#define ClearRetry(pbuf) (*(__le16 *)(pbuf) &= (~cpu_to_le16(_RETRY_)))
-#define SetPwrMgt(pbuf) \
- (*(__le16 *)(pbuf) |= cpu_to_le16(_PWRMGT_))
+#define SetPwrMgt(pbuf) (*(__le16 *)(pbuf) |= cpu_to_le16(_PWRMGT_))
-#define GetPwrMgt(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_PWRMGT_)) != 0)
+#define GetPwrMgt(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_PWRMGT_)) != 0)
-#define ClearPwrMgt(pbuf) \
- (*(__le16 *)(pbuf) &= (~cpu_to_le16(_PWRMGT_)))
+#define ClearPwrMgt(pbuf) (*(__le16 *)(pbuf) &= (~cpu_to_le16(_PWRMGT_)))
-#define SetMData(pbuf) \
- (*(__le16 *)(pbuf) |= cpu_to_le16(_MORE_DATA_))
+#define SetMData(pbuf) (*(__le16 *)(pbuf) |= cpu_to_le16(_MORE_DATA_))
-#define GetMData(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_MORE_DATA_)) != 0)
+#define GetMData(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_MORE_DATA_)) != 0)
-#define ClearMData(pbuf) \
- (*(__le16 *)(pbuf) &= (~cpu_to_le16(_MORE_DATA_)))
+#define ClearMData(pbuf) (*(__le16 *)(pbuf) &= (~cpu_to_le16(_MORE_DATA_)))
-#define SetPrivacy(pbuf) \
- (*(__le16 *)(pbuf) |= cpu_to_le16(_PRIVACY_))
+#define SetPrivacy(pbuf) (*(__le16 *)(pbuf) |= cpu_to_le16(_PRIVACY_))
-#define GetPrivacy(pbuf) \
- (((*(__le16 *)(pbuf)) & cpu_to_le16(_PRIVACY_)) != 0)
+#define GetPrivacy(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_PRIVACY_)) != 0)
-#define GetOrder(pbuf) \
- (((*(__le16 *)(pbuf)) & cpu_to_le16(_ORDER_)) != 0)
+#define GetOrder(pbuf) (((*(__le16 *)(pbuf)) & cpu_to_le16(_ORDER_)) != 0)
-#define GetFrameType(pbuf) \
- (le16_to_cpu(*(__le16 *)(pbuf)) & (BIT(3) | BIT(2)))
+#define GetFrameType(pbuf) (le16_to_cpu(*(__le16 *)(pbuf)) & (BIT(3) | BIT(2)))
-#define SetFrameType(pbuf, type) \
- do { \
+#define SetFrameType(pbuf, type) \
+ do { \
*(unsigned short *)(pbuf) &= cpu_to_le16(~(BIT(3) | BIT(2))); \
- *(unsigned short *)(pbuf) |= cpu_to_le16(type); \
+ *(unsigned short *)(pbuf) |= cpu_to_le16(type); \
} while (0)
-#define GetFrameSubType(pbuf) (le16_to_cpu(*(__le16 *)(pbuf)) & (BIT(7) |\
- BIT(6) | BIT(5) | BIT(4) | BIT(3) | BIT(2)))
+#define GetFrameSubType(pbuf) \
+ (le16_to_cpu(*(__le16 *)(pbuf)) & \
+ (BIT(7) | BIT(6) | BIT(5) | BIT(4) | BIT(3) | BIT(2)))
-#define SetFrameSubType(pbuf, type) \
- do { \
- *(__le16 *)(pbuf) &= cpu_to_le16(~(BIT(7) | BIT(6) | \
- BIT(5) | BIT(4) | BIT(3) | BIT(2))); \
- *(__le16 *)(pbuf) |= cpu_to_le16(type); \
+#define SetFrameSubType(pbuf, type) \
+ do { \
+ *(__le16 *)(pbuf) &= cpu_to_le16(~(BIT(7) | BIT(6) | BIT(5) | \
+ BIT(4) | BIT(3) | BIT(2))); \
+ *(__le16 *)(pbuf) |= cpu_to_le16(type); \
} while (0)
-#define GetSequence(pbuf) \
- (le16_to_cpu(*(__le16 *)((size_t)(pbuf) + 22)) >> 4)
+#define GetSequence(pbuf) (le16_to_cpu(*(__le16 *)((size_t)(pbuf) + 22)) >> 4)
-#define GetFragNum(pbuf) \
- (le16_to_cpu(*(__le16 *)((size_t)(pbuf) + 22)) & 0x0f)
+#define GetFragNum(pbuf) (le16_to_cpu(*(__le16 *)((size_t)(pbuf) + 22)) & 0x0f)
-#define SetFragNum(pbuf, num) \
- do { \
- *(unsigned short *)((size_t)(pbuf) + 22) = \
- ((*(unsigned short *)((size_t)(pbuf) + 22)) & \
- le16_to_cpu(~(0x000f))) | \
- cpu_to_le16(0x0f & (num)); \
+#define SetFragNum(pbuf, num) \
+ do { \
+ *(unsigned short *)((size_t)(pbuf) + 22) = \
+ ((*(unsigned short *)((size_t)(pbuf) + 22)) & \
+ le16_to_cpu(~(0x000f))) | \
+ cpu_to_le16(0x0f & (num)); \
} while (0)
-#define SetSeqNum(pbuf, num) \
- do { \
- *(__le16 *)((size_t)(pbuf) + 22) = \
- ((*(__le16 *)((size_t)(pbuf) + 22)) & cpu_to_le16((unsigned short)0x000f)) | \
+#define SetSeqNum(pbuf, num) \
+ do { \
+ *(__le16 *)((size_t)(pbuf) + 22) = \
+ ((*(__le16 *)((size_t)(pbuf) + 22)) & \
+ cpu_to_le16((unsigned short)0x000f)) | \
cpu_to_le16((unsigned short)(0xfff0 & (num << 4))); \
} while (0)
#define SetDuration(pbuf, dur) \
(*(__le16 *)((size_t)(pbuf) + 2) = cpu_to_le16(0xffff & (dur)))
+#define SetPriority(pbuf, tid) (*(__le16 *)(pbuf) |= cpu_to_le16(tid & 0xf))
-#define SetPriority(pbuf, tid) \
- (*(__le16 *)(pbuf) |= cpu_to_le16(tid & 0xf))
+#define GetPriority(pbuf) ((le16_to_cpu(*(__le16 *)(pbuf))) & 0xf)
-#define GetPriority(pbuf) ((le16_to_cpu(*(__le16 *)(pbuf))) & 0xf)
+#define SetEOSP(pbuf, eosp) (*(__le16 *)(pbuf) |= cpu_to_le16((eosp & 1) << 4))
-#define SetEOSP(pbuf, eosp) \
- (*(__le16 *)(pbuf) |= cpu_to_le16((eosp & 1) << 4))
-
-#define SetAckpolicy(pbuf, ack) \
+#define SetAckpolicy(pbuf, ack) \
(*(__le16 *)(pbuf) |= cpu_to_le16((ack & 3) << 5))
#define GetAckpolicy(pbuf) (((le16_to_cpu(*(__le16 *)pbuf)) >> 5) & 0x3)
#define GetAMsdu(pbuf) (((le16_to_cpu(*(__le16 *)pbuf)) >> 7) & 0x1)
-#define GetAid(pbuf) (le16_to_cpu(*(__le16 *)((size_t)(pbuf) + 2)) & 0x3fff)
+#define GetAid(pbuf) (le16_to_cpu(*(__le16 *)((size_t)(pbuf) + 2)) & 0x3fff)
-#define GetAddr1Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 4))
+#define GetAddr1Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 4))
-#define GetAddr2Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 10))
+#define GetAddr2Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 10))
-#define GetAddr3Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 16))
+#define GetAddr3Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 16))
-#define GetAddr4Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 24))
+#define GetAddr4Ptr(pbuf) ((unsigned char *)((size_t)(pbuf) + 24))
static inline unsigned char *rtl8723bs_get_ra(unsigned char *pframe)
{
@@ -205,19 +189,19 @@ static inline unsigned char *get_ta(unsigned char *pframe)
static inline unsigned char *get_da(unsigned char *pframe)
{
unsigned char *da;
- unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
+ unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
switch (to_fr_ds) {
- case 0x00: /* ToDs = 0, FromDs = 0 */
+ case 0x00: /* ToDs = 0, FromDs = 0 */
da = GetAddr1Ptr(pframe);
break;
- case 0x01: /* ToDs = 0, FromDs = 1 */
+ case 0x01: /* ToDs = 0, FromDs = 1 */
da = GetAddr1Ptr(pframe);
break;
- case 0x02: /* ToDs = 1, FromDs = 0 */
+ case 0x02: /* ToDs = 1, FromDs = 0 */
da = GetAddr3Ptr(pframe);
break;
- default: /* ToDs = 1, FromDs = 1 */
+ default: /* ToDs = 1, FromDs = 1 */
da = GetAddr3Ptr(pframe);
break;
}
@@ -225,23 +209,22 @@ static inline unsigned char *get_da(unsigned char *pframe)
return da;
}
-
static inline unsigned char *get_sa(unsigned char *pframe)
{
unsigned char *sa;
- unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
+ unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
switch (to_fr_ds) {
- case 0x00: /* ToDs = 0, FromDs = 0 */
+ case 0x00: /* ToDs = 0, FromDs = 0 */
sa = GetAddr2Ptr(pframe);
break;
- case 0x01: /* ToDs = 0, FromDs = 1 */
+ case 0x01: /* ToDs = 0, FromDs = 1 */
sa = GetAddr3Ptr(pframe);
break;
- case 0x02: /* ToDs = 1, FromDs = 0 */
+ case 0x02: /* ToDs = 1, FromDs = 0 */
sa = GetAddr2Ptr(pframe);
break;
- default: /* ToDs = 1, FromDs = 1 */
+ default: /* ToDs = 1, FromDs = 1 */
sa = GetAddr4Ptr(pframe);
break;
}
@@ -252,19 +235,19 @@ static inline unsigned char *get_sa(unsigned char *pframe)
static inline unsigned char *get_hdr_bssid(unsigned char *pframe)
{
unsigned char *sa = NULL;
- unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
+ unsigned int to_fr_ds = (GetToDs(pframe) << 1) | GetFrDs(pframe);
switch (to_fr_ds) {
- case 0x00: /* ToDs = 0, FromDs = 0 */
+ case 0x00: /* ToDs = 0, FromDs = 0 */
sa = GetAddr3Ptr(pframe);
break;
- case 0x01: /* ToDs = 0, FromDs = 1 */
+ case 0x01: /* ToDs = 0, FromDs = 1 */
sa = GetAddr2Ptr(pframe);
break;
- case 0x02: /* ToDs = 1, FromDs = 0 */
+ case 0x02: /* ToDs = 1, FromDs = 0 */
sa = GetAddr1Ptr(pframe);
break;
- case 0x03: /* ToDs = 1, FromDs = 1 */
+ case 0x03: /* ToDs = 1, FromDs = 1 */
sa = GetAddr1Ptr(pframe);
break;
}
@@ -272,7 +255,6 @@ static inline unsigned char *get_hdr_bssid(unsigned char *pframe)
return sa;
}
-
static inline int IsFrameTypeCtrl(unsigned char *pframe)
{
return GetFrameType(pframe) == WIFI_CTRL_TYPE;
@@ -281,45 +263,46 @@ static inline int IsFrameTypeCtrl(unsigned char *pframe)
Below is for the security related definition
------------------------------------------------------------------------------*/
-#define _ASOCREQ_IE_OFFSET_ 4 /* excluding wlan_hdr */
-#define _REASOCREQ_IE_OFFSET_ 10
-#define _PROBEREQ_IE_OFFSET_ 0
-#define _PROBERSP_IE_OFFSET_ 12
-#define _AUTH_IE_OFFSET_ 6
-#define _BEACON_IE_OFFSET_ 12
+#define _ASOCREQ_IE_OFFSET_ 4 /* excluding wlan_hdr */
+#define _REASOCREQ_IE_OFFSET_ 10
+#define _PROBEREQ_IE_OFFSET_ 0
+#define _PROBERSP_IE_OFFSET_ 12
+#define _AUTH_IE_OFFSET_ 6
+#define _BEACON_IE_OFFSET_ 12
-#define _FIXED_IE_LENGTH_ _BEACON_IE_OFFSET_
+#define _FIXED_IE_LENGTH_ _BEACON_IE_OFFSET_
/* ---------------------------------------------------------------------------
Below is the fixed elements...
-----------------------------------------------------------------------------*/
-#define _AUTH_ALGM_NUM_ 2
-#define _AUTH_SEQ_NUM_ 2
-#define _BEACON_ITERVAL_ 2
-#define _CAPABILITY_ 2
-#define _RSON_CODE_ 2
-#define _ASOC_ID_ 2
-#define _STATUS_CODE_ 2
-#define _TIMESTAMP_ 8
+#define _AUTH_ALGM_NUM_ 2
+#define _AUTH_SEQ_NUM_ 2
+#define _BEACON_ITERVAL_ 2
+#define _CAPABILITY_ 2
+#define _RSON_CODE_ 2
+#define _ASOC_ID_ 2
+#define _STATUS_CODE_ 2
+#define _TIMESTAMP_ 8
/*-----------------------------------------------------------------------------
Below is the definition for 802.11i / 802.1x
------------------------------------------------------------------------------*/
-#define _IEEE8021X_MGT_ 1 /* WPA */
-#define _IEEE8021X_PSK_ 2 /* WPA with pre-shared key */
+#define _IEEE8021X_MGT_ 1 /* WPA */
+#define _IEEE8021X_PSK_ 2 /* WPA with pre-shared key */
-#define _MME_IE_LENGTH_ 18
+#define _MME_IE_LENGTH_ 18
/*-----------------------------------------------------------------------------
Below is the definition for WMM
------------------------------------------------------------------------------*/
-#define _WMM_IE_Length_ 7 /* for WMM STA */
+#define _WMM_IE_Length_ 7 /* for WMM STA */
/*-----------------------------------------------------------------------------
Below is the definition for 802.11n
------------------------------------------------------------------------------*/
-#define GetOrderBit(pbuf) (((*(unsigned short *)(pbuf)) & cpu_to_le16(_ORDER_)) != 0)
+#define GetOrderBit(pbuf) \
+ (((*(unsigned short *)(pbuf)) & cpu_to_le16(_ORDER_)) != 0)
-#define ACT_CAT_VENDOR 0x7F/* 127 */
+#define ACT_CAT_VENDOR 0x7F /* 127 */
/**
* struct rtw_ieee80211_ht_cap - HT additional information
@@ -329,21 +312,20 @@ static inline int IsFrameTypeCtrl(unsigned char *pframe)
*/
struct ieee80211_ht_addt_info {
unsigned char control_chan;
- unsigned char ht_param;
- __le16 operation_mode;
- __le16 stbc_param;
- unsigned char basic_set[16];
+ unsigned char ht_param;
+ __le16 operation_mode;
+ __le16 stbc_param;
+ unsigned char basic_set[16];
} __packed;
-
struct HT_caps_element {
union {
struct {
- __le16 HT_caps_info;
+ __le16 HT_caps_info;
unsigned char AMPDU_para;
unsigned char MCS_rate[16];
- __le16 HT_ext_caps;
- __le16 Beamforming_caps;
+ __le16 HT_ext_caps;
+ __le16 Beamforming_caps;
unsigned char ASEL_caps;
} HT_cap_element;
unsigned char HT_cap[26];
@@ -357,45 +339,45 @@ struct HT_info_element {
} __packed;
struct AC_param {
- unsigned char ACI_AIFSN;
- unsigned char CW;
- __le16 TXOP_limit;
+ unsigned char ACI_AIFSN;
+ unsigned char CW;
+ __le16 TXOP_limit;
} __packed;
struct WMM_para_element {
- unsigned char QoS_info;
- unsigned char reserved;
- struct AC_param ac_param[4];
+ unsigned char QoS_info;
+ unsigned char reserved;
+ struct AC_param ac_param[4];
} __packed;
struct ADDBA_request {
- unsigned char dialog_token;
- __le16 BA_para_set;
- __le16 BA_timeout_value;
- __le16 BA_starting_seqctrl;
+ unsigned char dialog_token;
+ __le16 BA_para_set;
+ __le16 BA_timeout_value;
+ __le16 BA_starting_seqctrl;
} __packed;
/* 802.11n HT capabilities masks */
-#define IEEE80211_HT_CAP_LDPC_CODING 0x0001
-#define IEEE80211_HT_CAP_SUP_WIDTH 0x0002
-#define IEEE80211_HT_CAP_SM_PS 0x000C
-#define IEEE80211_HT_CAP_GRN_FLD 0x0010
-#define IEEE80211_HT_CAP_SGI_20 0x0020
-#define IEEE80211_HT_CAP_SGI_40 0x0040
-#define IEEE80211_HT_CAP_TX_STBC 0x0080
-#define IEEE80211_HT_CAP_RX_STBC_1R 0x0100
-#define IEEE80211_HT_CAP_RX_STBC_3R 0x0300
-#define IEEE80211_HT_CAP_MAX_AMSDU 0x0800
-#define IEEE80211_HT_CAP_DSSSCCK40 0x1000
+#define IEEE80211_HT_CAP_LDPC_CODING 0x0001
+#define IEEE80211_HT_CAP_SUP_WIDTH 0x0002
+#define IEEE80211_HT_CAP_SM_PS 0x000C
+#define IEEE80211_HT_CAP_GRN_FLD 0x0010
+#define IEEE80211_HT_CAP_SGI_20 0x0020
+#define IEEE80211_HT_CAP_SGI_40 0x0040
+#define IEEE80211_HT_CAP_TX_STBC 0x0080
+#define IEEE80211_HT_CAP_RX_STBC_1R 0x0100
+#define IEEE80211_HT_CAP_RX_STBC_3R 0x0300
+#define IEEE80211_HT_CAP_MAX_AMSDU 0x0800
+#define IEEE80211_HT_CAP_DSSSCCK40 0x1000
/* 802.11n HT capability AMPDU settings */
-#define IEEE80211_HT_CAP_AMPDU_FACTOR 0x03
-#define IEEE80211_HT_CAP_AMPDU_DENSITY 0x1C
+#define IEEE80211_HT_CAP_AMPDU_FACTOR 0x03
+#define IEEE80211_HT_CAP_AMPDU_DENSITY 0x1C
/* endif */
/* ===============WPS Section =============== */
/* WPS attribute ID */
-#define WPS_ATTR_SELECTED_REGISTRAR 0x1041
+#define WPS_ATTR_SELECTED_REGISTRAR 0x1041
/* =====================P2P Section ===================== */
enum p2p_role {
@@ -406,40 +388,56 @@ enum p2p_role {
};
enum p2p_state {
- P2P_STATE_NONE = 0, /* P2P disable */
- P2P_STATE_IDLE = 1, /* P2P had enabled and do nothing */
- P2P_STATE_LISTEN = 2, /* In pure listen state */
- P2P_STATE_SCAN = 3, /* In scan phase */
- P2P_STATE_FIND_PHASE_LISTEN = 4, /* In the listen state of find phase */
- P2P_STATE_FIND_PHASE_SEARCH = 5, /* In the search state of find phase */
- P2P_STATE_TX_PROVISION_DIS_REQ = 6, /* In P2P provisioning discovery */
+ P2P_STATE_NONE = 0, /* P2P disable */
+ P2P_STATE_IDLE = 1, /* P2P had enabled and do nothing */
+ P2P_STATE_LISTEN = 2, /* In pure listen state */
+ P2P_STATE_SCAN = 3, /* In scan phase */
+ P2P_STATE_FIND_PHASE_LISTEN =
+ 4, /* In the listen state of find phase */
+ P2P_STATE_FIND_PHASE_SEARCH =
+ 5, /* In the search state of find phase */
+ P2P_STATE_TX_PROVISION_DIS_REQ =
+ 6, /* In P2P provisioning discovery */
P2P_STATE_RX_PROVISION_DIS_RSP = 7,
P2P_STATE_RX_PROVISION_DIS_REQ = 8,
- P2P_STATE_GONEGO_ING = 9, /* Doing the group owner negotiation handshake */
- P2P_STATE_GONEGO_OK = 10, /* finish the group negotiation handshake with success */
- P2P_STATE_GONEGO_FAIL = 11, /* finish the group negotiation handshake with failure */
- P2P_STATE_RECV_INVITE_REQ_MATCH = 12, /* receiving the P2P Invitation request and match with the profile. */
- P2P_STATE_PROVISIONING_ING = 13, /* Doing the P2P WPS */
- P2P_STATE_PROVISIONING_DONE = 14, /* Finish the P2P WPS */
- P2P_STATE_TX_INVITE_REQ = 15, /* Transmit the P2P Invitation request */
- P2P_STATE_RX_INVITE_RESP_OK = 16, /* Receiving the P2P Invitation response */
- P2P_STATE_RECV_INVITE_REQ_DISMATCH = 17, /* receiving the P2P Invitation request and mismatch with the profile. */
- P2P_STATE_RECV_INVITE_REQ_GO = 18, /* receiving the P2P Invitation request and this wifi is GO. */
- P2P_STATE_RECV_INVITE_REQ_JOIN = 19, /* receiving the P2P Invitation request to join an existing P2P Group. */
- P2P_STATE_RX_INVITE_RESP_FAIL = 20, /* recveing the P2P Invitation response with failure */
- P2P_STATE_RX_INFOR_NOREADY = 21, /* receiving p2p negotiation response with information is not available */
- P2P_STATE_TX_INFOR_NOREADY = 22, /* sending p2p negotiation response with information is not available */
+ P2P_STATE_GONEGO_ING =
+ 9, /* Doing the group owner negotiation handshake */
+ P2P_STATE_GONEGO_OK =
+ 10, /* finish the group negotiation handshake with success */
+ P2P_STATE_GONEGO_FAIL =
+ 11, /* finish the group negotiation handshake with failure */
+ P2P_STATE_RECV_INVITE_REQ_MATCH =
+ 12, /* receiving the P2P Invitation request and match with the profile. */
+ P2P_STATE_PROVISIONING_ING = 13, /* Doing the P2P WPS */
+ P2P_STATE_PROVISIONING_DONE = 14, /* Finish the P2P WPS */
+ P2P_STATE_TX_INVITE_REQ = 15, /* Transmit the P2P Invitation request */
+ P2P_STATE_RX_INVITE_RESP_OK =
+ 16, /* Receiving the P2P Invitation response */
+ P2P_STATE_RECV_INVITE_REQ_DISMATCH =
+ 17, /* receiving the P2P Invitation request and mismatch with the profile. */
+ P2P_STATE_RECV_INVITE_REQ_GO =
+ 18, /* receiving the P2P Invitation request and this wifi is GO. */
+ P2P_STATE_RECV_INVITE_REQ_JOIN =
+ 19, /* receiving the P2P Invitation request to join an existing P2P Group. */
+ P2P_STATE_RX_INVITE_RESP_FAIL =
+ 20, /* recveing the P2P Invitation response with failure */
+ P2P_STATE_RX_INFOR_NOREADY =
+ 21, /* receiving p2p negotiation response with information is not available */
+ P2P_STATE_TX_INFOR_NOREADY =
+ 22, /* sending p2p negotiation response with information is not available */
};
enum p2p_wpsinfo {
- P2P_NO_WPSINFO = 0,
- P2P_GOT_WPSINFO_PEER_DISPLAY_PIN = 1,
- P2P_GOT_WPSINFO_SELF_DISPLAY_PIN = 2,
- P2P_GOT_WPSINFO_PBC = 3,
+ P2P_NO_WPSINFO = 0,
+ P2P_GOT_WPSINFO_PEER_DISPLAY_PIN = 1,
+ P2P_GOT_WPSINFO_SELF_DISPLAY_PIN = 2,
+ P2P_GOT_WPSINFO_PBC = 3,
};
-#define IP_MCAST_MAC(mac) ((mac[0] == 0x01) && (mac[1] == 0x00) && (mac[2] == 0x5e))
-#define ICMPV6_MCAST_MAC(mac) ((mac[0] == 0x33) && (mac[1] == 0x33) && (mac[2] != 0xff))
+#define IP_MCAST_MAC(mac) \
+ ((mac[0] == 0x01) && (mac[1] == 0x00) && (mac[2] == 0x5e))
+#define ICMPV6_MCAST_MAC(mac) \
+ ((mac[0] == 0x33) && (mac[1] == 0x33) && (mac[2] != 0xff))
/* Regulatroy Domain */
struct regd_pair_mapping {
diff --git a/drivers/staging/rtl8723bs/include/wlan_bssdef.h b/drivers/staging/rtl8723bs/include/wlan_bssdef.h
index 812a683942689..87d9fda58e57f 100644
--- a/drivers/staging/rtl8723bs/include/wlan_bssdef.h
+++ b/drivers/staging/rtl8723bs/include/wlan_bssdef.h
@@ -7,20 +7,20 @@
#ifndef __WLAN_BSSDEF_H__
#define __WLAN_BSSDEF_H__
+#define MAX_IE_SZ 768
-#define MAX_IE_SZ 768
+#define NDIS_802_11_LENGTH_SSID 32
+#define NDIS_802_11_LENGTH_RATES 8
+#define NDIS_802_11_LENGTH_RATES_EX 16
-
-#define NDIS_802_11_LENGTH_SSID 32
-#define NDIS_802_11_LENGTH_RATES 8
-#define NDIS_802_11_LENGTH_RATES_EX 16
-
-typedef unsigned char NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; /* Set of 8 data rates */
-typedef unsigned char NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; /* Set of 16 data rates */
+typedef unsigned char
+ NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; /* Set of 8 data rates */
+typedef unsigned char NDIS_802_11_RATES_EX
+ [NDIS_802_11_LENGTH_RATES_EX]; /* Set of 16 data rates */
struct ndis_802_11_ssid {
- u32 ssid_length;
- u8 ssid[32];
+ u32 ssid_length;
+ u8 ssid[32];
};
enum ndis_802_11_network_type {
@@ -28,7 +28,7 @@ enum ndis_802_11_network_type {
Ndis802_11DS,
Ndis802_11OFDM5,
Ndis802_11OFDM24,
- Ndis802_11NetworkTypeMax /* not a real type, defined as an upper bound */
+ Ndis802_11NetworkTypeMax /* not a real type, defined as an upper bound */
};
/*
@@ -36,30 +36,30 @@ enum ndis_802_11_network_type {
ODI Handler will convert the channel number to freq. number.
*/
struct ndis_802_11_conf {
- u32 length; /* Length of structure */
- u32 beacon_period; /* units are Kusec */
- u32 atim_window; /* units are Kusec */
- u32 ds_config; /* Frequency, units are kHz */
+ u32 length; /* Length of structure */
+ u32 beacon_period; /* units are Kusec */
+ u32 atim_window; /* units are Kusec */
+ u32 ds_config; /* Frequency, units are kHz */
};
enum ndis_802_11_network_infrastructure {
Ndis802_11IBSS,
Ndis802_11Infrastructure,
Ndis802_11AutoUnknown,
- Ndis802_11InfrastructureMax, /* Not a real value, defined as upper bound */
+ Ndis802_11InfrastructureMax, /* Not a real value, defined as upper bound */
Ndis802_11APMode,
};
struct ndis_802_11_fix_ie {
- u8 time_stamp[8];
- u16 beacon_interval;
- u16 capabilities;
+ u8 time_stamp[8];
+ u16 beacon_interval;
+ u16 capabilities;
};
struct ndis_80211_var_ie {
- u8 element_id;
- u8 length;
- u8 data[];
+ u8 element_id;
+ u8 length;
+ u8 data[];
};
/* Length is the 4 bytes multiples of the sum of
@@ -79,7 +79,7 @@ enum ndis_802_11_authentication_mode {
Ndis802_11AuthModeWPAPSK,
Ndis802_11AuthModeWPANone,
Ndis802_11AuthModeWAPI,
- Ndis802_11AuthModeMax /* Not a real mode, defined as upper bound */
+ Ndis802_11AuthModeMax /* Not a real mode, defined as upper bound */
};
enum {
@@ -98,54 +98,54 @@ enum {
Ndis802_11_EncrypteionWAPI
};
-#define NDIS_802_11_AI_REQFI_CAPABILITIES 1
-#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2
-#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4
+#define NDIS_802_11_AI_REQFI_CAPABILITIES 1
+#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2
+#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4
-#define NDIS_802_11_AI_RESFI_CAPABILITIES 1
-#define NDIS_802_11_AI_RESFI_STATUSCODE 2
-#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4
+#define NDIS_802_11_AI_RESFI_CAPABILITIES 1
+#define NDIS_802_11_AI_RESFI_STATUSCODE 2
+#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4
/* Key mapping keys require a BSSID */
struct ndis_802_11_wep {
- u32 length; /* Length of this structure */
- u32 key_index; /* 0 is the per-client key, 1-N are the global keys */
- u32 key_length; /* length of key in bytes */
- u8 key_material[16];/* variable length depending on above field */
+ u32 length; /* Length of this structure */
+ u32 key_index; /* 0 is the per-client key, 1-N are the global keys */
+ u32 key_length; /* length of key in bytes */
+ u8 key_material[16]; /* variable length depending on above field */
};
/* mask for authentication/integrity fields */
-#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f
-#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01
-#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02
-#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06
-#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E
+#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f
+#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01
+#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02
+#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06
+#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E
/* MIC check time, 60 seconds. */
-#define MIC_CHECK_TIME 60000000
+#define MIC_CHECK_TIME 60000000
#ifndef Ndis802_11APMode
#define Ndis802_11APMode (Ndis802_11InfrastructureMax + 1)
#endif
struct wlan_phy_info {
- u8 signal_strength;/* in percentage) */
- u8 signal_quality;/* in percentage) */
- u8 optimum_antenna; /* for Antenna diversity */
+ u8 signal_strength; /* in percentage) */
+ u8 signal_quality; /* in percentage) */
+ u8 optimum_antenna; /* for Antenna diversity */
u8 reserved_0;
};
struct wlan_bcn_info {
/* these infor get from rtw_get_encrypt_info when
* * translate scan to UI */
- u8 encryp_protocol;/* ENCRYP_PROTOCOL_E: OPEN/WEP/WPA/WPA2/WAPI */
+ u8 encryp_protocol; /* ENCRYP_PROTOCOL_E: OPEN/WEP/WPA/WPA2/WAPI */
int group_cipher; /* WPA/WPA2 group cipher */
- int pairwise_cipher;/* WPA/WPA2/WEP pairwise cipher */
+ int pairwise_cipher; /* WPA/WPA2/WEP pairwise cipher */
int is_8021x;
/* bwmode 20/40 and ch_offset UP/LOW */
- unsigned short ht_cap_info;
+ unsigned short ht_cap_info;
unsigned char ht_info_infos_0;
};
@@ -153,19 +153,19 @@ struct wlan_bcn_info {
* struct wlan_bssid_ex and get_wlan_bssid_ex_sz()
*/
struct wlan_bssid_ex {
- u32 length;
+ u32 length;
u8 mac_address[ETH_ALEN];
- u8 reserved[2];/* 0]: IS beacon frame */
- struct ndis_802_11_ssid ssid;
- u32 privacy;
- long rssi;/* in dBM, raw data , get from PHY) */
- enum ndis_802_11_network_type network_type_in_use;
- struct ndis_802_11_conf configuration;
- enum ndis_802_11_network_infrastructure infrastructure_mode;
- NDIS_802_11_RATES_EX supported_rates;
+ u8 reserved[2]; /* 0]: IS beacon frame */
+ struct ndis_802_11_ssid ssid;
+ u32 privacy;
+ long rssi; /* in dBM, raw data , get from PHY) */
+ enum ndis_802_11_network_type network_type_in_use;
+ struct ndis_802_11_conf configuration;
+ enum ndis_802_11_network_infrastructure infrastructure_mode;
+ NDIS_802_11_RATES_EX supported_rates;
struct wlan_phy_info phy_info;
- u32 ie_length;
- u8 ies[MAX_IE_SZ]; /* timestamp, beacon interval, and capability information) */
+ u32 ie_length;
+ u8 ies[MAX_IE_SZ]; /* timestamp, beacon interval, and capability information) */
} __packed;
static inline uint get_wlan_bssid_ex_sz(struct wlan_bssid_ex *bss)
@@ -173,28 +173,20 @@ static inline uint get_wlan_bssid_ex_sz(struct wlan_bssid_ex *bss)
return (sizeof(struct wlan_bssid_ex) - MAX_IE_SZ + bss->ie_length);
}
-struct wlan_network {
- struct list_head list;
- int network_type; /* refer to ieee80211.h for WIRELESS_11A/B/G */
- int fixed; /* set to fixed when not to be removed as site-surveying */
- unsigned long last_scanned; /* timestamp for the network */
- int aid; /* will only be valid when a BSS is joinned. */
- int join_res;
- struct wlan_bssid_ex network; /* must be the last item */
- struct wlan_bcn_info bcn_info;
+struct wlan_network {
+ struct list_head list;
+ int network_type; /* refer to ieee80211.h for WIRELESS_11A/B/G */
+ int fixed; /* set to fixed when not to be removed as site-surveying */
+ unsigned long last_scanned; /* timestamp for the network */
+ int aid; /* will only be valid when a BSS is joinned. */
+ int join_res;
+ struct wlan_bssid_ex network; /* must be the last item */
+ struct wlan_bcn_info bcn_info;
};
-enum {
- DISABLE_VCS,
- ENABLE_VCS,
- AUTO_VCS
-};
+enum { DISABLE_VCS, ENABLE_VCS, AUTO_VCS };
-enum {
- NONE_VCS,
- RTS_CTS,
- CTS_TO_SELF
-};
+enum { NONE_VCS, RTS_CTS, CTS_TO_SELF };
#define PWR_CAM 0
#define PWR_MINPS 1
@@ -202,12 +194,7 @@ enum {
#define PWR_UAPSD 3
#define PWR_VOIP 4
-enum {
- NO_LIMIT,
- TWO_MSDU,
- FOUR_MSDU,
- SIX_MSDU
-};
+enum { NO_LIMIT, TWO_MSDU, FOUR_MSDU, SIX_MSDU };
#define NUM_PRE_AUTH_KEY 16
#define NUM_PMKID_CACHE NUM_PRE_AUTH_KEY
diff --git a/drivers/staging/rtl8723bs/include/xmit_osdep.h b/drivers/staging/rtl8723bs/include/xmit_osdep.h
index 5b351652e31bd..aa6768d7ef9a5 100644
--- a/drivers/staging/rtl8723bs/include/xmit_osdep.h
+++ b/drivers/staging/rtl8723bs/include/xmit_osdep.h
@@ -7,17 +7,16 @@
#ifndef __XMIT_OSDEP_H_
#define __XMIT_OSDEP_H_
-
struct pkt_file {
struct sk_buff *pkt;
- __kernel_size_t pkt_len; /* the remainder length of the open_file */
+ __kernel_size_t pkt_len; /* the remainder length of the open_file */
unsigned char *cur_buffer;
u8 *buf_start;
u8 *cur_addr;
__kernel_size_t buf_len;
};
-#define NR_XMITFRAME 256
+#define NR_XMITFRAME 256
struct xmit_priv;
struct pkt_attrib;
@@ -26,11 +25,13 @@ struct xmit_frame;
struct xmit_buf;
extern void _rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
-extern netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev);
+extern netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt,
+ struct net_device *pnetdev);
void rtw_os_xmit_schedule(struct adapter *padapter);
-void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag);
+void rtw_os_xmit_resource_free(struct adapter *padapter,
+ struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag);
extern uint rtw_remainder_len(struct pkt_file *pfile);
extern void _rtw_open_pktfile(struct sk_buff *pkt, struct pkt_file *pfile);
@@ -38,6 +39,7 @@ int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen);
extern signed int rtw_endofpktfile(struct pkt_file *pfile);
extern void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt);
-extern void rtw_os_xmit_complete(struct adapter *padapter, struct xmit_frame *pxframe);
+extern void rtw_os_xmit_complete(struct adapter *padapter,
+ struct xmit_frame *pxframe);
#endif /* __XMIT_OSDEP_H_ */
diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
index 6a97afd89dc78..7fb8cc3178b8a 100644
--- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
+++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
@@ -13,33 +13,32 @@
#define RTW_MAX_MGMT_TX_CNT (8)
-#define RTW_SCAN_IE_LEN_MAX 2304
+#define RTW_SCAN_IE_LEN_MAX 2304
#define RTW_MAX_REMAIN_ON_CHANNEL_DURATION 5000 /* ms */
#define RTW_MAX_NUM_PMKIDS 4
static const u32 rtw_cipher_suites[] = {
- WLAN_CIPHER_SUITE_WEP40,
- WLAN_CIPHER_SUITE_WEP104,
- WLAN_CIPHER_SUITE_TKIP,
- WLAN_CIPHER_SUITE_CCMP,
+ WLAN_CIPHER_SUITE_WEP40, WLAN_CIPHER_SUITE_WEP104,
+ WLAN_CIPHER_SUITE_TKIP, WLAN_CIPHER_SUITE_CCMP,
WLAN_CIPHER_SUITE_AES_CMAC,
};
#define RATETAB_ENT(_rate, _rateid, _flags) \
- { \
- .bitrate = (_rate), \
- .hw_value = (_rateid), \
- .flags = (_flags), \
+ { \
+ .bitrate = (_rate), \
+ .hw_value = (_rateid), \
+ .flags = (_flags), \
}
-#define CHAN2G(_channel, _freq, _flags) { \
- .band = NL80211_BAND_2GHZ, \
- .center_freq = (_freq), \
- .hw_value = (_channel), \
- .flags = (_flags), \
- .max_antenna_gain = 0, \
- .max_power = 30, \
-}
+#define CHAN2G(_channel, _freq, _flags) \
+ { \
+ .band = NL80211_BAND_2GHZ, \
+ .center_freq = (_freq), \
+ .hw_value = (_channel), \
+ .flags = (_flags), \
+ .max_antenna_gain = 0, \
+ .max_power = 30, \
+ }
/* if wowlan is not supported, kernel generate a disconnect at each suspend
* cf: /net/wireless/sysfs.c, so register a stub wowlan.
@@ -55,59 +54,41 @@ static __maybe_unused const struct wiphy_wowlan_support wowlan_stub = {
};
static struct ieee80211_rate rtw_rates[] = {
- RATETAB_ENT(10, 0x1, 0),
- RATETAB_ENT(20, 0x2, 0),
- RATETAB_ENT(55, 0x4, 0),
- RATETAB_ENT(110, 0x8, 0),
- RATETAB_ENT(60, 0x10, 0),
- RATETAB_ENT(90, 0x20, 0),
- RATETAB_ENT(120, 0x40, 0),
- RATETAB_ENT(180, 0x80, 0),
- RATETAB_ENT(240, 0x100, 0),
- RATETAB_ENT(360, 0x200, 0),
- RATETAB_ENT(480, 0x400, 0),
- RATETAB_ENT(540, 0x800, 0),
+ RATETAB_ENT(10, 0x1, 0), RATETAB_ENT(20, 0x2, 0),
+ RATETAB_ENT(55, 0x4, 0), RATETAB_ENT(110, 0x8, 0),
+ RATETAB_ENT(60, 0x10, 0), RATETAB_ENT(90, 0x20, 0),
+ RATETAB_ENT(120, 0x40, 0), RATETAB_ENT(180, 0x80, 0),
+ RATETAB_ENT(240, 0x100, 0), RATETAB_ENT(360, 0x200, 0),
+ RATETAB_ENT(480, 0x400, 0), RATETAB_ENT(540, 0x800, 0),
};
-#define rtw_g_rates (rtw_rates + 0)
-#define RTW_G_RATES_NUM 12
+#define rtw_g_rates (rtw_rates + 0)
+#define RTW_G_RATES_NUM 12
#define RTW_2G_CHANNELS_NUM 14
static struct ieee80211_channel rtw_2ghz_channels[] = {
- CHAN2G(1, 2412, 0),
- CHAN2G(2, 2417, 0),
- CHAN2G(3, 2422, 0),
- CHAN2G(4, 2427, 0),
- CHAN2G(5, 2432, 0),
- CHAN2G(6, 2437, 0),
- CHAN2G(7, 2442, 0),
- CHAN2G(8, 2447, 0),
- CHAN2G(9, 2452, 0),
- CHAN2G(10, 2457, 0),
- CHAN2G(11, 2462, 0),
- CHAN2G(12, 2467, 0),
- CHAN2G(13, 2472, 0),
- CHAN2G(14, 2484, 0),
+ CHAN2G(1, 2412, 0), CHAN2G(2, 2417, 0), CHAN2G(3, 2422, 0),
+ CHAN2G(4, 2427, 0), CHAN2G(5, 2432, 0), CHAN2G(6, 2437, 0),
+ CHAN2G(7, 2442, 0), CHAN2G(8, 2447, 0), CHAN2G(9, 2452, 0),
+ CHAN2G(10, 2457, 0), CHAN2G(11, 2462, 0), CHAN2G(12, 2467, 0),
+ CHAN2G(13, 2472, 0), CHAN2G(14, 2484, 0),
};
static void rtw_2g_channels_init(struct ieee80211_channel *channels)
{
memcpy(channels, rtw_2ghz_channels,
- sizeof(struct ieee80211_channel) * RTW_2G_CHANNELS_NUM
- );
+ sizeof(struct ieee80211_channel) * RTW_2G_CHANNELS_NUM);
}
static void rtw_2g_rates_init(struct ieee80211_rate *rates)
{
memcpy(rates, rtw_g_rates,
- sizeof(struct ieee80211_rate) * RTW_G_RATES_NUM
- );
+ sizeof(struct ieee80211_rate) * RTW_G_RATES_NUM);
}
-static struct ieee80211_supported_band *rtw_spt_band_alloc(
- enum nl80211_band band
- )
+static struct ieee80211_supported_band *
+rtw_spt_band_alloc(enum nl80211_band band)
{
struct ieee80211_supported_band *spt_band = NULL;
int n_channels, n_bitrates;
@@ -121,14 +102,24 @@ static struct ieee80211_supported_band *rtw_spt_band_alloc(
}
alloc_sz = sizeof(*spt_band);
- alloc_sz = size_add(alloc_sz, array_size(n_channels, sizeof(struct ieee80211_channel)));
- alloc_sz = size_add(alloc_sz, array_size(n_bitrates, sizeof(struct ieee80211_rate)));
+ alloc_sz = size_add(alloc_sz,
+ array_size(n_channels,
+ sizeof(struct ieee80211_channel)));
+ alloc_sz =
+ size_add(alloc_sz,
+ array_size(n_bitrates, sizeof(struct ieee80211_rate)));
spt_band = kzalloc(alloc_sz, GFP_KERNEL);
if (!spt_band)
goto exit;
- spt_band->channels = (struct ieee80211_channel *)(((u8 *)spt_band) + sizeof(struct ieee80211_supported_band));
- spt_band->bitrates = (struct ieee80211_rate *)(((u8 *)spt_band->channels) + sizeof(struct ieee80211_channel) * n_channels);
+ spt_band->channels =
+ (struct ieee80211_channel
+ *)(((u8 *)spt_band) +
+ sizeof(struct ieee80211_supported_band));
+ spt_band->bitrates =
+ (struct ieee80211_rate *)(((u8 *)spt_band->channels) +
+ sizeof(struct ieee80211_channel) *
+ n_channels);
spt_band->band = band;
spt_band->n_channels = n_channels;
spt_band->n_bitrates = n_bitrates;
@@ -207,7 +198,8 @@ int rtw_ieee80211_channel_to_frequency(int chan)
}
#define MAX_BSSINFO_LEN 1000
-struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wlan_network *pnetwork)
+struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter,
+ struct wlan_network *pnetwork)
{
struct ieee80211_channel *notify_channel;
struct cfg80211_bss *bss = NULL;
@@ -225,14 +217,17 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl
struct wiphy *wiphy = wdev->wiphy;
struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
- bssinf_len = pnetwork->network.ie_length + sizeof(struct ieee80211_hdr_3addr);
+ bssinf_len = pnetwork->network.ie_length +
+ sizeof(struct ieee80211_hdr_3addr);
if (bssinf_len > MAX_BSSINFO_LEN)
goto exit;
{
u16 wapi_len = 0;
- if (rtw_get_wapi_ie(pnetwork->network.ies, pnetwork->network.ie_length, NULL, &wapi_len) > 0) {
+ if (rtw_get_wapi_ie(pnetwork->network.ies,
+ pnetwork->network.ie_length, NULL,
+ &wapi_len) > 0) {
if (wapi_len > 0)
goto exit;
}
@@ -243,22 +238,29 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl
if (adapter_wdev_data(padapter)->scan_request) {
u8 *psr = NULL, sr = 0;
struct ndis_802_11_ssid *pssid = &pnetwork->network.ssid;
- struct cfg80211_scan_request *request = adapter_wdev_data(padapter)->scan_request;
+ struct cfg80211_scan_request *request =
+ adapter_wdev_data(padapter)->scan_request;
struct cfg80211_ssid *ssids = request->ssids;
u32 wpsielen = 0;
u8 *wpsie = NULL;
- wpsie = rtw_get_wps_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_, pnetwork->network.ie_length - _FIXED_IE_LENGTH_, NULL, &wpsielen);
+ wpsie = rtw_get_wps_ie(
+ pnetwork->network.ies + _FIXED_IE_LENGTH_,
+ pnetwork->network.ie_length - _FIXED_IE_LENGTH_, NULL,
+ &wpsielen);
if (wpsie && wpsielen > 0)
- psr = rtw_get_wps_attr_content(wpsie, wpsielen, WPS_ATTR_SELECTED_REGISTRAR, (u8 *)(&sr), NULL);
+ psr = rtw_get_wps_attr_content(
+ wpsie, wpsielen, WPS_ATTR_SELECTED_REGISTRAR,
+ (u8 *)(&sr), NULL);
if (sr != 0) {
/* it means under processing WPS */
if (request->n_ssids == 1 && request->n_channels == 1) {
if (ssids[0].ssid_len != 0 &&
(pssid->ssid_length != ssids[0].ssid_len ||
- memcmp(pssid->ssid, ssids[0].ssid, ssids[0].ssid_len))) {
+ memcmp(pssid->ssid, ssids[0].ssid,
+ ssids[0].ssid_len))) {
if (psr)
*psr = 0; /* clear sr */
}
@@ -276,10 +278,17 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl
/* We've set wiphy's signal_type as CFG80211_SIGNAL_TYPE_MBM: signal strength in mBm (100*dBm) */
if (check_fwstate(pmlmepriv, _FW_LINKED) &&
- is_same_network(&pmlmepriv->cur_network.network, &pnetwork->network, 0)) {
- notify_signal = 100 * translate_percentage_to_dbm(padapter->recvpriv.signal_strength);/* dbm */
+ is_same_network(&pmlmepriv->cur_network.network, &pnetwork->network,
+ 0)) {
+ notify_signal =
+ 100 *
+ translate_percentage_to_dbm(
+ padapter->recvpriv.signal_strength); /* dbm */
} else {
- notify_signal = 100 * translate_percentage_to_dbm(pnetwork->network.phy_info.signal_strength);/* dbm */
+ notify_signal =
+ 100 * translate_percentage_to_dbm(
+ pnetwork->network.phy_info
+ .signal_strength); /* dbm */
}
buf = kzalloc(MAX_BSSINFO_LEN, GFP_ATOMIC);
@@ -291,14 +300,15 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl
fctrl = &(pwlanhdr->frame_control);
*(fctrl) = 0;
- SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/);
+ SetSeqNum(pwlanhdr, 0 /*pmlmeext->mgnt_seq*/);
/* pmlmeext->mgnt_seq++; */
if (pnetwork->network.reserved[0] == 1) { /* WIFI_BEACON */
eth_broadcast_addr(pwlanhdr->addr1);
SetFrameSubType(pbuf, WIFI_BEACON);
} else {
- memcpy(pwlanhdr->addr1, myid(&(padapter->eeprompriv)), ETH_ALEN);
+ memcpy(pwlanhdr->addr1, myid(&(padapter->eeprompriv)),
+ ETH_ALEN);
SetFrameSubType(pbuf, WIFI_PROBERSP);
}
@@ -313,8 +323,9 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl
*((__le64 *)pbuf) = cpu_to_le64(notify_timestamp);
- bss = cfg80211_inform_bss_frame(wiphy, notify_channel, (struct ieee80211_mgmt *)buf,
- len, notify_signal, GFP_ATOMIC);
+ bss = cfg80211_inform_bss_frame(wiphy, notify_channel,
+ (struct ieee80211_mgmt *)buf, len,
+ notify_signal, GFP_ATOMIC);
if (unlikely(!bss))
goto free_buf;
@@ -335,7 +346,8 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl
*/
int rtw_cfg80211_check_bss(struct adapter *padapter)
{
- struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network);
+ struct wlan_bssid_ex *pnetwork =
+ &(padapter->mlmeextpriv.mlmext_info.network);
struct cfg80211_bss *bss = NULL;
struct ieee80211_channel *notify_channel = NULL;
u32 freq;
@@ -343,7 +355,8 @@ int rtw_cfg80211_check_bss(struct adapter *padapter)
if (!(pnetwork) || !(padapter->rtw_wdev))
return false;
- freq = rtw_ieee80211_channel_to_frequency(pnetwork->configuration.ds_config);
+ freq = rtw_ieee80211_channel_to_frequency(
+ pnetwork->configuration.ds_config);
notify_channel = ieee80211_get_channel(padapter->rtw_wdev->wiphy, freq);
bss = cfg80211_get_bss(padapter->rtw_wdev->wiphy, notify_channel,
@@ -353,13 +366,13 @@ int rtw_cfg80211_check_bss(struct adapter *padapter)
cfg80211_put_bss(padapter->rtw_wdev->wiphy, bss);
- return (bss != NULL);
+ return (bss != NULL);
}
void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct wlan_network *cur_network = &(pmlmepriv->cur_network);
+ struct wlan_network *cur_network = &(pmlmepriv->cur_network);
struct wireless_dev *pwdev = padapter->rtw_wdev;
struct wiphy *wiphy = pwdev->wiphy;
int freq = (int)cur_network->network.configuration.ds_config;
@@ -369,11 +382,13 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter)
return;
if (!rtw_cfg80211_check_bss(padapter)) {
- struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network);
+ struct wlan_bssid_ex *pnetwork =
+ &(padapter->mlmeextpriv.mlmext_info.network);
struct wlan_network *scanned = pmlmepriv->cur_network_scanned;
if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) {
- memcpy(&cur_network->network, pnetwork, sizeof(struct wlan_bssid_ex));
+ memcpy(&cur_network->network, pnetwork,
+ sizeof(struct wlan_bssid_ex));
rtw_cfg80211_inform_bss(padapter, cur_network);
} else {
if (!scanned) {
@@ -382,7 +397,8 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter)
}
if (!memcmp(&scanned->network.ssid, &pnetwork->ssid,
sizeof(struct ndis_802_11_ssid)) &&
- !memcmp(scanned->network.mac_address, pnetwork->mac_address, ETH_ALEN))
+ !memcmp(scanned->network.mac_address,
+ pnetwork->mac_address, ETH_ALEN))
rtw_cfg80211_inform_bss(padapter, scanned);
else
WARN_ON(1);
@@ -395,18 +411,19 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter)
}
/* notify cfg80211 that device joined an IBSS */
chan = ieee80211_get_channel(wiphy, freq);
- cfg80211_ibss_joined(padapter->pnetdev, cur_network->network.mac_address, chan, GFP_ATOMIC);
+ cfg80211_ibss_joined(padapter->pnetdev,
+ cur_network->network.mac_address, chan,
+ GFP_ATOMIC);
}
void rtw_cfg80211_indicate_connect(struct adapter *padapter)
{
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct wlan_network *cur_network = &(pmlmepriv->cur_network);
+ struct wlan_network *cur_network = &(pmlmepriv->cur_network);
struct wireless_dev *pwdev = padapter->rtw_wdev;
- if (pwdev->iftype != NL80211_IFTYPE_STATION
- && pwdev->iftype != NL80211_IFTYPE_P2P_CLIENT
- ) {
+ if (pwdev->iftype != NL80211_IFTYPE_STATION &&
+ pwdev->iftype != NL80211_IFTYPE_P2P_CLIENT) {
return;
}
@@ -414,7 +431,8 @@ void rtw_cfg80211_indicate_connect(struct adapter *padapter)
return;
{
- struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network);
+ struct wlan_bssid_ex *pnetwork =
+ &(padapter->mlmeextpriv.mlmext_info.network);
struct wlan_network *scanned = pmlmepriv->cur_network_scanned;
if (!scanned) {
@@ -422,7 +440,8 @@ void rtw_cfg80211_indicate_connect(struct adapter *padapter)
goto check_bss;
}
- if (!memcmp(scanned->network.mac_address, pnetwork->mac_address, ETH_ALEN) &&
+ if (!memcmp(scanned->network.mac_address, pnetwork->mac_address,
+ ETH_ALEN) &&
!memcmp(&scanned->network.ssid, &pnetwork->ssid,
sizeof(struct ndis_802_11_ssid)))
rtw_cfg80211_inform_bss(padapter, scanned);
@@ -449,22 +468,27 @@ void rtw_cfg80211_indicate_connect(struct adapter *padapter)
roam_info.links[0].channel = notify_channel;
roam_info.links[0].bssid = cur_network->network.mac_address;
- roam_info.req_ie =
- pmlmepriv->assoc_req + sizeof(struct ieee80211_hdr_3addr) + 2;
- roam_info.req_ie_len =
- pmlmepriv->assoc_req_len - sizeof(struct ieee80211_hdr_3addr) - 2;
- roam_info.resp_ie =
- pmlmepriv->assoc_rsp + sizeof(struct ieee80211_hdr_3addr) + 6;
- roam_info.resp_ie_len =
- pmlmepriv->assoc_rsp_len - sizeof(struct ieee80211_hdr_3addr) - 6;
+ roam_info.req_ie = pmlmepriv->assoc_req +
+ sizeof(struct ieee80211_hdr_3addr) + 2;
+ roam_info.req_ie_len = pmlmepriv->assoc_req_len -
+ sizeof(struct ieee80211_hdr_3addr) - 2;
+ roam_info.resp_ie = pmlmepriv->assoc_rsp +
+ sizeof(struct ieee80211_hdr_3addr) + 6;
+ roam_info.resp_ie_len = pmlmepriv->assoc_rsp_len -
+ sizeof(struct ieee80211_hdr_3addr) - 6;
cfg80211_roamed(padapter->pnetdev, &roam_info, GFP_ATOMIC);
} else {
- cfg80211_connect_result(padapter->pnetdev, cur_network->network.mac_address
- , pmlmepriv->assoc_req + sizeof(struct ieee80211_hdr_3addr) + 2
- , pmlmepriv->assoc_req_len - sizeof(struct ieee80211_hdr_3addr) - 2
- , pmlmepriv->assoc_rsp + sizeof(struct ieee80211_hdr_3addr) + 6
- , pmlmepriv->assoc_rsp_len - sizeof(struct ieee80211_hdr_3addr) - 6
- , WLAN_STATUS_SUCCESS, GFP_ATOMIC);
+ cfg80211_connect_result(
+ padapter->pnetdev, cur_network->network.mac_address,
+ pmlmepriv->assoc_req +
+ sizeof(struct ieee80211_hdr_3addr) + 2,
+ pmlmepriv->assoc_req_len -
+ sizeof(struct ieee80211_hdr_3addr) - 2,
+ pmlmepriv->assoc_rsp +
+ sizeof(struct ieee80211_hdr_3addr) + 6,
+ pmlmepriv->assoc_rsp_len -
+ sizeof(struct ieee80211_hdr_3addr) - 6,
+ WLAN_STATUS_SUCCESS, GFP_ATOMIC);
}
}
@@ -473,9 +497,8 @@ void rtw_cfg80211_indicate_disconnect(struct adapter *padapter)
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
struct wireless_dev *pwdev = padapter->rtw_wdev;
- if (pwdev->iftype != NL80211_IFTYPE_STATION
- && pwdev->iftype != NL80211_IFTYPE_P2P_CLIENT
- ) {
+ if (pwdev->iftype != NL80211_IFTYPE_STATION &&
+ pwdev->iftype != NL80211_IFTYPE_P2P_CLIENT) {
return;
}
@@ -484,33 +507,42 @@ void rtw_cfg80211_indicate_disconnect(struct adapter *padapter)
if (!padapter->mlmepriv.not_indic_disco) {
if (check_fwstate(&padapter->mlmepriv, _FW_LINKED)) {
- cfg80211_disconnected(padapter->pnetdev, 0,
- NULL, 0, true, GFP_ATOMIC);
+ cfg80211_disconnected(padapter->pnetdev, 0, NULL, 0,
+ true, GFP_ATOMIC);
} else {
- cfg80211_connect_result(padapter->pnetdev, NULL, NULL, 0, NULL, 0,
- WLAN_STATUS_UNSPECIFIED_FAILURE, GFP_ATOMIC/*GFP_KERNEL*/);
+ cfg80211_connect_result(padapter->pnetdev, NULL, NULL,
+ 0, NULL, 0,
+ WLAN_STATUS_UNSPECIFIED_FAILURE,
+ GFP_ATOMIC /*GFP_KERNEL*/);
}
}
}
-static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_param *param, u32 param_len)
+static int rtw_cfg80211_ap_set_encryption(struct net_device *dev,
+ struct ieee_param *param,
+ u32 param_len)
{
int ret = 0;
u32 wep_key_idx, wep_key_len;
struct sta_info *psta = NULL, *pbcmc_sta = NULL;
struct adapter *padapter = rtw_netdev_priv(dev);
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
- struct security_priv *psecuritypriv = &(padapter->securitypriv);
+ struct security_priv *psecuritypriv = &(padapter->securitypriv);
struct sta_priv *pstapriv = &padapter->stapriv;
- char *grpkey = padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey;
- char *txkey = padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey;
- char *rxkey = padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey;
+ char *grpkey =
+ padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey;
+ char *txkey =
+ padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx]
+ .skey;
+ char *rxkey =
+ padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx]
+ .skey;
param->u.crypt.err = 0;
param->u.crypt.alg[IEEE_CRYPT_ALG_NAME_LEN - 1] = '\0';
- if (param_len != sizeof(struct ieee_param) + param->u.crypt.key_len) {
- ret = -EINVAL;
+ if (param_len != sizeof(struct ieee_param) + param->u.crypt.key_len) {
+ ret = -EINVAL;
goto exit;
}
@@ -547,7 +579,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
/* wep default key has not been set, so use this key index as default key. */
psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Auto;
- psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled;
+ psecuritypriv->ndisencryptstatus =
+ Ndis802_11Encryption1Enabled;
psecuritypriv->dot11PrivacyAlgrthm = _WEP40_;
psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
@@ -559,11 +592,13 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx;
}
- memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
+ memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]),
+ param->u.crypt.key, wep_key_len);
psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len;
- rtw_ap_set_wep_key(padapter, param->u.crypt.key, wep_key_len, wep_key_idx, 1);
+ rtw_ap_set_wep_key(padapter, param->u.crypt.key, wep_key_len,
+ wep_key_idx, 1);
goto exit;
}
@@ -573,16 +608,23 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
/* group key */
if (param->u.crypt.set_tx == 0) {
if (strcmp(param->u.crypt.alg, "WEP") == 0) {
- memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
+ memcpy(grpkey, param->u.crypt.key,
+ (param->u.crypt.key_len > 16 ?
+ 16 :
+ param->u.crypt.key_len));
psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
if (param->u.crypt.key_len == 13)
- psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
+ psecuritypriv->dot118021XGrpPrivacy =
+ _WEP104_;
} else if (strcmp(param->u.crypt.alg, "TKIP") == 0) {
psecuritypriv->dot118021XGrpPrivacy = _TKIP_;
- memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
+ memcpy(grpkey, param->u.crypt.key,
+ (param->u.crypt.key_len > 16 ?
+ 16 :
+ param->u.crypt.key_len));
/* set mic key */
memcpy(txkey, &(param->u.crypt.key[16]), 8);
@@ -593,48 +635,68 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
} else if (strcmp(param->u.crypt.alg, "CCMP") == 0) {
psecuritypriv->dot118021XGrpPrivacy = _AES_;
- memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
+ memcpy(grpkey, param->u.crypt.key,
+ (param->u.crypt.key_len > 16 ?
+ 16 :
+ param->u.crypt.key_len));
} else {
- psecuritypriv->dot118021XGrpPrivacy = _NO_PRIVACY_;
+ psecuritypriv->dot118021XGrpPrivacy =
+ _NO_PRIVACY_;
}
psecuritypriv->dot118021XGrpKeyid = param->u.crypt.idx;
psecuritypriv->binstallGrpkey = true;
- psecuritypriv->dot11PrivacyAlgrthm = psecuritypriv->dot118021XGrpPrivacy;/* */
+ psecuritypriv->dot11PrivacyAlgrthm =
+ psecuritypriv->dot118021XGrpPrivacy; /* */
- rtw_ap_set_group_key(padapter, param->u.crypt.key, psecuritypriv->dot118021XGrpPrivacy, param->u.crypt.idx);
+ rtw_ap_set_group_key(
+ padapter, param->u.crypt.key,
+ psecuritypriv->dot118021XGrpPrivacy,
+ param->u.crypt.idx);
pbcmc_sta = rtw_get_bcmc_stainfo(padapter);
if (pbcmc_sta) {
pbcmc_sta->ieee8021x_blocked = false;
- pbcmc_sta->dot118021XPrivacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021XPrivacy */
+ pbcmc_sta->dot118021XPrivacy =
+ psecuritypriv
+ ->dot118021XGrpPrivacy; /* rx will use bmc_sta's dot118021XPrivacy */
}
}
goto exit;
}
- if (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X && psta) { /* psk/802_1x */
+ if (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X &&
+ psta) { /* psk/802_1x */
if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
if (param->u.crypt.set_tx == 1) { /* pairwise key */
- memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
+ memcpy(psta->dot118021x_UncstKey.skey,
+ param->u.crypt.key,
+ (param->u.crypt.key_len > 16 ?
+ 16 :
+ param->u.crypt.key_len));
if (strcmp(param->u.crypt.alg, "WEP") == 0) {
psta->dot118021XPrivacy = _WEP40_;
if (param->u.crypt.key_len == 13)
- psta->dot118021XPrivacy = _WEP104_;
- } else if (strcmp(param->u.crypt.alg, "TKIP") == 0) {
+ psta->dot118021XPrivacy =
+ _WEP104_;
+ } else if (strcmp(param->u.crypt.alg, "TKIP") ==
+ 0) {
psta->dot118021XPrivacy = _TKIP_;
/* set mic key */
- memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
- memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
+ memcpy(psta->dot11tkiptxmickey.skey,
+ &(param->u.crypt.key[16]), 8);
+ memcpy(psta->dot11tkiprxmickey.skey,
+ &(param->u.crypt.key[24]), 8);
psecuritypriv->busetkipkey = true;
- } else if (strcmp(param->u.crypt.alg, "CCMP") == 0) {
+ } else if (strcmp(param->u.crypt.alg, "CCMP") ==
+ 0) {
psta->dot118021XPrivacy = _AES_;
} else {
psta->dot118021XPrivacy = _NO_PRIVACY_;
@@ -648,42 +710,69 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
} else { /* group key??? */
if (strcmp(param->u.crypt.alg, "WEP") == 0) {
- memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
+ memcpy(grpkey, param->u.crypt.key,
+ (param->u.crypt.key_len > 16 ?
+ 16 :
+ param->u.crypt.key_len));
- psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
+ psecuritypriv->dot118021XGrpPrivacy =
+ _WEP40_;
if (param->u.crypt.key_len == 13)
- psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
- } else if (strcmp(param->u.crypt.alg, "TKIP") == 0) {
- psecuritypriv->dot118021XGrpPrivacy = _TKIP_;
-
- memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
+ psecuritypriv
+ ->dot118021XGrpPrivacy =
+ _WEP104_;
+ } else if (strcmp(param->u.crypt.alg, "TKIP") ==
+ 0) {
+ psecuritypriv->dot118021XGrpPrivacy =
+ _TKIP_;
+
+ memcpy(grpkey, param->u.crypt.key,
+ (param->u.crypt.key_len > 16 ?
+ 16 :
+ param->u.crypt.key_len));
/* set mic key */
- memcpy(txkey, &(param->u.crypt.key[16]), 8);
- memcpy(rxkey, &(param->u.crypt.key[24]), 8);
+ memcpy(txkey, &(param->u.crypt.key[16]),
+ 8);
+ memcpy(rxkey, &(param->u.crypt.key[24]),
+ 8);
psecuritypriv->busetkipkey = true;
- } else if (strcmp(param->u.crypt.alg, "CCMP") == 0) {
- psecuritypriv->dot118021XGrpPrivacy = _AES_;
+ } else if (strcmp(param->u.crypt.alg, "CCMP") ==
+ 0) {
+ psecuritypriv->dot118021XGrpPrivacy =
+ _AES_;
- memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
+ memcpy(grpkey, param->u.crypt.key,
+ (param->u.crypt.key_len > 16 ?
+ 16 :
+ param->u.crypt.key_len));
} else {
- psecuritypriv->dot118021XGrpPrivacy = _NO_PRIVACY_;
+ psecuritypriv->dot118021XGrpPrivacy =
+ _NO_PRIVACY_;
}
- psecuritypriv->dot118021XGrpKeyid = param->u.crypt.idx;
+ psecuritypriv->dot118021XGrpKeyid =
+ param->u.crypt.idx;
psecuritypriv->binstallGrpkey = true;
- psecuritypriv->dot11PrivacyAlgrthm = psecuritypriv->dot118021XGrpPrivacy;/* */
+ psecuritypriv->dot11PrivacyAlgrthm =
+ psecuritypriv
+ ->dot118021XGrpPrivacy; /* */
- rtw_ap_set_group_key(padapter, param->u.crypt.key, psecuritypriv->dot118021XGrpPrivacy, param->u.crypt.idx);
+ rtw_ap_set_group_key(
+ padapter, param->u.crypt.key,
+ psecuritypriv->dot118021XGrpPrivacy,
+ param->u.crypt.idx);
pbcmc_sta = rtw_get_bcmc_stainfo(padapter);
if (pbcmc_sta) {
pbcmc_sta->ieee8021x_blocked = false;
- pbcmc_sta->dot118021XPrivacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021XPrivacy */
+ pbcmc_sta->dot118021XPrivacy =
+ psecuritypriv
+ ->dot118021XGrpPrivacy; /* rx will use bmc_sta's dot118021XPrivacy */
}
}
}
@@ -694,7 +783,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
return ret;
}
-static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param *param, u32 param_len)
+static int rtw_cfg80211_set_encryption(struct net_device *dev,
+ struct ieee_param *param, u32 param_len)
{
int ret = 0;
u8 max_idx;
@@ -706,8 +796,9 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param
param->u.crypt.err = 0;
param->u.crypt.alg[IEEE_CRYPT_ALG_NAME_LEN - 1] = '\0';
- if (param_len < (u32)((u8 *)param->u.crypt.key - (u8 *)param) + param->u.crypt.key_len) {
- ret = -EINVAL;
+ if (param_len < (u32)((u8 *)param->u.crypt.key - (u8 *)param) +
+ param->u.crypt.key_len) {
+ ret = -EINVAL;
goto exit;
}
@@ -724,7 +815,8 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param
max_idx = BIP_MAX_KEYID;
if (param->u.crypt.idx > max_idx) {
- netdev_err(dev, "Error crypt.idx %d > %d\n", param->u.crypt.idx, max_idx);
+ netdev_err(dev, "Error crypt.idx %d > %d\n", param->u.crypt.idx,
+ max_idx);
ret = -EINVAL;
goto exit;
}
@@ -743,7 +835,8 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param
wep_key_len = wep_key_len <= 5 ? 5 : 13;
- psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled;
+ psecuritypriv->ndisencryptstatus =
+ Ndis802_11Encryption1Enabled;
psecuritypriv->dot11PrivacyAlgrthm = _WEP40_;
psecuritypriv->dot118021XGrpPrivacy = _WEP40_;
@@ -755,7 +848,8 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param
psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx;
}
- memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len);
+ memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]),
+ param->u.crypt.key, wep_key_len);
psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len;
@@ -764,49 +858,117 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param
goto exit;
}
- if (padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) { /* 802_1x */
+ if (padapter->securitypriv.dot11AuthAlgrthm ==
+ dot11AuthAlgrthm_8021X) { /* 802_1x */
struct sta_info *psta, *pbcmc_sta;
struct sta_priv *pstapriv = &padapter->stapriv;
- if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_MP_STATE)) { /* sta mode */
+ if (check_fwstate(pmlmepriv,
+ WIFI_STATION_STATE |
+ WIFI_MP_STATE)) { /* sta mode */
psta = rtw_get_stainfo(pstapriv, get_bssid(pmlmepriv));
if (psta) {
/* Jeff: don't disable ieee8021x_blocked while clearing key */
if (strcmp(param->u.crypt.alg, "none") != 0)
psta->ieee8021x_blocked = false;
- if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) ||
- (padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption3Enabled)) {
- psta->dot118021XPrivacy = padapter->securitypriv.dot11PrivacyAlgrthm;
+ if ((padapter->securitypriv.ndisencryptstatus ==
+ Ndis802_11Encryption2Enabled) ||
+ (padapter->securitypriv.ndisencryptstatus ==
+ Ndis802_11Encryption3Enabled)) {
+ psta->dot118021XPrivacy =
+ padapter->securitypriv
+ .dot11PrivacyAlgrthm;
}
- if (param->u.crypt.set_tx == 1) { /* pairwise key */
-
- memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
-
- if (strcmp(param->u.crypt.alg, "TKIP") == 0) { /* set mic key */
- memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8);
- memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8);
-
- padapter->securitypriv.busetkipkey = false;
+ if (param->u.crypt.set_tx ==
+ 1) { /* pairwise key */
+
+ memcpy(psta->dot118021x_UncstKey.skey,
+ param->u.crypt.key,
+ (param->u.crypt.key_len > 16 ?
+ 16 :
+ param->u.crypt.key_len));
+
+ if (strcmp(param->u.crypt.alg,
+ "TKIP") ==
+ 0) { /* set mic key */
+ memcpy(psta->dot11tkiptxmickey
+ .skey,
+ &(param->u.crypt.key[16]),
+ 8);
+ memcpy(psta->dot11tkiprxmickey
+ .skey,
+ &(param->u.crypt.key[24]),
+ 8);
+
+ padapter->securitypriv
+ .busetkipkey = false;
/* _set_timer(&padapter->securitypriv.tkip_timer, 50); */
}
- rtw_setstakey_cmd(padapter, psta, true, true);
+ rtw_setstakey_cmd(padapter, psta, true,
+ true);
} else { /* group key */
- if (strcmp(param->u.crypt.alg, "TKIP") == 0 || strcmp(param->u.crypt.alg, "CCMP") == 0) {
- memcpy(padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
- memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8);
- memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8);
- padapter->securitypriv.binstallGrpkey = true;
-
- padapter->securitypriv.dot118021XGrpKeyid = param->u.crypt.idx;
- rtw_set_key(padapter, &padapter->securitypriv, param->u.crypt.idx, 1, true);
- } else if (strcmp(param->u.crypt.alg, "BIP") == 0) {
+ if (strcmp(param->u.crypt.alg,
+ "TKIP") == 0 ||
+ strcmp(param->u.crypt.alg,
+ "CCMP") == 0) {
+ memcpy(padapter->securitypriv
+ .dot118021XGrpKey
+ [param->u.crypt
+ .idx]
+ .skey,
+ param->u.crypt.key,
+ (param->u.crypt.key_len >
+ 16 ?
+ 16 :
+ param->u.crypt
+ .key_len));
+ memcpy(padapter->securitypriv
+ .dot118021XGrptxmickey
+ [param->u.crypt
+ .idx]
+ .skey,
+ &(param->u.crypt.key[16]),
+ 8);
+ memcpy(padapter->securitypriv
+ .dot118021XGrprxmickey
+ [param->u.crypt
+ .idx]
+ .skey,
+ &(param->u.crypt.key[24]),
+ 8);
+ padapter->securitypriv
+ .binstallGrpkey = true;
+
+ padapter->securitypriv
+ .dot118021XGrpKeyid =
+ param->u.crypt.idx;
+ rtw_set_key(
+ padapter,
+ &padapter->securitypriv,
+ param->u.crypt.idx, 1,
+ true);
+ } else if (strcmp(param->u.crypt.alg,
+ "BIP") == 0) {
/* save the IGTK key, length 16 bytes */
- memcpy(padapter->securitypriv.dot11wBIPKey[param->u.crypt.idx].skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len));
- padapter->securitypriv.dot11wBIPKeyid = param->u.crypt.idx;
- padapter->securitypriv.binstallBIPkey = true;
+ memcpy(padapter->securitypriv
+ .dot11wBIPKey
+ [param->u.crypt
+ .idx]
+ .skey,
+ param->u.crypt.key,
+ (param->u.crypt.key_len >
+ 16 ?
+ 16 :
+ param->u.crypt
+ .key_len));
+ padapter->securitypriv
+ .dot11wBIPKeyid =
+ param->u.crypt.idx;
+ padapter->securitypriv
+ .binstallBIPkey = true;
}
}
}
@@ -817,12 +979,17 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param
if (strcmp(param->u.crypt.alg, "none") != 0)
pbcmc_sta->ieee8021x_blocked = false;
- if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) ||
- (padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption3Enabled)) {
- pbcmc_sta->dot118021XPrivacy = padapter->securitypriv.dot11PrivacyAlgrthm;
+ if ((padapter->securitypriv.ndisencryptstatus ==
+ Ndis802_11Encryption2Enabled) ||
+ (padapter->securitypriv.ndisencryptstatus ==
+ Ndis802_11Encryption3Enabled)) {
+ pbcmc_sta->dot118021XPrivacy =
+ padapter->securitypriv
+ .dot11PrivacyAlgrthm;
}
}
- } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { /* adhoc mode */
+ } else if (check_fwstate(pmlmepriv,
+ WIFI_ADHOC_STATE)) { /* adhoc mode */
}
}
@@ -893,7 +1060,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct wireless_dev *wdev,
}
if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) {
- ret = rtw_cfg80211_set_encryption(ndev, param, param_len);
+ ret = rtw_cfg80211_set_encryption(ndev, param, param_len);
} else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
if (mac_addr)
memcpy(param->sta_addr, mac_addr, ETH_ALEN);
@@ -901,7 +1068,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct wireless_dev *wdev,
ret = rtw_cfg80211_ap_set_encryption(ndev, param, param_len);
} else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) ||
check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) {
- ret = rtw_cfg80211_set_encryption(ndev, param, param_len);
+ ret = rtw_cfg80211_set_encryption(ndev, param, param_len);
}
addkey_end:
@@ -914,7 +1081,7 @@ static int cfg80211_rtw_get_key(struct wiphy *wiphy, struct wireless_dev *wdev,
int link_id, u8 key_index, bool pairwise,
const u8 *mac_addr, void *cookie,
void (*callback)(void *cookie,
- struct key_params*))
+ struct key_params *))
{
return 0;
}
@@ -942,7 +1109,10 @@ static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
struct adapter *padapter = rtw_netdev_priv(ndev);
struct security_priv *psecuritypriv = &padapter->securitypriv;
- if ((key_index < WEP_KEYS) && ((psecuritypriv->dot11PrivacyAlgrthm == _WEP40_) || (psecuritypriv->dot11PrivacyAlgrthm == _WEP104_))) { /* set wep default key */
+ if ((key_index < WEP_KEYS) &&
+ ((psecuritypriv->dot11PrivacyAlgrthm == _WEP40_) ||
+ (psecuritypriv->dot11PrivacyAlgrthm ==
+ _WEP104_))) { /* set wep default key */
psecuritypriv->ndisencryptstatus = Ndis802_11Encryption1Enabled;
psecuritypriv->dot11PrivacyKeyIndex = key_index;
@@ -954,16 +1124,16 @@ static int cfg80211_rtw_set_default_key(struct wiphy *wiphy,
psecuritypriv->dot118021XGrpPrivacy = _WEP104_;
}
- psecuritypriv->bWepDefaultKeyIdxSet = 1; /* set the flag to represent that wep default key has been set */
+ psecuritypriv->bWepDefaultKeyIdxSet =
+ 1; /* set the flag to represent that wep default key has been set */
}
return 0;
}
static int cfg80211_rtw_get_station(struct wiphy *wiphy,
- struct wireless_dev *wdev,
- const u8 *mac,
- struct station_info *sinfo)
+ struct wireless_dev *wdev, const u8 *mac,
+ struct station_info *sinfo)
{
int ret = 0;
struct net_device *ndev = wdev_to_ndev(wdev);
@@ -986,17 +1156,19 @@ static int cfg80211_rtw_get_station(struct wiphy *wiphy,
}
/* for infra./P2PClient mode */
- if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)
- && check_fwstate(pmlmepriv, _FW_LINKED)) {
- struct wlan_network *cur_network = &(pmlmepriv->cur_network);
+ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) &&
+ check_fwstate(pmlmepriv, _FW_LINKED)) {
+ struct wlan_network *cur_network = &(pmlmepriv->cur_network);
- if (memcmp((u8 *)mac, cur_network->network.mac_address, ETH_ALEN)) {
+ if (memcmp((u8 *)mac, cur_network->network.mac_address,
+ ETH_ALEN)) {
ret = -ENOENT;
goto exit;
}
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL);
- sinfo->signal = translate_percentage_to_dbm(padapter->recvpriv.signal_strength);
+ sinfo->signal = translate_percentage_to_dbm(
+ padapter->recvpriv.signal_strength);
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_BITRATE);
sinfo->txrate.legacy = rtw_get_cur_max_rate(padapter);
@@ -1090,14 +1262,13 @@ static int cfg80211_rtw_change_iface(struct wiphy *wiphy,
void rtw_cfg80211_indicate_scan_done(struct adapter *adapter, bool aborted)
{
struct rtw_wdev_priv *pwdev_priv = adapter_wdev_data(adapter);
- struct cfg80211_scan_info info = {
- .aborted = aborted
- };
+ struct cfg80211_scan_info info = { .aborted = aborted };
spin_lock_bh(&pwdev_priv->scan_req_lock);
if (pwdev_priv->scan_request) {
/* avoid WARN_ON(request != wiphy_to_dev(request->wiphy)->scan_req); */
- if (pwdev_priv->scan_request->wiphy == pwdev_priv->rtw_wdev->wiphy)
+ if (pwdev_priv->scan_request->wiphy ==
+ pwdev_priv->rtw_wdev->wiphy)
cfg80211_scan_done(pwdev_priv->scan_request, &info);
pwdev_priv->scan_request = NULL;
@@ -1105,14 +1276,15 @@ void rtw_cfg80211_indicate_scan_done(struct adapter *adapter, bool aborted)
spin_unlock_bh(&pwdev_priv->scan_req_lock);
}
-void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnetwork)
+void rtw_cfg80211_unlink_bss(struct adapter *padapter,
+ struct wlan_network *pnetwork)
{
struct wireless_dev *pwdev = padapter->rtw_wdev;
struct wiphy *wiphy = pwdev->wiphy;
struct cfg80211_bss *bss = NULL;
struct wlan_bssid_ex *select_network = &pnetwork->network;
- bss = cfg80211_get_bss(wiphy, NULL/*notify_channel*/,
+ bss = cfg80211_get_bss(wiphy, NULL /*notify_channel*/,
select_network->mac_address,
select_network->ssid.ssid,
select_network->ssid.ssid_length,
@@ -1126,21 +1298,22 @@ void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnet
void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter)
{
- struct list_head *plist, *phead;
- struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
- struct __queue *queue = &(pmlmepriv->scanned_queue);
- struct wlan_network *pnetwork = NULL;
+ struct list_head *plist, *phead;
+ struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
+ struct __queue *queue = &(pmlmepriv->scanned_queue);
+ struct wlan_network *pnetwork = NULL;
spin_lock_bh(&(pmlmepriv->scanned_queue.lock));
phead = get_list_head(queue);
- list_for_each(plist, phead)
- {
+ list_for_each(plist, phead) {
pnetwork = list_entry(plist, struct wlan_network, list);
/* report network only if the current channel set contains the channel to which this network belongs */
- if (rtw_ch_set_search_ch(padapter->mlmeextpriv.channel_set, pnetwork->network.configuration.ds_config) >= 0
- && true == rtw_validate_ssid(&(pnetwork->network.ssid))) {
+ if (rtw_ch_set_search_ch(
+ padapter->mlmeextpriv.channel_set,
+ pnetwork->network.configuration.ds_config) >= 0 &&
+ true == rtw_validate_ssid(&(pnetwork->network.ssid))) {
/* ev =translate_scan(padapter, a, pnetwork, ev, stop); */
rtw_cfg80211_inform_bss(padapter, pnetwork);
}
@@ -1149,7 +1322,8 @@ void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter)
spin_unlock_bh(&(pmlmepriv->scanned_queue.lock));
}
-static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *buf, int len)
+static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter,
+ char *buf, int len)
{
int ret = 0;
uint wps_ielen = 0;
@@ -1165,7 +1339,8 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *b
pmlmepriv->wps_probe_req_ie = NULL;
}
- pmlmepriv->wps_probe_req_ie = kmemdup(wps_ie, wps_ielen, GFP_KERNEL);
+ pmlmepriv->wps_probe_req_ie =
+ kmemdup(wps_ie, wps_ielen, GFP_KERNEL);
if (!pmlmepriv->wps_probe_req_ie)
return -EINVAL;
@@ -1176,8 +1351,8 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *b
return ret;
}
-static int cfg80211_rtw_scan(struct wiphy *wiphy
- , struct cfg80211_scan_request *request)
+static int cfg80211_rtw_scan(struct wiphy *wiphy,
+ struct cfg80211_scan_request *request)
{
struct net_device *ndev = wdev_to_ndev(request->wdev);
int i;
@@ -1203,7 +1378,7 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
padapter = rtw_netdev_priv(ndev);
pwdev_priv = adapter_wdev_data(padapter);
pmlmepriv = &padapter->mlmepriv;
-/* endif */
+ /* endif */
spin_lock_bh(&pwdev_priv->scan_req_lock);
pwdev_priv->scan_request = request;
@@ -1211,7 +1386,7 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS | _FW_UNDER_SURVEY |
- _FW_UNDER_LINKING)) {
+ _FW_UNDER_LINKING)) {
need_indicate_scan_done = true;
goto check_need_indicate_scan_done;
}
@@ -1224,7 +1399,8 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
}
if (request->ie && request->ie_len > 0)
- rtw_cfg80211_set_probe_req_wpsp2pie(padapter, (u8 *)request->ie, request->ie_len);
+ rtw_cfg80211_set_probe_req_wpsp2pie(padapter, (u8 *)request->ie,
+ request->ie_len);
if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) {
need_indicate_scan_done = true;
@@ -1264,8 +1440,10 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
}
/* parsing channels, n_channels */
- memset(ch, 0, sizeof(struct rtw_ieee80211_channel) * RTW_CHANNEL_SCAN_AMOUNT);
- for (i = 0; i < request->n_channels && i < RTW_CHANNEL_SCAN_AMOUNT; i++) {
+ memset(ch, 0,
+ sizeof(struct rtw_ieee80211_channel) * RTW_CHANNEL_SCAN_AMOUNT);
+ for (i = 0; i < request->n_channels && i < RTW_CHANNEL_SCAN_AMOUNT;
+ i++) {
ch[i].hw_value = request->channels[i]->hw_value;
ch[i].flags = request->channels[i]->flags;
}
@@ -1273,15 +1451,22 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
spin_lock_bh(&pmlmepriv->lock);
if (request->n_channels == 1) {
for (i = 1; i < survey_times_for_one_ch; i++)
- memcpy(&ch[i], &ch[0], sizeof(struct rtw_ieee80211_channel));
- _status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, ch, survey_times_for_one_ch);
+ memcpy(&ch[i], &ch[0],
+ sizeof(struct rtw_ieee80211_channel));
+ _status = rtw_sitesurvey_cmd(padapter, ssid,
+ RTW_SSID_SCAN_AMOUNT, ch,
+ survey_times_for_one_ch);
} else if (request->n_channels <= 4) {
for (j = request->n_channels - 1; j >= 0; j--)
for (i = 0; i < survey_times; i++)
- memcpy(&ch[j * survey_times + i], &ch[j], sizeof(struct rtw_ieee80211_channel));
- _status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, ch, survey_times * request->n_channels);
+ memcpy(&ch[j * survey_times + i], &ch[j],
+ sizeof(struct rtw_ieee80211_channel));
+ _status = rtw_sitesurvey_cmd(
+ padapter, ssid, RTW_SSID_SCAN_AMOUNT, ch,
+ survey_times * request->n_channels);
} else {
- _status = rtw_sitesurvey_cmd(padapter, ssid, RTW_SSID_SCAN_AMOUNT, NULL, 0);
+ _status = rtw_sitesurvey_cmd(padapter, ssid,
+ RTW_SSID_SCAN_AMOUNT, NULL, 0);
}
spin_unlock_bh(&pmlmepriv->lock);
@@ -1307,7 +1492,8 @@ static int cfg80211_rtw_set_wiphy_params(struct wiphy *wiphy, int radio_idx,
return 0;
}
-static int rtw_cfg80211_set_wpa_version(struct security_priv *psecuritypriv, u32 wpa_version)
+static int rtw_cfg80211_set_wpa_version(struct security_priv *psecuritypriv,
+ u32 wpa_version)
{
if (!wpa_version) {
psecuritypriv->ndisauthtype = Ndis802_11AuthModeOpen;
@@ -1334,7 +1520,8 @@ static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv,
psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open;
if (psecuritypriv->ndisauthtype > Ndis802_11AuthModeWPA)
- psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
+ psecuritypriv->dot11AuthAlgrthm =
+ dot11AuthAlgrthm_8021X;
break;
case NL80211_AUTHTYPE_SHARED_KEY:
@@ -1352,12 +1539,13 @@ static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv,
return 0;
}
-static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 cipher, bool ucast)
+static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv,
+ u32 cipher, bool ucast)
{
u32 ndisencryptstatus = Ndis802_11EncryptionDisabled;
u32 *profile_cipher = ucast ? &psecuritypriv->dot11PrivacyAlgrthm :
- &psecuritypriv->dot118021XGrpPrivacy;
+ &psecuritypriv->dot118021XGrpPrivacy;
if (!cipher) {
*profile_cipher = _NO_PRIVACY_;
@@ -1400,7 +1588,8 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph
return 0;
}
-static int rtw_cfg80211_set_key_mgt(struct security_priv *psecuritypriv, u32 key_mgt)
+static int rtw_cfg80211_set_key_mgt(struct security_priv *psecuritypriv,
+ u32 key_mgt)
{
if (key_mgt == WLAN_AKM_SUITE_8021X)
/* auth_type = UMAC_AUTH_TYPE_8021X; */
@@ -1412,7 +1601,8 @@ static int rtw_cfg80211_set_key_mgt(struct security_priv *psecuritypriv, u32 key
return 0;
}
-static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t ielen)
+static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie,
+ size_t ielen)
{
u8 *buf = NULL;
int group_cipher = 0, pairwise_cipher = 0;
@@ -1420,7 +1610,7 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
int wpa_ielen = 0;
int wpa2_ielen = 0;
u8 *pwpa, *pwpa2;
- u8 null_addr[] = {0, 0, 0, 0, 0, 0};
+ u8 null_addr[] = { 0, 0, 0, 0, 0, 0 };
if (!pie || !ielen) {
/* Treat this as normal case, but need to clear WIFI_UNDER_WPS */
@@ -1435,38 +1625,48 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
buf = kmemdup(pie, ielen, GFP_KERNEL);
if (!buf) {
- ret = -ENOMEM;
+ ret = -ENOMEM;
goto exit;
}
if (ielen < RSN_HEADER_LEN) {
- ret = -1;
+ ret = -1;
goto exit;
}
pwpa = rtw_get_wpa_ie(buf, &wpa_ielen, ielen);
if (pwpa && wpa_ielen > 0) {
- if (wpa_ielen + 2 > sizeof(padapter->securitypriv.supplicant_ie)) {
+ if (wpa_ielen + 2 >
+ sizeof(padapter->securitypriv.supplicant_ie)) {
ret = -EINVAL;
goto exit;
}
- if (rtw_parse_wpa_ie(pwpa, wpa_ielen + 2, &group_cipher, &pairwise_cipher, NULL) == _SUCCESS) {
- padapter->securitypriv.dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
- padapter->securitypriv.ndisauthtype = Ndis802_11AuthModeWPAPSK;
- memcpy(padapter->securitypriv.supplicant_ie, &pwpa[0], wpa_ielen + 2);
+ if (rtw_parse_wpa_ie(pwpa, wpa_ielen + 2, &group_cipher,
+ &pairwise_cipher, NULL) == _SUCCESS) {
+ padapter->securitypriv.dot11AuthAlgrthm =
+ dot11AuthAlgrthm_8021X;
+ padapter->securitypriv.ndisauthtype =
+ Ndis802_11AuthModeWPAPSK;
+ memcpy(padapter->securitypriv.supplicant_ie, &pwpa[0],
+ wpa_ielen + 2);
}
}
pwpa2 = rtw_get_wpa2_ie(buf, &wpa2_ielen, ielen);
if (pwpa2 && wpa2_ielen > 0) {
- if (wpa2_ielen + 2 > sizeof(padapter->securitypriv.supplicant_ie)) {
+ if (wpa2_ielen + 2 >
+ sizeof(padapter->securitypriv.supplicant_ie)) {
ret = -EINVAL;
goto exit;
}
- if (rtw_parse_wpa2_ie(pwpa2, wpa2_ielen + 2, &group_cipher, &pairwise_cipher, NULL) == _SUCCESS) {
- padapter->securitypriv.dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
- padapter->securitypriv.ndisauthtype = Ndis802_11AuthModeWPA2PSK;
- memcpy(padapter->securitypriv.supplicant_ie, &pwpa2[0], wpa2_ielen + 2);
+ if (rtw_parse_wpa2_ie(pwpa2, wpa2_ielen + 2, &group_cipher,
+ &pairwise_cipher, NULL) == _SUCCESS) {
+ padapter->securitypriv.dot11AuthAlgrthm =
+ dot11AuthAlgrthm_8021X;
+ padapter->securitypriv.ndisauthtype =
+ Ndis802_11AuthModeWPA2PSK;
+ memcpy(padapter->securitypriv.supplicant_ie, &pwpa2[0],
+ wpa2_ielen + 2);
}
}
@@ -1479,57 +1679,69 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
switch (group_cipher) {
case WPA_CIPHER_NONE:
padapter->securitypriv.dot118021XGrpPrivacy = _NO_PRIVACY_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11EncryptionDisabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11EncryptionDisabled;
break;
case WPA_CIPHER_WEP40:
padapter->securitypriv.dot118021XGrpPrivacy = _WEP40_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11Encryption1Enabled;
break;
case WPA_CIPHER_TKIP:
padapter->securitypriv.dot118021XGrpPrivacy = _TKIP_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption2Enabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11Encryption2Enabled;
break;
case WPA_CIPHER_CCMP:
padapter->securitypriv.dot118021XGrpPrivacy = _AES_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption3Enabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11Encryption3Enabled;
break;
case WPA_CIPHER_WEP104:
padapter->securitypriv.dot118021XGrpPrivacy = _WEP104_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11Encryption1Enabled;
break;
}
switch (pairwise_cipher) {
case WPA_CIPHER_NONE:
padapter->securitypriv.dot11PrivacyAlgrthm = _NO_PRIVACY_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11EncryptionDisabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11EncryptionDisabled;
break;
case WPA_CIPHER_WEP40:
padapter->securitypriv.dot11PrivacyAlgrthm = _WEP40_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11Encryption1Enabled;
break;
case WPA_CIPHER_TKIP:
padapter->securitypriv.dot11PrivacyAlgrthm = _TKIP_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption2Enabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11Encryption2Enabled;
break;
case WPA_CIPHER_CCMP:
padapter->securitypriv.dot11PrivacyAlgrthm = _AES_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption3Enabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11Encryption3Enabled;
break;
case WPA_CIPHER_WEP104:
padapter->securitypriv.dot11PrivacyAlgrthm = _WEP104_;
- padapter->securitypriv.ndisencryptstatus = Ndis802_11Encryption1Enabled;
+ padapter->securitypriv.ndisencryptstatus =
+ Ndis802_11Encryption1Enabled;
break;
}
- {/* handle wps_ie */
+ { /* handle wps_ie */
uint wps_ielen;
u8 *wps_ie;
wps_ie = rtw_get_wps_ie(buf, ielen, NULL, &wps_ielen);
if (wps_ie && wps_ielen > 0) {
- padapter->securitypriv.wps_ie_len = min_t(uint, wps_ielen, MAX_WPS_IE_LEN);
- memcpy(padapter->securitypriv.wps_ie, wps_ie, padapter->securitypriv.wps_ie_len);
+ padapter->securitypriv.wps_ie_len =
+ min_t(uint, wps_ielen, MAX_WPS_IE_LEN);
+ memcpy(padapter->securitypriv.wps_ie, wps_ie,
+ padapter->securitypriv.wps_ie_len);
set_fwstate(&padapter->mlmepriv, WIFI_UNDER_WPS);
} else {
_clr_fwstate_(&padapter->mlmepriv, WIFI_UNDER_WPS);
@@ -1537,9 +1749,9 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
}
/* TKIP and AES disallow multicast packets until installing group key */
- if (padapter->securitypriv.dot11PrivacyAlgrthm == _TKIP_
- || padapter->securitypriv.dot11PrivacyAlgrthm == _TKIP_WTMIC_
- || padapter->securitypriv.dot11PrivacyAlgrthm == _AES_)
+ if (padapter->securitypriv.dot11PrivacyAlgrthm == _TKIP_ ||
+ padapter->securitypriv.dot11PrivacyAlgrthm == _TKIP_WTMIC_ ||
+ padapter->securitypriv.dot11PrivacyAlgrthm == _AES_)
/* WPS open need to enable multicast */
/* check_fwstate(&padapter->mlmepriv, WIFI_UNDER_WPS) == true) */
rtw_hal_set_hwreg(padapter, HW_VAR_OFF_RCR_AM, null_addr);
@@ -1587,11 +1799,14 @@ static int cfg80211_rtw_join_ibss(struct wiphy *wiphy, struct net_device *ndev,
psecuritypriv->ndisencryptstatus = Ndis802_11EncryptionDisabled;
psecuritypriv->dot11PrivacyAlgrthm = _NO_PRIVACY_;
psecuritypriv->dot118021XGrpPrivacy = _NO_PRIVACY_;
- psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open; /* open system */
+ psecuritypriv->dot11AuthAlgrthm =
+ dot11AuthAlgrthm_Open; /* open system */
psecuritypriv->ndisauthtype = Ndis802_11AuthModeOpen;
- ret = rtw_cfg80211_set_auth_type(psecuritypriv, NL80211_AUTHTYPE_OPEN_SYSTEM);
- rtw_set_802_11_authentication_mode(padapter, psecuritypriv->ndisauthtype);
+ ret = rtw_cfg80211_set_auth_type(psecuritypriv,
+ NL80211_AUTHTYPE_OPEN_SYSTEM);
+ rtw_set_802_11_authentication_mode(padapter,
+ psecuritypriv->ndisauthtype);
if (!rtw_set_802_11_ssid(padapter, &ndis_ssid)) {
ret = -1;
@@ -1619,7 +1834,8 @@ static int cfg80211_rtw_leave_ibss(struct wiphy *wiphy, struct net_device *ndev)
rtw_wdev->iftype = NL80211_IFTYPE_STATION;
- if (!rtw_set_802_11_infrastructure_mode(padapter, Ndis802_11Infrastructure)) {
+ if (!rtw_set_802_11_infrastructure_mode(
+ padapter, Ndis802_11Infrastructure)) {
rtw_wdev->iftype = old_type;
ret = -EPERM;
goto leave_ibss;
@@ -1683,10 +1899,12 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
psecuritypriv->ndisencryptstatus = Ndis802_11EncryptionDisabled;
psecuritypriv->dot11PrivacyAlgrthm = _NO_PRIVACY_;
psecuritypriv->dot118021XGrpPrivacy = _NO_PRIVACY_;
- psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open; /* open system */
+ psecuritypriv->dot11AuthAlgrthm =
+ dot11AuthAlgrthm_Open; /* open system */
psecuritypriv->ndisauthtype = Ndis802_11AuthModeOpen;
- ret = rtw_cfg80211_set_wpa_version(psecuritypriv, sme->crypto.wpa_versions);
+ ret = rtw_cfg80211_set_wpa_version(psecuritypriv,
+ sme->crypto.wpa_versions);
if (ret < 0)
goto exit;
@@ -1700,16 +1918,18 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
goto exit;
if (sme->crypto.n_ciphers_pairwise) {
- ret = rtw_cfg80211_set_cipher(psecuritypriv, sme->crypto.ciphers_pairwise[0], true);
+ ret = rtw_cfg80211_set_cipher(
+ psecuritypriv, sme->crypto.ciphers_pairwise[0], true);
if (ret < 0)
goto exit;
}
/* For WEP Shared auth */
if ((psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_Shared ||
- psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_Auto) && sme->key) {
+ psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_Auto) &&
+ sme->key) {
u32 wep_key_idx, wep_key_len, wep_total_len;
- struct ndis_802_11_wep *pwep = NULL;
+ struct ndis_802_11_wep *pwep = NULL;
wep_key_idx = sme->key_idx;
wep_key_len = sme->key_len;
@@ -1721,7 +1941,8 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
if (wep_key_len > 0) {
wep_key_len = wep_key_len <= 5 ? 5 : 13;
- wep_total_len = wep_key_len +
+ wep_total_len =
+ wep_key_len +
offsetof(struct ndis_802_11_wep, key_material);
pwep = kzalloc(wep_total_len, GFP_KERNEL);
if (!pwep) {
@@ -1733,8 +1954,10 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
pwep->length = wep_total_len;
if (wep_key_len == 13) {
- padapter->securitypriv.dot11PrivacyAlgrthm = _WEP104_;
- padapter->securitypriv.dot118021XGrpPrivacy = _WEP104_;
+ padapter->securitypriv.dot11PrivacyAlgrthm =
+ _WEP104_;
+ padapter->securitypriv.dot118021XGrpPrivacy =
+ _WEP104_;
}
} else {
ret = -EINVAL;
@@ -1755,12 +1978,14 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
goto exit;
}
- ret = rtw_cfg80211_set_cipher(psecuritypriv, sme->crypto.cipher_group, false);
+ ret = rtw_cfg80211_set_cipher(psecuritypriv, sme->crypto.cipher_group,
+ false);
if (ret < 0)
return ret;
if (sme->crypto.n_akm_suites) {
- ret = rtw_cfg80211_set_key_mgt(psecuritypriv, sme->crypto.akm_suites[0]);
+ ret = rtw_cfg80211_set_key_mgt(psecuritypriv,
+ sme->crypto.akm_suites[0]);
if (ret < 0)
goto exit;
}
@@ -1811,8 +2036,7 @@ static int cfg80211_rtw_set_txpower(struct wiphy *wiphy,
}
static int cfg80211_rtw_get_txpower(struct wiphy *wiphy,
- struct wireless_dev *wdev,
- int radio_idx,
+ struct wireless_dev *wdev, int radio_idx,
unsigned int link_id, int *dbm)
{
*dbm = (12);
@@ -1828,8 +2052,8 @@ inline bool rtw_cfg80211_pwr_mgmt(struct adapter *adapter)
}
static int cfg80211_rtw_set_power_mgmt(struct wiphy *wiphy,
- struct net_device *ndev,
- bool enabled, int timeout)
+ struct net_device *ndev, bool enabled,
+ int timeout)
{
struct adapter *padapter = rtw_netdev_priv(ndev);
struct rtw_wdev_priv *rtw_wdev_priv = adapter_wdev_data(padapter);
@@ -1842,8 +2066,7 @@ static int cfg80211_rtw_set_power_mgmt(struct wiphy *wiphy,
return 0;
}
-static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy,
- struct net_device *ndev,
+static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_pmksa *pmksa)
{
u8 index, blInserted = false;
@@ -1856,9 +2079,11 @@ static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy,
blInserted = false;
/* overwrite PMKID */
- for (index = 0 ; index < NUM_PMKID_CACHE; index++) {
- if (!memcmp(psecuritypriv->PMKIDList[index].Bssid, (u8 *)pmksa->bssid, ETH_ALEN)) {
- memcpy(psecuritypriv->PMKIDList[index].PMKID, (u8 *)pmksa->pmkid, WLAN_PMKID_LEN);
+ for (index = 0; index < NUM_PMKID_CACHE; index++) {
+ if (!memcmp(psecuritypriv->PMKIDList[index].Bssid,
+ (u8 *)pmksa->bssid, ETH_ALEN)) {
+ memcpy(psecuritypriv->PMKIDList[index].PMKID,
+ (u8 *)pmksa->pmkid, WLAN_PMKID_LEN);
psecuritypriv->PMKIDList[index].bUsed = true;
psecuritypriv->PMKIDIndex = index + 1;
blInserted = true;
@@ -1867,10 +2092,13 @@ static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy,
}
if (!blInserted) {
- memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].Bssid, (u8 *)pmksa->bssid, ETH_ALEN);
- memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].PMKID, (u8 *)pmksa->pmkid, WLAN_PMKID_LEN);
+ memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].Bssid,
+ (u8 *)pmksa->bssid, ETH_ALEN);
+ memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].PMKID,
+ (u8 *)pmksa->pmkid, WLAN_PMKID_LEN);
- psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].bUsed = true;
+ psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].bUsed =
+ true;
psecuritypriv->PMKIDIndex++;
if (psecuritypriv->PMKIDIndex == 16)
psecuritypriv->PMKIDIndex = 0;
@@ -1879,22 +2107,23 @@ static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy,
return 0;
}
-static int cfg80211_rtw_del_pmksa(struct wiphy *wiphy,
- struct net_device *ndev,
+static int cfg80211_rtw_del_pmksa(struct wiphy *wiphy, struct net_device *ndev,
struct cfg80211_pmksa *pmksa)
{
u8 index, bMatched = false;
struct adapter *padapter = rtw_netdev_priv(ndev);
struct security_priv *psecuritypriv = &padapter->securitypriv;
- for (index = 0 ; index < NUM_PMKID_CACHE; index++) {
- if (!memcmp(psecuritypriv->PMKIDList[index].Bssid, (u8 *)pmksa->bssid, ETH_ALEN)) {
+ for (index = 0; index < NUM_PMKID_CACHE; index++) {
+ if (!memcmp(psecuritypriv->PMKIDList[index].Bssid,
+ (u8 *)pmksa->bssid, ETH_ALEN)) {
/*
* BSSID is matched, the same AP => Remove this PMKID information
* and reset it.
*/
eth_zero_addr(psecuritypriv->PMKIDList[index].Bssid);
- memset(psecuritypriv->PMKIDList[index].PMKID, 0x00, WLAN_PMKID_LEN);
+ memset(psecuritypriv->PMKIDList[index].PMKID, 0x00,
+ WLAN_PMKID_LEN);
psecuritypriv->PMKIDList[index].bUsed = false;
bMatched = true;
break;
@@ -1913,13 +2142,15 @@ static int cfg80211_rtw_flush_pmksa(struct wiphy *wiphy,
struct adapter *padapter = rtw_netdev_priv(ndev);
struct security_priv *psecuritypriv = &padapter->securitypriv;
- memset(&psecuritypriv->PMKIDList[0], 0x00, sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE);
+ memset(&psecuritypriv->PMKIDList[0], 0x00,
+ sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE);
psecuritypriv->PMKIDIndex = 0;
return 0;
}
-void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter, u8 *pmgmt_frame, uint frame_len)
+void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter, u8 *pmgmt_frame,
+ uint frame_len)
{
struct wireless_dev *wdev = padapter->rtw_wdev;
@@ -1934,12 +2165,16 @@ void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter, u8 *pmgmt_frame,
sinfo.filled = 0;
sinfo.assoc_req_ies = pmgmt_frame + WLAN_HDR_A3_LEN + ie_offset;
- sinfo.assoc_req_ies_len = frame_len - WLAN_HDR_A3_LEN - ie_offset;
- cfg80211_new_sta(wdev, GetAddr2Ptr(pmgmt_frame), &sinfo, GFP_ATOMIC);
+ sinfo.assoc_req_ies_len =
+ frame_len - WLAN_HDR_A3_LEN - ie_offset;
+ cfg80211_new_sta(wdev, GetAddr2Ptr(pmgmt_frame), &sinfo,
+ GFP_ATOMIC);
}
}
-void rtw_cfg80211_indicate_sta_disassoc(struct adapter *padapter, unsigned char *da, unsigned short reason)
+void rtw_cfg80211_indicate_sta_disassoc(struct adapter *padapter,
+ unsigned char *da,
+ unsigned short reason)
{
struct wireless_dev *wdev = padapter->rtw_wdev;
@@ -1968,7 +2203,8 @@ static u8 rtw_get_chan_type(struct adapter *adapter)
return NL80211_CHAN_HT20;
}
-static int cfg80211_rtw_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev,
+static int cfg80211_rtw_get_channel(struct wiphy *wiphy,
+ struct wireless_dev *wdev,
unsigned int link_id,
struct cfg80211_chan_def *chandef)
{
@@ -2000,7 +2236,8 @@ static int cfg80211_rtw_get_channel(struct wiphy *wiphy, struct wireless_dev *wd
return 0;
}
-static netdev_tx_t rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb, struct net_device *ndev)
+static netdev_tx_t rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb,
+ struct net_device *ndev)
{
int rtap_len;
int qos_len = 0;
@@ -2052,20 +2289,23 @@ static netdev_tx_t rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb, struc
/* Skip the 802.11 header, QoS (if any) and SNAP, but leave spaces for
* two MAC addresses
*/
- skb_pull(skb, dot11_hdr_len + qos_len + snap_len - sizeof(src_mac_addr) * 2);
+ skb_pull(skb, dot11_hdr_len + qos_len + snap_len -
+ sizeof(src_mac_addr) * 2);
pdata = (unsigned char *)skb->data;
memcpy(pdata, dst_mac_addr, sizeof(dst_mac_addr));
- memcpy(pdata + sizeof(dst_mac_addr), src_mac_addr, sizeof(src_mac_addr));
+ memcpy(pdata + sizeof(dst_mac_addr), src_mac_addr,
+ sizeof(src_mac_addr));
/* Use the real net device to transmit the packet */
_rtw_xmit_entry(skb, padapter->pnetdev);
return NETDEV_TX_OK;
- } else if ((frame_control & (IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) ==
+ } else if ((frame_control &
+ (IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) ==
(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_ACTION)) {
/* only for action frames */
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
/* u8 category, action, OUI_Subtype, dialogToken = 0; */
/* unsigned char *frame_body; */
@@ -2118,7 +2358,8 @@ static const struct net_device_ops rtw_cfg80211_monitor_if_ops = {
.ndo_start_xmit = rtw_cfg80211_monitor_if_xmit_entry,
};
-static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, struct net_device **ndev)
+static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name,
+ struct net_device **ndev)
{
int ret = 0;
struct net_device *mon_ndev = NULL;
@@ -2186,12 +2427,9 @@ static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, str
return ret;
}
-static struct wireless_dev *
- cfg80211_rtw_add_virtual_intf(
- struct wiphy *wiphy,
- const char *name,
- unsigned char name_assign_type,
- enum nl80211_iftype type, struct vif_params *params)
+static struct wireless_dev *cfg80211_rtw_add_virtual_intf(
+ struct wiphy *wiphy, const char *name, unsigned char name_assign_type,
+ enum nl80211_iftype type, struct vif_params *params)
{
int ret = 0;
struct net_device *ndev = NULL;
@@ -2205,7 +2443,8 @@ static struct wireless_dev *
ret = -ENODEV;
break;
case NL80211_IFTYPE_MONITOR:
- ret = rtw_cfg80211_add_monitor_if(padapter, (char *)name, &ndev);
+ ret = rtw_cfg80211_add_monitor_if(padapter, (char *)name,
+ &ndev);
break;
case NL80211_IFTYPE_P2P_CLIENT:
case NL80211_IFTYPE_STATION:
@@ -2224,8 +2463,7 @@ static struct wireless_dev *
}
static int cfg80211_rtw_del_virtual_intf(struct wiphy *wiphy,
- struct wireless_dev *wdev
-)
+ struct wireless_dev *wdev)
{
struct net_device *ndev = wdev_to_ndev(wdev);
int ret = 0;
@@ -2251,7 +2489,8 @@ static int cfg80211_rtw_del_virtual_intf(struct wiphy *wiphy,
return ret;
}
-static int rtw_add_beacon(struct adapter *adapter, const u8 *head, size_t head_len, const u8 *tail, size_t tail_len)
+static int rtw_add_beacon(struct adapter *adapter, const u8 *head,
+ size_t head_len, const u8 *tail, size_t tail_len)
{
int ret = 0;
u8 *pbuf = NULL;
@@ -2268,19 +2507,22 @@ static int rtw_add_beacon(struct adapter *adapter, const u8 *head, size_t head_l
if (!pbuf)
return -ENOMEM;
- memcpy(pbuf, head + 24, head_len - 24);/* 24 =beacon header len. */
+ memcpy(pbuf, head + 24, head_len - 24); /* 24 =beacon header len. */
memcpy(pbuf + head_len - 24, tail, tail_len);
len = head_len + tail_len - 24;
/* check wps ie if inclued */
- rtw_get_wps_ie(pbuf + _FIXED_IE_LENGTH_, len - _FIXED_IE_LENGTH_, NULL, &wps_ielen);
+ rtw_get_wps_ie(pbuf + _FIXED_IE_LENGTH_, len - _FIXED_IE_LENGTH_, NULL,
+ &wps_ielen);
/* pbss_network->ies will not include p2p_ie, wfd ie */
- rtw_ies_remove_ie(pbuf, &len, _BEACON_IE_OFFSET_, WLAN_EID_VENDOR_SPECIFIC, P2P_OUI, 4);
- rtw_ies_remove_ie(pbuf, &len, _BEACON_IE_OFFSET_, WLAN_EID_VENDOR_SPECIFIC, WFD_OUI, 4);
+ rtw_ies_remove_ie(pbuf, &len, _BEACON_IE_OFFSET_,
+ WLAN_EID_VENDOR_SPECIFIC, P2P_OUI, 4);
+ rtw_ies_remove_ie(pbuf, &len, _BEACON_IE_OFFSET_,
+ WLAN_EID_VENDOR_SPECIFIC, WFD_OUI, 4);
- if (rtw_check_beacon_data(adapter, pbuf, len) == _SUCCESS)
+ if (rtw_check_beacon_data(adapter, pbuf, len) == _SUCCESS)
ret = 0;
else
ret = -EINVAL;
@@ -2300,29 +2542,34 @@ static int cfg80211_rtw_start_ap(struct wiphy *wiphy, struct net_device *ndev,
settings->beacon.head_len, settings->beacon.tail,
settings->beacon.tail_len);
- adapter->mlmeextpriv.mlmext_info.hidden_ssid_mode = settings->hidden_ssid;
+ adapter->mlmeextpriv.mlmext_info.hidden_ssid_mode =
+ settings->hidden_ssid;
if (settings->ssid && settings->ssid_len) {
- struct wlan_bssid_ex *pbss_network = &adapter->mlmepriv.cur_network.network;
- struct wlan_bssid_ex *pbss_network_ext = &adapter->mlmeextpriv.mlmext_info.network;
+ struct wlan_bssid_ex *pbss_network =
+ &adapter->mlmepriv.cur_network.network;
+ struct wlan_bssid_ex *pbss_network_ext =
+ &adapter->mlmeextpriv.mlmext_info.network;
- memcpy(pbss_network->ssid.ssid, settings->ssid, settings->ssid_len);
+ memcpy(pbss_network->ssid.ssid, settings->ssid,
+ settings->ssid_len);
pbss_network->ssid.ssid_length = settings->ssid_len;
- memcpy(pbss_network_ext->ssid.ssid, settings->ssid, settings->ssid_len);
+ memcpy(pbss_network_ext->ssid.ssid, settings->ssid,
+ settings->ssid_len);
pbss_network_ext->ssid.ssid_length = settings->ssid_len;
}
return ret;
}
-static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *ndev,
- struct cfg80211_ap_update *info)
+static int cfg80211_rtw_change_beacon(struct wiphy *wiphy,
+ struct net_device *ndev,
+ struct cfg80211_ap_update *info)
{
struct adapter *adapter = rtw_netdev_priv(ndev);
- return rtw_add_beacon(adapter, info->beacon.head,
- info->beacon.head_len, info->beacon.tail,
- info->beacon.tail_len);
+ return rtw_add_beacon(adapter, info->beacon.head, info->beacon.head_len,
+ info->beacon.tail, info->beacon.tail_len);
}
static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev,
@@ -2331,10 +2578,9 @@ static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev,
return 0;
}
-static int cfg80211_rtw_add_station(struct wiphy *wiphy,
- struct wireless_dev *wdev,
- const u8 *mac,
- struct station_parameters *params)
+static int cfg80211_rtw_add_station(struct wiphy *wiphy,
+ struct wireless_dev *wdev, const u8 *mac,
+ struct station_parameters *params)
{
return 0;
}
@@ -2356,16 +2602,15 @@ static int cfg80211_rtw_del_station(struct wiphy *wiphy,
return -EINVAL;
if (!mac) {
- flush_all_cam_entry(padapter); /* clear CAM */
+ flush_all_cam_entry(padapter); /* clear CAM */
rtw_sta_flush(padapter);
return 0;
}
- if (mac[0] == 0xff && mac[1] == 0xff &&
- mac[2] == 0xff && mac[3] == 0xff &&
- mac[4] == 0xff && mac[5] == 0xff) {
+ if (mac[0] == 0xff && mac[1] == 0xff && mac[2] == 0xff &&
+ mac[3] == 0xff && mac[4] == 0xff && mac[5] == 0xff) {
return -EINVAL;
}
@@ -2377,11 +2622,14 @@ static int cfg80211_rtw_del_station(struct wiphy *wiphy,
psta = list_entry(plist, struct sta_info, asoc_list);
if (!memcmp((u8 *)mac, psta->hwaddr, ETH_ALEN)) {
- if (psta->dot8021xalg != 1 || psta->bpairwise_key_installed) {
+ if (psta->dot8021xalg != 1 ||
+ psta->bpairwise_key_installed) {
list_del_init(&psta->asoc_list);
pstapriv->asoc_list_cnt--;
- updated = ap_free_sta(padapter, psta, true, WLAN_REASON_DEAUTH_LEAVING);
+ updated =
+ ap_free_sta(padapter, psta, true,
+ WLAN_REASON_DEAUTH_LEAVING);
psta = NULL;
@@ -2398,17 +2646,17 @@ static int cfg80211_rtw_del_station(struct wiphy *wiphy,
}
static int cfg80211_rtw_change_station(struct wiphy *wiphy,
- struct wireless_dev *wdev,
- const u8 *mac,
+ struct wireless_dev *wdev, const u8 *mac,
struct station_parameters *params)
{
return 0;
}
-static struct sta_info *rtw_sta_info_get_by_idx(const int idx, struct sta_priv *pstapriv)
+static struct sta_info *rtw_sta_info_get_by_idx(const int idx,
+ struct sta_priv *pstapriv)
{
- struct list_head *phead, *plist;
+ struct list_head *phead, *plist;
struct sta_info *psta = NULL;
int i = 0;
@@ -2425,10 +2673,9 @@ static struct sta_info *rtw_sta_info_get_by_idx(const int idx, struct sta_priv *
return psta;
}
-static int cfg80211_rtw_dump_station(struct wiphy *wiphy,
- struct wireless_dev *wdev,
- int idx, u8 *mac,
- struct station_info *sinfo)
+static int cfg80211_rtw_dump_station(struct wiphy *wiphy,
+ struct wireless_dev *wdev, int idx,
+ u8 *mac, struct station_info *sinfo)
{
int ret = 0;
struct adapter *padapter = rtw_netdev_priv(wdev_to_ndev(wdev));
@@ -2450,7 +2697,8 @@ static int cfg80211_rtw_dump_station(struct wiphy *wiphy,
return ret;
}
-void rtw_cfg80211_rx_action(struct adapter *adapter, u8 *frame, uint frame_len, const char *msg)
+void rtw_cfg80211_rx_action(struct adapter *adapter, u8 *frame, uint frame_len,
+ const char *msg)
{
s32 freq;
int channel;
@@ -2465,10 +2713,11 @@ void rtw_cfg80211_rx_action(struct adapter *adapter, u8 *frame, uint frame_len,
rtw_cfg80211_rx_mgmt(adapter, freq, 0, frame, frame_len, GFP_ATOMIC);
}
-static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch, const u8 *buf, size_t len)
+static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch,
+ const u8 *buf, size_t len)
{
- struct xmit_frame *pmgntframe;
- struct pkt_attrib *pattrib;
+ struct xmit_frame *pmgntframe;
+ struct pkt_attrib *pattrib;
unsigned char *pframe;
int ret = _FAIL;
bool __maybe_unused ack = true;
@@ -2482,7 +2731,9 @@ static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch, const u8 *b
if (tx_ch != rtw_get_oper_ch(padapter)) {
if (!check_fwstate(&padapter->mlmepriv, _FW_LINKED))
pmlmeext->cur_channel = tx_ch;
- set_channel_bwmode(padapter, tx_ch, HAL_PRIME_CHNL_OFFSET_DONT_CARE, CHANNEL_WIDTH_20);
+ set_channel_bwmode(padapter, tx_ch,
+ HAL_PRIME_CHNL_OFFSET_DONT_CARE,
+ CHANNEL_WIDTH_20);
}
/* starting alloc mgmt frame to dump it */
@@ -2556,7 +2807,8 @@ static int cfg80211_rtw_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
*cookie = (unsigned long)buf;
/* indicate ack before issue frame to avoid racing with rsp frame */
- rtw_cfg80211_mgmt_tx_status(padapter, *cookie, buf, len, ack, GFP_KERNEL);
+ rtw_cfg80211_mgmt_tx_status(padapter, *cookie, buf, len, ack,
+ GFP_KERNEL);
if (!rtw_action_frame_parse(buf, len, &category, &action))
goto exit;
@@ -2578,15 +2830,16 @@ static int cfg80211_rtw_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
return ret;
}
-static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap, enum nl80211_band band)
+static void rtw_cfg80211_init_ht_capab(struct ieee80211_sta_ht_cap *ht_cap,
+ enum nl80211_band band)
{
-#define MAX_BIT_RATE_40MHZ_MCS7 150 /* Mbps */
+#define MAX_BIT_RATE_40MHZ_MCS7 150 /* Mbps */
ht_cap->ht_supported = true;
ht_cap->cap = IEEE80211_HT_CAP_SUP_WIDTH_20_40 |
- IEEE80211_HT_CAP_SGI_40 | IEEE80211_HT_CAP_SGI_20 |
- IEEE80211_HT_CAP_DSSSCCK40 | IEEE80211_HT_CAP_MAX_AMSDU;
+ IEEE80211_HT_CAP_SGI_40 | IEEE80211_HT_CAP_SGI_20 |
+ IEEE80211_HT_CAP_DSSSCCK40 | IEEE80211_HT_CAP_MAX_AMSDU;
/*
*Maximum length of AMPDU that the STA can receive.
@@ -2625,14 +2878,16 @@ void rtw_cfg80211_init_wiphy(struct adapter *padapter)
{
bands = wiphy->bands[NL80211_BAND_2GHZ];
if (bands)
- rtw_cfg80211_init_ht_capab(&bands->ht_cap, NL80211_BAND_2GHZ);
+ rtw_cfg80211_init_ht_capab(&bands->ht_cap,
+ NL80211_BAND_2GHZ);
}
/* copy mac_addr to wiphy */
memcpy(wiphy->perm_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
}
-static void rtw_cfg80211_preinit_wiphy(struct adapter *padapter, struct wiphy *wiphy)
+static void rtw_cfg80211_preinit_wiphy(struct adapter *padapter,
+ struct wiphy *wiphy)
{
wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
@@ -2640,13 +2895,12 @@ static void rtw_cfg80211_preinit_wiphy(struct adapter *padapter, struct wiphy *w
wiphy->max_scan_ie_len = RTW_SCAN_IE_LEN_MAX;
wiphy->max_num_pmkids = RTW_MAX_NUM_PMKIDS;
- wiphy->max_remain_on_channel_duration = RTW_MAX_REMAIN_ON_CHANNEL_DURATION;
+ wiphy->max_remain_on_channel_duration =
+ RTW_MAX_REMAIN_ON_CHANNEL_DURATION;
- wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION)
- | BIT(NL80211_IFTYPE_ADHOC)
- | BIT(NL80211_IFTYPE_AP)
- | BIT(NL80211_IFTYPE_MONITOR)
- ;
+ wiphy->interface_modes =
+ BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC) |
+ BIT(NL80211_IFTYPE_AP) | BIT(NL80211_IFTYPE_MONITOR);
wiphy->mgmt_stypes = rtw_cfg80211_default_mgmt_stypes;
@@ -2744,9 +2998,10 @@ int rtw_wdev_alloc(struct adapter *padapter, struct device *dev)
wdev->wiphy = wiphy;
wdev->netdev = pnetdev;
- wdev->iftype = NL80211_IFTYPE_STATION; /* will be init in rtw_hal_init() */
- /* Must sync with _rtw_init_mlme_priv() */
- /* pmlmepriv->fw_state = WIFI_STATION_STATE */
+ wdev->iftype =
+ NL80211_IFTYPE_STATION; /* will be init in rtw_hal_init() */
+ /* Must sync with _rtw_init_mlme_priv() */
+ /* pmlmepriv->fw_state = WIFI_STATION_STATE */
padapter->rtw_wdev = wdev;
pnetdev->ieee80211_ptr = wdev;
@@ -2768,7 +3023,7 @@ int rtw_wdev_alloc(struct adapter *padapter, struct device *dev)
unregister_wiphy:
wiphy_unregister(wiphy);
- free_wiphy:
+free_wiphy:
wiphy_free(wiphy);
exit:
return ret;
diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
index f31196f54b3e0..85b09f74d844d 100644
--- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
@@ -16,19 +16,19 @@ MODULE_VERSION(DRIVERVERSION);
/* module param defaults */
static int rtw_chip_version;
static int rtw_rfintfs = HWPI;
-static int rtw_lbkmode;/* RTL8712_AIR_TRX; */
+static int rtw_lbkmode; /* RTL8712_AIR_TRX; */
-
-static int rtw_network_mode = Ndis802_11IBSS;/* Ndis802_11Infrastructure;infra, ad-hoc, auto */
+static int rtw_network_mode =
+ Ndis802_11IBSS; /* Ndis802_11Infrastructure;infra, ad-hoc, auto */
/* struct ndis_802_11_ssid ssid; */
-static int rtw_channel = 1;/* ad-hoc support requirement */
+static int rtw_channel = 1; /* ad-hoc support requirement */
static int rtw_wireless_mode = WIRELESS_11BG_24N;
static int rtw_vrtl_carrier_sense = AUTO_VCS;
-static int rtw_vcs_type = RTS_CTS;/* */
-static int rtw_rts_thresh = 2347;/* */
-static int rtw_frag_thresh = 2346;/* */
-static int rtw_preamble = PREAMBLE_LONG;/* long, short, auto */
-static int rtw_scan_mode = 1;/* active, passive */
+static int rtw_vcs_type = RTS_CTS; /* */
+static int rtw_rts_thresh = 2347; /* */
+static int rtw_frag_thresh = 2346; /* */
+static int rtw_preamble = PREAMBLE_LONG; /* long, short, auto */
+static int rtw_scan_mode = 1; /* active, passive */
static int rtw_adhoc_tx_pwr = 1;
static int rtw_soft_ap;
/* int smart_ps = 1; */
@@ -41,7 +41,7 @@ static int rtw_smart_ps = 2;
static int rtw_check_fw_ps = 1;
-static int rtw_usb_rxagg_mode = 2;/* USB_RX_AGG_DMA = 1, USB_RX_AGG_USB =2 */
+static int rtw_usb_rxagg_mode = 2; /* USB_RX_AGG_DMA = 1, USB_RX_AGG_USB =2 */
module_param(rtw_usb_rxagg_mode, int, 0644);
static int rtw_radio_enable = 1;
@@ -54,9 +54,9 @@ static int rtw_ack_policy = NORMAL_ACK;
static int rtw_software_encrypt;
static int rtw_software_decrypt;
-static int rtw_acm_method;/* 0:By SW 1:By HW. */
+static int rtw_acm_method; /* 0:By SW 1:By HW. */
-static int rtw_wmm_enable = 1;/* default is set to enable the wmm. */
+static int rtw_wmm_enable = 1; /* default is set to enable the wmm. */
static int rtw_uapsd_enable;
static int rtw_uapsd_max_sp = NO_LIMIT;
static int rtw_uapsd_acbk_en;
@@ -71,9 +71,11 @@ int rtw_ht_enable = 1;
* 0x01 means enable 2.4G 40MHz
*/
static int rtw_bw_mode = 0x01;
-static int rtw_ampdu_enable = 1;/* for enable tx_ampdu ,0: disable, 0x1:enable (but wifi_spec should be 0), 0x2: force enable (don't care wifi_spec) */
-static int rtw_rx_stbc = 1;/* 0: disable, 1:enable 2.4g */
-static int rtw_ampdu_amsdu;/* 0: disabled, 1:enabled, 2:auto . There is an IOT issu with DLINK DIR-629 when the flag turn on */
+static int rtw_ampdu_enable =
+ 1; /* for enable tx_ampdu ,0: disable, 0x1:enable (but wifi_spec should be 0), 0x2: force enable (don't care wifi_spec) */
+static int rtw_rx_stbc = 1; /* 0: disable, 1:enable 2.4g */
+static int
+ rtw_ampdu_amsdu; /* 0: disabled, 1:enabled, 2:auto . There is an IOT issu with DLINK DIR-629 when the flag turn on */
/* Short GI support Bit Map */
/* BIT0 - 20MHz, 0: non-support, 1: support */
/* BIT1 - 40MHz, 0: non-support, 1: support */
@@ -87,7 +89,8 @@ static int rtw_stbc_cap = 0x13;
/* BIT0: Enable VHT Beamformer, BIT1: Enable VHT Beamformee, BIT4: Enable HT Beamformer, BIT5: Enable HT Beamformee */
static int rtw_beamform_cap = 0x2;
-static int rtw_lowrate_two_xmit = 1;/* Use 2 path Tx to transmit MCS0~7 and legacy mode */
+static int rtw_lowrate_two_xmit =
+ 1; /* Use 2 path Tx to transmit MCS0~7 and legacy mode */
static int rtw_low_power;
static int rtw_wifi_spec;
@@ -98,7 +101,8 @@ module_param(rtw_ant_num, int, 0644);
MODULE_PARM_DESC(rtw_ant_num, "Antenna number setting");
static int rtw_antdiv_cfg = 1; /* 0:OFF , 1:ON, 2:decide by Efuse config */
-static int rtw_antdiv_type; /* 0:decide by efuse 1: for 88EE, 1Tx and 1RxCG are diversity.(2 Ant with SPDT), 2: for 88EE, 1Tx and 2Rx are diversity.(2 Ant, Tx and RxCG are both on aux port, RxCS is on main port), 3: for 88EE, 1Tx and 1RxCG are fixed.(1Ant, Tx and RxCG are both on aux port) */
+static int
+ rtw_antdiv_type; /* 0:decide by efuse 1: for 88EE, 1Tx and 1RxCG are diversity.(2 Ant with SPDT), 2: for 88EE, 1Tx and 2Rx are diversity.(2 Ant, Tx and RxCG are both on aux port, RxCS is on main port), 3: for 88EE, 1Tx and 1RxCG are fixed.(1Ant, Tx and RxCG are both on aux port) */
static int rtw_hw_wps_pbc;
@@ -106,14 +110,14 @@ int rtw_mc2u_disable;
static int rtw_80211d;
-static int rtw_qos_opt_enable;/* 0: disable, 1:enable */
+static int rtw_qos_opt_enable; /* 0: disable, 1:enable */
module_param(rtw_qos_opt_enable, int, 0644);
static char *ifname = "wlan%d";
module_param(ifname, charp, 0644);
MODULE_PARM_DESC(ifname, "The default name to allocate for first interface");
-char *rtw_initmac; /* temp mac address if users want to use instead of the mac address in Efuse */
+char *rtw_initmac; /* temp mac address if users want to use instead of the mac address in Efuse */
module_param(rtw_initmac, charp, 0644);
module_param(rtw_channel_plan, int, 0644);
@@ -143,7 +147,6 @@ module_param(rtw_wifi_spec, int, 0644);
module_param(rtw_antdiv_cfg, int, 0644);
module_param(rtw_antdiv_type, int, 0644);
-
module_param(rtw_hw_wps_pbc, int, 0644);
static uint rtw_max_roaming_times = 2;
@@ -157,7 +160,8 @@ MODULE_PARM_DESC(rtw_80211d, "Enable 802.11d mechanism");
static uint rtw_notch_filter;
module_param(rtw_notch_filter, uint, 0644);
-MODULE_PARM_DESC(rtw_notch_filter, "0:Disable, 1:Enable, 2:Enable only for P2P");
+MODULE_PARM_DESC(rtw_notch_filter,
+ "0:Disable, 1:Enable, 2:Enable only for P2P");
#define CONFIG_RTW_HIQ_FILTER 1
@@ -169,7 +173,8 @@ static int rtw_tx_pwr_lmt_enable;
static int rtw_tx_pwr_by_rate;
module_param(rtw_tx_pwr_lmt_enable, int, 0644);
-MODULE_PARM_DESC(rtw_tx_pwr_lmt_enable, "0:Disable, 1:Enable, 2: Depend on efuse");
+MODULE_PARM_DESC(rtw_tx_pwr_lmt_enable,
+ "0:Disable, 1:Enable, 2: Depend on efuse");
module_param(rtw_tx_pwr_by_rate, int, 0644);
MODULE_PARM_DESC(rtw_tx_pwr_by_rate, "0:Disable, 1:Enable, 2: Depend on efuse");
@@ -178,13 +183,13 @@ static int netdev_close(struct net_device *pnetdev);
static void loadparam(struct adapter *padapter, struct net_device *pnetdev)
{
- struct registry_priv *registry_par = &padapter->registrypriv;
+ struct registry_priv *registry_par = &padapter->registrypriv;
registry_par->chip_version = (u8)rtw_chip_version;
registry_par->rfintfs = (u8)rtw_rfintfs;
registry_par->lbkmode = (u8)rtw_lbkmode;
/* registry_par->hci = (u8)hci; */
- registry_par->network_mode = (u8)rtw_network_mode;
+ registry_par->network_mode = (u8)rtw_network_mode;
memcpy(registry_par->ssid.ssid, "ANY", 3);
registry_par->ssid.ssid_length = 3;
@@ -199,8 +204,8 @@ static void loadparam(struct adapter *padapter, struct net_device *pnetdev)
registry_par->preamble = (u8)rtw_preamble;
registry_par->scan_mode = (u8)rtw_scan_mode;
registry_par->adhoc_tx_pwr = (u8)rtw_adhoc_tx_pwr;
- registry_par->soft_ap = (u8)rtw_soft_ap;
- registry_par->smart_ps = (u8)rtw_smart_ps;
+ registry_par->soft_ap = (u8)rtw_soft_ap;
+ registry_par->smart_ps = (u8)rtw_smart_ps;
registry_par->check_fw_ps = (u8)rtw_check_fw_ps;
registry_par->power_mgnt = (u8)rtw_power_mgnt;
registry_par->ips_mode = (u8)rtw_ips_mode;
@@ -216,7 +221,7 @@ static void loadparam(struct adapter *padapter, struct net_device *pnetdev)
registry_par->acm_method = (u8)rtw_acm_method;
registry_par->usb_rxagg_mode = (u8)rtw_usb_rxagg_mode;
- /* UAPSD */
+ /* UAPSD */
registry_par->wmm_enable = (u8)rtw_wmm_enable;
registry_par->uapsd_enable = (u8)rtw_uapsd_enable;
registry_par->uapsd_max_sp = (u8)rtw_uapsd_max_sp;
@@ -238,7 +243,6 @@ static void loadparam(struct adapter *padapter, struct net_device *pnetdev)
registry_par->lowrate_two_xmit = (u8)rtw_lowrate_two_xmit;
registry_par->low_power = (u8)rtw_low_power;
-
registry_par->wifi_spec = (u8)rtw_wifi_spec;
registry_par->channel_plan = (u8)rtw_channel_plan;
@@ -291,8 +295,10 @@ static struct net_device_stats *rtw_net_get_stats(struct net_device *pnetdev)
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
struct recv_priv *precvpriv = &padapter->recvpriv;
- padapter->stats.tx_packets = pxmitpriv->tx_pkts;/* pxmitpriv->tx_pkts++; */
- padapter->stats.rx_packets = precvpriv->rx_pkts;/* precvpriv->rx_pkts++; */
+ padapter->stats.tx_packets =
+ pxmitpriv->tx_pkts; /* pxmitpriv->tx_pkts++; */
+ padapter->stats.rx_packets =
+ precvpriv->rx_pkts; /* precvpriv->rx_pkts++; */
padapter->stats.tx_dropped = pxmitpriv->tx_drop;
padapter->stats.rx_dropped = precvpriv->rx_drop;
padapter->stats.tx_bytes = pxmitpriv->tx_bytes;
@@ -335,11 +341,10 @@ static unsigned int rtw_classify8021d(struct sk_buff *skb)
return dscp >> 5;
}
-
static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
struct net_device *sb_dev)
{
- struct adapter *padapter = rtw_netdev_priv(dev);
+ struct adapter *padapter = rtw_netdev_priv(dev);
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
skb->priority = rtw_classify8021d(skb);
@@ -354,7 +359,7 @@ u16 rtw_recv_select_queue(struct sk_buff *skb)
{
struct iphdr *piphdr;
unsigned int dscp;
- __be16 eth_type;
+ __be16 eth_type;
u32 priority;
u8 *pdata = skb->data;
@@ -400,7 +405,7 @@ static const struct net_device_ops rtw_netdev_ops = {
.ndo_open = netdev_open,
.ndo_stop = netdev_close,
.ndo_start_xmit = rtw_xmit_entry,
- .ndo_select_queue = rtw_select_queue,
+ .ndo_select_queue = rtw_select_queue,
.ndo_set_mac_address = rtw_net_set_mac_address,
.ndo_get_stats = rtw_net_get_stats,
};
@@ -423,7 +428,8 @@ struct net_device *rtw_init_netdev(struct adapter *old_padapter)
struct net_device *pnetdev;
if (old_padapter)
- pnetdev = rtw_alloc_etherdev_with_old_priv(sizeof(struct adapter), (void *)old_padapter);
+ pnetdev = rtw_alloc_etherdev_with_old_priv(
+ sizeof(struct adapter), (void *)old_padapter);
else
pnetdev = rtw_alloc_etherdev(sizeof(struct adapter));
@@ -468,18 +474,22 @@ u32 rtw_start_drv_threads(struct adapter *padapter)
{
u32 _status = _SUCCESS;
- padapter->xmitThread = kthread_run(rtw_xmit_thread, padapter, "RTW_XMIT_THREAD");
+ padapter->xmitThread =
+ kthread_run(rtw_xmit_thread, padapter, "RTW_XMIT_THREAD");
if (IS_ERR(padapter->xmitThread))
_status = _FAIL;
- padapter->cmdThread = kthread_run(rtw_cmd_thread, padapter, "RTW_CMD_THREAD");
+ padapter->cmdThread =
+ kthread_run(rtw_cmd_thread, padapter, "RTW_CMD_THREAD");
if (IS_ERR(padapter->cmdThread))
_status = _FAIL;
else
- wait_for_completion(&padapter->cmdpriv.terminate_cmdthread_comp); /* wait for cmd_thread to run */
+ wait_for_completion(
+ &padapter->cmdpriv
+ .terminate_cmdthread_comp); /* wait for cmd_thread to run */
- padapter->xmitpriv.SdioXmitThread = kthread_run(rtl8723bs_xmit_thread,
- padapter, "RTWHALXT");
+ padapter->xmitpriv.SdioXmitThread =
+ kthread_run(rtl8723bs_xmit_thread, padapter, "RTWHALXT");
if (IS_ERR(padapter->xmitpriv.SdioXmitThread)) {
padapter->xmitpriv.SdioXmitThread = NULL;
_status = _FAIL;
@@ -527,14 +537,15 @@ static void rtw_init_default_value(struct adapter *padapter)
/* pmlmepriv->qospriv.qos_option = pregistrypriv->wmm_enable; */
/* ht_priv */
- pmlmepriv->htpriv.ampdu_enable = false;/* set to disabled */
+ pmlmepriv->htpriv.ampdu_enable = false; /* set to disabled */
/* security_priv */
psecuritypriv->binstallGrpkey = _FAIL;
psecuritypriv->sw_encrypt = pregistrypriv->software_encrypt;
psecuritypriv->sw_decrypt = pregistrypriv->software_decrypt;
- psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open; /* open system */
+ psecuritypriv->dot11AuthAlgrthm =
+ dot11AuthAlgrthm_Open; /* open system */
psecuritypriv->dot11PrivacyAlgrthm = _NO_PRIVACY_;
psecuritypriv->dot11PrivacyKeyIndex = 0;
@@ -561,7 +572,7 @@ static void rtw_init_default_value(struct adapter *padapter)
/* for debug purpose */
padapter->fix_rate = 0xFF;
padapter->driver_ampdu_spacing = 0xFF;
- padapter->driver_rx_ampdu_factor = 0xFF;
+ padapter->driver_rx_ampdu_factor = 0xFF;
}
struct dvobj_priv *devobj_init(void)
@@ -633,7 +644,6 @@ void rtw_reset_drv_sw(struct adapter *padapter)
rtw_set_signal_stat_timer(&padapter->recvpriv);
}
-
u8 rtw_init_drv_sw(struct adapter *padapter)
{
int res;
@@ -709,7 +719,8 @@ void rtw_cancel_all_timer(struct adapter *padapter)
timer_delete_sync(&padapter->mlmepriv.dynamic_chk_timer);
- timer_delete_sync(&(adapter_to_pwrctl(padapter)->pwr_state_check_timer));
+ timer_delete_sync(
+ &(adapter_to_pwrctl(padapter)->pwr_state_check_timer));
timer_delete_sync(&padapter->mlmepriv.set_scan_deny_timer);
rtw_clear_scan_deny(padapter);
@@ -729,7 +740,8 @@ u8 rtw_free_drv_sw(struct adapter *padapter)
_rtw_free_xmit_priv(&padapter->xmitpriv);
- _rtw_free_sta_priv(&padapter->stapriv); /* will free bcmc_stainfo here */
+ _rtw_free_sta_priv(
+ &padapter->stapriv); /* will free bcmc_stainfo here */
_rtw_free_recv_priv(&padapter->recvpriv);
@@ -855,7 +867,8 @@ int netdev_open(struct net_device *pnetdev)
if (pwrctrlpriv->bInSuspend)
return 0;
- if (mutex_lock_interruptible(&(adapter_to_dvobj(padapter)->hw_init_mutex)))
+ if (mutex_lock_interruptible(
+ &(adapter_to_dvobj(padapter)->hw_init_mutex)))
return -1;
ret = _netdev_open(pnetdev);
@@ -864,7 +877,7 @@ int netdev_open(struct net_device *pnetdev)
return ret;
}
-static int ips_netdrv_open(struct adapter *padapter)
+static int ips_netdrv_open(struct adapter *padapter)
{
int status = _SUCCESS;
/* struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter); */
@@ -891,7 +904,6 @@ static int ips_netdrv_open(struct adapter *padapter)
return _FAIL;
}
-
int rtw_ips_pwr_up(struct adapter *padapter)
{
return ips_netdrv_open(padapter);
@@ -919,12 +931,14 @@ static int pm_netdev_open(struct net_device *pnetdev, u8 bnormal)
struct adapter *padapter = rtw_netdev_priv(pnetdev);
if (bnormal) {
- if (mutex_lock_interruptible(&(adapter_to_dvobj(padapter)->hw_init_mutex)) == 0) {
+ if (mutex_lock_interruptible(&(
+ adapter_to_dvobj(padapter)->hw_init_mutex)) == 0) {
status = _netdev_open(pnetdev);
- mutex_unlock(&(adapter_to_dvobj(padapter)->hw_init_mutex));
+ mutex_unlock(
+ &(adapter_to_dvobj(padapter)->hw_init_mutex));
}
} else {
- status = (ips_netdrv_open(padapter) == _SUCCESS) ? (0) : (-1);
+ status = (ips_netdrv_open(padapter) == _SUCCESS) ? (0) : (-1);
}
return status;
@@ -980,7 +994,8 @@ void rtw_dev_unload(struct adapter *padapter)
if (padapter->bup) {
padapter->bDriverStopped = true;
if (padapter->xmitpriv.ack_tx)
- rtw_ack_tx_done(&padapter->xmitpriv, RTW_SCTX_DONE_DRV_STOP);
+ rtw_ack_tx_done(&padapter->xmitpriv,
+ RTW_SCTX_DONE_DRV_STOP);
if (padapter->intf_stop)
padapter->intf_stop(padapter);
@@ -996,14 +1011,15 @@ void rtw_dev_unload(struct adapter *padapter)
}
/* check the status of IPS */
- if (rtw_hal_check_ips_status(padapter) || pwrctl->rf_pwrstate == rf_off) {
+ if (rtw_hal_check_ips_status(padapter) ||
+ pwrctl->rf_pwrstate == rf_off) {
/* check HW status and SW state */
netdev_dbg(padapter->pnetdev,
"%s: driver in IPS-FWLPS\n", __func__);
LeaveAllPowerSaveMode(padapter);
} else {
- netdev_dbg(padapter->pnetdev,
- "%s: driver not in IPS\n", __func__);
+ netdev_dbg(padapter->pnetdev, "%s: driver not in IPS\n",
+ __func__);
}
if (!padapter->bSurpriseRemoved) {
@@ -1024,13 +1040,14 @@ static int rtw_suspend_free_assoc_resource(struct adapter *padapter)
struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
if (rtw_chk_roam_flags(padapter, RTW_ROAM_ON_RESUME)) {
- if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)
- && check_fwstate(pmlmepriv, _FW_LINKED)) {
+ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) &&
+ check_fwstate(pmlmepriv, _FW_LINKED)) {
rtw_set_to_roam(padapter, 1);
}
}
- if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) && check_fwstate(pmlmepriv, _FW_LINKED)) {
+ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) &&
+ check_fwstate(pmlmepriv, _FW_LINKED)) {
rtw_disassoc_cmd(padapter, 0, false);
/* s2-2. indicate disconnect to os */
rtw_indicate_disconnect(padapter);
@@ -1067,7 +1084,8 @@ static void rtw_suspend_normal(struct adapter *padapter)
rtw_suspend_free_assoc_resource(padapter);
- if ((rtw_hal_check_ips_status(padapter)) || (adapter_to_pwrctl(padapter)->rf_pwrstate == rf_off))
+ if ((rtw_hal_check_ips_status(padapter)) ||
+ (adapter_to_pwrctl(padapter)->rf_pwrstate == rf_off))
netdev_dbg(padapter->pnetdev,
"%s: ### ERROR #### driver in IPS ####ERROR###!!!\n",
__func__);
@@ -1094,7 +1112,8 @@ void rtw_suspend_common(struct adapter *padapter)
while (pwrpriv->bips_processing)
msleep(1);
- if ((!padapter->bup) || (padapter->bDriverStopped) || (padapter->bSurpriseRemoved))
+ if ((!padapter->bup) || (padapter->bDriverStopped) ||
+ (padapter->bSurpriseRemoved))
return;
rtw_ps_deny(padapter, PS_DENY_SUSPEND);
@@ -1143,7 +1162,9 @@ static int rtw_resume_process_normal(struct adapter *padapter)
}
rtw_sdio_disable_interrupt(padapter);
/* if (sdio_alloc_irq(adapter_to_dvobj(padapter)) != _SUCCESS) */
- if ((padapter->intf_alloc_irq) && (padapter->intf_alloc_irq(adapter_to_dvobj(padapter)) != _SUCCESS)) {
+ if ((padapter->intf_alloc_irq) &&
+ (padapter->intf_alloc_irq(adapter_to_dvobj(padapter)) !=
+ _SUCCESS)) {
ret = -1;
goto exit;
}
diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
index 4cfdf7c623440..33b0989e3d396 100644
--- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
@@ -20,12 +20,14 @@ inline int _rtw_netif_rx(struct net_device *ndev, struct sk_buff *skb)
return netif_rx(skb);
}
-struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_priv)
+struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv,
+ void *old_priv)
{
struct net_device *pnetdev;
struct rtw_netdev_priv_indicator *pnpi;
- pnetdev = alloc_etherdev_mq(sizeof(struct rtw_netdev_priv_indicator), 4);
+ pnetdev =
+ alloc_etherdev_mq(sizeof(struct rtw_netdev_priv_indicator), 4);
if (!pnetdev)
goto RETURN;
@@ -42,7 +44,8 @@ struct net_device *rtw_alloc_etherdev(int sizeof_priv)
struct net_device *pnetdev;
struct rtw_netdev_priv_indicator *pnpi;
- pnetdev = alloc_etherdev_mq(sizeof(struct rtw_netdev_priv_indicator), 4);
+ pnetdev =
+ alloc_etherdev_mq(sizeof(struct rtw_netdev_priv_indicator), 4);
if (!pnetdev)
goto RETURN;
diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index c43a0391a5ca7..243efa8a18a3e 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -10,45 +10,56 @@
#include <linux/jiffies.h>
#ifndef dev_to_sdio_func
-#define dev_to_sdio_func(d) container_of(d, struct sdio_func, dev)
+#define dev_to_sdio_func(d) container_of(d, struct sdio_func, dev)
#endif
static const struct sdio_device_id sdio_ids[] = {
- { SDIO_DEVICE(0x024c, 0x0523), },
- { SDIO_DEVICE(0x024c, 0x0525), },
- { SDIO_DEVICE(0x024c, 0x0623), },
- { SDIO_DEVICE(0x024c, 0x0626), },
- { SDIO_DEVICE(0x024c, 0x0627), },
- { SDIO_DEVICE(0x024c, 0xb723), },
- { /* end: all zeroes */ },
+ {
+ SDIO_DEVICE(0x024c, 0x0523),
+ },
+ {
+ SDIO_DEVICE(0x024c, 0x0525),
+ },
+ {
+ SDIO_DEVICE(0x024c, 0x0623),
+ },
+ {
+ SDIO_DEVICE(0x024c, 0x0626),
+ },
+ {
+ SDIO_DEVICE(0x024c, 0x0627),
+ },
+ {
+ SDIO_DEVICE(0x024c, 0xb723),
+ },
+ { /* end: all zeroes */ },
};
MODULE_DEVICE_TABLE(sdio, sdio_ids);
-static int rtw_drv_init(struct sdio_func *func, const struct sdio_device_id *id);
+static int rtw_drv_init(struct sdio_func *func,
+ const struct sdio_device_id *id);
static void rtw_dev_remove(struct sdio_func *func);
static int rtw_sdio_resume(struct device *dev);
static int rtw_sdio_suspend(struct device *dev);
static const struct dev_pm_ops rtw_sdio_pm_ops = {
- .suspend = rtw_sdio_suspend,
- .resume = rtw_sdio_resume,
+ .suspend = rtw_sdio_suspend,
+ .resume = rtw_sdio_resume,
};
-static struct sdio_driver rtl8723bs_sdio_driver = {
- .probe = rtw_drv_init,
- .remove = rtw_dev_remove,
- .name = "rtl8723bs",
- .id_table = sdio_ids,
- .drv = {
- .pm = &rtw_sdio_pm_ops,
- }
-};
+static struct sdio_driver
+ rtl8723bs_sdio_driver = { .probe = rtw_drv_init,
+ .remove = rtw_dev_remove,
+ .name = "rtl8723bs",
+ .id_table = sdio_ids,
+ .drv = {
+ .pm = &rtw_sdio_pm_ops,
+ } };
static void sd_sync_int_hdl(struct sdio_func *func)
{
struct dvobj_priv *psdpriv;
-
psdpriv = sdio_get_drvdata(func);
if (!psdpriv->if1)
@@ -72,13 +83,14 @@ static int sdio_alloc_irq(struct dvobj_priv *dvobj)
err = sdio_claim_irq(func, &sd_sync_int_hdl);
if (err)
- netdev_crit(dvobj->if1->pnetdev, "%s: sdio_claim_irq FAIL(%d)!\n", __func__, err);
+ netdev_crit(dvobj->if1->pnetdev,
+ "%s: sdio_claim_irq FAIL(%d)!\n", __func__, err);
else
dvobj->irq_alloc = 1;
sdio_release_host(func);
- return err?_FAIL:_SUCCESS;
+ return err ? _FAIL : _SUCCESS;
}
static void sdio_free_irq(struct dvobj_priv *dvobj)
@@ -214,8 +226,8 @@ static void sd_intf_stop(struct adapter *padapter)
rtw_sdio_disable_interrupt(padapter);
}
-
-static struct adapter *rtw_sdio_if1_init(struct dvobj_priv *dvobj, const struct sdio_device_id *pdid)
+static struct adapter *rtw_sdio_if1_init(struct dvobj_priv *dvobj,
+ const struct sdio_device_id *pdid)
{
int status = _FAIL;
struct net_device *pnetdev;
@@ -248,7 +260,6 @@ static struct adapter *rtw_sdio_if1_init(struct dvobj_priv *dvobj, const struct
/* 4 3.1 set hardware operation functions */
rtw_set_hal_ops(padapter);
-
/* 3 5. initialize Chip version */
padapter->intf_start = &sd_intf_start;
padapter->intf_stop = &sd_intf_stop;
@@ -334,9 +345,7 @@ static void rtw_sdio_if1_deinit(struct adapter *if1)
* notes: drv_init() is called when the bus driver has located a card for us to support.
* We accept the new device by returning 0.
*/
-static int rtw_drv_init(
- struct sdio_func *func,
- const struct sdio_device_id *id)
+static int rtw_drv_init(struct sdio_func *func, const struct sdio_device_id *id)
{
int status = _FAIL;
struct adapter *if1 = NULL;
diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c b/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
index e9a2f3f7ec747..3fc14f28cc53a 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c
@@ -12,7 +12,8 @@ static bool rtw_sdio_claim_host_needed(struct sdio_func *func)
struct dvobj_priv *dvobj = sdio_get_drvdata(func);
struct sdio_data *sdio_data = &dvobj->intf_data;
- if (sdio_data->sys_sdio_irq_thd && sdio_data->sys_sdio_irq_thd == current)
+ if (sdio_data->sys_sdio_irq_thd &&
+ sdio_data->sys_sdio_irq_thd == current)
return false;
return true;
}
@@ -230,7 +231,7 @@ u32 sd_read32(struct intf_hdl *pintfhdl, u32 addr, s32 *err)
}
}
}
- return v;
+ return v;
}
void sd_write8(struct intf_hdl *pintfhdl, u32 addr, u8 v, s32 *err)
@@ -423,7 +424,7 @@ s32 _sd_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, void *pdata)
struct sdio_func *func;
u32 size;
- s32 err = -EPERM;
+ s32 err = -EPERM;
padapter = pintfhdl->padapter;
psdiodev = pintfhdl->pintf_dev;
@@ -433,7 +434,7 @@ s32 _sd_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, void *pdata)
return err;
func = psdio->func;
-/* size = sdio_align_size(func, cnt); */
+ /* size = sdio_align_size(func, cnt); */
if (unlikely((cnt == 1) || (cnt == 2))) {
int i;
@@ -474,7 +475,7 @@ s32 sd_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, void *pdata)
struct sdio_data *psdio;
struct sdio_func *func;
bool claim_needed;
- s32 err = -EPERM;
+ s32 err = -EPERM;
padapter = pintfhdl->padapter;
psdiodev = pintfhdl->pintf_dev;
diff --git a/drivers/staging/rtl8723bs/os_dep/wifi_regd.c b/drivers/staging/rtl8723bs/os_dep/wifi_regd.c
index c48a1e3ba4acc..14f1eaf73d158 100644
--- a/drivers/staging/rtl8723bs/os_dep/wifi_regd.c
+++ b/drivers/staging/rtl8723bs/os_dep/wifi_regd.c
@@ -19,8 +19,7 @@
*/
/* 2G chan 01 - chan 11 */
-#define RTW_2GHZ_CH01_11 \
- REG_RULE(2412 - 10, 2462 + 10, 40, 0, 20, 0)
+#define RTW_2GHZ_CH01_11 REG_RULE(2412 - 10, 2462 + 10, 40, 0, 20, 0)
/*
* We enable active scan on these a case
@@ -28,18 +27,16 @@
*/
/* 2G chan 12 - chan 13, PASSIV SCAN */
-#define RTW_2GHZ_CH12_13 \
- REG_RULE(2467 - 10, 2472 + 10, 40, 0, 20, \
- NL80211_RRF_PASSIVE_SCAN)
-
-static const struct ieee80211_regdomain rtw_regdom_rd = {
- .n_reg_rules = 2,
- .alpha2 = "99",
- .reg_rules = {
- RTW_2GHZ_CH01_11,
- RTW_2GHZ_CH12_13,
- }
-};
+#define RTW_2GHZ_CH12_13 \
+ REG_RULE(2467 - 10, 2472 + 10, 40, 0, 20, NL80211_RRF_PASSIVE_SCAN)
+
+static const struct ieee80211_regdomain
+ rtw_regdom_rd = { .n_reg_rules = 2,
+ .alpha2 = "99",
+ .reg_rules = {
+ RTW_2GHZ_CH01_11,
+ RTW_2GHZ_CH12_13,
+ } };
static void _rtw_reg_apply_flags(struct wiphy *wiphy)
{
@@ -95,11 +92,10 @@ static const struct ieee80211_regdomain *_rtw_regdomain_select(void)
return &rtw_regdom_rd;
}
-static void _rtw_regd_init_wiphy(struct wiphy *wiphy,
- void (*reg_notifier)(struct wiphy *wiphy,
- struct
- regulatory_request *
- request))
+static void
+_rtw_regd_init_wiphy(struct wiphy *wiphy,
+ void (*reg_notifier)(struct wiphy *wiphy,
+ struct regulatory_request *request))
{
const struct ieee80211_regdomain *regd;
diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
index 4260ed5f4e974..a63ce84065eba 100644
--- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
+++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c
@@ -6,10 +6,10 @@
******************************************************************************/
#include <drv_types.h>
-
uint rtw_remainder_len(struct pkt_file *pfile)
{
- return (pfile->buf_len - ((SIZE_PTR)(pfile->cur_addr) - (SIZE_PTR)(pfile->buf_start)));
+ return (pfile->buf_len -
+ ((SIZE_PTR)(pfile->cur_addr) - (SIZE_PTR)(pfile->buf_start)));
}
void _rtw_open_pktfile(struct sk_buff *pktptr, struct pkt_file *pfile)
@@ -31,7 +31,8 @@ int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen)
rlen = remain;
if (rmem) {
- ret = skb_copy_bits(pfile->pkt, pfile->buf_len - pfile->pkt_len, rmem, rlen);
+ ret = skb_copy_bits(pfile->pkt, pfile->buf_len - pfile->pkt_len,
+ rmem, rlen);
if (ret < 0)
return ret;
}
@@ -48,13 +49,14 @@ signed int rtw_endofpktfile(struct pkt_file *pfile)
return false;
}
-void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag)
+void rtw_os_xmit_resource_free(struct adapter *padapter,
+ struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag)
{
if (free_sz > 0)
kfree(pxmitbuf->pallocated_buf);
}
-#define WMM_XMIT_THRESHOLD (NR_XMITFRAME * 2 / 5)
+#define WMM_XMIT_THRESHOLD (NR_XMITFRAME * 2 / 5)
void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt)
{
@@ -93,7 +95,8 @@ void rtw_os_xmit_schedule(struct adapter *padapter)
complete(&pri_adapter->xmitpriv.xmit_comp);
}
-static void rtw_check_xmit_resource(struct adapter *padapter, struct sk_buff *pkt)
+static void rtw_check_xmit_resource(struct adapter *padapter,
+ struct sk_buff *pkt)
{
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
u16 queue;
@@ -105,7 +108,8 @@ static void rtw_check_xmit_resource(struct adapter *padapter, struct sk_buff *pk
netif_stop_subqueue(padapter->pnetdev, queue);
} else {
if (pxmitpriv->free_xmitframe_cnt <= 4) {
- if (!netif_tx_queue_stopped(netdev_get_tx_queue(padapter->pnetdev, queue)))
+ if (!netif_tx_queue_stopped(netdev_get_tx_queue(
+ padapter->pnetdev, queue)))
netif_stop_subqueue(padapter->pnetdev, queue);
}
}
@@ -113,18 +117,18 @@ static void rtw_check_xmit_resource(struct adapter *padapter, struct sk_buff *pk
static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb)
{
- struct sta_priv *pstapriv = &padapter->stapriv;
+ struct sta_priv *pstapriv = &padapter->stapriv;
struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
- struct list_head *phead, *plist;
+ struct list_head *phead, *plist;
struct sk_buff *newskb;
struct sta_info *psta = NULL;
u8 chk_alive_num = 0;
char chk_alive_list[NUM_STA];
- u8 bc_addr[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
- u8 null_addr[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+ u8 bc_addr[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
+ u8 null_addr[6] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
int i;
- s32 res;
+ s32 res;
spin_lock_bh(&pstapriv->asoc_list_lock);
phead = &pstapriv->asoc_list;
@@ -162,7 +166,7 @@ static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb)
} else {
pxmitpriv->tx_drop++;
/* dev_kfree_skb_any(skb); */
- return false; /* Caller shall tx this multicast frame via normal way. */
+ return false; /* Caller shall tx this multicast frame via normal way. */
}
}
--
2.50.1 (Apple Git-155)
next reply other threads:[~2026-07-27 4:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-27 4:06 Aryan Krishnan [this message]
2026-07-27 4:35 ` [PATCH] staging: rtl8723bs: apply clang-format cleanup Greg KH
2026-07-27 5:12 ` Aryan Krishnan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260727040649.54338-1-aryankrishnan4b@gmail.com \
--to=aryankrishnan4b@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-staging@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox