|
@@ -193,6 +193,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 QDF_STATUS_E_INVAL;
|
|
|
+ }
|
|
|
+
|
|
|
+ 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;
|
|
@@ -213,6 +230,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;
|
|
|
|
|
@@ -237,6 +255,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));
|