Revert "qcacld-3.0: Propagate config parameters to datapath"
This reverts Change I852b14cb04b1c2c01a697434bc5fe8b29dbfe9ea. Change-Id: Ia433fdcb58feea27c5897975002bb347d6b96bb4 CRs-Fixed: 2097229
This commit is contained in:

committed by
snandini

orang tua
89ad2ce0da
melakukan
9abac31eba
@@ -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,
|
||||
|
@@ -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
|
||||
*
|
||||
|
@@ -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
|
||||
|
@@ -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),
|
||||
¶ms);
|
||||
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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user