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 * 58 * return: QDF_STATUS_SUCCESS for success or error code 59 */ 60 QDF_STATUS 61 target_if_peer_rx_reorder_queue_setup(struct cdp_ctrl_objmgr_pdev *pdev, 62 uint8_t vdev_id, uint8_t *peer_macaddr, 63 qdf_dma_addr_t hw_qdesc, int tid, 64 uint16_t queue_no); 65 66 /** 67 * target_if_peer_rx_reorder_queue_remove() - remove rx reorder queue 68 * @pdev: pdev pointer 69 * @vdev_id: vdev id 70 * @peer_macaddr: peer mac address 71 * @peer_tid_bitmap: peer tid bitmap 72 * 73 * return: QDF_STATUS_SUCCESS for success or error code 74 */ 75 QDF_STATUS 76 target_if_peer_rx_reorder_queue_remove(struct cdp_ctrl_objmgr_pdev *pdev, 77 uint8_t vdev_id, uint8_t *peer_macaddr, 78 uint32_t peer_tid_bitmap); 79 80 /** 81 * target_if_lro_hash_config() - send LRO hash config to FW 82 * @psoc_handle: psoc handle pointer 83 * @lro_hash_cfg: LRO hash config parameters 84 * 85 * return: QDF_STATUS_SUCCESS for success or error code 86 */ 87 QDF_STATUS 88 target_if_lro_hash_config(struct wlan_objmgr_psoc *psoc_handle, 89 struct cdp_lro_hash_config *lro_hash_cfg); 90 91 #endif 92