qcacld-3.0: Add support for sending QMI misc msg on DL deinit

Add support for sending QMI WFDS misc request to QMI
server on Direct link deinit.

Change-Id: I611625d83719c0f8a7dfbef1d3c8328cb618ef7f
CRs-Fixed: 3454630
这个提交包含在:
Yeshwanth Sriram Guntuka
2023-04-04 10:54:28 +05:30
提交者 Madan Koyyalamudi
父节点 01677182ff
当前提交 7b19419ddd
修改 10 个文件,包含 64 行新增17 行删除

查看文件

@@ -669,10 +669,11 @@ QDF_STATUS dp_direct_link_init(struct wlan_dp_psoc_context *dp_ctx);
/**
* dp_direct_link_deinit() - De-initializes Direct Link datapath
* @dp_ctx: DP private context
* @is_ssr: true if SSR is in progress else false
*
* Return: None
*/
void dp_direct_link_deinit(struct wlan_dp_psoc_context *dp_ctx);
void dp_direct_link_deinit(struct wlan_dp_psoc_context *dp_ctx, bool is_ssr);
/**
* dp_config_direct_link: Set direct link config of vdev
@@ -694,7 +695,7 @@ QDF_STATUS dp_direct_link_init(struct wlan_dp_psoc_context *dp_ctx)
}
static inline
void dp_direct_link_deinit(struct wlan_dp_psoc_context *dp_ctx)
void dp_direct_link_deinit(struct wlan_dp_psoc_context *dp_ctx, bool is_ssr)
{
}

查看文件

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -171,9 +171,11 @@ QDF_STATUS dp_wfds_init(struct dp_direct_link_context *direct_link_ctx);
/**
* dp_wfds_deinit() - Deinitialize DP WFDS context
* @direct_link_ctx: DP Direct Link context
* @is_ssr: true if SSR is in progress else false
*
* Return: None
*/
void dp_wfds_deinit(struct dp_direct_link_context *direct_link_ctx);
void dp_wfds_deinit(struct dp_direct_link_context *direct_link_ctx,
bool is_ssr);
#endif
#endif

查看文件

@@ -1714,7 +1714,7 @@ QDF_STATUS dp_direct_link_init(struct wlan_dp_psoc_context *dp_ctx)
return status;
}
void dp_direct_link_deinit(struct wlan_dp_psoc_context *dp_ctx)
void dp_direct_link_deinit(struct wlan_dp_psoc_context *dp_ctx, bool is_ssr)
{
if (!pld_is_direct_link_supported(dp_ctx->qdf_dev->dev))
return;
@@ -1722,7 +1722,7 @@ void dp_direct_link_deinit(struct wlan_dp_psoc_context *dp_ctx)
if (!dp_ctx->dp_direct_link_ctx)
return;
dp_wfds_deinit(dp_ctx->dp_direct_link_ctx);
dp_wfds_deinit(dp_ctx->dp_direct_link_ctx, is_ssr);
dp_direct_link_refill_ring_deinit(dp_ctx->dp_direct_link_ctx);
qdf_mem_free(dp_ctx->dp_direct_link_ctx);

查看文件

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -456,7 +456,7 @@ QDF_STATUS dp_wfds_new_server(void)
qdf_atomic_set(&dl_wfds->wfds_state, DP_WFDS_SVC_CONNECTED);
dp_debug("Connected to WFDS QMI service, state: 0x%lx",
dp_debug("Connected to WFDS QMI service, state: 0x%x",
qdf_atomic_read(&dl_wfds->wfds_state));
return dp_wfds_event_post(dl_wfds, DP_WFDS_NEW_SERVER, NULL);
@@ -601,7 +601,8 @@ out:
return status;
}
void dp_wfds_deinit(struct dp_direct_link_context *dp_direct_link_ctx)
void dp_wfds_deinit(struct dp_direct_link_context *dp_direct_link_ctx,
bool is_ssr)
{
struct dp_direct_link_wfds_context *dl_wfds;
@@ -621,6 +622,11 @@ void dp_wfds_deinit(struct dp_direct_link_context *dp_direct_link_ctx)
qdf_spinlock_destroy(&dl_wfds->wfds_event_list_lock);
qdf_list_destroy(&dl_wfds->wfds_event_list);
if (qdf_atomic_read(&dl_wfds->wfds_state) !=
DP_WFDS_SVC_DISCONNECTED)
wlan_qmi_wfds_send_misc_req_msg(dp_direct_link_ctx->dp_ctx->psoc,
is_ssr);
wlan_qmi_wfds_deinit(dp_direct_link_ctx->dp_ctx->psoc);
gp_dl_wfds_ctx = NULL;