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 /* Opaque handle of WMI structure */ 28 struct wmi_unified; 29 typedef struct wmi_unified *wmi_unified_t; 30 31 /** 32 * wmi_unified_dbr_ring_cfg: Configure direct buffer rx rings 33 * @wmi_hdl: WMI handle 34 * @cfg: pointer to direct buffer rx config request 35 * 36 * Return: QDF status of operation 37 */ 38 QDF_STATUS wmi_unified_dbr_ring_cfg(void *wmi_hdl, 39 struct direct_buf_rx_cfg_req *cfg); 40 41 /** 42 * wmi_extract_dbr_buf_release_fixed : Extract direct buffer rx fixed param 43 * from buffer release event 44 * @wmi_hdl: WMI handle 45 * @evt_buf: Event buffer 46 * @param: Pointer to direct buffer rx response struct 47 * 48 * Return: QDF status of operation 49 */ 50 QDF_STATUS wmi_extract_dbr_buf_release_fixed( 51 void *wmi_hdl, 52 uint8_t *evt_buf, 53 struct direct_buf_rx_rsp *param); 54 55 /** 56 * wmi_extract_dbr_buf_release_entry: Extract direct buffer rx buffer tlv 57 * 58 * @wmi_hdl: WMI handle 59 * @evt_buf: Event buffer 60 * @idx: Index of the module for which capability is received 61 * @param: Pointer to direct buffer rx entry 62 * 63 * Return: QDF status of operation 64 */ 65 QDF_STATUS wmi_extract_dbr_buf_release_entry( 66 void *wmi_hdl, 67 uint8_t *evt_buf, uint8_t idx, 68 struct direct_buf_rx_entry *param); 69 70 /** 71 * wmi_extract_dbr_buf_metadata: Extract direct buffer metadata 72 * 73 * @wmi_hdl: WMI handle 74 * @evt_buf: Event buffer 75 * @idx: Index of the module for which capability is received 76 * @param: Pointer to direct buffer metadata 77 * 78 * Return: QDF status of operation 79 */ 80 QDF_STATUS wmi_extract_dbr_buf_metadata( 81 void *wmi_hdl, 82 uint8_t *evt_buf, uint8_t idx, 83 struct direct_buf_rx_metadata *param); 84 85 #endif /* _WMI_UNIFIED_DBR_API_H_ */ 86