1 /* 2 * Copyright (c) 2018 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: This target interface shall be used by DP 21 * to communicate with target using WMI. 22 */ 23 24 #ifndef _WLAN_TARGET_IF_DP_H_ 25 #define _WLAN_TARGET_IF_DP_H_ 26 27 #include <qdf_types.h> 28 #include <qdf_status.h> 29 #include <wmi_unified_priv.h> 30 #include <wlan_objmgr_psoc_obj.h> 31 #include <target_if.h> 32 #include <cdp_txrx_ops.h> 33 34 /** 35 * target_if_peer_set_default_routing() - set peer default routing 36 * @pdev: pdev pointer 37 * @peer_macaddr: peer mac address 38 * @vdev_id: vdev id 39 * @hash_based: hash based routing 40 * @ring_num: ring number 41 * 42 * return: void 43 */ 44 void 45 target_if_peer_set_default_routing(struct cdp_ctrl_objmgr_pdev *pdev, 46 uint8_t *peer_macaddr, uint8_t vdev_id, 47 bool hash_based, uint8_t ring_num); 48 49 /** 50 * target_if_peer_rx_reorder_queue_setup() - setup rx reorder queue 51 * @pdev: pdev pointer 52 * @vdev_id: vdev id 53 * @peer_macaddr: peer mac address 54 * @hw_qdesc: hw queue descriptor 55 * @tid: tid number 56 * @queue_no: queue number 57 * @ba_window_size_valid: BA window size validity flag 58 * @ba_window_size: BA window size 59 * 60 * return: QDF_STATUS_SUCCESS for success or error code 61 */ 62 QDF_STATUS 63 target_if_peer_rx_reorder_queue_setup(struct cdp_ctrl_objmgr_pdev *pdev, 64 uint8_t vdev_id, uint8_t *peer_macaddr, 65 qdf_dma_addr_t hw_qdesc, int tid, 66 uint16_t queue_no, 67 uint8_t ba_window_size_valid, 68 uint16_t ba_window_size); 69 70 /** 71 * target_if_peer_rx_reorder_queue_remove() - remove rx reorder queue 72 * @pdev: pdev pointer 73 * @vdev_id: vdev id 74 * @peer_macaddr: peer mac address 75 * @peer_tid_bitmap: peer tid bitmap 76 * 77 * return: QDF_STATUS_SUCCESS for success or error code 78 */ 79 QDF_STATUS 80 target_if_peer_rx_reorder_queue_remove(struct cdp_ctrl_objmgr_pdev *pdev, 81 uint8_t vdev_id, uint8_t *peer_macaddr, 82 uint32_t peer_tid_bitmap); 83 84 /** 85 * target_if_lro_hash_config() - send LRO hash config to FW 86 * @psoc_handle: psoc handle pointer 87 * @lro_hash_cfg: LRO hash config parameters 88 * 89 * return: QDF_STATUS_SUCCESS for success or error code 90 */ 91 QDF_STATUS 92 target_if_lro_hash_config(struct wlan_objmgr_psoc *psoc_handle, 93 struct cdp_lro_hash_config *lro_hash_cfg); 94 95 #endif 96