xref: /wlan-dirver/qca-wifi-host-cmn/target_if/mlme/vdev_mgr/inc/target_if_vdev_mgr_rx_ops.h (revision dd4dc88b837a295134aa9869114a2efee0f4894b)
1 /*
2  * Copyright (c) 2019 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 /**
20  * DOC: target_if_vdev_mgr_rx_ops.h
21  *
22  * This file provides declarations for APIs registered for wmi events
23  */
24 
25 #ifndef __TARGET_IF_VDEV_MGR_RX_OPS_H__
26 #define __TARGET_IF_VDEV_MGR_RX_OPS_H__
27 
28 #include <wmi_unified_param.h>
29 #include <wlan_objmgr_psoc_obj.h>
30 #include <wlan_lmac_if_def.h>
31 
32 /**
33  * target_if_vdev_mgr_is_driver_unloading: API to driver unload status
34  *
35  * Return: TRUE or FALSE
36  */
37 static inline bool target_if_vdev_mgr_is_driver_unloading(void)
38 {
39 	return false;
40 }
41 
42 /**
43  * target_if_vdev_mgr_is_panic_on_bug: API to get panic on bug
44  *
45  * Return: TRUE or FALSE
46  */
47 static inline bool target_if_vdev_mgr_is_panic_on_bug(void)
48 {
49 #ifdef PANIC_ON_BUG
50 	return true;
51 #else
52 	return false;
53 #endif
54 }
55 
56 /**
57  * target_if_vdev_mgr_get_rx_ops() - get rx ops
58  * @psoc: pointer to psoc object
59  *
60  * Return: pointer to rx ops
61  */
62 static inline struct wlan_lmac_if_mlme_rx_ops *
63 target_if_vdev_mgr_get_rx_ops(struct wlan_objmgr_psoc *psoc)
64 {
65 	return &psoc->soc_cb.rx_ops.mops;
66 }
67 
68 /**
69  * target_if_vdev_mgr_rsp_timer_mgmt_cb() - function to handle response timer
70  * @arg: pointer to argument
71  *
72  * Callback timer triggered when response timer expires which pass
73  * vdev as argument
74  *
75  * Return: status of operation.
76  */
77 void target_if_vdev_mgr_rsp_timer_mgmt_cb(void *arg);
78 
79 /**
80  * target_if_vdev_mgr_wmi_event_register() - function to handle register
81  * events from WMI
82  * @psoc: pointer to psoc object
83  *
84  * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
85  */
86 QDF_STATUS target_if_vdev_mgr_wmi_event_register(
87 					struct wlan_objmgr_psoc *psoc);
88 
89 /**
90  * target_if_vdev_mgr_wmi_event_unregister() - function to handle unregister
91  * events from WMI
92  * @psoc: pointer to psoc object
93  *
94  * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_** on error
95  */
96 QDF_STATUS target_if_vdev_mgr_wmi_event_unregister(
97 					struct wlan_objmgr_psoc *psoc);
98 
99 #endif /* __TARGET_IF_VDEV_MGR_RX_OPS_H__ */
100