diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2014-08-31 11:35:40 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-08-31 11:35:40 -0700 |
| commit | 649f294fef7d3800c05a02ca7a6fc20a3bc73720 (patch) | |
| tree | c57f4849b943dbc83900cd2da524931b732b0576 | |
| parent | 0a1e756bde248040a44a6662d03d616a97f19aed (diff) | |
| parent | eb9797e076c31af1f6cd76e32e60ed33dadd39d0 (diff) | |
Merge "Release 1.0.0.177 QCACLD WLAN Driver"
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 3 | ||||
| -rw-r--r-- | CORE/MAC/inc/qwlan_version.h | 4 | ||||
| -rw-r--r-- | CORE/SERVICES/BMI/ol_fw.c | 34 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 22 | ||||
| -rwxr-xr-x | firmware_bin/WCNSS_qcom_cfg.ini | 3 |
5 files changed, 57 insertions, 9 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 9df38aff3f17..9ebb55e93bc9 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -10890,7 +10890,8 @@ static int __wlan_hdd_cfg80211_get_station(struct wiphy *wiphy, } if (rate_flags & eHAL_TX_RATE_SGI) { - sinfo->txrate.flags |= RATE_INFO_FLAGS_MCS; + if (!(sinfo->txrate.flags & RATE_INFO_FLAGS_VHT_MCS)) + sinfo->txrate.flags |= RATE_INFO_FLAGS_MCS; sinfo->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI; } diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h index 139e7b7d94d9..c37e9a350462 100644 --- a/CORE/MAC/inc/qwlan_version.h +++ b/CORE/MAC/inc/qwlan_version.h @@ -42,9 +42,9 @@ BRIEF DESCRIPTION: #define QWLAN_VERSION_MINOR 0 #define QWLAN_VERSION_PATCH 0 #define QWLAN_VERSION_EXTRA "" -#define QWLAN_VERSION_BUILD 176 +#define QWLAN_VERSION_BUILD 177 -#define QWLAN_VERSIONSTR "1.0.0.176" +#define QWLAN_VERSIONSTR "1.0.0.177" #define AR6320_REV1_VERSION 0x5000000 diff --git a/CORE/SERVICES/BMI/ol_fw.c b/CORE/SERVICES/BMI/ol_fw.c index 920a26a7857b..44283be59c55 100644 --- a/CORE/SERVICES/BMI/ol_fw.c +++ b/CORE/SERVICES/BMI/ol_fw.c @@ -1766,6 +1766,36 @@ A_STATUS ol_patch_pll_switch(struct ol_softc * scn) } #endif +#ifdef CONFIG_CNSS +/* AXI Start Address */ +#define TARGET_ADDR (0xa0000) + +void ol_transfer_codeswap_struct(struct ol_softc *scn) { + struct hif_pci_softc *sc = scn->hif_sc; + struct codeswap_codeseg_info wlan_codeswap; + A_STATUS rv; + + if (!sc || !sc->hif_device) { + pr_err("%s: hif_pci_softc is null\n", __func__); + return; + } + + if (cnss_get_codeswap_struct(&wlan_codeswap)) { + pr_err("%s: failed to get codeswap structure\n", __func__); + return; + } + + rv = BMIWriteMemory(scn->hif_hdl, TARGET_ADDR, + (u_int8_t *)&wlan_codeswap, sizeof(wlan_codeswap), scn); + + if (rv != A_OK) { + pr_err("Failed to Write 0xa0000 for Target Memory Expansion\n"); + return; + } + pr_info("%s:codeswap structure is successfully downloaded\n", __func__); +} +#endif + int ol_download_firmware(struct ol_softc *scn) { u_int32_t param, address = 0; @@ -1837,6 +1867,10 @@ int ol_download_firmware(struct ol_softc *scn) printk("%s: Using 0x%x for the remainder of init\n", __func__, address); if ( scn->enablesinglebinary == FALSE ) { +#ifdef CONFIG_CNSS + ol_transfer_codeswap_struct(scn); +#endif + status = ol_transfer_bin_file(scn, ATH_OTP_FILE, address, TRUE); if (status == EOK) { diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c index 6ef2f687b5f9..e2263ae44bfd 100644 --- a/CORE/SERVICES/WMA/wma.c +++ b/CORE/SERVICES/WMA/wma.c @@ -12169,12 +12169,6 @@ static void wma_set_bss_rate_flags(struct wma_txrx_node *iface, tpAddBssParams add_bss) { iface->rate_flags = 0; - if (add_bss->htCapable) { - if (add_bss->txChannelWidthSet) - iface->rate_flags |= eHAL_TX_RATE_HT40; - else - iface->rate_flags |= eHAL_TX_RATE_HT20; - } #ifdef WLAN_FEATURE_11AC if (add_bss->vhtCapable) { @@ -12185,7 +12179,15 @@ static void wma_set_bss_rate_flags(struct wma_txrx_node *iface, else iface->rate_flags |= eHAL_TX_RATE_VHT20; } + /* avoid to conflict with htCapable flag */ + else #endif + if (add_bss->htCapable) { + if (add_bss->txChannelWidthSet) + iface->rate_flags |= eHAL_TX_RATE_HT40; + else + iface->rate_flags |= eHAL_TX_RATE_HT20; + } if (add_bss->staContext.fShortGI20Mhz || add_bss->staContext.fShortGI40Mhz) @@ -16644,8 +16646,10 @@ int wma_enable_wow_in_fw(WMA_HANDLE handle) struct ol_softc *scn; int host_credits; int wmi_pending_cmds; +#ifdef CONFIG_CNSS tpAniSirGlobal pMac = (tpAniSirGlobal)vos_get_context(VOS_MODULE_ID_PE, wma->vos_context); +#endif #ifdef FEATURE_WLAN_D0WOW if (wma->ap_client_cnt > 0) { @@ -16707,6 +16711,8 @@ int wma_enable_wow_in_fw(WMA_HANDLE handle) if (pMac->sme.enableSelfRecovery) { vos_set_logp_in_progress(VOS_MODULE_ID_HIF, TRUE); cnss_schedule_recovery_work(); + } else { + VOS_BUG(0); } #else VOS_BUG(0); @@ -17643,8 +17649,10 @@ static VOS_STATUS wma_send_host_wakeup_ind_to_fw(tp_wma_handle wma) VOS_STATUS vos_status = VOS_STATUS_SUCCESS; int32_t len; int ret; +#ifdef CONFIG_CNSS tpAniSirGlobal pMac = (tpAniSirGlobal)vos_get_context(VOS_MODULE_ID_PE, wma->vos_context); +#endif len = sizeof(wmi_wow_hostwakeup_from_sleep_cmd_fixed_param); @@ -17686,6 +17694,8 @@ static VOS_STATUS wma_send_host_wakeup_ind_to_fw(tp_wma_handle wma) vos_set_logp_in_progress(VOS_MODULE_ID_HIF, TRUE); cnss_schedule_recovery_work(); + } else { + VOS_BUG(0); } #else VOS_BUG(0); diff --git a/firmware_bin/WCNSS_qcom_cfg.ini b/firmware_bin/WCNSS_qcom_cfg.ini index 11d08636418a..c7c297aeb913 100755 --- a/firmware_bin/WCNSS_qcom_cfg.ini +++ b/firmware_bin/WCNSS_qcom_cfg.ini @@ -597,6 +597,9 @@ gEnableMuBformee=1 # 1 - enable gSapSccChanAvoidance=0 +# Inactivity time (in ms) to end TX Service Period while in IBSS power save mode +gIbssTxSpEndInactivityTime=10 + END # Note: Configuration parser would not read anything past the END marker |
