Lines Matching refs:txrx_peer

100 static void dp_rx_clear_saved_desc_info(struct dp_txrx_peer *txrx_peer,  in dp_rx_clear_saved_desc_info()  argument
103 if (txrx_peer->rx_tid[tid].dst_ring_desc) in dp_rx_clear_saved_desc_info()
104 qdf_mem_free(txrx_peer->rx_tid[tid].dst_ring_desc); in dp_rx_clear_saved_desc_info()
106 txrx_peer->rx_tid[tid].dst_ring_desc = NULL; in dp_rx_clear_saved_desc_info()
107 txrx_peer->rx_tid[tid].head_frag_desc = NULL; in dp_rx_clear_saved_desc_info()
110 static void dp_rx_return_head_frag_desc(struct dp_txrx_peer *txrx_peer, in dp_rx_return_head_frag_desc() argument
121 pdev = txrx_peer->vdev->pdev; in dp_rx_return_head_frag_desc()
124 if (txrx_peer->rx_tid[tid].head_frag_desc) { in dp_rx_return_head_frag_desc()
125 pool_id = txrx_peer->rx_tid[tid].head_frag_desc->pool_id; in dp_rx_return_head_frag_desc()
130 txrx_peer->rx_tid[tid].head_frag_desc); in dp_rx_return_head_frag_desc()
135 if (txrx_peer->rx_tid[tid].dst_ring_desc) { in dp_rx_return_head_frag_desc()
137 txrx_peer->rx_tid[tid].dst_ring_desc, in dp_rx_return_head_frag_desc()
146 static void dp_rx_clear_saved_desc_info(struct dp_txrx_peer *txrx_peer, in dp_rx_clear_saved_desc_info() argument
151 static void dp_rx_return_head_frag_desc(struct dp_txrx_peer *txrx_peer, in dp_rx_return_head_frag_desc() argument
157 void dp_rx_reorder_flush_frag(struct dp_txrx_peer *txrx_peer, in dp_rx_reorder_flush_frag() argument
162 if (!txrx_peer) { in dp_rx_reorder_flush_frag()
168 dp_rx_return_head_frag_desc(txrx_peer, tid); in dp_rx_reorder_flush_frag()
169 dp_rx_defrag_cleanup(txrx_peer, tid); in dp_rx_reorder_flush_frag()
218 struct dp_txrx_peer *txrx_peer, *temp_peer = NULL; in dp_rx_defrag_waitlist_flush() local
224 txrx_peer = waitlist_elem->defrag_peer; in dp_rx_defrag_waitlist_flush()
227 temp_peer = dp_txrx_peer_get_ref_by_id(soc, txrx_peer->peer_id, in dp_rx_defrag_waitlist_flush()
230 if (temp_peer == txrx_peer) { in dp_rx_defrag_waitlist_flush()
232 dp_rx_reorder_flush_frag(txrx_peer, waitlist_elem->tid); in dp_rx_defrag_waitlist_flush()
243 void dp_rx_defrag_waitlist_add(struct dp_txrx_peer *txrx_peer, in dp_rx_defrag_waitlist_add() argument
246 struct dp_soc *psoc = txrx_peer->vdev->pdev->soc; in dp_rx_defrag_waitlist_add()
247 struct dp_rx_tid_defrag *waitlist_elem = &txrx_peer->rx_tid[tid]; in dp_rx_defrag_waitlist_add()
250 tid, txrx_peer, txrx_peer->peer_id); in dp_rx_defrag_waitlist_add()
264 void dp_rx_defrag_waitlist_remove(struct dp_txrx_peer *txrx_peer, in dp_rx_defrag_waitlist_remove() argument
267 struct dp_pdev *pdev = txrx_peer->vdev->pdev; in dp_rx_defrag_waitlist_remove()
273 tid, txrx_peer, txrx_peer->peer_id); in dp_rx_defrag_waitlist_remove()
289 if (peer_on_waitlist == txrx_peer && waitlist_elm->tid == tid) { in dp_rx_defrag_waitlist_remove()
299 dp_rx_defrag_fraglist_insert(struct dp_txrx_peer *txrx_peer, unsigned int tid, in dp_rx_defrag_fraglist_insert() argument
303 struct dp_soc *soc = txrx_peer->vdev->pdev->soc; in dp_rx_defrag_fraglist_insert()
309 struct dp_rx_tid_defrag *rx_tid = &txrx_peer->rx_tid[tid]; in dp_rx_defrag_fraglist_insert()
886 dp_rx_construct_fraglist(struct dp_txrx_peer *txrx_peer, int tid, in dp_rx_construct_fraglist() argument
890 struct dp_soc *soc = txrx_peer->vdev->pdev->soc; in dp_rx_construct_fraglist()
893 struct dp_rx_tid_defrag *rx_tid = &txrx_peer->rx_tid[tid]; in dp_rx_construct_fraglist()
906 sec_type = txrx_peer->security[index].sec_type; in dp_rx_construct_fraglist()
1009 dp_rx_defrag_nwifi_to_8023(struct dp_soc *soc, struct dp_txrx_peer *txrx_peer, in dp_rx_defrag_nwifi_to_8023() argument
1018 struct dp_rx_tid_defrag *rx_tid = &txrx_peer->rx_tid[tid]; in dp_rx_defrag_nwifi_to_8023()
1118 static inline void dp_rx_defrag_deliver(struct dp_txrx_peer *txrx_peer, in dp_rx_defrag_deliver() argument
1122 struct dp_vdev *vdev = txrx_peer->vdev; in dp_rx_defrag_deliver()
1136 dp_rx_deliver_to_stack(soc, vdev, txrx_peer, deliver_list_head, in dp_rx_defrag_deliver()
1150 static QDF_STATUS dp_rx_defrag_reo_reinject(struct dp_txrx_peer *txrx_peer, in dp_rx_defrag_reo_reinject() argument
1155 rx_reorder_array_elem = txrx_peer->rx_tid[tid].array; in dp_rx_defrag_reo_reinject()
1157 dp_rx_defrag_deliver(txrx_peer, tid, head); in dp_rx_defrag_reo_reinject()
1160 dp_rx_return_head_frag_desc(txrx_peer, tid); in dp_rx_defrag_reo_reinject()
1214 static QDF_STATUS dp_rx_defrag_reo_reinject(struct dp_txrx_peer *txrx_peer, in dp_rx_defrag_reo_reinject() argument
1217 struct dp_pdev *pdev = txrx_peer->vdev->pdev; in dp_rx_defrag_reo_reinject()
1230 txrx_peer->rx_tid[tid].dst_ring_desc; in dp_rx_defrag_reo_reinject()
1232 struct dp_rx_desc *rx_desc = txrx_peer->rx_tid[tid].head_frag_desc; in dp_rx_defrag_reo_reinject()
1234 txrx_peer->rx_tid[tid].array; in dp_rx_defrag_reo_reinject()
1376 txrx_peer, tid); in dp_rx_defrag_reo_reinject()
1423 QDF_STATUS dp_rx_defrag(struct dp_txrx_peer *txrx_peer, unsigned int tid, in dp_rx_defrag() argument
1432 struct dp_vdev *vdev = txrx_peer->vdev; in dp_rx_defrag()
1455 index, txrx_peer->security[index].sec_type); in dp_rx_defrag()
1457 switch (txrx_peer->security[index].sec_type) { in dp_rx_defrag()
1547 &txrx_peer->security[index].michael_key[0], in dp_rx_defrag()
1566 dp_rx_defrag_nwifi_to_8023(soc, txrx_peer, tid, frag_list_head, in dp_rx_defrag()
1569 if (dp_rx_construct_fraglist(txrx_peer, tid, frag_list_head, in dp_rx_defrag()
1577 void dp_rx_defrag_cleanup(struct dp_txrx_peer *txrx_peer, unsigned int tid) in dp_rx_defrag_cleanup() argument
1580 txrx_peer->rx_tid[tid].array; in dp_rx_defrag_cleanup()
1589 txrx_peer, tid); in dp_rx_defrag_cleanup()
1593 dp_rx_clear_saved_desc_info(txrx_peer, tid); in dp_rx_defrag_cleanup()
1595 txrx_peer->rx_tid[tid].defrag_timeout_ms = 0; in dp_rx_defrag_cleanup()
1596 txrx_peer->rx_tid[tid].curr_frag_num = 0; in dp_rx_defrag_cleanup()
1597 txrx_peer->rx_tid[tid].curr_seq_num = 0; in dp_rx_defrag_cleanup()
1668 struct dp_txrx_peer *txrx_peer, in dp_rx_defrag_add_last_frag() argument
1672 struct dp_rx_tid_defrag *rx_tid = &txrx_peer->rx_tid[tid]; in dp_rx_defrag_add_last_frag()
1678 rx_reorder_array_elem = txrx_peer->rx_tid[tid].array; in dp_rx_defrag_add_last_frag()
1689 txrx_peer->peer_id); in dp_rx_defrag_add_last_frag()
1700 dp_rx_reorder_flush_frag(txrx_peer, tid); in dp_rx_defrag_add_last_frag()
1714 status = dp_rx_defrag_fraglist_insert(txrx_peer, tid, in dp_rx_defrag_add_last_frag()
1727 dp_rx_defrag_waitlist_remove(txrx_peer, tid); in dp_rx_defrag_add_last_frag()
1733 txrx_peer->rx_tid[tid].defrag_timeout_ms = in dp_rx_defrag_add_last_frag()
1736 dp_rx_defrag_waitlist_add(txrx_peer, tid); in dp_rx_defrag_add_last_frag()
1741 status = dp_rx_defrag(txrx_peer, tid, rx_reorder_array_elem->head, in dp_rx_defrag_add_last_frag()
1748 dp_rx_return_head_frag_desc(txrx_peer, tid); in dp_rx_defrag_add_last_frag()
1749 dp_rx_defrag_cleanup(txrx_peer, tid); in dp_rx_defrag_add_last_frag()
1755 status = dp_rx_defrag_reo_reinject(txrx_peer, tid, in dp_rx_defrag_add_last_frag()
1766 dp_rx_return_head_frag_desc(txrx_peer, tid); in dp_rx_defrag_add_last_frag()
1769 dp_rx_defrag_cleanup(txrx_peer, tid); in dp_rx_defrag_add_last_frag()
1791 struct dp_txrx_peer *txrx_peer, in dp_rx_defrag_save_info_from_ring_desc() argument
1809 txrx_peer->rx_tid[tid].dst_ring_desc = dst_ring_desc; in dp_rx_defrag_save_info_from_ring_desc()
1810 txrx_peer->rx_tid[tid].head_frag_desc = rx_desc; in dp_rx_defrag_save_info_from_ring_desc()
1839 struct dp_txrx_peer *txrx_peer = NULL; in dp_rx_defrag_store_fragment() local
1874 txrx_peer = dp_txrx_peer_get_ref_by_id(soc, peer_id, &txrx_ref_handle, in dp_rx_defrag_store_fragment()
1877 if (!txrx_peer) { in dp_rx_defrag_store_fragment()
1894 if (!dp_rx_defrag_addr1_check(soc, txrx_peer->vdev, in dp_rx_defrag_store_fragment()
1934 pdev = txrx_peer->vdev->pdev; in dp_rx_defrag_store_fragment()
1935 rx_tid = &txrx_peer->rx_tid[tid]; in dp_rx_defrag_store_fragment()
1941 rx_reorder_array_elem = txrx_peer->rx_tid[tid].array; in dp_rx_defrag_store_fragment()
1944 txrx_peer); in dp_rx_defrag_store_fragment()
1979 dp_rx_reorder_flush_frag(txrx_peer, tid); in dp_rx_defrag_store_fragment()
2000 dp_rx_defrag_cleanup(txrx_peer, tid); in dp_rx_defrag_store_fragment()
2009 status = dp_rx_defrag_fraglist_insert(txrx_peer, tid, in dp_rx_defrag_store_fragment()
2026 txrx_peer, tid); in dp_rx_defrag_store_fragment()
2048 dp_rx_defrag_waitlist_remove(txrx_peer, tid); in dp_rx_defrag_store_fragment()
2055 txrx_peer->rx_tid[tid].defrag_timeout_ms = in dp_rx_defrag_store_fragment()
2058 dp_rx_defrag_waitlist_add(txrx_peer, tid); in dp_rx_defrag_store_fragment()
2069 status = dp_rx_defrag(txrx_peer, tid, rx_reorder_array_elem->head, in dp_rx_defrag_store_fragment()
2076 txrx_peer->rx_tid[tid].head_frag_desc); in dp_rx_defrag_store_fragment()
2080 txrx_peer->rx_tid[tid].dst_ring_desc, in dp_rx_defrag_store_fragment()
2086 dp_rx_defrag_cleanup(txrx_peer, tid); in dp_rx_defrag_store_fragment()
2092 status = dp_rx_defrag_reo_reinject(txrx_peer, tid, in dp_rx_defrag_store_fragment()
2102 dp_rx_return_head_frag_desc(txrx_peer, tid); in dp_rx_defrag_store_fragment()
2105 dp_rx_defrag_cleanup(txrx_peer, tid); in dp_rx_defrag_store_fragment()
2124 if (txrx_peer) in dp_rx_defrag_store_fragment()