xref: /wlan-dirver/qca-wifi-host-cmn/wmi/inc/wmi_unified_dbr_api.h (revision 503663c6daafffe652fa360bde17243568cd6d2a)
1 /*
2  * Copyright (c) 2013-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  * DOC: Implement API's specific to DBR component.
20  */
21 
22 #ifndef _WMI_UNIFIED_DBR_API_H_
23 #define _WMI_UNIFIED_DBR_API_H_
24 
25 #include "wmi_unified_dbr_param.h"
26 
27 /**
28  * wmi_unified_dbr_ring_cfg: Configure direct buffer rx rings
29  * @wmi_handle: WMI handle
30  * @cfg: pointer to direct buffer rx config request
31  *
32  * Return: QDF status of operation
33  */
34 QDF_STATUS wmi_unified_dbr_ring_cfg(wmi_unified_t wmi_handle,
35 				    struct direct_buf_rx_cfg_req *cfg);
36 
37 /**
38  * wmi_extract_dbr_buf_release_fixed : Extract direct buffer rx fixed param
39  *				     from buffer release event
40  * @wmi_handle: WMI handle
41  * @evt_buf: Event buffer
42  * @param: Pointer to direct buffer rx response struct
43  *
44  * Return: QDF status of operation
45  */
46 QDF_STATUS wmi_extract_dbr_buf_release_fixed(
47 			wmi_unified_t wmi_handle,
48 			uint8_t *evt_buf,
49 			struct direct_buf_rx_rsp *param);
50 
51 /**
52  * wmi_extract_dbr_buf_release_entry: Extract direct buffer rx buffer tlv
53  *
54  * @wmi_handle: WMI handle
55  * @evt_buf: Event buffer
56  * @idx: Index of the module for which capability is received
57  * @param: Pointer to direct buffer rx entry
58  *
59  * Return: QDF status of operation
60  */
61 QDF_STATUS wmi_extract_dbr_buf_release_entry(
62 			wmi_unified_t wmi_handle,
63 			uint8_t *evt_buf, uint8_t idx,
64 			struct direct_buf_rx_entry *param);
65 
66 /**
67  * wmi_extract_dbr_buf_metadata: Extract direct buffer metadata
68  *
69  * @wmi_handle: WMI handle
70  * @evt_buf: Event buffer
71  * @idx: Index of the module for which capability is received
72  * @param: Pointer to direct buffer metadata
73  *
74  * Return: QDF status of operation
75  */
76 QDF_STATUS wmi_extract_dbr_buf_metadata(
77 			wmi_unified_t wmi_handle,
78 			uint8_t *evt_buf, uint8_t idx,
79 			struct direct_buf_rx_metadata *param);
80 
81 #endif /* _WMI_UNIFIED_DBR_API_H_ */
82