diff options
author | Manikandan Mohan <manikand@codeaurora.org> | 2019-08-23 08:32:56 -0700 |
---|---|---|
committer | nshrivas <nshrivas@codeaurora.org> | 2019-09-20 16:11:59 -0700 |
commit | ebc31619ce67d63385b09df432845ed17b8e7766 (patch) | |
tree | 35dbc87e475a1a19856fab9025c7b7c6d97db755 /core/cds | |
parent | f6ff082e08fe4458d2ef7733e61ca248323afa3f (diff) | |
download | qcacld-ebc31619ce67d63385b09df432845ed17b8e7766.tar.gz |
qcacld-3.0: Add support for WMI over QMI
Add support for WMI over QMI to reduce power consumption for
periodic stats report.
Change-Id: Iec725b357d9bcfa33029aedf7c568814499bc130
CRs-fixed: 2521826
Diffstat (limited to 'core/cds')
-rw-r--r-- | core/cds/src/cds_api.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index eba06d2936..6e6aba831b 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -194,6 +194,23 @@ static bool cds_is_drv_connected(void) return ((ret > 0) ? true : false); } +static QDF_STATUS cds_wmi_send_recv_qmi(void *buf, uint32_t len, void * cb_ctx, + qdf_wmi_recv_qmi_cb wmi_rx_cb) +{ + qdf_device_t qdf_ctx; + + qdf_ctx = cds_get_context(QDF_MODULE_ID_QDF_DEVICE); + if (!qdf_ctx) { + cds_err("cds context is invalid"); + return false; + } + + if (pld_qmi_send(qdf_ctx->dev, 0, buf, len, cb_ctx, wmi_rx_cb)) + return QDF_STATUS_E_INVAL; + + return QDF_STATUS_SUCCESS; +} + QDF_STATUS cds_init(void) { QDF_STATUS status; @@ -214,6 +231,7 @@ QDF_STATUS cds_init(void) qdf_register_fw_down_callback(cds_is_fw_down); qdf_register_recovering_state_query_callback(cds_is_driver_recovering); qdf_register_drv_connected_callback(cds_is_drv_connected); + qdf_register_wmi_send_recv_qmi_callback(cds_wmi_send_recv_qmi); return QDF_STATUS_SUCCESS; @@ -238,6 +256,7 @@ void cds_deinit(void) qdf_register_recovering_state_query_callback(NULL); qdf_register_fw_down_callback(NULL); qdf_register_self_recovery_callback(NULL); + qdf_register_wmi_send_recv_qmi_callback(NULL); gp_cds_context->qdf_ctx = NULL; qdf_mem_zero(&g_qdf_ctx, sizeof(g_qdf_ctx)); |