1
0

qcacld-3.0: Add SAP TX leakage threshold into ini file

Propagate from qcacld-2.0 to qcacld-3.0

Current value of SAP TX leakage threshold is a fixed value 310,
since different product may need different threshold, add it
into ini file now.

Change-Id: I0df8ac14f5e9e812a8ec5e5127df21eff0a8502b
CRs-Fixed: 955258
Este cometimento está contido em:
Yingying Tang
2016-10-20 13:44:55 +08:00
cometido por qcabuildsw
ascendente 905cdc782f
cometimento b4832f7faf
6 ficheiros modificados com 66 adições e 2 eliminações

Ver ficheiro

@@ -708,6 +708,7 @@ typedef struct sSapDfsInfo {
* channel switch is disabled.
*/
uint8_t disable_dfs_ch_switch;
uint16_t tx_leakage_threshold;
} tSapDfsInfo;
typedef struct tagSapCtxList {
@@ -964,8 +965,11 @@ QDF_STATUS wlansap_acs_chselect(void *pvos_gctx,
tpWLAN_SAPEventCB pacs_event_callback,
tsap_Config_t *pconfig,
void *pusr_context);
uint32_t wlansap_get_chan_width(void *cds_ctx);
QDF_STATUS wlansap_set_tx_leakage_threshold(tHalHandle hal,
uint16_t tx_leakage_threshold);
#ifdef __cplusplus
}
#endif

Ver ficheiro

@@ -1007,6 +1007,16 @@ sap_mark_leaking_ch(ptSapContext sap_ctx,
uint32_t j = 0;
uint32_t k = 0;
uint8_t dfs_nol_channel;
tHalHandle hal = CDS_GET_HAL_CB(sap_ctx->pvosGCtx);
tpAniSirGlobal mac;
if (NULL == hal) {
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
"%s: Invalid hal pointer", __func__);
return QDF_STATUS_E_FAULT;
}
mac = PMAC_STRUCT(hal);
/* traverse target_chan_matrix and */
@@ -1051,7 +1061,7 @@ sap_mark_leaking_ch(ptSapContext sap_ctx,
* to NOL channel
*/
if (target_chan_matrix[k].leak_lvl <=
SAP_TX_LEAKAGE_THRES) {
mac->sap.SapDfsInfo.tx_leakage_threshold) {
/*
* candidate channel will have
* bad leakage in NOL channel,

Ver ficheiro

@@ -3622,7 +3622,6 @@ void wlan_sap_enable_phy_error_logs(tHalHandle hal, bool enable_log)
mac_ctx->sap.enable_dfs_phy_error_logs = enable_log;
}
/**
* wlansap_get_chan_width() - get sap channel width.
* @cds_ctx: pointer of global cds context
@@ -3638,3 +3637,31 @@ uint32_t wlansap_get_chan_width(void *cds_ctx)
sapcontext = CDS_GET_SAP_CB(cds_ctx);
return wlan_sap_get_vht_ch_width(sapcontext);
}
/**
* wlansap_set_tx_leakage_threshold() - set sap tx leakage threshold.
* @hal: HAL pointer
* @tx_leakage_threshold: sap tx leakage threshold
*
* This function set sap tx leakage threshold.
*
* Return: QDF_STATUS.
*/
QDF_STATUS wlansap_set_tx_leakage_threshold(tHalHandle hal,
uint16_t tx_leakage_threshold)
{
tpAniSirGlobal mac;
if (NULL == hal) {
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
"%s: Invalid hal pointer", __func__);
return QDF_STATUS_E_FAULT;
}
mac = PMAC_STRUCT(hal);
mac->sap.SapDfsInfo.tx_leakage_threshold = tx_leakage_threshold;
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO,
"%s: leakage_threshold %d", __func__,
mac->sap.SapDfsInfo.tx_leakage_threshold);
return QDF_STATUS_SUCCESS;
}