Lines Matching refs:prec

113 _dhd_wlfc_prec_enque(struct pktq *pq, int prec, void* p, bool qHead,  in _dhd_wlfc_prec_enque()  argument
123 ASSERT(prec >= 0 && prec < pq->num_prec); in _dhd_wlfc_prec_enque()
127 ASSERT(!pktqprec_full(pq, prec)); in _dhd_wlfc_prec_enque()
129 q = &pq->q[prec]; in _dhd_wlfc_prec_enque()
136 if (reOrder && (prec & 1)) { in _dhd_wlfc_prec_enque()
187 if (pq->hi_prec < prec) in _dhd_wlfc_prec_enque()
188 pq->hi_prec = (uint8)prec; in _dhd_wlfc_prec_enque()
408 uint8 prec = DHD_PKTTAG_FIFO(PKTTAG(p)); in _dhd_wlfc_enque_afq() local
417 pktq_penq(&entry->afq, prec, p); in _dhd_wlfc_enque_afq()
424 _dhd_wlfc_deque_afq(athost_wl_status_info_t* ctx, uint16 hslot, uint8 hcnt, uint8 prec, in _dhd_wlfc_deque_afq() argument
452 ASSERT(prec < pq->num_prec); in _dhd_wlfc_deque_afq()
454 q = &pq->q[prec]; in _dhd_wlfc_deque_afq()
487 ctx->stats.ooo_pkts[prec]++; in _dhd_wlfc_deque_afq()
686 _dhd_wlfc_prec_drop(dhd_pub_t *dhdp, int prec, void* p, bool bPktInQ) in _dhd_wlfc_prec_drop() argument
692 if (prec < 0 || prec >= WLFC_PSQ_PREC_COUNT) { in _dhd_wlfc_prec_drop()
699 if (!WLFC_GET_AFQ(dhdp->wlfc_mode) && (prec & 1)) { in _dhd_wlfc_prec_drop()
706 if (!(prec & 1)) { in _dhd_wlfc_prec_drop()
732 ctx->pkt_cnt_in_q[DHD_PKTTAG_IF(PKTTAG(p))][prec>>1]--; in _dhd_wlfc_prec_drop()
733 ctx->pkt_cnt_per_ac[prec>>1]--; in _dhd_wlfc_prec_drop()
739 ctx->stats.drop_pkts[prec]++; in _dhd_wlfc_prec_drop()
755 _dhd_wlfc_prec_enq_with_drop(dhd_pub_t *dhdp, struct pktq *pq, void *pkt, int prec, bool qHead, in _dhd_wlfc_prec_enq_with_drop() argument
763 ASSERT(prec >= 0 && prec < pq->num_prec); in _dhd_wlfc_prec_enq_with_drop()
770 if (!pktqprec_full(pq, prec) && !pktq_full(pq)) { in _dhd_wlfc_prec_enq_with_drop()
775 if (pktqprec_full(pq, prec)) { in _dhd_wlfc_prec_enq_with_drop()
776 eprec = prec; in _dhd_wlfc_prec_enq_with_drop()
783 if ((eprec > prec) || (eprec < 0)) { in _dhd_wlfc_prec_enq_with_drop()
784 if (!pktqprec_empty(pq, prec)) { in _dhd_wlfc_prec_enq_with_drop()
785 eprec = prec; in _dhd_wlfc_prec_enq_with_drop()
802 _dhd_wlfc_prec_enque(pq, prec, pkt, qHead, current_seq, in _dhd_wlfc_prec_enq_with_drop()
804 ctx->pkt_cnt_in_q[DHD_PKTTAG_IF(PKTTAG(pkt))][prec>>1]++; in _dhd_wlfc_prec_enq_with_drop()
805 ctx->pkt_cnt_per_ac[prec>>1]++; in _dhd_wlfc_prec_enq_with_drop()
828 int prec, fifo_id; in _dhd_wlfc_rollback_packet_toq() local
831 prec = DHD_PKTTAG_FIFO(PKTTAG(p)); in _dhd_wlfc_rollback_packet_toq()
832 fifo_id = prec << 1; in _dhd_wlfc_rollback_packet_toq()
840 if ((prec != AC_COUNT) && !DHD_PKTTAG_CREDITCHECK(PKTTAG(p))) in _dhd_wlfc_rollback_packet_toq()
845 WLFC_DECR_SEQCOUNT(entry, prec); in _dhd_wlfc_rollback_packet_toq()
882 int prec, ac_traffic = WLFC_NO_TRAFFIC; in _dhd_wlfc_allow_fc() local
884 for (prec = 0; prec < AC_COUNT; prec++) { in _dhd_wlfc_allow_fc()
885 if (ctx->pkt_cnt_in_drv[ifid][prec] > 0) { in _dhd_wlfc_allow_fc()
887 ac_traffic = prec + 1; in _dhd_wlfc_allow_fc()
888 else if (ac_traffic != (prec + 1)) in _dhd_wlfc_allow_fc()
1030 int prec) in _dhd_wlfc_traffic_pending_check() argument
1035 if ((pktqprec_n_pkts(&entry->psq, (prec << 1)) == 0) && in _dhd_wlfc_traffic_pending_check()
1036 (pktqprec_n_pkts(&entry->psq, ((prec << 1) + 1)) == 0)) { in _dhd_wlfc_traffic_pending_check()
1038 if (entry->traffic_pending_bmp & NBITVAL(prec)) { in _dhd_wlfc_traffic_pending_check()
1041 entry->traffic_pending_bmp & ~ NBITVAL(prec); in _dhd_wlfc_traffic_pending_check()
1045 if (!(entry->traffic_pending_bmp & NBITVAL(prec))) { in _dhd_wlfc_traffic_pending_check()
1048 entry->traffic_pending_bmp | NBITVAL(prec); in _dhd_wlfc_traffic_pending_check()
1073 _dhd_wlfc_enque_suppressed(athost_wl_status_info_t* ctx, int prec, void* p) in _dhd_wlfc_enque_suppressed() argument
1087 if (_dhd_wlfc_prec_enq_with_drop(ctx->dhdp, &entry->psq, p, ((prec << 1) + 1), FALSE, in _dhd_wlfc_enque_suppressed()
1088 WLFC_SEQCOUNT(entry, prec)) in _dhd_wlfc_enque_suppressed()
1097 _dhd_wlfc_traffic_pending_check(ctx, entry, prec); in _dhd_wlfc_enque_suppressed()
1247 wlfc_mac_descriptor_t* entry, int prec) in _dhd_wlfc_is_destination_open() argument
1275 (!(entry->ac_bitmap & (1 << prec)))) { in _dhd_wlfc_is_destination_open()
1294 _dhd_wlfc_deque_delayedq(athost_wl_status_info_t* ctx, int prec, in _dhd_wlfc_deque_delayedq() argument
1302 uint8 credit_spent = ((prec == AC_COUNT) && !ctx->bcmc_credit_supported) ? 0 : 1; in _dhd_wlfc_deque_delayedq()
1325 if (entry->occupied && _dhd_wlfc_is_destination_open(ctx, entry, prec) && in _dhd_wlfc_deque_delayedq()
1336 p = pktq_pdeq(&entry->psq, PSQ_SUP_IDX(prec)); in _dhd_wlfc_deque_delayedq()
1340 p = pktq_pdeq(&entry->psq, PSQ_DLY_IDX(prec)); in _dhd_wlfc_deque_delayedq()
1358 ctx->pkt_cnt_in_q[DHD_PKTTAG_IF(PKTTAG(p))][prec]--; in _dhd_wlfc_deque_delayedq()
1359 ctx->pkt_cnt_per_ac[prec]--; in _dhd_wlfc_deque_delayedq()
1367 _dhd_wlfc_traffic_pending_check(ctx, entry, prec); in _dhd_wlfc_deque_delayedq()
1377 _dhd_wlfc_enque_delayq(athost_wl_status_info_t* ctx, void* pktbuf, int prec) in _dhd_wlfc_enque_delayq() argument
1393 if (_dhd_wlfc_prec_enq_with_drop(ctx->dhdp, &entry->psq, pktbuf, (prec << 1), in _dhd_wlfc_enque_delayq()
1394 FALSE, WLFC_SEQCOUNT(entry, prec)) in _dhd_wlfc_enque_delayq()
1402 _dhd_wlfc_traffic_pending_check(ctx, entry, prec); in _dhd_wlfc_enque_delayq()
1528 int prec; in _dhd_wlfc_pktq_flush() local
1540 for (prec = 0; prec < pq->num_prec; prec++) { in _dhd_wlfc_pktq_flush()
1544 q = &pq->q[prec]; in _dhd_wlfc_pktq_flush()
1555 if (!WLFC_GET_AFQ(dhdp->wlfc_mode) && (prec & 1)) { in _dhd_wlfc_pktq_flush()
1558 ctx->pkt_cnt_in_q[DHD_PKTTAG_IF(PKTTAG(p))][prec>>1]--; in _dhd_wlfc_pktq_flush()
1559 ctx->pkt_cnt_per_ac[prec>>1]--; in _dhd_wlfc_pktq_flush()
1562 if (!(prec & 1)) { in _dhd_wlfc_pktq_flush()
1595 ctx->pkt_cnt_in_drv[DHD_PKTTAG_IF(PKTTAG(p))][prec>>1]--; in _dhd_wlfc_pktq_flush()
1627 _dhd_wlfc_pktq_pdeq_with_fn(struct pktq *pq, int prec, f_processpkt_t fn, void *arg) in _dhd_wlfc_pktq_pdeq_with_fn() argument
1632 ASSERT(prec >= 0 && prec < pq->num_prec); in _dhd_wlfc_pktq_pdeq_with_fn()
1634 q = &pq->q[prec]; in _dhd_wlfc_pktq_pdeq_with_fn()
1678 int prec; in _dhd_wlfc_cleanup_txq() local
1686 for (prec = 0; prec < txq->num_prec; prec++) { in _dhd_wlfc_cleanup_txq()
1687 while ((pkt = _dhd_wlfc_pktq_pdeq_with_fn(txq, prec, fn, arg))) { in _dhd_wlfc_cleanup_txq()
2117 dhd_wlfc_suppressed_acked_update(dhd_pub_t *dhd, uint16 hslot, uint8 prec, uint8 hcnt) in dhd_wlfc_suppressed_acked_update() argument
2146 ASSERT(((prec << 1) + 1) < pq->num_prec); in dhd_wlfc_suppressed_acked_update()
2148 q = &pq->q[((prec << 1) + 1)]; in dhd_wlfc_suppressed_acked_update()
2189 ctx->pkt_cnt_in_q[DHD_PKTTAG_IF(PKTTAG(p))][prec]--; in dhd_wlfc_suppressed_acked_update()
2190 ctx->pkt_cnt_per_ac[prec]--; in dhd_wlfc_suppressed_acked_update()
2485 int prec; in _dhd_wlfc_suppress_txq() local
2495 for (prec = 0; prec < txq->num_prec; prec++) { in _dhd_wlfc_suppress_txq()
2496 while ((pkt = _dhd_wlfc_pktq_pdeq_with_fn(txq, prec, fn, arg))) { in _dhd_wlfc_suppress_txq()