qcacld-3.0: Remove CDS related functions in HTC
Update runtime PM APIs and HTC connection mode parameter accordingly. Change-Id: I2f54933b90aaed233042c113d246fae4726f5707 CRs-fixed: 982024
This commit is contained in:

committed by
Vishwajith Upendra

parent
6785797b91
commit
1e11d79646
@@ -55,7 +55,7 @@
|
|||||||
#include "ol_fw.h"
|
#include "ol_fw.h"
|
||||||
#include "ol_if_athvar.h"
|
#include "ol_if_athvar.h"
|
||||||
#include "hif.h"
|
#include "hif.h"
|
||||||
|
#include "cds_concurrency.h"
|
||||||
#include "cds_utils.h"
|
#include "cds_utils.h"
|
||||||
#include "wlan_logging_sock_svc.h"
|
#include "wlan_logging_sock_svc.h"
|
||||||
#include "wma.h"
|
#include "wma.h"
|
||||||
@@ -273,7 +273,7 @@ QDF_STATUS cds_open(void)
|
|||||||
|
|
||||||
/* Create HTC */
|
/* Create HTC */
|
||||||
gp_cds_context->htc_ctx =
|
gp_cds_context->htc_ctx =
|
||||||
htc_create(scn, &htcInfo, qdf_ctx);
|
htc_create(scn, &htcInfo, qdf_ctx, cds_get_conparam());
|
||||||
if (!gp_cds_context->htc_ctx) {
|
if (!gp_cds_context->htc_ctx) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
|
||||||
"%s: Failed to Create HTC", __func__);
|
"%s: Failed to Create HTC", __func__);
|
||||||
|
@@ -674,6 +674,10 @@ ol_txrx_set_monitor_mode_vap(ol_txrx_pdev_handle pdev,
|
|||||||
*/
|
*/
|
||||||
void ol_txrx_set_curchan(ol_txrx_pdev_handle pdev, uint32_t chan_mhz);
|
void ol_txrx_set_curchan(ol_txrx_pdev_handle pdev, uint32_t chan_mhz);
|
||||||
|
|
||||||
|
#ifdef FEATURE_RUNTIME_PM
|
||||||
|
QDF_STATUS ol_txrx_runtime_suspend(ol_txrx_pdev_handle txrx_pdev);
|
||||||
|
QDF_STATUS ol_txrx_runtime_resume(ol_txrx_pdev_handle txrx_pdev);
|
||||||
|
#endif
|
||||||
QDF_STATUS ol_txrx_bus_suspend(void);
|
QDF_STATUS ol_txrx_bus_suspend(void);
|
||||||
QDF_STATUS ol_txrx_bus_resume(void);
|
QDF_STATUS ol_txrx_bus_resume(void);
|
||||||
QDF_STATUS ol_txrx_wait_for_pending_tx(int timeout);
|
QDF_STATUS ol_txrx_wait_for_pending_tx(int timeout);
|
||||||
|
@@ -1918,6 +1918,38 @@ QDF_STATUS ol_txrx_wait_for_pending_tx(int timeout)
|
|||||||
#define SUSPEND_DRAIN_WAIT 3000
|
#define SUSPEND_DRAIN_WAIT 3000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEATURE_RUNTIME_PM
|
||||||
|
/**
|
||||||
|
* ol_txrx_runtime_suspend() - ensure TXRX is ready to runtime suspend
|
||||||
|
* @txrx_pdev: TXRX pdev context
|
||||||
|
*
|
||||||
|
* TXRX is ready to runtime suspend if there are no pending packets
|
||||||
|
* in the tx queue.
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
QDF_STATUS ol_txrx_runtime_suspend(ol_txrx_pdev_handle txrx_pdev)
|
||||||
|
{
|
||||||
|
if (ol_txrx_get_tx_pending(txrx_pdev))
|
||||||
|
return QDF_STATUS_E_BUSY;
|
||||||
|
else
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ol_txrx_runtime_resume() - ensure TXRX is ready to runtime resume
|
||||||
|
* @txrx_pdev: TXRX pdev context
|
||||||
|
*
|
||||||
|
* This is a dummy function for symmetry.
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS_SUCCESS
|
||||||
|
*/
|
||||||
|
QDF_STATUS ol_txrx_runtime_resume(ol_txrx_pdev_handle txrx_pdev)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ol_txrx_bus_suspend() - bus suspend
|
* ol_txrx_bus_suspend() - bus suspend
|
||||||
*
|
*
|
||||||
|
@@ -681,6 +681,8 @@ static int __wlan_hdd_runtime_suspend(void)
|
|||||||
{
|
{
|
||||||
void *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
|
void *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
|
||||||
void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
|
void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
|
||||||
|
void *txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
||||||
|
void *htc_ctx = cds_get_context(QDF_MODULE_ID_HTC);
|
||||||
int status = wlan_hdd_validate_context(hdd_ctx);
|
int status = wlan_hdd_validate_context(hdd_ctx);
|
||||||
|
|
||||||
if (0 != status)
|
if (0 != status)
|
||||||
@@ -690,10 +692,14 @@ static int __wlan_hdd_runtime_suspend(void)
|
|||||||
if (status)
|
if (status)
|
||||||
goto process_failure;
|
goto process_failure;
|
||||||
|
|
||||||
status = htc_runtime_suspend();
|
status = qdf_status_to_os_return(ol_txrx_runtime_suspend(txrx_pdev));
|
||||||
if (status)
|
if (status)
|
||||||
goto process_failure;
|
goto process_failure;
|
||||||
|
|
||||||
|
status = htc_runtime_suspend(htc_ctx);
|
||||||
|
if (status)
|
||||||
|
goto resume_txrx;
|
||||||
|
|
||||||
status = wma_runtime_suspend();
|
status = wma_runtime_suspend();
|
||||||
if (status)
|
if (status)
|
||||||
goto resume_htc;
|
goto resume_htc;
|
||||||
@@ -714,7 +720,9 @@ resume_hif:
|
|||||||
resume_wma:
|
resume_wma:
|
||||||
QDF_BUG(!wma_runtime_resume());
|
QDF_BUG(!wma_runtime_resume());
|
||||||
resume_htc:
|
resume_htc:
|
||||||
QDF_BUG(!htc_runtime_resume());
|
QDF_BUG(!htc_runtime_resume(htc_ctx));
|
||||||
|
resume_txrx:
|
||||||
|
QDF_BUG(!qdf_status_to_os_return(ol_txrx_runtime_resume(txrx_pdev)));
|
||||||
process_failure:
|
process_failure:
|
||||||
hif_process_runtime_suspend_failure(hif_ctx);
|
hif_process_runtime_suspend_failure(hif_ctx);
|
||||||
return status;
|
return status;
|
||||||
@@ -751,12 +759,15 @@ static int wlan_hdd_runtime_suspend(void)
|
|||||||
static int __wlan_hdd_runtime_resume(void)
|
static int __wlan_hdd_runtime_resume(void)
|
||||||
{
|
{
|
||||||
void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
|
void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
|
||||||
|
void *htc_ctx = cds_get_context(QDF_MODULE_ID_HTC);
|
||||||
|
void *txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
||||||
|
|
||||||
hif_pre_runtime_resume(hif_ctx);
|
hif_pre_runtime_resume(hif_ctx);
|
||||||
QDF_BUG(!cnss_auto_resume());
|
QDF_BUG(!cnss_auto_resume());
|
||||||
QDF_BUG(!hif_runtime_resume(hif_ctx));
|
QDF_BUG(!hif_runtime_resume(hif_ctx));
|
||||||
QDF_BUG(!wma_runtime_resume());
|
QDF_BUG(!wma_runtime_resume());
|
||||||
QDF_BUG(!htc_runtime_resume());
|
QDF_BUG(!htc_runtime_resume(htc_ctx));
|
||||||
|
QDF_BUG(!qdf_status_to_os_return(ol_txrx_runtime_resume(txrx_pdev)));
|
||||||
hif_process_runtime_resume_success(hif_ctx);
|
hif_process_runtime_resume_success(hif_ctx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@@ -266,7 +266,7 @@ static QDF_STATUS wlan_ftm_cds_open(v_CONTEXT_t p_cds_context,
|
|||||||
|
|
||||||
/* Create HTC */
|
/* Create HTC */
|
||||||
gp_cds_context->htc_ctx =
|
gp_cds_context->htc_ctx =
|
||||||
htc_create(pHifContext, &htcInfo, qdf_ctx);
|
htc_create(pHifContext, &htcInfo, qdf_ctx, hdd_get_conparam());
|
||||||
if (!gp_cds_context->htc_ctx) {
|
if (!gp_cds_context->htc_ctx) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
|
||||||
"%s: Failed to Create HTC", __func__);
|
"%s: Failed to Create HTC", __func__);
|
||||||
|
@@ -239,7 +239,8 @@ int epping_enable(struct device *parent_dev)
|
|||||||
qdf_ctx = cds_get_context(QDF_MODULE_ID_QDF_DEVICE);
|
qdf_ctx = cds_get_context(QDF_MODULE_ID_QDF_DEVICE);
|
||||||
|
|
||||||
/* Create HTC */
|
/* Create HTC */
|
||||||
p_cds_context->htc_ctx = htc_create(scn, &htcInfo, qdf_ctx);
|
p_cds_context->htc_ctx = htc_create(scn, &htcInfo, qdf_ctx,
|
||||||
|
cds_get_conparam());
|
||||||
if (!p_cds_context->htc_ctx) {
|
if (!p_cds_context->htc_ctx) {
|
||||||
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
|
QDF_TRACE(QDF_MODULE_ID_QDF, QDF_TRACE_LEVEL_FATAL,
|
||||||
"%s: Failed to Create HTC", __func__);
|
"%s: Failed to Create HTC", __func__);
|
||||||
|
Reference in New Issue
Block a user