Lines Matching refs:peer
65 struct dp_peer *peer, in dp_add_wds_entry_wrapper() argument
73 peer->vdev->vdev_id, in dp_add_wds_entry_wrapper()
74 peer->mac_addr.raw, in dp_add_wds_entry_wrapper()
95 struct dp_peer *peer, in dp_update_wds_entry_wrapper() argument
102 peer->vdev->vdev_id, in dp_update_wds_entry_wrapper()
104 peer->mac_addr.raw, in dp_update_wds_entry_wrapper()
133 struct dp_peer *peer, in dp_add_wds_entry_wrapper() argument
142 peer->vdev->vdev_id, in dp_add_wds_entry_wrapper()
143 peer->mac_addr.raw, in dp_add_wds_entry_wrapper()
144 peer->peer_id, in dp_add_wds_entry_wrapper()
146 peer->mac_addr.raw, in dp_add_wds_entry_wrapper()
154 struct dp_peer *peer, in dp_update_wds_entry_wrapper() argument
162 peer->vdev->vdev_id, in dp_update_wds_entry_wrapper()
164 peer->mac_addr.raw, in dp_update_wds_entry_wrapper()
230 bool dp_peer_check_wds_ext_peer(struct dp_peer *peer) in dp_peer_check_wds_ext_peer() argument
232 struct dp_vdev *vdev = peer->vdev; in dp_peer_check_wds_ext_peer()
238 txrx_peer = dp_get_txrx_peer(peer); in dp_peer_check_wds_ext_peer()
249 bool dp_peer_check_wds_ext_peer(struct dp_peer *peer) in dp_peer_check_wds_ext_peer() argument
378 struct dp_peer *peer; in dp_peer_find_hash_find() local
393 TAILQ_FOREACH(peer, &soc->peer_hash.bins[index], hash_list_elem) { in dp_peer_find_hash_find()
394 if (dp_peer_find_mac_addr_cmp(mac_addr, &peer->mac_addr) == 0 && in dp_peer_find_hash_find()
395 ((peer->vdev->vdev_id == vdev_id) || in dp_peer_find_hash_find()
398 if (dp_peer_get_ref(soc, peer, mod_id) != in dp_peer_find_hash_find()
400 peer = NULL; in dp_peer_find_hash_find()
403 return peer; in dp_peer_find_hash_find()
470 void dp_peer_find_hash_add(struct dp_soc *soc, struct dp_peer *peer) in dp_peer_find_hash_add() argument
474 index = dp_peer_find_hash_index(soc, &peer->mac_addr); in dp_peer_find_hash_add()
475 if (peer->peer_type == CDP_LINK_PEER_TYPE) { in dp_peer_find_hash_add()
478 if (QDF_IS_STATUS_ERROR(dp_peer_get_ref(soc, peer, in dp_peer_find_hash_add()
481 QDF_MAC_ADDR_REF(peer->mac_addr.raw)); in dp_peer_find_hash_add()
493 TAILQ_INSERT_TAIL(&soc->peer_hash.bins[index], peer, in dp_peer_find_hash_add()
497 } else if (peer->peer_type == CDP_MLD_PEER_TYPE) { in dp_peer_find_hash_add()
499 soc->arch_ops.mlo_peer_find_hash_add(soc, peer); in dp_peer_find_hash_add()
501 dp_err("unknown peer type %d", peer->peer_type); in dp_peer_find_hash_add()
505 void dp_peer_find_hash_remove(struct dp_soc *soc, struct dp_peer *peer) in dp_peer_find_hash_remove() argument
511 index = dp_peer_find_hash_index(soc, &peer->mac_addr); in dp_peer_find_hash_remove()
513 if (peer->peer_type == CDP_LINK_PEER_TYPE) { in dp_peer_find_hash_remove()
520 if (tmppeer == peer) { in dp_peer_find_hash_remove()
526 TAILQ_REMOVE(&soc->peer_hash.bins[index], peer, in dp_peer_find_hash_remove()
529 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_peer_find_hash_remove()
531 } else if (peer->peer_type == CDP_MLD_PEER_TYPE) { in dp_peer_find_hash_remove()
533 soc->arch_ops.mlo_peer_find_hash_remove(soc, peer); in dp_peer_find_hash_remove()
535 dp_err("unknown peer type %d", peer->peer_type); in dp_peer_find_hash_remove()
539 uint8_t dp_get_peer_link_id(struct dp_peer *peer) in dp_get_peer_link_id() argument
543 link_id = IS_MLO_DP_LINK_PEER(peer) ? peer->link_id + 1 : 0; in dp_get_peer_link_id()
585 void dp_peer_find_hash_add(struct dp_soc *soc, struct dp_peer *peer) in dp_peer_find_hash_add() argument
589 index = dp_peer_find_hash_index(soc, &peer->mac_addr); in dp_peer_find_hash_add()
592 if (QDF_IS_STATUS_ERROR(dp_peer_get_ref(soc, peer, DP_MOD_ID_CONFIG))) { in dp_peer_find_hash_add()
594 QDF_MAC_ADDR_REF(peer->mac_addr.raw)); in dp_peer_find_hash_add()
606 TAILQ_INSERT_TAIL(&soc->peer_hash.bins[index], peer, hash_list_elem); in dp_peer_find_hash_add()
611 void dp_peer_find_hash_remove(struct dp_soc *soc, struct dp_peer *peer) in dp_peer_find_hash_remove() argument
617 index = dp_peer_find_hash_index(soc, &peer->mac_addr); in dp_peer_find_hash_remove()
623 if (tmppeer == peer) { in dp_peer_find_hash_remove()
629 TAILQ_REMOVE(&soc->peer_hash.bins[index], peer, hash_list_elem); in dp_peer_find_hash_remove()
631 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_peer_find_hash_remove()
639 struct dp_peer *peer) in dp_peer_vdev_list_add() argument
642 if (IS_MLO_DP_MLD_PEER(peer)) in dp_peer_vdev_list_add()
646 if (QDF_IS_STATUS_ERROR(dp_peer_get_ref(soc, peer, DP_MOD_ID_CONFIG))) { in dp_peer_vdev_list_add()
648 QDF_MAC_ADDR_REF(peer->mac_addr.raw)); in dp_peer_vdev_list_add()
655 TAILQ_INSERT_HEAD(&vdev->peer_list, peer, peer_list_elem); in dp_peer_vdev_list_add()
657 TAILQ_INSERT_TAIL(&vdev->peer_list, peer, peer_list_elem); in dp_peer_vdev_list_add()
664 struct dp_peer *peer) in dp_peer_vdev_list_remove() argument
670 if (IS_MLO_DP_MLD_PEER(peer)) in dp_peer_vdev_list_remove()
674 TAILQ_FOREACH(tmppeer, &peer->vdev->peer_list, peer_list_elem) { in dp_peer_vdev_list_remove()
675 if (tmppeer == peer) { in dp_peer_vdev_list_remove()
682 TAILQ_REMOVE(&peer->vdev->peer_list, peer, in dp_peer_vdev_list_remove()
684 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_peer_vdev_list_remove()
689 , soc, peer, vdev, &peer->vdev->peer_list); in dp_peer_vdev_list_remove()
695 struct dp_peer *peer, in dp_txrx_peer_attach_add() argument
700 peer->txrx_peer = txrx_peer; in dp_txrx_peer_attach_add()
701 txrx_peer->bss_peer = peer->bss_peer; in dp_txrx_peer_attach_add()
703 if (peer->peer_id == HTT_INVALID_PEER) { in dp_txrx_peer_attach_add()
708 txrx_peer->peer_id = peer->peer_id; in dp_txrx_peer_attach_add()
710 QDF_ASSERT(soc->peer_id_to_obj_map[peer->peer_id]); in dp_txrx_peer_attach_add()
716 struct dp_peer *peer, in dp_peer_find_id_to_obj_add() argument
723 peer->peer_id = peer_id; in dp_peer_find_id_to_obj_add()
725 if (QDF_IS_STATUS_ERROR(dp_peer_get_ref(soc, peer, DP_MOD_ID_CONFIG))) { in dp_peer_find_id_to_obj_add()
727 QDF_MAC_ADDR_REF(peer->mac_addr.raw), peer_id); in dp_peer_find_id_to_obj_add()
733 soc->peer_id_to_obj_map[peer_id] = peer; in dp_peer_find_id_to_obj_add()
734 if (peer->txrx_peer) in dp_peer_find_id_to_obj_add()
735 peer->txrx_peer->peer_id = peer_id; in dp_peer_find_id_to_obj_add()
743 peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), peer_id, in dp_peer_find_id_to_obj_add()
751 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_peer_find_id_to_obj_add()
760 struct dp_peer *peer = NULL; in dp_peer_find_id_to_obj_remove() local
764 peer = soc->peer_id_to_obj_map[peer_id]; in dp_peer_find_id_to_obj_remove()
765 if (!peer) { in dp_peer_find_id_to_obj_remove()
770 peer->peer_id = HTT_INVALID_PEER; in dp_peer_find_id_to_obj_remove()
771 if (peer->txrx_peer) in dp_peer_find_id_to_obj_remove()
772 peer->txrx_peer->peer_id = HTT_INVALID_PEER; in dp_peer_find_id_to_obj_remove()
774 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_peer_find_id_to_obj_remove()
1001 struct dp_peer *peer; in dp_peer_exist_on_pdev() local
1014 TAILQ_FOREACH(peer, &soc->peer_hash.bins[index], hash_list_elem) { in dp_peer_exist_on_pdev()
1015 if (dp_peer_find_mac_addr_cmp(mac_addr, &peer->mac_addr) == 0 && in dp_peer_exist_on_pdev()
1016 (peer->vdev->pdev == pdev)) { in dp_peer_exist_on_pdev()
1026 peer = dp_mld_peer_find_hash_find(soc, peer_mac_addr, in dp_peer_exist_on_pdev()
1029 if (peer) { in dp_peer_exist_on_pdev()
1030 if (peer->vdev->pdev == pdev) in dp_peer_exist_on_pdev()
1032 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_peer_exist_on_pdev()
1045 struct dp_peer *peer; in dp_peer_exist_on_pdev() local
1058 TAILQ_FOREACH(peer, &soc->peer_hash.bins[index], hash_list_elem) { in dp_peer_exist_on_pdev()
1059 if (dp_peer_find_mac_addr_cmp(mac_addr, &peer->mac_addr) == 0 && in dp_peer_exist_on_pdev()
1060 (peer->vdev->pdev == pdev)) { in dp_peer_exist_on_pdev()
1338 void dp_peer_map_ipa_evt(struct dp_soc *soc, struct dp_peer *peer, in dp_peer_map_ipa_evt() argument
1341 if (ast_entry || (peer->vdev && peer->vdev->proxysta_vdev)) { in dp_peer_map_ipa_evt()
1380 void dp_peer_map_ipa_evt(struct dp_soc *soc, struct dp_peer *peer, in dp_peer_map_ipa_evt() argument
1394 struct dp_peer *peer; in dp_peer_host_add_map_ast() local
1403 peer = dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_HTT); in dp_peer_host_add_map_ast()
1404 if (!peer) { in dp_peer_host_add_map_ast()
1411 if (!is_wds && IS_MLO_DP_MLD_PEER(peer)) in dp_peer_host_add_map_ast()
1414 vdev = peer->vdev; in dp_peer_host_add_map_ast()
1421 if (!dp_peer_state_cmp(peer, DP_PEER_STATE_ACTIVE)) { in dp_peer_host_add_map_ast()
1432 QDF_MAC_ADDR_REF(peer->mac_addr.raw), peer, in dp_peer_host_add_map_ast()
1484 if (peer->vdev->opmode == wlan_op_mode_sta) in dp_peer_host_add_map_ast()
1504 TAILQ_INSERT_TAIL(&peer->ast_entry_list, ast_entry, in dp_peer_host_add_map_ast()
1507 dp_peer_map_ipa_evt(soc, peer, ast_entry, mac_addr); in dp_peer_host_add_map_ast()
1511 dp_peer_unref_delete(peer, DP_MOD_ID_HTT); in dp_peer_host_add_map_ast()
1529 struct dp_peer *peer, in dp_peer_map_ast() argument
1546 soc, peer, hw_peer_id, vdev_id, in dp_peer_map_ast()
1558 if (!peer) { in dp_peer_map_ast()
1591 dp_peer_unlink_ast_entry(soc, ast_entry, peer); in dp_peer_map_ast()
1605 peer, peer->peer_id, in dp_peer_map_ast()
1606 QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_peer_map_ast()
1612 dp_hmwds_ast_add_notify(peer, mac_addr, in dp_peer_map_ast()
1619 if (!peer) { in dp_peer_map_ast()
1635 ast_entry->peer_id = peer->peer_id; in dp_peer_map_ast()
1636 TAILQ_INSERT_TAIL(&peer->ast_entry_list, ast_entry, in dp_peer_map_ast()
1640 if (ast_entry || (peer->vdev && peer->vdev->proxysta_vdev) || in dp_peer_map_ast()
1644 soc->ctrl_psoc, peer->peer_id, in dp_peer_map_ast()
1655 dp_hmwds_ast_add_notify(peer, mac_addr, in dp_peer_map_ast()
1669 struct dp_peer *peer = NULL; in dp_peer_free_hmwds_cb() local
1677 peer = dp_peer_find_hash_find(soc, ¶m->peer_mac_addr.raw[0], in dp_peer_free_hmwds_cb()
1679 if (peer) { in dp_peer_free_hmwds_cb()
1680 err = dp_peer_add_ast(soc, peer, in dp_peer_free_hmwds_cb()
1685 dp_hmwds_ast_add_notify(peer, ¶m->mac_addr.raw[0], in dp_peer_free_hmwds_cb()
1688 dp_peer_unref_delete(peer, DP_MOD_ID_AST); in dp_peer_free_hmwds_cb()
1694 struct dp_peer *peer, in dp_peer_add_ast() argument
1711 vdev = peer->vdev; in dp_peer_add_ast()
1724 if (!dp_peer_state_cmp(peer, DP_PEER_STATE_ACTIVE)) { in dp_peer_add_ast()
1734 QDF_MAC_ADDR_REF(peer->mac_addr.raw), peer, in dp_peer_add_ast()
1818 &peer->mac_addr.raw[0], in dp_peer_add_ast()
1868 peer->self_ast_entry = ast_entry; in dp_peer_add_ast()
1870 if (peer->vdev->opmode == wlan_op_mode_sta) in dp_peer_add_ast()
1874 peer->self_ast_entry = ast_entry; in dp_peer_add_ast()
1888 ast_entry->peer_id = peer->peer_id; in dp_peer_add_ast()
1889 TAILQ_INSERT_TAIL(&peer->ast_entry_list, ast_entry, in dp_peer_add_ast()
1900 peer = vap_bss_peer; in dp_peer_add_ast()
1918 peer, in dp_peer_add_ast()
1955 struct dp_peer *peer) in dp_peer_unlink_ast_entry() argument
1957 if (!peer) { in dp_peer_unlink_ast_entry()
1973 qdf_assert_always(ast_entry->peer_id == peer->peer_id); in dp_peer_unlink_ast_entry()
1974 TAILQ_REMOVE(&peer->ast_entry_list, ast_entry, ase_list_elem); in dp_peer_unlink_ast_entry()
1976 if (ast_entry == peer->self_ast_entry) in dp_peer_unlink_ast_entry()
1977 peer->self_ast_entry = NULL; in dp_peer_unlink_ast_entry()
1991 struct dp_peer *peer = NULL; in dp_peer_del_ast() local
2018 peer = __dp_peer_get_ref_by_id(soc, ast_entry->peer_id, in dp_peer_del_ast()
2021 dp_peer_ast_send_wds_del(soc, ast_entry, peer); in dp_peer_del_ast()
2025 dp_peer_unlink_ast_entry(soc, ast_entry, peer); in dp_peer_del_ast()
2047 dp_peer_unlink_ast_entry(soc, ast_entry, peer); in dp_peer_del_ast()
2052 if (peer) in dp_peer_del_ast()
2053 dp_peer_unref_delete(peer, DP_MOD_ID_AST); in dp_peer_del_ast()
2056 int dp_peer_update_ast(struct dp_soc *soc, struct dp_peer *peer, in dp_peer_update_ast() argument
2066 soc, ast_entry->type, peer->vdev->pdev->pdev_id, in dp_peer_update_ast()
2067 peer->vdev->vdev_id, flags, in dp_peer_update_ast()
2069 QDF_MAC_ADDR_REF(peer->mac_addr.raw)); in dp_peer_update_ast()
2077 !dp_peer_state_cmp(peer, DP_PEER_STATE_ACTIVE) || in dp_peer_update_ast()
2090 if (qdf_unlikely(ast_entry->peer_id == peer->peer_id) && in dp_peer_update_ast()
2092 (ast_entry->vdev_id == peer->vdev->vdev_id) && in dp_peer_update_ast()
2105 ast_entry->peer_id = peer->peer_id; in dp_peer_update_ast()
2107 ast_entry->pdev_id = peer->vdev->pdev->pdev_id; in dp_peer_update_ast()
2108 ast_entry->vdev_id = peer->vdev->vdev_id; in dp_peer_update_ast()
2110 TAILQ_INSERT_TAIL(&peer->ast_entry_list, ast_entry, ase_list_elem); in dp_peer_update_ast()
2113 peer, in dp_peer_update_ast()
2141 struct dp_peer *peer) in dp_peer_ast_send_wds_del() argument
2159 if (peer && dp_peer_state_cmp(peer, in dp_peer_ast_send_wds_del()
2180 struct dp_peer *peer) in dp_peer_unlink_ast_entry() argument
2197 struct dp_peer *peer, in dp_peer_add_ast() argument
2209 int dp_peer_update_ast(struct dp_soc *soc, struct dp_peer *peer, in dp_peer_update_ast() argument
2251 struct dp_peer *peer, in dp_peer_map_ast() argument
2285 struct dp_peer *peer) in dp_peer_ast_send_wds_del() argument
2321 struct dp_peer *peer) in dp_peer_ast_free_wds_entries() argument
2330 DP_PEER_ITERATE_ASE_LIST(peer, ast_entry, temp_ast_entry) { in dp_peer_ast_free_wds_entries()
2337 dp_peer_unlink_ast_entry(soc, ast_entry, peer); in dp_peer_ast_free_wds_entries()
2372 dp_peer_clean_wds_entries(struct dp_soc *soc, struct dp_peer *peer, in dp_peer_clean_wds_entries() argument
2384 wds_deleted = dp_peer_ast_free_wds_entries(soc, peer); in dp_peer_clean_wds_entries()
2389 peer, peer->mac_addr.raw, free_wds_count, in dp_peer_clean_wds_entries()
2396 dp_peer_clean_wds_entries(struct dp_soc *soc, struct dp_peer *peer, in dp_peer_clean_wds_entries() argument
2403 DP_PEER_ITERATE_ASE_LIST(peer, ast_entry, temp_ast_entry) { in dp_peer_clean_wds_entries()
2404 dp_peer_unlink_ast_entry(soc, ast_entry, peer); in dp_peer_clean_wds_entries()
2412 peer->self_ast_entry = NULL; in dp_peer_clean_wds_entries()
2430 struct dp_peer *peer, in dp_peer_ast_free_entry_by_mac() argument
2457 dp_peer_unlink_ast_entry(soc, ast_entry, peer); in dp_peer_ast_free_entry_by_mac()
2483 struct dp_peer *peer, *peer_next; in dp_peer_find_hash_erase() local
2489 TAILQ_FOREACH_SAFE(peer, &soc->peer_hash.bins[i], in dp_peer_find_hash_erase()
2502 qdf_atomic_init(&peer->ref_cnt); in dp_peer_find_hash_erase()
2504 qdf_atomic_init(&peer->mod_refs[i]); in dp_peer_find_hash_erase()
2506 qdf_atomic_inc(&peer->ref_cnt); in dp_peer_find_hash_erase()
2507 qdf_atomic_inc(&peer->mod_refs in dp_peer_find_hash_erase()
2509 dp_peer_unref_delete(peer, in dp_peer_find_hash_erase()
2526 struct dp_peer *peer = NULL; in dp_peer_find_map_detach() local
2531 peer = soc->peer_id_to_obj_map[i]; in dp_peer_find_map_detach()
2532 if (peer) in dp_peer_find_map_detach()
2533 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_peer_find_map_detach()
2601 struct dp_peer *peer) in dp_peer_rx_reo_shared_qaddr_delete() argument
2609 peer_id = peer->peer_id; in dp_peer_rx_reo_shared_qaddr_delete()
2613 if (IS_MLO_DP_LINK_PEER(peer)) in dp_peer_rx_reo_shared_qaddr_delete()
2618 struct dp_peer *primary_peer = peer; in dp_peer_rx_reo_shared_qaddr_delete()
2659 struct dp_peer *peer; in dp_peer_find_add_id() local
2666 peer = dp_peer_hash_find_wrapper(soc, &peer_info, DP_MOD_ID_CONFIG); in dp_peer_find_add_id()
2668 soc, peer, peer_id, vdev_id, in dp_peer_find_add_id()
2671 if (peer) { in dp_peer_find_add_id()
2676 qdf_atomic_read(&peer->ref_cnt)); in dp_peer_find_add_id()
2682 if (dp_peer_state_cmp(peer, DP_PEER_STATE_LOGICAL_DELETE)) { in dp_peer_find_add_id()
2683 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_peer_find_add_id()
2685 peer, QDF_MAC_ADDR_REF(peer_mac_addr), in dp_peer_find_add_id()
2690 if (peer->peer_id == HTT_INVALID_PEER) { in dp_peer_find_add_id()
2691 if (!IS_MLO_DP_MLD_PEER(peer)) in dp_peer_find_add_id()
2692 dp_monitor_peer_tid_peer_id_update(soc, peer, in dp_peer_find_add_id()
2695 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_peer_find_add_id()
2699 dp_peer_find_id_to_obj_add(soc, peer, peer_id); in dp_peer_find_add_id()
2701 soc->arch_ops.dp_partner_chips_map(soc, peer, peer_id); in dp_peer_find_add_id()
2703 dp_peer_update_state(soc, peer, DP_PEER_STATE_ACTIVE); in dp_peer_find_add_id()
2704 return peer; in dp_peer_find_add_id()
2729 struct dp_peer *peer = NULL; in dp_rx_mlo_peer_map_handler() local
2760 peer = dp_peer_find_add_id(soc, peer_mac_addr, ml_peer_id, in dp_rx_mlo_peer_map_handler()
2762 if (peer) { in dp_rx_mlo_peer_map_handler()
2763 if (wlan_op_mode_sta == peer->vdev->opmode && in dp_rx_mlo_peer_map_handler()
2764 qdf_mem_cmp(peer->mac_addr.raw, in dp_rx_mlo_peer_map_handler()
2765 peer->vdev->mld_mac_addr.raw, in dp_rx_mlo_peer_map_handler()
2768 peer->bss_peer = 1; in dp_rx_mlo_peer_map_handler()
2769 if (peer->txrx_peer) in dp_rx_mlo_peer_map_handler()
2770 peer->txrx_peer->bss_peer = 1; in dp_rx_mlo_peer_map_handler()
2773 if (peer->vdev->opmode == wlan_op_mode_sta) { in dp_rx_mlo_peer_map_handler()
2774 peer->vdev->bss_ast_hash = ast_hash; in dp_rx_mlo_peer_map_handler()
2775 peer->vdev->bss_ast_idx = hw_peer_id; in dp_rx_mlo_peer_map_handler()
2786 if (!peer->self_ast_entry) { in dp_rx_mlo_peer_map_handler()
2789 dp_peer_add_ast(soc, peer, in dp_rx_mlo_peer_map_handler()
2803 primary_soc = peer->vdev->pdev->soc; in dp_rx_mlo_peer_map_handler()
2805 peer->rx_tid[0].hw_qdesc_vaddr_unaligned) { in dp_rx_mlo_peer_map_handler()
2809 peer->rx_tid[0].hw_qdesc_paddr); in dp_rx_mlo_peer_map_handler()
2813 peer->rx_tid[DP_NON_QOS_TID].hw_qdesc_paddr); in dp_rx_mlo_peer_map_handler()
2820 err = dp_peer_map_ast(soc, peer, peer_mac_addr, hw_peer_id, in dp_rx_mlo_peer_map_handler()
2827 if (peer && soc->ast_offload_support && soc->host_ast_db_enable) { in dp_rx_mlo_peer_map_handler()
2880 struct dp_peer *peer = NULL; in dp_rx_peer_map_handler() local
2898 peer = dp_peer_get_ref_by_id(soc, peer_id, in dp_rx_peer_map_handler()
2901 err = dp_peer_map_ast(soc, peer, peer_mac_addr, in dp_rx_peer_map_handler()
2904 if (peer) in dp_rx_peer_map_handler()
2905 dp_peer_unref_delete(peer, DP_MOD_ID_HTT); in dp_rx_peer_map_handler()
2921 peer = dp_peer_find_add_id(soc, peer_mac_addr, peer_id, in dp_rx_peer_map_handler()
2925 if (peer) { in dp_rx_peer_map_handler()
2929 peer->ast_hash = ast_hash; in dp_rx_peer_map_handler()
2930 peer->ast_idx = hw_peer_id; in dp_rx_peer_map_handler()
2931 vdev = peer->vdev; in dp_rx_peer_map_handler()
2934 !peer->is_tdls_peer) { in dp_rx_peer_map_handler()
2935 if (qdf_mem_cmp(peer->mac_addr.raw, in dp_rx_peer_map_handler()
2939 peer->bss_peer = 1; in dp_rx_peer_map_handler()
2940 if (peer->txrx_peer) in dp_rx_peer_map_handler()
2941 peer->txrx_peer->bss_peer = 1; in dp_rx_peer_map_handler()
2962 !peer->self_ast_entry) { in dp_rx_peer_map_handler()
2965 dp_peer_add_ast(soc, peer, in dp_rx_peer_map_handler()
2978 peer->rx_tid[0].hw_qdesc_vaddr_unaligned && in dp_rx_peer_map_handler()
2979 !IS_MLO_DP_LINK_PEER(peer)) { in dp_rx_peer_map_handler()
2980 add_entry_write_list(soc, peer, 0); in dp_rx_peer_map_handler()
2984 peer->rx_tid[0].hw_qdesc_paddr); in dp_rx_peer_map_handler()
2985 add_entry_write_list(soc, peer, DP_NON_QOS_TID); in dp_rx_peer_map_handler()
2989 peer->rx_tid[DP_NON_QOS_TID].hw_qdesc_paddr); in dp_rx_peer_map_handler()
2993 err = dp_peer_map_ast(soc, peer, peer_mac_addr, hw_peer_id, in dp_rx_peer_map_handler()
3017 struct dp_peer *peer; in dp_rx_peer_unmap_handler() local
3031 peer = __dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_HTT); in dp_rx_peer_unmap_handler()
3038 if (!peer) { in dp_rx_peer_unmap_handler()
3045 vdev = peer->vdev; in dp_rx_peer_unmap_handler()
3047 if (peer->txrx_peer) { in dp_rx_peer_unmap_handler()
3051 params.peer_mac = peer->mac_addr.raw; in dp_rx_peer_unmap_handler()
3066 soc = peer->vdev->pdev->soc; in dp_rx_peer_unmap_handler()
3072 if (!dp_peer_ast_free_entry_by_mac(soc, peer, vdev_id, in dp_rx_peer_unmap_handler()
3075 dp_peer_unref_delete(peer, DP_MOD_ID_HTT); in dp_rx_peer_unmap_handler()
3080 peer, peer->peer_id, in dp_rx_peer_unmap_handler()
3081 QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_rx_peer_unmap_handler()
3085 dp_peer_unref_delete(peer, DP_MOD_ID_HTT); in dp_rx_peer_unmap_handler()
3089 dp_peer_clean_wds_entries(soc, peer, free_wds_count); in dp_rx_peer_unmap_handler()
3092 peer, mac_addr, 0, peer_id, in dp_rx_peer_unmap_handler()
3095 soc, peer_id, peer); in dp_rx_peer_unmap_handler()
3103 dp_peer_rx_reo_shared_qaddr_delete(soc, peer); in dp_rx_peer_unmap_handler()
3105 vdev = peer->vdev; in dp_rx_peer_unmap_handler()
3108 if (wlan_op_mode_sta == vdev->opmode && !peer->is_tdls_peer) { in dp_rx_peer_unmap_handler()
3119 peer->peer_id = HTT_INVALID_PEER; in dp_rx_peer_unmap_handler()
3125 dp_peer_reset_flowq_map(peer); in dp_rx_peer_unmap_handler()
3132 dp_update_vdev_stats_on_peer_unmap(vdev, peer); in dp_rx_peer_unmap_handler()
3134 dp_peer_update_state(soc, peer, DP_PEER_STATE_INACTIVE); in dp_rx_peer_unmap_handler()
3135 dp_peer_unref_delete(peer, DP_MOD_ID_HTT); in dp_rx_peer_unmap_handler()
3140 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_rx_peer_unmap_handler()
3155 void dp_map_link_id_band(struct dp_peer *peer) in dp_map_link_id_band() argument
3160 txrx_peer = dp_get_txrx_peer(peer); in dp_map_link_id_band()
3162 band = dp_freq_to_band(peer->freq); in dp_map_link_id_band()
3163 txrx_peer->band[peer->link_id + 1] = band; in dp_map_link_id_band()
3165 peer->freq, band, peer->link_id); in dp_map_link_id_band()
3168 QDF_MAC_ADDR_REF(peer->mac_addr.raw)); in dp_map_link_id_band()
3175 struct dp_peer *peer = NULL; in dp_rx_peer_ext_evt() local
3182 peer = dp_peer_hash_find_wrapper(soc, &peer_info, DP_MOD_ID_CONFIG); in dp_rx_peer_ext_evt()
3184 if (!peer) { in dp_rx_peer_ext_evt()
3192 peer->link_id = info->link_id; in dp_rx_peer_ext_evt()
3193 peer->link_id_valid = info->link_id_valid; in dp_rx_peer_ext_evt()
3195 if (peer->freq) in dp_rx_peer_ext_evt()
3196 dp_map_link_id_band(peer); in dp_rx_peer_ext_evt()
3198 dp_peer_unref_delete(peer, DP_MOD_ID_CONFIG); in dp_rx_peer_ext_evt()
3244 void dp_peer_rx_init(struct dp_pdev *pdev, struct dp_peer *peer) in dp_peer_rx_init() argument
3246 dp_peer_rx_tid_setup(peer); in dp_peer_rx_init()
3248 peer->active_ba_session_cnt = 0; in dp_peer_rx_init()
3249 peer->hw_buffer_size = 0; in dp_peer_rx_init()
3250 peer->kill_256_sessions = 0; in dp_peer_rx_init()
3256 if (peer->txrx_peer) in dp_peer_rx_init()
3257 peer->txrx_peer->security[dp_sec_ucast].sec_type = in dp_peer_rx_init()
3258 peer->txrx_peer->security[dp_sec_mcast].sec_type = in dp_peer_rx_init()
3264 struct dp_peer *peer) in dp_peer_rx_init_reorder_queue() argument
3267 struct dp_peer *mld_peer = DP_GET_MLD_PEER_FROM_PEER(peer); in dp_peer_rx_init_reorder_queue()
3272 if (dp_get_peer_vdev_roaming_in_progress(peer)) in dp_peer_rx_init_reorder_queue()
3279 status = dp_peer_rx_reorder_queue_setup(soc, peer, BIT(tid), ba_window_size); in dp_peer_rx_init_reorder_queue()
3282 peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_peer_rx_init_reorder_queue()
3283 peer->peer_type, tid, ba_window_size, in dp_peer_rx_init_reorder_queue()
3290 status = dp_peer_rx_reorder_queue_setup(soc, peer, BIT(tid), in dp_peer_rx_init_reorder_queue()
3294 peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_peer_rx_init_reorder_queue()
3295 peer->peer_type, tid, ba_window_size, in dp_peer_rx_init_reorder_queue()
3300 void dp_peer_rx_init_wrapper(struct dp_pdev *pdev, struct dp_peer *peer, in dp_peer_rx_init_wrapper() argument
3304 dp_peer_rx_init_reorder_queue(pdev, peer); in dp_peer_rx_init_wrapper()
3306 dp_peer_rx_init(pdev, peer); in dp_peer_rx_init_wrapper()
3309 void dp_peer_rx_init_wrapper(struct dp_pdev *pdev, struct dp_peer *peer, in dp_peer_rx_init_wrapper() argument
3312 dp_peer_rx_init(pdev, peer); in dp_peer_rx_init_wrapper()
3316 void dp_peer_cleanup(struct dp_vdev *vdev, struct dp_peer *peer) in dp_peer_cleanup() argument
3326 if (!IS_MLO_DP_MLD_PEER(peer)) in dp_peer_cleanup()
3327 dp_monitor_peer_tx_cleanup(vdev, peer); in dp_peer_cleanup()
3331 dp_peer_rx_cleanup(vdev, peer); in dp_peer_cleanup()
3333 dp_peer_rx_tids_destroy(peer); in dp_peer_cleanup()
3335 if (IS_MLO_DP_LINK_PEER(peer)) in dp_peer_cleanup()
3336 dp_link_peer_del_mld_peer(peer); in dp_peer_cleanup()
3337 if (IS_MLO_DP_MLD_PEER(peer)) in dp_peer_cleanup()
3338 dp_mld_peer_deinit_link_peers_info(peer); in dp_peer_cleanup()
3347 peer->mac_addr.raw, vdev_mac_addr, in dp_peer_cleanup()
3356 struct dp_peer *peer = in dp_set_key_sec_type_wifi3() local
3362 if (!peer) { in dp_set_key_sec_type_wifi3()
3367 if (!peer->txrx_peer) { in dp_set_key_sec_type_wifi3()
3368 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_set_key_sec_type_wifi3()
3374 soc, peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_set_key_sec_type_wifi3()
3378 peer->txrx_peer->security[sec_index].sec_type = sec_type; in dp_set_key_sec_type_wifi3()
3380 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_set_key_sec_type_wifi3()
3391 struct dp_peer *peer; in dp_rx_sec_ind_handler() local
3395 peer = dp_peer_get_ref_by_id(soc, peer_id, DP_MOD_ID_HTT); in dp_rx_sec_ind_handler()
3396 if (!peer) { in dp_rx_sec_ind_handler()
3401 txrx_peer = dp_get_txrx_peer(peer); in dp_rx_sec_ind_handler()
3409 soc, peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_rx_sec_ind_handler()
3413 peer->txrx_peer->security[sec_index].sec_type = sec_type; in dp_rx_sec_ind_handler()
3419 &peer->txrx_peer->security[sec_index].michael_key[0], in dp_rx_sec_ind_handler()
3421 sizeof(peer->txrx_peer->security[sec_index].michael_key)); in dp_rx_sec_ind_handler()
3423 OL_IF_SWAPBO(peer->txrx_peer->security[sec_index].michael_key[0], in dp_rx_sec_ind_handler()
3424 sizeof(peer->txrx_peer->security[sec_index].michael_key)); in dp_rx_sec_ind_handler()
3430 qdf_mem_zero(peer->tids_last_pn_valid, _EXT_TIDS); in dp_rx_sec_ind_handler()
3437 peer->tids_last_pn_valid[i] = 1; in dp_rx_sec_ind_handler()
3439 (u_int8_t *) &peer->tids_last_pn[i], in dp_rx_sec_ind_handler()
3441 peer->tids_last_pn[i].pn128[1] = in dp_rx_sec_ind_handler()
3442 qdf_cpu_to_le64(peer->tids_last_pn[i].pn128[1]); in dp_rx_sec_ind_handler()
3443 peer->tids_last_pn[i].pn128[0] = in dp_rx_sec_ind_handler()
3444 qdf_cpu_to_le64(peer->tids_last_pn[i].pn128[0]); in dp_rx_sec_ind_handler()
3453 dp_peer_unref_delete(peer, DP_MOD_ID_HTT); in dp_rx_sec_ind_handler()
3651 struct dp_peer *peer; in dp_register_peer() local
3654 peer = dp_peer_find_hash_find(soc, sta_desc->peer_addr.bytes, in dp_register_peer()
3657 if (!peer) in dp_register_peer()
3660 qdf_spin_lock_bh(&peer->peer_info_lock); in dp_register_peer()
3661 peer->state = OL_TXRX_PEER_STATE_CONN; in dp_register_peer()
3662 qdf_spin_unlock_bh(&peer->peer_info_lock); in dp_register_peer()
3664 dp_peer_set_bw(soc, peer->txrx_peer, sta_desc->bw); in dp_register_peer()
3666 dp_rx_flush_rx_cached(peer, false); in dp_register_peer()
3668 if (IS_MLO_DP_LINK_PEER(peer) && peer->first_link) { in dp_register_peer()
3670 QDF_MAC_ADDR_REF(peer->mld_peer->mac_addr.raw)); in dp_register_peer()
3671 qdf_spin_lock_bh(&peer->mld_peer->peer_info_lock); in dp_register_peer()
3672 peer->mld_peer->state = peer->state; in dp_register_peer()
3673 qdf_spin_unlock_bh(&peer->mld_peer->peer_info_lock); in dp_register_peer()
3674 dp_rx_flush_rx_cached(peer->mld_peer, false); in dp_register_peer()
3677 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_register_peer()
3685 struct dp_peer *peer; in dp_peer_state_update() local
3688 peer = dp_peer_find_hash_find(soc, peer_mac, 0, DP_VDEV_ALL, in dp_peer_state_update()
3690 if (!peer) { in dp_peer_state_update()
3695 peer->state = state; in dp_peer_state_update()
3696 peer->authorize = (state == OL_TXRX_PEER_STATE_AUTH) ? 1 : 0; in dp_peer_state_update()
3698 if (peer->txrx_peer) in dp_peer_state_update()
3699 peer->txrx_peer->authorize = peer->authorize; in dp_peer_state_update()
3702 peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_peer_state_update()
3703 peer->state); in dp_peer_state_update()
3705 if (IS_MLO_DP_LINK_PEER(peer) && peer->first_link) { in dp_peer_state_update()
3706 peer->mld_peer->state = peer->state; in dp_peer_state_update()
3707 peer->mld_peer->txrx_peer->authorize = peer->authorize; in dp_peer_state_update()
3709 peer->mld_peer, in dp_peer_state_update()
3710 QDF_MAC_ADDR_REF(peer->mld_peer->mac_addr.raw), in dp_peer_state_update()
3711 peer->mld_peer->state); in dp_peer_state_update()
3717 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_peer_state_update()
3725 struct dp_peer *peer; in dp_register_peer() local
3728 peer = dp_peer_find_hash_find(soc, sta_desc->peer_addr.bytes, in dp_register_peer()
3731 if (!peer) in dp_register_peer()
3734 qdf_spin_lock_bh(&peer->peer_info_lock); in dp_register_peer()
3735 peer->state = OL_TXRX_PEER_STATE_CONN; in dp_register_peer()
3736 qdf_spin_unlock_bh(&peer->peer_info_lock); in dp_register_peer()
3738 dp_peer_set_bw(soc, peer->txrx_peer, sta_desc->bw); in dp_register_peer()
3740 dp_rx_flush_rx_cached(peer, false); in dp_register_peer()
3742 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_register_peer()
3750 struct dp_peer *peer; in dp_peer_state_update() local
3753 peer = dp_peer_find_hash_find(soc, peer_mac, 0, DP_VDEV_ALL, in dp_peer_state_update()
3755 if (!peer) { in dp_peer_state_update()
3760 peer->state = state; in dp_peer_state_update()
3761 peer->authorize = (state == OL_TXRX_PEER_STATE_AUTH) ? 1 : 0; in dp_peer_state_update()
3763 if (peer->txrx_peer) in dp_peer_state_update()
3764 peer->txrx_peer->authorize = peer->authorize; in dp_peer_state_update()
3766 dp_info("peer %pK state %d", peer, peer->state); in dp_peer_state_update()
3770 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_peer_state_update()
3780 struct dp_peer *peer; in dp_clear_peer() local
3783 peer = dp_peer_find_hash_find(soc, peer_addr.bytes, in dp_clear_peer()
3786 if (!peer) in dp_clear_peer()
3788 if (!peer->valid) { in dp_clear_peer()
3789 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_clear_peer()
3793 dp_clear_peer_internal(soc, peer); in dp_clear_peer()
3794 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_clear_peer()
3802 struct dp_peer *peer = in dp_get_vdevid() local
3806 if (!peer) in dp_get_vdevid()
3810 peer, peer->vdev, peer->vdev->vdev_id); in dp_get_vdevid()
3811 *vdev_id = peer->vdev->vdev_id; in dp_get_vdevid()
3815 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_get_vdevid()
3825 struct dp_peer *peer = NULL; in dp_get_vdev_by_peer_addr() local
3834 peer = dp_peer_find_hash_find(pdev->soc, peer_addr.bytes, 0, in dp_get_vdev_by_peer_addr()
3836 if (!peer) { in dp_get_vdev_by_peer_addr()
3843 vdev = (struct cdp_vdev *)peer->vdev; in dp_get_vdev_by_peer_addr()
3845 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_get_vdev_by_peer_addr()
3851 struct dp_peer *peer = peer_handle; in dp_get_vdev_for_peer() local
3853 DP_TRACE(DEBUG, "peer %pK vdev %pK", peer, peer->vdev); in dp_get_vdev_for_peer()
3854 return (struct cdp_vdev *)peer->vdev; in dp_get_vdev_for_peer()
3859 struct dp_peer *peer = peer_handle; in dp_peer_get_peer_mac_addr() local
3862 mac = peer->mac_addr.raw; in dp_peer_get_peer_mac_addr()
3864 peer, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); in dp_peer_get_peer_mac_addr()
3865 return peer->mac_addr.raw; in dp_peer_get_peer_mac_addr()
3874 struct dp_peer *peer; in dp_get_peer_state() local
3880 peer = dp_peer_hash_find_wrapper(soc, &peer_info, DP_MOD_ID_CDP); in dp_get_peer_state()
3882 if (!peer) in dp_get_peer_state()
3885 tgt_peer = dp_get_tgt_peer_from_peer(peer); in dp_get_peer_state()
3892 peer, tgt_peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_get_peer_state()
3896 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_get_peer_state()
3922 void dp_local_peer_id_alloc(struct dp_pdev *pdev, struct dp_peer *peer) in dp_local_peer_id_alloc() argument
3930 peer->local_id = OL_TXRX_INVALID_LOCAL_PEER_ID; in dp_local_peer_id_alloc()
3933 peer->local_id = i; in dp_local_peer_id_alloc()
3935 pdev->local_peer_ids.map[i] = peer; in dp_local_peer_id_alloc()
3938 dp_info("peer %pK, local id %d", peer, peer->local_id); in dp_local_peer_id_alloc()
3941 void dp_local_peer_id_free(struct dp_pdev *pdev, struct dp_peer *peer) in dp_local_peer_id_free() argument
3943 int i = peer->local_id; in dp_local_peer_id_free()
3961 struct dp_peer *peer = NULL; in dp_find_peer_exist_on_vdev() local
3963 peer = dp_peer_find_hash_find(soc, peer_addr, 0, vdev_id, in dp_find_peer_exist_on_vdev()
3965 if (!peer) in dp_find_peer_exist_on_vdev()
3968 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_find_peer_exist_on_vdev()
3979 struct dp_peer *peer = NULL; in dp_find_peer_exist_on_other_vdev() local
3985 peer = dp_peer_find_hash_find(soc, peer_addr, 0, i, in dp_find_peer_exist_on_other_vdev()
3987 if (peer) { in dp_find_peer_exist_on_other_vdev()
3990 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_find_peer_exist_on_other_vdev()
4002 struct dp_peer *peer = NULL; in dp_set_peer_as_tdls_peer() local
4004 peer = dp_peer_find_hash_find(soc, peer_mac, 0, vdev_id, in dp_set_peer_as_tdls_peer()
4006 if (!peer) { in dp_set_peer_as_tdls_peer()
4014 peer->is_tdls_peer = val; in dp_set_peer_as_tdls_peer()
4016 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_set_peer_as_tdls_peer()
4024 struct dp_peer *peer = NULL; in dp_find_peer_exist() local
4026 peer = dp_peer_find_hash_find(soc, peer_addr, 0, DP_VDEV_ALL, in dp_find_peer_exist()
4028 if (peer) { in dp_find_peer_exist()
4029 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_find_peer_exist()
4043 struct dp_peer *peer = in dp_set_michael_key() local
4048 if (!peer) { in dp_set_michael_key()
4053 qdf_mem_copy(&peer->txrx_peer->security[sec_index].michael_key[0], in dp_set_michael_key()
4056 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_set_michael_key()
4066 struct dp_peer *peer = NULL; in dp_vdev_bss_peer_ref_n_get() local
4069 TAILQ_FOREACH(peer, &vdev->peer_list, peer_list_elem) { in dp_vdev_bss_peer_ref_n_get()
4070 if (peer->bss_peer) in dp_vdev_bss_peer_ref_n_get()
4074 if (!peer) { in dp_vdev_bss_peer_ref_n_get()
4079 if (dp_peer_get_ref(soc, peer, mod_id) == QDF_STATUS_SUCCESS) { in dp_vdev_bss_peer_ref_n_get()
4081 return peer; in dp_vdev_bss_peer_ref_n_get()
4085 return peer; in dp_vdev_bss_peer_ref_n_get()
4092 struct dp_peer *peer; in dp_sta_vdev_self_peer_ref_n_get() local
4098 TAILQ_FOREACH(peer, &vdev->peer_list, peer_list_elem) { in dp_sta_vdev_self_peer_ref_n_get()
4099 if (peer->sta_self_peer) in dp_sta_vdev_self_peer_ref_n_get()
4103 if (!peer) { in dp_sta_vdev_self_peer_ref_n_get()
4108 if (dp_peer_get_ref(soc, peer, mod_id) == QDF_STATUS_SUCCESS) { in dp_sta_vdev_self_peer_ref_n_get()
4110 return peer; in dp_sta_vdev_self_peer_ref_n_get()
4114 return peer; in dp_sta_vdev_self_peer_ref_n_get()
4121 struct dp_peer *peer = dp_peer_get_tgt_peer_hash_find(soc, peer_mac, 0, in dp_peer_flush_frags() local
4128 if (!peer) in dp_peer_flush_frags()
4131 if (!peer->txrx_peer) in dp_peer_flush_frags()
4135 QDF_MAC_ADDR_REF(peer->mac_addr.raw)); in dp_peer_flush_frags()
4137 txrx_peer = peer->txrx_peer; in dp_peer_flush_frags()
4148 dp_peer_unref_delete(peer, DP_MOD_ID_CDP); in dp_peer_flush_frags()
4153 struct dp_peer *peer = dp_peer_get_ref_by_id(soc, peer_id, in dp_peer_find_by_id_valid() local
4156 if (peer) { in dp_peer_find_by_id_valid()
4161 dp_peer_unref_delete(peer, DP_MOD_ID_HTT); in dp_peer_find_by_id_valid()
4172 void dp_peer_multipass_list_remove(struct dp_peer *peer) in dp_peer_multipass_list_remove() argument
4174 struct dp_vdev *vdev = peer->vdev; in dp_peer_multipass_list_remove()
4180 if (tpeer == peer->txrx_peer) { in dp_peer_multipass_list_remove()
4182 TAILQ_REMOVE(&vdev->mpass_peer_list, peer->txrx_peer, in dp_peer_multipass_list_remove()
4191 dp_peer_unref_delete(peer, DP_MOD_ID_TX_MULTIPASS); in dp_peer_multipass_list_remove()
4206 struct dp_peer *peer = in dp_peer_multipass_list_add() local
4211 if (qdf_unlikely(!peer)) { in dp_peer_multipass_list_add()
4216 if (qdf_unlikely(!peer->txrx_peer)) in dp_peer_multipass_list_add()
4223 if (peer->txrx_peer->vlan_id) { in dp_peer_multipass_list_add()
4226 QDF_MAC_ADDR_REF(peer->mac_addr.raw), in dp_peer_multipass_list_add()
4227 peer->txrx_peer->vlan_id); in dp_peer_multipass_list_add()
4235 peer->txrx_peer->vlan_id = vlan_id; in dp_peer_multipass_list_add()
4236 qdf_spin_lock_bh(&peer->txrx_peer->vdev->mpass_peer_mutex); in dp_peer_multipass_list_add()
4237 TAILQ_INSERT_HEAD(&peer->txrx_peer->vdev->mpass_peer_list, in dp_peer_multipass_list_add()
4238 peer->txrx_peer, in dp_peer_multipass_list_add()
4240 qdf_spin_unlock_bh(&peer->txrx_peer->vdev->mpass_peer_mutex); in dp_peer_multipass_list_add()
4244 dp_peer_unref_delete(peer, DP_MOD_ID_TX_MULTIPASS); in dp_peer_multipass_list_add()