Lines Matching refs:fifo

786 				     int fifo)  in brcmf_fws_macdesc_closed()  argument
806 return closed || !(entry->ac_bitmap & BIT(fifo)); in brcmf_fws_macdesc_closed()
924 int fifo, bool send_immediately) 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()
1196 u8 fifo, u8 credits) in brcmf_fws_return_credits() argument
1205 fws->fifo_credit_map |= 1 << fifo; in brcmf_fws_return_credits()
1207 if ((fifo == BRCMF_FWS_FIFO_AC_BE) && in brcmf_fws_return_credits()
1228 fws->fifo_credit[fifo] += credits; in brcmf_fws_return_credits()
1240 enum brcmf_fws_skb_state state, int fifo, in brcmf_fws_enq() argument
1243 int prec = 2 * fifo; in brcmf_fws_enq()
1259 brcmf_dbg(DATA, "enter: fifo %d skb %p\n", fifo, p); in brcmf_fws_enq()
1317 fws->fifo_delay_map |= 1 << fifo; in brcmf_fws_enq()
1318 fws->fifo_enqpkt[fifo]++; in brcmf_fws_enq()
1327 brcmf_fws_tim_update(fws, entry, fifo, true); in brcmf_fws_enq()
1333 static struct sk_buff *brcmf_fws_deq(struct brcmf_fws_info *fws, int fifo) in brcmf_fws_deq() argument
1346 node_pos = fws->deq_node_pos[fifo]; in brcmf_fws_deq()
1351 brcmf_fws_macdesc_closed(fws, entry, fifo)) in brcmf_fws_deq()
1358 p = brcmu_pktq_mdeq(&entry->psq, pmsk << (fifo * 2), &prec_out); in brcmf_fws_deq()
1365 1 << (fifo * 2), &prec_out); in brcmf_fws_deq()
1374 fws->deq_node_pos[fifo] = (node_pos + i + 1) % num_nodes; in brcmf_fws_deq()
1383 brcmf_fws_tim_update(fws, entry, fifo, false); in brcmf_fws_deq()
1389 fws->fifo_enqpkt[fifo]--; in brcmf_fws_deq()
1390 if (fws->fifo_enqpkt[fifo] == 0) in brcmf_fws_deq()
1391 fws->fifo_delay_map &= ~(1 << fifo); in brcmf_fws_deq()
1396 brcmf_dbg(DATA, "exit: fifo %d skb %p\n", fifo, p); in brcmf_fws_deq()
1400 static int brcmf_fws_txstatus_suppressed(struct brcmf_fws_info *fws, int fifo, in brcmf_fws_txstatus_suppressed() argument
1428 ret = brcmf_fws_enq(fws, BRCMF_FWS_SKBSTATE_SUPPRESSED, fifo, skb); in brcmf_fws_txstatus_suppressed()
1445 u32 fifo; in brcmf_fws_txs_process() local
1491 fifo = brcmf_skb_htod_tag_get_field(skb, FIFO); in brcmf_fws_txs_process()
1495 brcmf_fws_return_credits(fws, fifo, 1); in brcmf_fws_txs_process()
1505 ret = brcmf_fws_txstatus_suppressed(fws, fifo, skb, ifidx, in brcmf_fws_txs_process()
1743 static u8 brcmf_fws_precommit_skb(struct brcmf_fws_info *fws, int fifo, in brcmf_fws_precommit_skb() argument
1765 struct sk_buff *skb, int fifo) in brcmf_fws_rollback_toq() argument
1774 qidx = 2 * fifo; in brcmf_fws_rollback_toq()
1795 brcmf_fws_return_credits(fws, fifo, 1); in brcmf_fws_rollback_toq()
1824 static int brcmf_fws_commit_skb(struct brcmf_fws_info *fws, int fifo, in brcmf_fws_commit_skb() argument
1837 data_offset = brcmf_fws_precommit_skb(fws, fifo, skb); in brcmf_fws_commit_skb()
1856 fws->stats.send_pkts[fifo]++; in brcmf_fws_commit_skb()
1858 fws->stats.requested_sent[fifo]++; in brcmf_fws_commit_skb()
1863 brcmf_fws_rollback_toq(fws, skb, fifo); in brcmf_fws_commit_skb()
1868 int fifo) in brcmf_fws_assign_htod() argument
1877 brcmf_skb_htod_tag_set_field(p, FREERUN, skcb->mac->seq[fifo]); in brcmf_fws_assign_htod()
1878 brcmf_skb_htod_tag_set_field(p, FIFO, fifo); in brcmf_fws_assign_htod()
1881 skcb->mac->seq[fifo]++; in brcmf_fws_assign_htod()
1893 int fifo = BRCMF_FWS_FIFO_BCMC; in brcmf_fws_process_skb() local
1916 fifo = brcmf_fws_prio2fifo[skb->priority]; in brcmf_fws_process_skb()
1919 if (fifo != BRCMF_FWS_FIFO_AC_BE && fifo < BRCMF_FWS_FIFO_BCMC) in brcmf_fws_process_skb()
1925 eh->h_dest, multicast, fifo); in brcmf_fws_process_skb()
1926 if (!brcmf_fws_assign_htod(fws, skb, fifo)) { in brcmf_fws_process_skb()
1927 brcmf_fws_enq(fws, BRCMF_FWS_SKBSTATE_DELAYED, fifo, skb); in brcmf_fws_process_skb()
1987 int fifo; in brcmf_fws_dequeue_worker() local
1996 for (fifo = BRCMF_FWS_FIFO_BCMC; fifo >= 0 && !fws->bus_flow_blocked; in brcmf_fws_dequeue_worker()
1997 fifo--) { in brcmf_fws_dequeue_worker()
1999 while ((skb = brcmf_fws_deq(fws, fifo)) != NULL) { in brcmf_fws_dequeue_worker()
2018 while ((fws->fifo_credit[fifo]) || ((!fws->bcmc_credit_check) && in brcmf_fws_dequeue_worker()
2019 (fifo == BRCMF_FWS_FIFO_BCMC))) { in brcmf_fws_dequeue_worker()
2020 skb = brcmf_fws_deq(fws, fifo); in brcmf_fws_dequeue_worker()
2023 fws->fifo_credit[fifo]--; in brcmf_fws_dequeue_worker()
2024 if (brcmf_fws_commit_skb(fws, fifo, skb)) in brcmf_fws_dequeue_worker()
2029 if ((fifo == BRCMF_FWS_FIFO_AC_BE) && in brcmf_fws_dequeue_worker()
2030 (fws->fifo_credit[fifo] == 0) && in brcmf_fws_dequeue_worker()
2033 skb = brcmf_fws_deq(fws, fifo); in brcmf_fws_dequeue_worker()
2035 brcmf_fws_return_credits(fws, fifo, 1); in brcmf_fws_dequeue_worker()
2038 if (brcmf_fws_commit_skb(fws, fifo, skb)) in brcmf_fws_dequeue_worker()