1 /* 2 * Copyright (c) 2016-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 #include "wmi_unified_priv.h" 20 #include "qdf_module.h" 21 22 QDF_STATUS wmi_unified_dbr_ring_cfg(void *wmi_hdl, 23 struct direct_buf_rx_cfg_req *cfg) 24 { 25 wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl; 26 27 if (wmi_handle->ops->send_dbr_cfg_cmd) 28 return wmi_handle->ops->send_dbr_cfg_cmd(wmi_handle, cfg); 29 30 return QDF_STATUS_E_FAILURE; 31 } 32 33 QDF_STATUS wmi_extract_dbr_buf_release_fixed( 34 void *wmi_hdl, 35 uint8_t *evt_buf, 36 struct direct_buf_rx_rsp *param) 37 { 38 wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl; 39 40 if (wmi_handle->ops->extract_dbr_buf_release_fixed) 41 return wmi_handle->ops->extract_dbr_buf_release_fixed( 42 wmi_handle, 43 evt_buf, param); 44 45 return QDF_STATUS_E_FAILURE; 46 } 47 48 QDF_STATUS wmi_extract_dbr_buf_release_entry( 49 void *wmi_hdl, 50 uint8_t *evt_buf, uint8_t idx, 51 struct direct_buf_rx_entry *param) 52 { 53 wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl; 54 55 if (wmi_handle->ops->extract_dbr_buf_release_entry) 56 return wmi_handle->ops->extract_dbr_buf_release_entry( 57 wmi_handle, 58 evt_buf, idx, param); 59 60 return QDF_STATUS_E_FAILURE; 61 } 62 63 QDF_STATUS wmi_extract_dbr_buf_metadata( 64 void *wmi_hdl, 65 uint8_t *evt_buf, uint8_t idx, 66 struct direct_buf_rx_metadata *param) 67 { 68 wmi_unified_t wmi_handle = (wmi_unified_t)wmi_hdl; 69 70 if (wmi_handle->ops->extract_dbr_buf_metadata) 71 return wmi_handle->ops->extract_dbr_buf_metadata( 72 wmi_handle, 73 evt_buf, idx, param); 74 75 return QDF_STATUS_E_FAILURE; 76 } 77