blob: fbfd8f45e0c29bc1040b1276e87c218e3b3886fd [file] [log] [blame]
Nagaf3a70ce2019-01-18 13:14:49 +05301/*
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/**
Naga7dd88342019-02-05 22:34:24 +053033 * target_if_vdev_mgr_is_driver_unloading: API to driver unload status
34 *
35 * Return: TRUE or FALSE
36 */
37static 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 */
47static 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/**
Nagaf3a70ce2019-01-18 13:14:49 +053057 * target_if_vdev_mgr_get_rx_ops() - get rx ops
58 * @psoc: pointer to psoc object
59 *
60 * Return: pointer to rx ops
61 */
62static inline struct wlan_lmac_if_mlme_rx_ops *
63target_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 */
77void 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 */
86QDF_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 */
96QDF_STATUS target_if_vdev_mgr_wmi_event_unregister(
97 struct wlan_objmgr_psoc *psoc);
98
99#endif /* __TARGET_IF_VDEV_MGR_RX_OPS_H__ */