Lines Matching refs:rspq
677 qs->rspq.holdoff_tmr = max(p->coalesce_usecs * 10, 1U); in t3_update_qset_coalesce()
678 qs->rspq.polling = 0 /* p->polling */; in t3_update_qset_coalesce()
1075 lock = (sc->flags & USING_MSIX) ? &qs->rspq.lock : in sge_timer_reclaim()
1076 &sc->sge.qs[0].rspq.lock; in sge_timer_reclaim()
1087 if (status & (1 << qs->rspq.cntxt_id)) { in sge_timer_reclaim()
1088 if (qs->rspq.credits) { in sge_timer_reclaim()
1089 refill_rspq(sc, &qs->rspq, 1); in sge_timer_reclaim()
1090 qs->rspq.credits--; in sge_timer_reclaim()
1092 1 << qs->rspq.cntxt_id); in sge_timer_reclaim()
1111 qs->rspq.cntxt_id = id; in init_qset_cntxt()
2035 if (q->rspq.desc) { in t3_free_qset()
2037 t3_sge_disable_rspcntxt(sc, q->rspq.cntxt_id); in t3_free_qset()
2040 bus_dmamap_unload(q->rspq.desc_tag, q->rspq.desc_map); in t3_free_qset()
2041 bus_dmamem_free(q->rspq.desc_tag, q->rspq.desc, in t3_free_qset()
2042 q->rspq.desc_map); in t3_free_qset()
2043 bus_dma_tag_destroy(q->rspq.desc_tag); in t3_free_qset()
2044 MTX_DESTROY(&q->rspq.lock); in t3_free_qset()
2456 &q->rspq.phys_addr, &q->rspq.desc, NULL, in t3_sge_alloc_qset()
2457 &q->rspq.desc_tag, &q->rspq.desc_map, in t3_sge_alloc_qset()
2463 snprintf(q->rspq.lockbuf, RSPQ_NAME_LEN, "t3 rspq lock %d:%d", in t3_sge_alloc_qset()
2465 MTX_INIT(&q->rspq.lock, q->rspq.lockbuf, NULL, MTX_DEF); in t3_sge_alloc_qset()
2495 q->rspq.gen = 1; in t3_sge_alloc_qset()
2496 q->rspq.cidx = 0; in t3_sge_alloc_qset()
2497 q->rspq.size = p->rspq_size; in t3_sge_alloc_qset()
2534 ret = -t3_sge_init_rspcntxt(sc, q->rspq.cntxt_id, irq_vec_idx, in t3_sge_alloc_qset()
2535 q->rspq.phys_addr, q->rspq.size, in t3_sge_alloc_qset()
2590 refill_rspq(sc, &q->rspq, q->rspq.size - 1); in t3_sge_alloc_qset()
2592 t3_write_reg(sc, A_SG_GTS, V_RSPQ(q->rspq.cntxt_id) | in t3_sge_alloc_qset()
2593 V_NEWTIMER(q->rspq.holdoff_tmr)); in t3_sge_alloc_qset()
2822 struct sge_rspq *rspq = &qs->rspq; in process_responses() local
2823 struct rsp_desc *r = &rspq->desc[rspq->cidx]; in process_responses()
2831 struct t3_mbuf_hdr *mh = &rspq->rspq_mh; in process_responses()
2834 if (cxgb_debug && rspq->holdoff_tmr != last_holdoff) { in process_responses()
2835 printf("next_holdoff=%d\n", rspq->holdoff_tmr); in process_responses()
2836 last_holdoff = rspq->holdoff_tmr; in process_responses()
2839 rspq->next_holdoff = rspq->holdoff_tmr; in process_responses()
2841 while (__predict_true(budget_left && is_new_response(r, rspq))) { in process_responses()
2869 rspq->async_notif++; in process_responses()
2876 rspq->next_holdoff = NOMEM_INTR_DELAY; in process_responses()
2889 rspq->imm_data++; in process_responses()
2904 rspq->pure_rsps++; in process_responses()
2913 rspq->offload_pkts++; in process_responses()
2956 if (__predict_false(++rspq->cidx == rspq->size)) { in process_responses()
2957 rspq->cidx = 0; in process_responses()
2958 rspq->gen ^= 1; in process_responses()
2959 r = rspq->desc; in process_responses()
2962 if (++rspq->credits >= 64) { in process_responses()
2963 refill_rspq(adap, rspq, rspq->credits); in process_responses()
2964 rspq->credits = 0; in process_responses()
3015 return (process_responses_gts(adap, &qs->rspq)); in cxgb_debugnet_poll_rx()
3031 struct sge_rspq *q0 = &adap->sge.qs[0].rspq; in t3b_intr()
3048 process_responses_gts(adap, &adap->sge.qs[i].rspq); in t3b_intr()
3062 struct sge_rspq *q0 = &adap->sge.qs[0].rspq; in t3_intr_msi()
3068 if (process_responses_gts(adap, &adap->sge.qs[i].rspq)) in t3_intr_msi()
3083 struct sge_rspq *rspq = &qs->rspq; in t3_intr_msix() local
3085 if (process_responses_gts(adap, rspq) == 0) in t3_intr_msix()
3086 rspq->unhandled_irqs++; in t3_intr_msix()
3093 struct sge_rspq *rspq; in t3_dump_rspq() local
3100 rspq = arg1; in t3_dump_rspq()
3101 qs = rspq_to_qset(rspq); in t3_dump_rspq()
3102 if (rspq->rspq_dump_count == 0) in t3_dump_rspq()
3104 if (rspq->rspq_dump_count > RSPQ_Q_SIZE) { in t3_dump_rspq()
3106 "dump count is too large %d\n", rspq->rspq_dump_count); in t3_dump_rspq()
3107 rspq->rspq_dump_count = 0; in t3_dump_rspq()
3110 if (rspq->rspq_dump_start > (RSPQ_Q_SIZE-1)) { in t3_dump_rspq()
3113 rspq->rspq_dump_start); in t3_dump_rspq()
3114 rspq->rspq_dump_start = 0; in t3_dump_rspq()
3117 err = t3_sge_read_rspq(qs->port->adapter, rspq->cntxt_id, data); in t3_dump_rspq()
3131 sbuf_printf(sb, " start=%d -> end=%d\n", rspq->rspq_dump_start, in t3_dump_rspq()
3132 (rspq->rspq_dump_start + rspq->rspq_dump_count) & (RSPQ_Q_SIZE-1)); in t3_dump_rspq()
3134 dump_end = rspq->rspq_dump_start + rspq->rspq_dump_count; in t3_dump_rspq()
3135 for (i = rspq->rspq_dump_start; i < dump_end; i++) { in t3_dump_rspq()
3138 rspd = &rspq->desc[idx]; in t3_dump_rspq()
3181 err = t3_sge_read_ecntxt(qs->port->adapter, qs->rspq.cntxt_id, data); in t3_dump_txq_eth()
3309 lock = (sc->flags & USING_MSIX) ? &qs->rspq.lock : in t3_set_coalesce_usecs()
3310 &sc->sge.qs[0].rspq.lock; in t3_set_coalesce_usecs()
3314 t3_write_reg(sc, A_SG_GTS, V_RSPQ(qs->rspq.cntxt_id) | in t3_set_coalesce_usecs()
3315 V_NEWTIMER(qs->rspq.holdoff_tmr)); in t3_set_coalesce_usecs()
3490 CTLFLAG_RD, &qs->rspq.size, in t3_add_configured_sysctls()
3493 CTLFLAG_RD, &qs->rspq.cidx, in t3_add_configured_sysctls()
3496 CTLFLAG_RD, &qs->rspq.credits, in t3_add_configured_sysctls()
3499 CTLFLAG_RD, &qs->rspq.starved, in t3_add_configured_sysctls()
3502 CTLFLAG_RD, &qs->rspq.phys_addr, in t3_add_configured_sysctls()
3505 CTLFLAG_RW, &qs->rspq.rspq_dump_start, in t3_add_configured_sysctls()
3508 CTLFLAG_RW, &qs->rspq.rspq_dump_count, in t3_add_configured_sysctls()
3512 &qs->rspq, 0, t3_dump_rspq, "A", in t3_add_configured_sysctls()
3706 if (!qs->rspq.desc || idx >= qs->rspq.size) in t3_get_desc()
3708 memcpy(data, &qs->rspq.desc[idx], sizeof(struct rsp_desc)); in t3_get_desc()