xref: /wlan-dirver/qca-wifi-host-cmn/wmi/src/wmi_unified_fwol_api.c (revision f28396d060cff5c6519f883cb28ae0116ce479f1)
1 /*
2  * Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 /**
19  * DOC: Implement API's specific to fw offload component.
20  */
21 
22 #include "wmi_unified_priv.h"
23 #include "wlan_fwol_public_structs.h"
24 #include "wmi_unified_fwol_api.h"
25 
26 #ifdef WLAN_FEATURE_ELNA
27 QDF_STATUS
28 wmi_unified_send_set_elna_bypass_cmd(struct wmi_unified *wmi_handle,
29 				     struct set_elna_bypass_request *req)
30 {
31 	if (wmi_handle->ops->send_set_elna_bypass_cmd)
32 		return wmi_handle->ops->send_set_elna_bypass_cmd(wmi_handle,
33 								 req);
34 
35 	return QDF_STATUS_E_FAILURE;
36 }
37 
38 QDF_STATUS
39 wmi_unified_send_get_elna_bypass_cmd(struct wmi_unified *wmi_handle,
40 				     struct get_elna_bypass_request *req)
41 {
42 	if (wmi_handle->ops->send_get_elna_bypass_cmd)
43 		return wmi_handle->ops->send_get_elna_bypass_cmd(wmi_handle,
44 								 req);
45 
46 	return QDF_STATUS_E_FAILURE;
47 }
48 
49 QDF_STATUS
50 wmi_extract_get_elna_bypass_resp(struct wmi_unified *wmi_handle, void *resp_buf,
51 				 struct get_elna_bypass_response *resp)
52 {
53 	if (wmi_handle->ops->extract_get_elna_bypass_resp)
54 		return wmi_handle->ops->extract_get_elna_bypass_resp(wmi_handle,
55 								     resp_buf,
56 								     resp);
57 
58 	return QDF_STATUS_E_FAILURE;
59 }
60 #endif /* WLAN_FEATURE_ELNA */
61 
62 #ifdef WLAN_SEND_DSCP_UP_MAP_TO_FW
63 QDF_STATUS
64 wmi_unified_send_dscp_tip_map_cmd(struct wmi_unified *wmi_handle,
65 				  uint32_t *dscp_to_tid_map)
66 {
67 	if (wmi_handle->ops->send_dscp_tid_map_cmd)
68 		return wmi_handle->ops->send_dscp_tid_map_cmd(wmi_handle,
69 							      dscp_to_tid_map);
70 
71 	return QDF_STATUS_E_FAILURE;
72 }
73 #endif /* WLAN_SEND_DSCP_UP_MAP_TO_FW */
74