Lines Matching refs:dhdp

54 static INLINE uint16 dhd_flowid_find(dhd_pub_t *dhdp, uint8 ifindex,
57 static INLINE uint16 dhd_flowid_alloc(dhd_pub_t *dhdp, uint8 ifindex,
60 static INLINE int dhd_flowid_lookup(dhd_pub_t *dhdp, uint8 ifindex,
107 dhd_flow_ring_node(dhd_pub_t *dhdp, uint16 flowid) in dhd_flow_ring_node() argument
111 ASSERT(dhdp != (dhd_pub_t*)NULL); in dhd_flow_ring_node()
112 ASSERT(flowid <= dhdp->max_tx_flowid); in dhd_flow_ring_node()
113 if (flowid > dhdp->max_tx_flowid) { in dhd_flow_ring_node()
117 flow_ring_node = &(((flow_ring_node_t*)(dhdp->flow_ring_table))[flowid]); in dhd_flow_ring_node()
125 dhd_flow_queue(dhd_pub_t *dhdp, uint16 flowid) in dhd_flow_queue() argument
129 flow_ring_node = dhd_flow_ring_node(dhdp, flowid); in dhd_flow_queue()
140 dhd_flow_queue_reinit(dhd_pub_t *dhdp, flow_queue_t *queue, int max) in dhd_flow_queue_reinit() argument
151 DHD_FLOW_QUEUE_SET_CLEN(queue, &dhdp->cumm_ctr); in dhd_flow_queue_reinit()
152 DHD_FLOW_QUEUE_SET_L2CLEN(queue, &dhdp->l2cumm_ctr); in dhd_flow_queue_reinit()
160 dhd_flow_queue_init(dhd_pub_t *dhdp, flow_queue_t *queue, int max) in dhd_flow_queue_init() argument
165 dhd_flow_queue_reinit(dhdp, queue, max); in dhd_flow_queue_init()
181 BCMFASTPATH(dhd_flow_queue_enqueue)(dhd_pub_t *dhdp, flow_queue_t *queue, void *pkt) in BCMFASTPATH()
214 (dhd_flow_queue_enqueue_head)(dhd_pub_t *dhdp, flow_queue_t *queue, void *pkt) in BCMFASTPATH()
248 BCMFASTPATH(dhd_flow_queue_dequeue)(dhd_pub_t *dhdp, flow_queue_t *queue) in BCMFASTPATH()
279 BCMFASTPATH(dhd_flow_queue_reinsert)(dhd_pub_t *dhdp, flow_queue_t *queue, void *pkt) in BCMFASTPATH()
296 dhd_flow_ring_config_thresholds(dhd_pub_t *dhdp, uint16 flowid, in dhd_flow_ring_config_thresholds() argument
302 ASSERT(dhdp != (dhd_pub_t*)NULL); in dhd_flow_ring_config_thresholds()
309 queue = dhd_flow_queue(dhdp, flowid); in dhd_flow_ring_config_thresholds()
329 dhd_num_prio_supported_per_flow_ring(dhd_pub_t *dhdp) in dhd_num_prio_supported_per_flow_ring() argument
339 if (dhdp->flow_prio_map[i] == dhdp->flow_prio_map[j]) { in dhd_num_prio_supported_per_flow_ring()
353 dhd_get_max_multi_client_flow_rings(dhd_pub_t *dhdp) in dhd_get_max_multi_client_flow_rings() argument
355 uint8 reserved_infra_sta_flow_rings = dhd_num_prio_supported_per_flow_ring(dhdp); in dhd_get_max_multi_client_flow_rings()
356 uint8 total_tx_flow_rings = (uint8)dhd_get_max_flow_rings(dhdp); in dhd_get_max_multi_client_flow_rings()
362 dhd_flowid_map_init(dhd_pub_t *dhdp, uint16 max_tx_flow_rings) in dhd_flowid_map_init() argument
373 dhdp->flowid_allocator = id16_map_init(dhdp->osh, max_normal_tx_flow_rings, in dhd_flowid_map_init()
375 if (dhdp->flowid_allocator == NULL) { in dhd_flowid_map_init()
382 dhdp->htput_flow_ring_start = max_normal_tx_flow_rings + FLOWID_RESERVED; in dhd_flowid_map_init()
386 dhdp->htput_flowid_allocator = id16_map_init(dhdp->osh, HTPUT_TOTAL_FLOW_RINGS, in dhd_flowid_map_init()
387 dhdp->htput_flow_ring_start); in dhd_flowid_map_init()
388 if (dhdp->htput_flowid_allocator == NULL) { in dhd_flowid_map_init()
392 dhdp->htput_client_flow_rings = 0u; in dhd_flowid_map_init()
400 dhd_flowid_map_deinit(dhd_pub_t *dhdp) in dhd_flowid_map_deinit() argument
402 if (dhdp->flowid_allocator) { in dhd_flowid_map_deinit()
403 dhdp->flowid_allocator = id16_map_fini(dhdp->osh, dhdp->flowid_allocator); in dhd_flowid_map_deinit()
405 ASSERT(dhdp->flowid_allocator == NULL); in dhd_flowid_map_deinit()
408 if (dhdp->htput_flowid_allocator) { in dhd_flowid_map_deinit()
409 dhdp->htput_flowid_allocator = id16_map_fini(dhdp->osh, in dhd_flowid_map_deinit()
410 dhdp->htput_flowid_allocator); in dhd_flowid_map_deinit()
411 ASSERT(dhdp->htput_flowid_allocator == NULL); in dhd_flowid_map_deinit()
413 dhdp->htput_client_flow_rings = 0u; in dhd_flowid_map_deinit()
422 dhd_flow_rings_init(dhd_pub_t *dhdp, uint32 num_h2d_rings) in dhd_flow_rings_init() argument
441 max_tx_flow_rings = dhd_get_max_flow_rings(dhdp); in dhd_flow_rings_init()
442 if (dhd_flowid_map_init(dhdp, max_tx_flow_rings) != BCME_OK) { in dhd_flow_rings_init()
448 dhdp->max_tx_flowid = max_tx_flow_rings + FLOWID_RESERVED - 1; in dhd_flow_rings_init()
452 flow_ring_table = (flow_ring_table_t *)MALLOCZ(dhdp->osh, flow_ring_table_sz); in dhd_flow_rings_init()
459 DHD_CUMM_CTR_INIT(&dhdp->cumm_ctr); in dhd_flow_rings_init()
460 DHD_CUMM_CTR_INIT(&dhdp->l2cumm_ctr); in dhd_flow_rings_init()
465 flow_ring_table[idx].lock = osl_spin_lock_init(dhdp->osh); in dhd_flow_rings_init()
477 dhd_flow_queue_init(dhdp, &flow_ring_table[idx].queue, in dhd_flow_rings_init()
478 dhdp->conf->flow_ring_queue_threshold); in dhd_flow_rings_init()
483 if_flow_lkup = (if_flow_lkup_t *)DHD_OS_PREALLOC(dhdp, in dhd_flow_rings_init()
499 lock = osl_spin_lock_init(dhdp->osh); in dhd_flow_rings_init()
503 list_lock = osl_spin_lock_init(dhdp->osh); in dhd_flow_rings_init()
507 dhdp->flow_prio_map_type = DHD_FLOW_PRIO_AC_MAP; in dhd_flow_rings_init()
508 bcopy(prio2ac, dhdp->flow_prio_map, sizeof(uint8) * NUMPRIO); in dhd_flow_rings_init()
510 dhdp->max_multi_client_flow_rings = dhd_get_max_multi_client_flow_rings(dhdp); in dhd_flow_rings_init()
511 dhdp->multi_client_flow_rings = 0U; in dhd_flow_rings_init()
514 dhdp->dequeue_prec_map = ALLPRIO; in dhd_flow_rings_init()
518 dhdp->num_h2d_rings = num_h2d_rings; in dhd_flow_rings_init()
519 dhdp->flow_ring_table = (void *)flow_ring_table; in dhd_flow_rings_init()
520 dhdp->if_flow_lkup = (void *)if_flow_lkup; in dhd_flow_rings_init()
521 dhdp->flowid_lock = lock; in dhd_flow_rings_init()
522 dhdp->flow_rings_inited = TRUE; in dhd_flow_rings_init()
523 dhdp->flowring_list_lock = list_lock; in dhd_flow_rings_init()
531 osl_spin_lock_deinit(dhdp->osh, lock); in dhd_flow_rings_init()
536 DHD_OS_PREFREE(dhdp, if_flow_lkup, if_flow_lkup_sz); in dhd_flow_rings_init()
541 osl_spin_lock_deinit(dhdp->osh, flow_ring_table[idx].lock); in dhd_flow_rings_init()
543 MFREE(dhdp->osh, flow_ring_table, flow_ring_table_sz); in dhd_flow_rings_init()
545 dhd_flowid_map_deinit(dhdp); in dhd_flow_rings_init()
551 void dhd_flow_rings_deinit(dhd_pub_t *dhdp) in dhd_flow_rings_deinit() argument
562 if (!(dhdp->flow_rings_inited)) { in dhd_flow_rings_deinit()
567 if (dhdp->flow_ring_table != NULL) { in dhd_flow_rings_deinit()
569 ASSERT(dhdp->num_h2d_rings > 0); in dhd_flow_rings_deinit()
571 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_flow_rings_deinit()
572 flow_ring_table = (flow_ring_table_t *)dhdp->flow_ring_table; in dhd_flow_rings_deinit()
573 dhdp->flow_ring_table = NULL; in dhd_flow_rings_deinit()
574 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flow_rings_deinit()
575 for (idx = 0; idx < dhdp->num_h2d_rings; idx++) { in dhd_flow_rings_deinit()
577 dhd_bus_clean_flow_ring(dhdp->bus, &flow_ring_table[idx]); in dhd_flow_rings_deinit()
583 osl_spin_lock_deinit(dhdp->osh, flow_ring_table[idx].lock); in dhd_flow_rings_deinit()
590 flow_ring_table_sz = dhdp->num_h2d_rings * sizeof(flow_ring_table_t); in dhd_flow_rings_deinit()
591 MFREE(dhdp->osh, flow_ring_table, flow_ring_table_sz); in dhd_flow_rings_deinit()
594 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_flow_rings_deinit()
597 if (dhdp->if_flow_lkup != NULL) { in dhd_flow_rings_deinit()
599 bzero((uchar *)dhdp->if_flow_lkup, if_flow_lkup_sz); in dhd_flow_rings_deinit()
600 DHD_OS_PREFREE(dhdp, dhdp->if_flow_lkup, if_flow_lkup_sz); in dhd_flow_rings_deinit()
601 dhdp->if_flow_lkup = NULL; in dhd_flow_rings_deinit()
605 dhd_flowid_map_deinit(dhdp); in dhd_flow_rings_deinit()
607 dhdp->num_h2d_rings = 0U; in dhd_flow_rings_deinit()
608 bzero(dhdp->flow_prio_map, sizeof(uint8) * NUMPRIO); in dhd_flow_rings_deinit()
610 dhdp->max_multi_client_flow_rings = 0U; in dhd_flow_rings_deinit()
611 dhdp->multi_client_flow_rings = 0U; in dhd_flow_rings_deinit()
613 lock = dhdp->flowid_lock; in dhd_flow_rings_deinit()
614 dhdp->flowid_lock = NULL; in dhd_flow_rings_deinit()
618 osl_spin_lock_deinit(dhdp->osh, lock); in dhd_flow_rings_deinit()
621 osl_spin_lock_deinit(dhdp->osh, dhdp->flowring_list_lock); in dhd_flow_rings_deinit()
622 dhdp->flowring_list_lock = NULL; in dhd_flow_rings_deinit()
624 ASSERT(dhdp->if_flow_lkup == NULL); in dhd_flow_rings_deinit()
625 ASSERT(dhdp->flow_ring_table == NULL); in dhd_flow_rings_deinit()
626 dhdp->flow_rings_inited = FALSE; in dhd_flow_rings_deinit()
631 dhd_flow_rings_ifindex2role(dhd_pub_t *dhdp, uint8 ifindex) in dhd_flow_rings_ifindex2role() argument
633 if_flow_lkup_t *if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_flow_rings_ifindex2role()
639 bool is_tdls_destination(dhd_pub_t *dhdp, uint8 *da) in is_tdls_destination() argument
644 DHD_TDLS_LOCK(&dhdp->tdls_lock, flags); in is_tdls_destination()
646 if (dhdp->peer_tbl.tdls_peer_count && !(ETHER_ISMULTI(da))) { in is_tdls_destination()
647 cur = dhdp->peer_tbl.node; in is_tdls_destination()
651 DHD_TDLS_UNLOCK(&dhdp->tdls_lock, flags); in is_tdls_destination()
657 DHD_TDLS_UNLOCK(&dhdp->tdls_lock, flags); in is_tdls_destination()
664 dhd_flowid_find(dhd_pub_t *dhdp, uint8 ifindex, uint8 prio, char *sa, char *da) in dhd_flowid_find() argument
676 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_flowid_find()
677 if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_flowid_find()
681 if (DHD_IF_ROLE_GENERIC_STA(dhdp, ifindex)) { in dhd_flowid_find()
683 if (is_tdls_destination(dhdp, da)) { in dhd_flowid_find()
688 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_find()
693 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_find()
700 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_find()
718 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_find()
724 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_find()
735 dhd_flowid_map_alloc(dhd_pub_t *dhdp, uint8 ifindex, uint8 prio, char *da) in dhd_flowid_map_alloc() argument
738 ASSERT(dhdp->flowid_allocator != NULL); in dhd_flowid_map_alloc()
741 if (dhdp->htput_flowid_allocator) { in dhd_flowid_map_alloc()
743 if (DHD_IF_ROLE_GENERIC_STA(dhdp, ifindex)) { in dhd_flowid_map_alloc()
750 flowid = id16_map_alloc(dhdp->htput_flowid_allocator); in dhd_flowid_map_alloc()
751 } else if (DHD_IF_ROLE_MULTI_CLIENT(dhdp, ifindex) && !ETHER_ISMULTI(da)) { in dhd_flowid_map_alloc()
753 if (dhdp->htput_client_flow_rings < HTPUT_NUM_CLIENT_FLOW_RINGS) { in dhd_flowid_map_alloc()
754 flowid = id16_map_alloc(dhdp->htput_flowid_allocator); in dhd_flowid_map_alloc()
757 dhdp->htput_client_flow_rings++; in dhd_flowid_map_alloc()
772 flowid = id16_map_alloc(dhdp->flowid_allocator); in dhd_flowid_map_alloc()
780 dhd_flowid_alloc(dhd_pub_t *dhdp, uint8 ifindex, uint8 prio, char *sa, char *da) in dhd_flowid_alloc() argument
788 fl_hash_node = (flow_hash_info_t *) MALLOCZ(dhdp->osh, sizeof(flow_hash_info_t)); in dhd_flowid_alloc()
795 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_flowid_alloc()
796 flowid = dhd_flowid_map_alloc(dhdp, ifindex, prio, da); in dhd_flowid_alloc()
797 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_alloc()
800 MFREE(dhdp->osh, fl_hash_node, sizeof(flow_hash_info_t)); in dhd_flowid_alloc()
810 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_flowid_alloc()
811 if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_flowid_alloc()
813 if (DHD_IF_ROLE_GENERIC_STA(dhdp, ifindex)) { in dhd_flowid_alloc()
816 if (is_tdls_destination(dhdp, da)) { in dhd_flowid_alloc()
843 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_alloc()
847 if (fl_hash_node->flowid > dhdp->max_tx_flowid) { in dhd_flowid_alloc()
849 __FUNCTION__, fl_hash_node->flowid, dhdp->max_tx_flowid, in dhd_flowid_alloc()
861 dhd_flowid_lookup(dhd_pub_t *dhdp, uint8 ifindex, in dhd_flowid_lookup() argument
872 if (!dhdp->flow_ring_table) { in dhd_flowid_lookup()
880 flow_ring_table = (flow_ring_table_t *)dhdp->flow_ring_table; in dhd_flowid_lookup()
882 id = dhd_flowid_find(dhdp, ifindex, prio, sa, da); in dhd_flowid_lookup()
887 if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_flowid_lookup()
893 if_role_multi_client = DHD_IF_ROLE_MULTI_CLIENT(dhdp, ifindex); in dhd_flowid_lookup()
898 (dhdp->multi_client_flow_rings >= dhdp->max_multi_client_flow_rings)) { in dhd_flowid_lookup()
900 __FUNCTION__, dhdp->multi_client_flow_rings, in dhd_flowid_lookup()
901 dhdp->max_multi_client_flow_rings)); in dhd_flowid_lookup()
909 !dhd_sta_associated(dhdp, ifindex, (uint8 *)da)) { in dhd_flowid_lookup()
915 id = dhd_flowid_alloc(dhdp, ifindex, prio, sa, da); in dhd_flowid_lookup()
922 ASSERT(id <= dhdp->max_tx_flowid); in dhd_flowid_lookup()
926 dhdp->multi_client_flow_rings++; in dhd_flowid_lookup()
930 dhd_add_flowid(dhdp, ifindex, prio, da, id); in dhd_flowid_lookup()
960 if (dhd_bus_flow_ring_create_request(dhdp->bus, (void *)flow_ring_node) in dhd_flowid_lookup()
975 if (id > dhdp->max_tx_flowid) { in dhd_flowid_lookup()
977 __FUNCTION__, id, dhdp->max_tx_flowid)); in dhd_flowid_lookup()
1023 dhd_flowid_find_by_ifidx(dhd_pub_t *dhdp, uint8 ifindex, uint16 flowid) in dhd_flowid_find_by_ifidx() argument
1031 if (!dhdp->flow_ring_table) { in dhd_flowid_find_by_ifidx()
1036 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_flowid_find_by_ifidx()
1037 if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_flowid_find_by_ifidx()
1054 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_find_by_ifidx()
1059 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_find_by_ifidx()
1065 dhd_flowid_debug_create(dhd_pub_t *dhdp, uint8 ifindex, in dhd_flowid_debug_create() argument
1068 return dhd_flowid_lookup(dhdp, ifindex, prio, sa, da, flowid); in dhd_flowid_debug_create()
1076 BCMFASTPATH(dhd_flowid_update)(dhd_pub_t *dhdp, uint8 ifindex, uint8 prio, void *pktbuf) in BCMFASTPATH()
1078 uint8 *pktdata = (uint8 *)PKTDATA(dhdp->osh, pktbuf); in BCMFASTPATH()
1088 if (!dhdp->flowid_allocator) { in BCMFASTPATH()
1093 if (dhd_flowid_lookup(dhdp, ifindex, prio, (char *)eh->ether_shost, (char *)eh->ether_dhost, in BCMFASTPATH()
1106 dhd_flowid_map_free(dhd_pub_t *dhdp, uint8 ifindex, uint16 flowid) in dhd_flowid_map_free() argument
1109 if (dhdp->htput_flowid_allocator) { in dhd_flowid_map_free()
1110 if (DHD_IS_FLOWID_HTPUT(dhdp, flowid)) { in dhd_flowid_map_free()
1111 id16_map_free(dhdp->htput_flowid_allocator, flowid); in dhd_flowid_map_free()
1113 if (DHD_IF_ROLE_MULTI_CLIENT(dhdp, ifindex)) { in dhd_flowid_map_free()
1114 dhdp->htput_client_flow_rings--; in dhd_flowid_map_free()
1121 id16_map_free(dhdp->flowid_allocator, flowid); in dhd_flowid_map_free()
1127 dhd_flowid_free(dhd_pub_t *dhdp, uint8 ifindex, uint16 flowid) in dhd_flowid_free() argument
1140 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_flowid_free()
1141 if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_flowid_free()
1143 if_role_multi_client = DHD_IF_ROLE_MULTI_CLIENT(dhdp, ifindex); in dhd_flowid_free()
1172 dhdp->multi_client_flow_rings--; in dhd_flowid_free()
1176 dhd_del_flowid(dhdp, ifindex, flowid); in dhd_flowid_free()
1178 dhd_flowid_map_free(dhdp, ifindex, flowid); in dhd_flowid_free()
1179 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_free()
1180 MFREE(dhdp->osh, cur, sizeof(flow_hash_info_t)); in dhd_flowid_free()
1187 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_flowid_free()
1197 dhd_flow_rings_delete(dhd_pub_t *dhdp, uint8 ifindex) in dhd_flow_rings_delete() argument
1208 if (!dhdp->flow_ring_table) in dhd_flow_rings_delete()
1211 flow_ring_table = (flow_ring_table_t *)dhdp->flow_ring_table; in dhd_flow_rings_delete()
1212 for (id = 0; id < dhdp->num_h2d_rings; id++) { in dhd_flow_rings_delete()
1216 dhd_bus_flow_ring_delete_request(dhdp->bus, in dhd_flow_rings_delete()
1223 dhd_flow_rings_flush(dhd_pub_t *dhdp, uint8 ifindex) in dhd_flow_rings_flush() argument
1234 if (!dhdp->flow_ring_table) in dhd_flow_rings_flush()
1236 flow_ring_table = (flow_ring_table_t *)dhdp->flow_ring_table; in dhd_flow_rings_flush()
1238 for (id = 0; id < dhdp->num_h2d_rings; id++) { in dhd_flow_rings_flush()
1242 dhd_bus_flow_ring_flush_request(dhdp->bus, in dhd_flow_rings_flush()
1250 dhd_flow_rings_delete_for_peer(dhd_pub_t *dhdp, uint8 ifindex, char *addr) in dhd_flow_rings_delete_for_peer() argument
1261 if (!dhdp->flow_ring_table) in dhd_flow_rings_delete_for_peer()
1264 flow_ring_table = (flow_ring_table_t *)dhdp->flow_ring_table; in dhd_flow_rings_delete_for_peer()
1265 for (id = 0; id < dhdp->num_h2d_rings; id++) { in dhd_flow_rings_delete_for_peer()
1282 dhd_bus_flow_ring_delete_request(dhdp->bus, in dhd_flow_rings_delete_for_peer()
1290 dhd_update_interface_flow_info(dhd_pub_t *dhdp, uint8 ifindex, in dhd_update_interface_flow_info() argument
1302 if (!dhdp->flowid_allocator) { in dhd_update_interface_flow_info()
1307 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_update_interface_flow_info()
1308 if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_update_interface_flow_info()
1331 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_update_interface_flow_info()
1336 dhd_update_interface_link_status(dhd_pub_t *dhdp, uint8 ifindex, uint8 status) in dhd_update_interface_link_status() argument
1347 DHD_FLOWID_LOCK(dhdp->flowid_lock, flags); in dhd_update_interface_link_status()
1348 if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_update_interface_link_status()
1356 DHD_FLOWID_UNLOCK(dhdp->flowid_lock, flags); in dhd_update_interface_link_status()
1362 int dhd_update_flow_prio_map(dhd_pub_t *dhdp, uint8 map) in dhd_update_flow_prio_map() argument
1371 if (map == dhdp->flow_prio_map_type) in dhd_update_flow_prio_map()
1375 for (flowid = 0; flowid < dhdp->num_h2d_rings; flowid++) { in dhd_update_flow_prio_map()
1376 flow_ring_node = DHD_FLOW_RING(dhdp, flowid); in dhd_update_flow_prio_map()
1382 if (BCME_OK != dhd_flow_prio_map(dhdp, &map, TRUE)) in dhd_update_flow_prio_map()
1386 dhdp->flow_prio_map_type = map; in dhd_update_flow_prio_map()
1387 if (dhdp->flow_prio_map_type == DHD_FLOW_PRIO_TID_MAP) in dhd_update_flow_prio_map()
1388 bcopy(prio2tid, dhdp->flow_prio_map, sizeof(uint8) * NUMPRIO); in dhd_update_flow_prio_map()
1390 bcopy(prio2ac, dhdp->flow_prio_map, sizeof(uint8) * NUMPRIO); in dhd_update_flow_prio_map()
1392 dhdp->max_multi_client_flow_rings = dhd_get_max_multi_client_flow_rings(dhdp); in dhd_update_flow_prio_map()
1462 dhd_awdl_peer_op(dhd_pub_t *dhdp, uint8 ifindex, void *buf, uint32 buflen) in dhd_awdl_peer_op() argument
1473 if_flow_lkup = (if_flow_lkup_t *)dhdp->if_flow_lkup; in dhd_awdl_peer_op()
1479 dhd_flow_rings_delete(dhdp, ifindex); in dhd_awdl_peer_op()
1492 dhd_del_sta(dhdp, ifindex, &peer->addr.octet[0]); in dhd_awdl_peer_op()
1493 dhd_flow_rings_delete_for_peer(dhdp, ifindex, (char *)&peer->addr.octet[0]); in dhd_awdl_peer_op()
1495 dhd_findadd_sta(dhdp, ifindex, &peer->addr.octet[0]); in dhd_awdl_peer_op()