diff options
| author | Ji-Huang <huangl@qca.qualcomm.com> | 2014-08-06 14:21:44 +0800 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-08-13 11:31:07 -0700 |
| commit | 8d5b545d1e4ea5b09131b574da5d7e6017bff94f (patch) | |
| tree | 232fa1cdbd2226cecc78e94bfbaf535b5d9f64a4 | |
| parent | 59830a6c65079664aacf2820fc4eec28623ac1e6 (diff) | |
qcacld-new: Enable/disable FW self-recovery for Rome USB
FW self-recovery for Rome USB can be enabled/disabled in INI.
If it's enabled, driver doesn't trigger kernel panic after
firmware crash.
Change-Id: Ia28bc567d1d84f9f800927f0498d2d4bf5edba33
CRs-Fixed: 701176
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg.h | 9 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 7 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/ol_if_athvar.h | 2 | ||||
| -rw-r--r-- | CORE/VOSS/src/vos_api.c | 1 | ||||
| -rw-r--r-- | firmware_bin/WCNSS_qcom_cfg.usb.ini | 5 |
5 files changed, 24 insertions, 0 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h index bfb2cdd87e44..6e382efb63da 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg.h +++ b/CORE/HDD/inc/wlan_hdd_cfg.h @@ -2333,6 +2333,14 @@ This feature requires the dependent cfg.ini "gRoamPrefer5GHz" set to 1 */ #define CFG_ENABLE_FW_LOG_ENABLE ( 1 ) #define CFG_ENABLE_FW_LOG_DEFAULT ( CFG_ENABLE_FW_LOG_DISABLE ) +/* + * Enable/Disable SSR for USB + */ +#define CFG_ENABLE_FW_SELF_RECOVERY_NAME "gEnableFwSelfRecovery" +#define CFG_ENABLE_FW_SELF_RECOVERY_DISABLE ( 0 ) +#define CFG_ENABLE_FW_SELF_RECOVERY_ENABLE ( 1 ) +#define CFG_ENABLE_FW_SELF_RECOVERY_DEFAULT ( CFG_ENABLE_FW_SELF_RECOVERY_DISABLE ) + #ifdef WLAN_FEATURE_11AC //Macro to handle maximum receive AMPDU size configuration #define CFG_VHT_AMPDU_LEN_EXPONENT_NAME "gVhtAmpduLenExponent" @@ -3182,6 +3190,7 @@ typedef struct v_BOOL_t enablePowersaveOffload; v_BOOL_t enablefwprint; v_BOOL_t enablefwlog; + v_BOOL_t enableFwSelfRecovery; v_BOOL_t fP2pListenOffload; #ifdef WLAN_FEATURE_11AC v_U8_t fVhtAmpduLenExponent; diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c index 6b0bb8577585..4ee048698860 100644 --- a/CORE/HDD/src/wlan_hdd_cfg.c +++ b/CORE/HDD/src/wlan_hdd_cfg.c @@ -3188,6 +3188,13 @@ REG_TABLE_ENTRY g_registry_table[] = CFG_ENABLE_FW_LOG_DISABLE, CFG_ENABLE_FW_LOG_ENABLE), + REG_VARIABLE( CFG_ENABLE_FW_SELF_RECOVERY_NAME, WLAN_PARAM_Integer, + hdd_config_t, enableFwSelfRecovery, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_ENABLE_FW_SELF_RECOVERY_DEFAULT, + CFG_ENABLE_FW_SELF_RECOVERY_DISABLE, + CFG_ENABLE_FW_SELF_RECOVERY_ENABLE), + #ifdef IPA_OFFLOAD REG_VARIABLE( CFG_IPA_OFFLOAD_CONFIG_NAME, WLAN_PARAM_HexInteger, hdd_config_t, IpaConfig, diff --git a/CORE/SERVICES/COMMON/ol_if_athvar.h b/CORE/SERVICES/COMMON/ol_if_athvar.h index 110f4a384fc5..55f1c0acaff0 100644 --- a/CORE/SERVICES/COMMON/ol_if_athvar.h +++ b/CORE/SERVICES/COMMON/ol_if_athvar.h @@ -200,6 +200,8 @@ struct ol_softc { #endif bool enableuartprint; /* enable uart/serial prints from target */ bool enablefwlog; /* enable fwlog */ + /* enable FW self-recovery for Rome USB */ + bool enableFwSelfRecovery; bool enablesinglebinary; /* Use single binary for FW */ HAL_REG_CAPABILITIES hal_reg_capabilities; struct ol_regdmn *ol_regdmn_handle; diff --git a/CORE/VOSS/src/vos_api.c b/CORE/VOSS/src/vos_api.c index 59c558453b2c..ec5a3b875689 100644 --- a/CORE/VOSS/src/vos_api.c +++ b/CORE/VOSS/src/vos_api.c @@ -352,6 +352,7 @@ VOS_STATUS vos_open( v_CONTEXT_t *pVosContext, v_SIZE_t hddContextSize ) } scn->enableuartprint = pHddCtx->cfg_ini->enablefwprint; scn->enablefwlog = pHddCtx->cfg_ini->enablefwlog; + scn->enableFwSelfRecovery = pHddCtx->cfg_ini->enableFwSelfRecovery; scn->max_no_of_peers = pHddCtx->cfg_ini->maxNumberOfPeers; #ifdef WLAN_FEATURE_LPSS scn->enablelpasssupport = pHddCtx->cfg_ini->enablelpasssupport; diff --git a/firmware_bin/WCNSS_qcom_cfg.usb.ini b/firmware_bin/WCNSS_qcom_cfg.usb.ini index ae9ae4886728..e14f4c85f559 100644 --- a/firmware_bin/WCNSS_qcom_cfg.usb.ini +++ b/firmware_bin/WCNSS_qcom_cfg.usb.ini @@ -507,6 +507,11 @@ gFwDebugModuleLoglevel=0,0 # Enable or Disable Rx thread # 1=Enable (default), 0=Disable gEnableRxThread=0 + +# Enable or Disable FW self-recovery +# Currently, It's for USB only. +# 1=Enable, 0=Disable (default) +gEnableFwSelfRecovery=0 END # Note: Configuration parser would not read anything past the END marker |
