Revert "qcacld-3.0: Propagate config parameters to datapath"

This reverts Change I852b14cb04b1c2c01a697434bc5fe8b29dbfe9ea.

Change-Id: Ia433fdcb58feea27c5897975002bb347d6b96bb4
CRs-Fixed: 2097229
This commit is contained in:
Venkata Sharath Chandra Manchala
2017-10-04 16:29:15 -07:00
committed by snandini
orang tua 89ad2ce0da
melakukan 9abac31eba
4 mengubah file dengan 33 tambahan dan 137 penghapusan

Melihat File

@@ -323,17 +323,6 @@ QDF_STATUS cds_pre_enable(void);
QDF_STATUS cds_open(struct wlan_objmgr_psoc *psoc);
/**
* cds_dp_open() - Open datapath module
* @psoc - object manager soc handle
*
* API to map the datapath rings to interrupts
* and also open the datapath pdev module.
*
* Return: QDF status
*/
QDF_STATUS cds_dp_open(struct wlan_objmgr_psoc *psoc);
QDF_STATUS cds_enable(struct wlan_objmgr_psoc *psoc);
QDF_STATUS cds_disable(struct wlan_objmgr_psoc *psoc);
@@ -342,17 +331,6 @@ QDF_STATUS cds_post_disable(void);
QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc);
/**
* cds_dp_close() - Close datapath module
* @psoc: Object manager soc handle
*
* API used to detach interrupts assigned to service
* datapath rings and close pdev module
*
* Return: Status
*/
QDF_STATUS cds_dp_close(struct wlan_objmgr_psoc *psoc);
void *cds_get_context(QDF_MODULE_ID moduleId);
uint8_t cds_get_datapath_handles(void **soc, struct cdp_pdev **pdev,

Melihat File

@@ -583,6 +583,9 @@ QDF_STATUS cds_open(struct wlan_objmgr_psoc *psoc)
if (!gp_cds_context->dp_soc)
goto err_wma_close;
if (cdp_txrx_intr_attach(gp_cds_context->dp_soc) != QDF_STATUS_SUCCESS)
goto err_wma_close;
pmo_ucfg_psoc_update_dp_handle(psoc, gp_cds_context->dp_soc);
cds_set_ac_specs_params(cds_cfg);
@@ -611,11 +614,29 @@ QDF_STATUS cds_open(struct wlan_objmgr_psoc *psoc)
QDF_ASSERT(0);
goto err_mac_close;
}
cds_set_context(QDF_MODULE_ID_TXRX,
cdp_pdev_attach(cds_get_context(QDF_MODULE_ID_SOC),
gp_cds_context->cfg_ctx,
gp_cds_context->htc_ctx,
gp_cds_context->qdf_ctx, 0));
if (!gp_cds_context->pdev_txrx_ctx) {
/* Critical Error ... Cannot proceed further */
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
"%s: Failed to open TXRX", __func__);
QDF_ASSERT(0);
goto err_sme_close;
}
pmo_ucfg_psoc_set_txrx_handle(psoc, gp_cds_context->pdev_txrx_ctx);
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_INFO_HIGH,
"%s: CDS successfully Opened", __func__);
cds_register_all_modules();
return dispatcher_psoc_open(psoc);
err_sme_close:
sme_close(gp_cds_context->pMACContext);
err_mac_close:
mac_close(gp_cds_context->pMACContext);
@@ -654,41 +675,6 @@ err_probe_event:
return QDF_STATUS_E_FAILURE;
} /* cds_open() */
QDF_STATUS cds_dp_open(struct wlan_objmgr_psoc *psoc)
{
if (cdp_txrx_intr_attach(gp_cds_context->dp_soc)
!= QDF_STATUS_SUCCESS) {
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
"%s: Failed to attach interrupts", __func__);
goto close;
}
cds_set_context(QDF_MODULE_ID_TXRX,
cdp_pdev_attach(cds_get_context(QDF_MODULE_ID_SOC),
gp_cds_context->cfg_ctx,
gp_cds_context->htc_ctx,
gp_cds_context->qdf_ctx, 0));
if (!gp_cds_context->pdev_txrx_ctx) {
/* Critical Error ... Cannot proceed further */
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
"%s: Failed to open TXRX", __func__);
QDF_ASSERT(0);
goto intr_close;
}
pmo_ucfg_psoc_set_txrx_handle(psoc, gp_cds_context->pdev_txrx_ctx);
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_INFO_HIGH,
"%s: CDS successfully Opened", __func__);
return 0;
intr_close:
cdp_txrx_intr_detach(gp_cds_context->dp_soc);
close:
return QDF_STATUS_E_FAILURE;
}
/**
* cds_pre_enable() - pre enable cds
*
@@ -1078,6 +1064,7 @@ QDF_STATUS cds_post_disable(void)
QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc)
{
QDF_STATUS qdf_status;
void *ctx;
dispatcher_psoc_close(psoc);
@@ -1088,12 +1075,19 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc)
QDF_ASSERT(0);
}
cdp_txrx_intr_detach(gp_cds_context->dp_soc);
if (gp_cds_context->htc_ctx) {
htc_destroy(gp_cds_context->htc_ctx);
pmo_ucfg_psoc_update_htc_handle(psoc, NULL);
gp_cds_context->htc_ctx = NULL;
}
ctx = cds_get_context(QDF_MODULE_ID_TXRX);
cds_set_context(QDF_MODULE_ID_TXRX, NULL);
pmo_ucfg_psoc_set_txrx_handle(psoc, NULL);
cdp_pdev_detach(cds_get_context(QDF_MODULE_ID_SOC),
(struct cdp_pdev *)ctx, 1);
qdf_status = sme_close(gp_cds_context->pMACContext);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_ERROR,
@@ -1156,21 +1150,6 @@ QDF_STATUS cds_close(struct wlan_objmgr_psoc *psoc)
return QDF_STATUS_SUCCESS;
}
QDF_STATUS cds_dp_close(struct wlan_objmgr_psoc *psoc)
{
void *ctx;
cdp_txrx_intr_detach(gp_cds_context->dp_soc);
ctx = cds_get_context(QDF_MODULE_ID_TXRX);
cds_set_context(QDF_MODULE_ID_TXRX, NULL);
pmo_ucfg_psoc_set_txrx_handle(psoc, NULL);
cdp_pdev_detach(cds_get_context(QDF_MODULE_ID_SOC),
(struct cdp_pdev *)ctx, 1);
return QDF_STATUS_SUCCESS;
}
/**
* cds_get_context() - get context data area
*

Melihat File

@@ -6287,8 +6287,6 @@ void hdd_cfg_print(struct hdd_context *hdd_ctx)
hdd_ctx->config->lro_enable);
hdd_debug("Name = [active_mode_offload] value = [%d]",
hdd_ctx->config->active_mode_offload);
hdd_debug("Name = [gEnableNAPI] value = [%d]",
hdd_ctx->napi_enable);
hdd_debug("Name = [gfine_time_meas_cap] value = [%u]",
hdd_ctx->config->fine_time_meas_cap);
#ifdef WLAN_FEATURE_FASTPATH

Melihat File

@@ -122,7 +122,6 @@
#include "wlan_reg_ucfg_api.h"
#include "wlan_hdd_rx_monitor.h"
#include "sme_power_save_api.h"
#include <cdp_txrx_cmn_struct.h>
#ifdef CNSS_GENL
#include <net/cnss_nl.h>
@@ -2292,7 +2291,7 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx,
ret = hdd_update_config(hdd_ctx);
if (ret) {
hdd_err("Failed to update configuration :%d", ret);
goto cds_free;
goto ol_cds_free;
}
hdd_update_cds_ac_specs_params(hdd_ctx);
@@ -2300,7 +2299,7 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx,
status = cds_open(hdd_ctx->hdd_psoc);
if (!QDF_IS_STATUS_SUCCESS(status)) {
hdd_err("Failed to Open CDS: %d", status);
goto cds_free;
goto ol_cds_free;
}
/* initalize components configurations after psoc open */
@@ -2310,11 +2309,6 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx,
ret);
goto close;
}
status = cds_dp_open(hdd_ctx->hdd_psoc);
if (!QDF_IS_STATUS_SUCCESS(status)) {
hdd_err("Failed to Open cds post open: %d", status);
goto close;
}
/*
* NAN compoenet requires certian operations like, open adapter,
@@ -2328,7 +2322,7 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx,
status = cds_pre_enable();
if (!QDF_IS_STATUS_SUCCESS(status)) {
hdd_err("Failed to pre-enable CDS: %d", status);
goto cds_txrx_free;
goto close;
}
hdd_register_policy_manager_callback(
@@ -2388,13 +2382,11 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx,
post_disable:
cds_post_disable();
cds_txrx_free:
cds_dp_close(hdd_ctx->hdd_psoc);
close:
hdd_ctx->driver_status = DRIVER_MODULES_CLOSED;
cds_close(hdd_ctx->hdd_psoc);
cds_free:
ol_cds_free:
ol_cds_free();
hif_close:
@@ -9506,14 +9498,6 @@ int hdd_wlan_stop_modules(struct hdd_context *hdd_ctx, bool ftm_mode)
ret = -EINVAL;
QDF_ASSERT(0);
}
qdf_status = cds_dp_close(hdd_ctx->hdd_psoc);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
hdd_warn("Failed to stop CDS DP: %d", qdf_status);
ret = -EINVAL;
QDF_ASSERT(0);
}
qdf_status = cds_close(hdd_ctx->hdd_psoc);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
hdd_warn("Failed to stop CDS: %d", qdf_status);
@@ -11815,43 +11799,6 @@ static void hdd_update_hif_config(struct hdd_context *hdd_ctx)
hif_vote_link_up(scn);
}
/**
* hdd_update_dp_config() - Propagate config parameters to Lithium
* datapath
* @hdd_ctx: HDD Context
*
* Return: 0 for success/errno for failure
*/
static int hdd_update_dp_config(struct hdd_context *hdd_ctx)
{
struct cdp_config_params params;
QDF_STATUS status;
params.tso_enable = hdd_ctx->config->tso_enable;
params.lro_enable = hdd_ctx->config->lro_enable;
#ifdef QCA_LL_TX_FLOW_CONTROL_V2
params.tx_flow_stop_queue_threshold =
hdd_ctx->config->TxFlowStopQueueThreshold;
params.tx_flow_start_queue_offset =
hdd_ctx->config->TxFlowStartQueueOffset;
#endif
params.flow_steering_enable = hdd_ctx->config->flow_steering_enable;
params.napi_enable = hdd_ctx->napi_enable;
params.tcp_udp_checksumoffload =
hdd_ctx->config->enable_ip_tcp_udp_checksum_offload;
status = cdp_update_config_parameters(
cds_get_context(QDF_MODULE_ID_SOC),
&params);
if (status) {
QDF_TRACE(QDF_MODULE_ID_HDD, QDF_TRACE_LEVEL_ERROR,
"%s: Failed to attach config parameters", __func__);
return status;
}
return 0;
}
/**
* hdd_update_config() - Initialize driver per module ini parameters
* @hdd_ctx: HDD Context
@@ -12123,16 +12070,10 @@ int hdd_update_components_config(struct hdd_context *hdd_ctx)
ret = hdd_update_pmo_config(hdd_ctx);
if (ret)
return ret;
ret = hdd_update_scan_config(hdd_ctx);
if (ret)
return ret;
ret = hdd_update_tdls_config(hdd_ctx);
if (ret)
return ret;
ret = hdd_update_dp_config(hdd_ctx);
return ret;
}