Lines Matching refs:entry

743 	struct brcmf_fws_mac_descriptor *entry;  in brcmf_fws_macdesc_lookup()  local
749 entry = &fws->desc.nodes[0]; in brcmf_fws_macdesc_lookup()
751 if (entry->occupied && !memcmp(entry->ea, ea, ETH_ALEN)) in brcmf_fws_macdesc_lookup()
752 return entry; in brcmf_fws_macdesc_lookup()
753 entry++; in brcmf_fws_macdesc_lookup()
762 struct brcmf_fws_mac_descriptor *entry = &fws->desc.other; in brcmf_fws_macdesc_find() local
772 entry = ifp->fws_desc; in brcmf_fws_macdesc_find()
776 entry = brcmf_fws_macdesc_lookup(fws, da); in brcmf_fws_macdesc_find()
777 if (IS_ERR(entry)) in brcmf_fws_macdesc_find()
778 entry = ifp->fws_desc; in brcmf_fws_macdesc_find()
781 return entry; in brcmf_fws_macdesc_find()
785 struct brcmf_fws_mac_descriptor *entry, in brcmf_fws_macdesc_closed() argument
794 if (entry->mac_handle) { in brcmf_fws_macdesc_closed()
795 if_entry = &fws->desc.iface[entry->interface_id]; in brcmf_fws_macdesc_closed()
802 closed = entry->state == BRCMF_FWS_STATE_CLOSE && in brcmf_fws_macdesc_closed()
803 !entry->requested_credit && !entry->requested_packet; in brcmf_fws_macdesc_closed()
806 return closed || !(entry->ac_bitmap & BIT(fifo)); in brcmf_fws_macdesc_closed()
810 struct brcmf_fws_mac_descriptor *entry, in brcmf_fws_macdesc_cleanup() argument
813 if (entry->occupied && (ifidx == -1 || ifidx == entry->interface_id)) { in brcmf_fws_macdesc_cleanup()
814 brcmf_fws_psq_flush(fws, &entry->psq, ifidx); in brcmf_fws_macdesc_cleanup()
815 entry->occupied = !!(entry->psq.len); in brcmf_fws_macdesc_cleanup()
872 struct brcmf_fws_mac_descriptor *entry = brcmf_skbcb(skb)->mac; in brcmf_fws_hdrpush() local
880 entry->name, brcmf_skb_if_flags_get_field(skb, INDEX), in brcmf_fws_hdrpush()
883 if (entry->send_tim_signal) in brcmf_fws_hdrpush()
905 if (entry->send_tim_signal) { in brcmf_fws_hdrpush()
906 entry->send_tim_signal = 0; in brcmf_fws_hdrpush()
909 wlh[2] = entry->mac_handle; in brcmf_fws_hdrpush()
910 wlh[3] = entry->traffic_pending_bmp; in brcmf_fws_hdrpush()
912 entry->mac_handle, entry->traffic_pending_bmp); in brcmf_fws_hdrpush()
914 entry->traffic_lastreported_bmp = entry->traffic_pending_bmp; in brcmf_fws_hdrpush()
923 struct brcmf_fws_mac_descriptor *entry, in brcmf_fws_tim_update() argument
934 if (brcmu_pktq_mlen(&entry->psq, 3 << (fifo * 2)) == 0) in brcmf_fws_tim_update()
935 entry->traffic_pending_bmp &= ~NBITVAL(fifo); in brcmf_fws_tim_update()
937 entry->traffic_pending_bmp |= NBITVAL(fifo); in brcmf_fws_tim_update()
939 entry->send_tim_signal = false; in brcmf_fws_tim_update()
940 if (entry->traffic_lastreported_bmp != entry->traffic_pending_bmp) in brcmf_fws_tim_update()
941 entry->send_tim_signal = true; in brcmf_fws_tim_update()
942 if (send_immediately && entry->send_tim_signal && in brcmf_fws_tim_update()
943 entry->state == BRCMF_FWS_STATE_CLOSE) { in brcmf_fws_tim_update()
955 skcb->mac = entry; in brcmf_fws_tim_update()
1001 struct brcmf_fws_mac_descriptor *entry, *existing; in brcmf_fws_macdesc_indicate() local
1010 entry = &fws->desc.nodes[mac_handle & 0x1F]; in brcmf_fws_macdesc_indicate()
1012 if (entry->occupied) { in brcmf_fws_macdesc_indicate()
1014 entry->name, addr); in brcmf_fws_macdesc_indicate()
1016 brcmf_fws_macdesc_cleanup(fws, entry, -1); in brcmf_fws_macdesc_indicate()
1017 brcmf_fws_macdesc_deinit(entry); in brcmf_fws_macdesc_indicate()
1026 if (!entry->occupied) { in brcmf_fws_macdesc_indicate()
1028 entry->mac_handle = mac_handle; in brcmf_fws_macdesc_indicate()
1029 brcmf_fws_macdesc_init(entry, addr, ifidx); in brcmf_fws_macdesc_indicate()
1030 brcmf_fws_macdesc_set_name(fws, entry); in brcmf_fws_macdesc_indicate()
1031 brcmu_pktq_init(&entry->psq, BRCMF_FWS_PSQ_PREC_COUNT, in brcmf_fws_macdesc_indicate()
1034 brcmf_dbg(TRACE, "add %s mac %pM\n", entry->name, addr); in brcmf_fws_macdesc_indicate()
1039 if (entry != existing) { in brcmf_fws_macdesc_indicate()
1042 memcpy(entry, existing, in brcmf_fws_macdesc_indicate()
1044 entry->mac_handle = mac_handle; in brcmf_fws_macdesc_indicate()
1046 brcmf_fws_macdesc_set_name(fws, entry); in brcmf_fws_macdesc_indicate()
1048 brcmf_dbg(TRACE, "relocate %s mac %pM\n", entry->name, in brcmf_fws_macdesc_indicate()
1052 WARN_ON(entry->mac_handle != mac_handle); in brcmf_fws_macdesc_indicate()
1062 struct brcmf_fws_mac_descriptor *entry; in brcmf_fws_macdesc_state_indicate() local
1067 entry = &fws->desc.nodes[mac_handle & 0x1F]; in brcmf_fws_macdesc_state_indicate()
1068 if (!entry->occupied) { in brcmf_fws_macdesc_state_indicate()
1074 entry->requested_credit = 0; in brcmf_fws_macdesc_state_indicate()
1075 entry->requested_packet = 0; in brcmf_fws_macdesc_state_indicate()
1077 entry->state = BRCMF_FWS_STATE_OPEN; in brcmf_fws_macdesc_state_indicate()
1080 entry->state = BRCMF_FWS_STATE_CLOSE; in brcmf_fws_macdesc_state_indicate()
1081 brcmf_fws_tim_update(fws, entry, BRCMF_FWS_FIFO_AC_BK, false); in brcmf_fws_macdesc_state_indicate()
1082 brcmf_fws_tim_update(fws, entry, BRCMF_FWS_FIFO_AC_BE, false); in brcmf_fws_macdesc_state_indicate()
1083 brcmf_fws_tim_update(fws, entry, BRCMF_FWS_FIFO_AC_VI, false); in brcmf_fws_macdesc_state_indicate()
1084 brcmf_fws_tim_update(fws, entry, BRCMF_FWS_FIFO_AC_VO, true); in brcmf_fws_macdesc_state_indicate()
1094 struct brcmf_fws_mac_descriptor *entry; in brcmf_fws_interface_state_indicate() local
1105 entry = &fws->desc.iface[ifidx]; in brcmf_fws_interface_state_indicate()
1106 if (!entry->occupied) { in brcmf_fws_interface_state_indicate()
1112 entry->name); in brcmf_fws_interface_state_indicate()
1116 entry->state = BRCMF_FWS_STATE_OPEN; in brcmf_fws_interface_state_indicate()
1120 entry->state = BRCMF_FWS_STATE_CLOSE; in brcmf_fws_interface_state_indicate()
1139 struct brcmf_fws_mac_descriptor *entry; in brcmf_fws_request_indicate() local
1141 entry = &fws->desc.nodes[data[1] & 0x1F]; in brcmf_fws_request_indicate()
1142 if (!entry->occupied) { in brcmf_fws_request_indicate()
1151 brcmf_fws_get_tlv_name(type), type, entry->name, in brcmf_fws_request_indicate()
1155 entry->requested_credit = data[0]; in brcmf_fws_request_indicate()
1157 entry->requested_packet = data[0]; in brcmf_fws_request_indicate()
1159 entry->ac_bitmap = data[2]; in brcmf_fws_request_indicate()
1165 brcmf_fws_macdesc_use_req_credit(struct brcmf_fws_mac_descriptor *entry, in brcmf_fws_macdesc_use_req_credit() argument
1168 if (entry->requested_credit > 0) { in brcmf_fws_macdesc_use_req_credit()
1169 entry->requested_credit--; in brcmf_fws_macdesc_use_req_credit()
1172 if (entry->state != BRCMF_FWS_STATE_CLOSE) in brcmf_fws_macdesc_use_req_credit()
1174 } else if (entry->requested_packet > 0) { in brcmf_fws_macdesc_use_req_credit()
1175 entry->requested_packet--; in brcmf_fws_macdesc_use_req_credit()
1178 if (entry->state != BRCMF_FWS_STATE_CLOSE) in brcmf_fws_macdesc_use_req_credit()
1188 struct brcmf_fws_mac_descriptor *entry = brcmf_skbcb(skb)->mac; in brcmf_fws_macdesc_return_req_credit() local
1191 (entry->state == BRCMF_FWS_STATE_CLOSE)) in brcmf_fws_macdesc_return_req_credit()
1192 entry->requested_credit++; in brcmf_fws_macdesc_return_req_credit()
1245 struct brcmf_fws_mac_descriptor *entry; in brcmf_fws_enq() local
1253 entry = brcmf_skbcb(p)->mac; in brcmf_fws_enq()
1254 if (entry == NULL) { in brcmf_fws_enq()
1266 pq = &entry->psq; in brcmf_fws_enq()
1311 } else if (brcmu_pktq_penq(&entry->psq, prec, p) == NULL) { in brcmf_fws_enq()
1327 brcmf_fws_tim_update(fws, entry, fifo, true); in brcmf_fws_enq()
1328 brcmf_fws_flow_control_check(fws, &entry->psq, in brcmf_fws_enq()
1336 struct brcmf_fws_mac_descriptor *entry; in brcmf_fws_deq() local
1349 entry = &table[(node_pos + i) % num_nodes]; in brcmf_fws_deq()
1350 if (!entry->occupied || in brcmf_fws_deq()
1351 brcmf_fws_macdesc_closed(fws, entry, fifo)) in brcmf_fws_deq()
1354 if (entry->suppressed) in brcmf_fws_deq()
1358 p = brcmu_pktq_mdeq(&entry->psq, pmsk << (fifo * 2), &prec_out); in brcmf_fws_deq()
1360 if (entry->suppressed) { in brcmf_fws_deq()
1361 if (entry->suppr_transit_count) in brcmf_fws_deq()
1363 entry->suppressed = false; in brcmf_fws_deq()
1364 p = brcmu_pktq_mdeq(&entry->psq, in brcmf_fws_deq()
1371 brcmf_fws_macdesc_use_req_credit(entry, p); in brcmf_fws_deq()
1375 brcmf_fws_flow_control_check(fws, &entry->psq, in brcmf_fws_deq()
1383 brcmf_fws_tim_update(fws, entry, fifo, false); in brcmf_fws_deq()
1404 struct brcmf_fws_mac_descriptor *entry = brcmf_skbcb(skb)->mac; in brcmf_fws_txstatus_suppressed() local
1411 if (!entry->suppressed) { in brcmf_fws_txstatus_suppressed()
1412 entry->suppressed = true; in brcmf_fws_txstatus_suppressed()
1413 entry->suppr_transit_count = entry->transit_count; in brcmf_fws_txstatus_suppressed()
1415 entry->name, entry->transit_count); in brcmf_fws_txstatus_suppressed()
1418 entry->generation = genbit; in brcmf_fws_txstatus_suppressed()
1450 struct brcmf_fws_mac_descriptor *entry = NULL; in brcmf_fws_txs_process() local
1478 entry = skcb->mac; in brcmf_fws_txs_process()
1479 if (WARN_ON(!entry)) { in brcmf_fws_txs_process()
1483 entry->transit_count--; in brcmf_fws_txs_process()
1484 if (entry->suppressed && entry->suppr_transit_count) in brcmf_fws_txs_process()
1485 entry->suppr_transit_count--; in brcmf_fws_txs_process()
1487 brcmf_dbg(DATA, "%s flags %d htod %X seq %X\n", entry->name, flags, in brcmf_fws_txs_process()
1745 struct brcmf_fws_mac_descriptor *entry = skcb->mac; in brcmf_fws_precommit_skb() local
1749 brcmf_skb_htod_tag_set_field(p, GENERATION, entry->generation); in brcmf_fws_precommit_skb()
1765 struct brcmf_fws_mac_descriptor *entry; in brcmf_fws_rollback_toq() local
1770 entry = brcmf_skbcb(skb)->mac; in brcmf_fws_rollback_toq()
1771 if (entry->occupied) { in brcmf_fws_rollback_toq()
1776 pktout = brcmu_pktq_penq_head(&entry->psq, qidx, skb); in brcmf_fws_rollback_toq()
1778 brcmf_err("%s queue %d full\n", entry->name, qidx); in brcmf_fws_rollback_toq()
1782 brcmf_err("%s entry removed\n", entry->name); in brcmf_fws_rollback_toq()
1826 struct brcmf_fws_mac_descriptor *entry; in brcmf_fws_commit_skb() local
1831 entry = skcb->mac; in brcmf_fws_commit_skb()
1832 if (IS_ERR(entry)) in brcmf_fws_commit_skb()
1833 return PTR_ERR(entry); in brcmf_fws_commit_skb()
1836 entry->transit_count++; in brcmf_fws_commit_skb()
1837 if (entry->suppressed) in brcmf_fws_commit_skb()
1838 entry->suppr_transit_count++; in brcmf_fws_commit_skb()
1843 brcmf_dbg(DATA, "%s flags %X htod %X bus_tx %d\n", entry->name, in brcmf_fws_commit_skb()
1846 entry->transit_count--; in brcmf_fws_commit_skb()
1847 if (entry->suppressed) in brcmf_fws_commit_skb()
1848 entry->suppr_transit_count--; in brcmf_fws_commit_skb()
1939 struct brcmf_fws_mac_descriptor *entry = ifp->fws_desc; in brcmf_fws_reset_interface() local
1942 if (!entry) in brcmf_fws_reset_interface()
1945 brcmf_fws_macdesc_init(entry, ifp->mac_addr, ifp->ifidx); in brcmf_fws_reset_interface()
1951 struct brcmf_fws_mac_descriptor *entry; in brcmf_fws_add_interface() local
1956 entry = &fws->desc.iface[ifp->ifidx]; in brcmf_fws_add_interface()
1957 ifp->fws_desc = entry; in brcmf_fws_add_interface()
1958 brcmf_fws_macdesc_init(entry, ifp->mac_addr, ifp->ifidx); in brcmf_fws_add_interface()
1959 brcmf_fws_macdesc_set_name(fws, entry); in brcmf_fws_add_interface()
1960 brcmu_pktq_init(&entry->psq, BRCMF_FWS_PSQ_PREC_COUNT, in brcmf_fws_add_interface()
1962 brcmf_dbg(TRACE, "added %s\n", entry->name); in brcmf_fws_add_interface()
1967 struct brcmf_fws_mac_descriptor *entry = ifp->fws_desc; in brcmf_fws_del_interface() local
1969 if (!entry) in brcmf_fws_del_interface()
1974 brcmf_dbg(TRACE, "deleting %s\n", entry->name); in brcmf_fws_del_interface()
1975 brcmf_fws_macdesc_deinit(entry); in brcmf_fws_del_interface()