xref: /wlan-dirver/qca-wifi-host-cmn/umac/mlme/vdev_mgr/dispatcher/inc/wlan_vdev_mgr_tgt_if_rx_defs.h (revision 8ddef7dd9a290d4a9b1efd5d3efacf51d78a1a0d)
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: wlan_vdev_mgr_tgt_if_rx_defs.h
21  *
22  * This header file provides definitions to data structures for
23  * corresponding vdev mgmt operation
24  */
25 
26 #ifndef __WLAN_VDEV_MGR_TGT_IF_RX_DEFS_H__
27 #define __WLAN_VDEV_MGR_TGT_IF_RX_DEFS_H__
28 
29 #include <qdf_timer.h>
30 
31 #define START_RESPONSE_BIT  0x1
32 #define RESTART_RESPONSE_BIT  0x2
33 #define STOP_RESPONSE_BIT   0x3
34 #define DELETE_RESPONSE_BIT 0x4
35 #define RESPONSE_BIT_MAX (START_RESPONSE_BIT | RESTART_RESPONSE_BIT |\
36 			  STOP_RESPONSE_BIT | DELETE_RESPONSE_BIT)
37 
38 #define START_RESPONSE_TIMER 6000 /* 6 seconds */
39 #define STOP_RESPONSE_TIMER  2000 /* 2 seconds */
40 #define DELETE_RESPONSE_TIMER  2000 /* 2 seconds */
41 
42 /**
43  * struct vdev_response_timer - vdev mgmt response ops timer
44  * @rsp_timer: VDEV MLME mgmt response timer
45  * @rsp_status: variable to check response status
46  * @expire_time: time to expire timer
47  * @timer_status: status of timer
48  */
49 struct vdev_response_timer {
50 	qdf_timer_t rsp_timer;
51 	unsigned long rsp_status;
52 	uint32_t expire_time;
53 	QDF_STATUS timer_status;
54 };
55 
56 /**
57  * struct vdev_start_response - start response structure
58  * @vdev_id: vdev id
59  * @requestor_id: requester id
60  * @status: status of start request
61  * @resp_type: response of event type START/RESTART
62  * @chain_mask: chain mask
63  * @smps_mode: smps mode
64  * @mac_id: mac id
65  * @cfgd_tx_streams: configured tx streams
66  * @cfgd_rx_streams: configured rx streams
67  */
68 struct vdev_start_response {
69 	uint8_t vdev_id;
70 	uint32_t requestor_id;
71 	uint32_t status;
72 	uint32_t resp_type;
73 	uint32_t chain_mask;
74 	uint32_t smps_mode;
75 	uint32_t mac_id;
76 	uint32_t cfgd_tx_streams;
77 	uint32_t cfgd_rx_streams;
78 };
79 
80 /**
81  * struct vdev_stop_response - stop response structure
82  * @vdev_id: vdev id
83  */
84 struct vdev_stop_response {
85 	uint8_t vdev_id;
86 };
87 
88 /**
89  * struct vdev_delete_response - delete response structure
90  * @vdev_id: vdev id
91  */
92 struct vdev_delete_response {
93 	uint8_t vdev_id;
94 };
95 
96 #endif /* __WLAN_VDEV_MGR_TGT_IF_RX_DEFS_H__ */
97