Lines Matching defs:rspq
446 qs->rspq.holdoff_tmr = uimax(p->coalesce_nsecs/100, 1U);
447 qs->rspq.polling = 0 /* p->polling */;
763 /* mbufs are allocated on demand when a rspq entry is processed. */
826 lock = (sc->flags & USING_MSIX) ? &qs->rspq.lock :
827 &sc->sge.qs[0].rspq.lock;
838 if (status & (1 << qs->rspq.cntxt_id)) {
839 if (qs->rspq.credits) {
840 refill_rspq(sc, &qs->rspq, 1);
841 qs->rspq.credits--;
843 1 << qs->rspq.cntxt_id);
862 qs->rspq.cntxt_id = id;
1556 if (q->rspq.desc) {
1558 t3_sge_disable_rspcntxt(sc, q->rspq.cntxt_id);
1561 bus_dmamap_unload(q->rspq.desc_tag, q->rspq.desc_map);
1563 // bus_dmamem_free(q->rspq.desc_tag, &q->rspq.phys_addr, 1);
2008 &q->rspq.phys_addr, &q->rspq.desc, NULL,
2009 &q->rspq.desc_tag, &q->rspq.desc_map,
2064 q->rspq.gen = 1;
2065 q->rspq.cidx = 0;
2066 q->rspq.size = p->rspq_size;
2077 ret = -t3_sge_init_rspcntxt(sc, q->rspq.cntxt_id, irq_vec_idx,
2078 q->rspq.phys_addr, q->rspq.size,
2128 snprintf(q->rspq.lockbuf, RSPQ_NAME_LEN, "t3 rspq lock %d:%d",
2130 MTX_INIT(&q->rspq.lock, q->rspq.lockbuf, NULL, MTX_DEF);
2138 refill_rspq(sc, &q->rspq, q->rspq.size - 1);
2140 t3_write_reg(sc, A_SG_GTS, V_RSPQ(q->rspq.cntxt_id) |
2141 V_NEWTIMER(q->rspq.holdoff_tmr));
2389 struct sge_rspq *rspq = &qs->rspq;
2390 struct rsp_desc *r = &rspq->desc[rspq->cidx];
2396 if (cxgb_debug && rspq->holdoff_tmr != last_holdoff) {
2397 printf("next_holdoff=%d\n", rspq->holdoff_tmr);
2398 last_holdoff = rspq->holdoff_tmr;
2401 rspq->next_holdoff = rspq->holdoff_tmr;
2403 while (__predict_true(budget_left && is_new_response(r, rspq))) {
2416 printf("IMM DATA VALID opcode=0x%x rspq->cidx=%d\n", r->rss_hdr.opcode, rspq->cidx);
2418 if(get_imm_packet(adap, r, &rspq->rspq_mh) == 0) {
2419 rspq->next_holdoff = NOMEM_INTR_DELAY;
2428 if (rspq->rspq_mbuf == NULL)
2429 rspq->rspq_mbuf = m_gethdr(M_DONTWAIT, MT_DATA);
2436 if (rspq->rspq_mbuf == NULL && m == NULL) {
2437 rspq->next_holdoff = NOMEM_INTR_DELAY;
2441 if (get_imm_packet(adap, r, rspq->rspq_mbuf, m, flags))
2445 rspq->imm_data++;
2458 eop = get_packet(adap, drop_thresh, qs, &rspq->rspq_mh, r, m);
2460 if (rspq->rspq_mbuf == NULL)
2461 rspq->rspq_mbuf = m_gethdr(M_DONTWAIT, MT_DATA);
2462 if (rspq->rspq_mbuf == NULL) {
2466 eop = get_packet(adap, drop_thresh, qs, rspq->rspq_mbuf, r);
2471 rspq->pure_rsps++;
2482 if (__predict_false(++rspq->cidx == rspq->size)) {
2483 rspq->cidx = 0;
2484 rspq->gen ^= 1;
2485 r = rspq->desc;
2489 if (++rspq->credits >= (rspq->size / 4)) {
2490 refill_rspq(adap, rspq, rspq->credits);
2491 rspq->credits = 0;
2495 prefetch(mtod(rspq->rspq_mh.mh_head, uint8_t *));
2496 prefetch(mtod(rspq->rspq_mh.mh_head, uint8_t *) + L1_CACHE_BYTES);
2499 t3_rx_eth_lro(adap, rspq, rspq->rspq_mh.mh_head, ethpad,
2502 rspq->rspq_mh.mh_head = NULL;
2504 rspq->rspq_mh.mh_head->m_pkthdr.csum_data = rss_csum;
2508 m_set_priority(rspq->rspq_mh.mh_head, rss_hash);
2564 struct sge_rspq *q0 = &adap->sge.qs[0].rspq;
2578 process_responses_gts(adap, &adap->sge.qs[i].rspq);
2594 struct sge_rspq *q0 = &adap->sge.qs[0].rspq;
2600 if (process_responses_gts(adap, &adap->sge.qs[i].rspq))
2614 struct sge_rspq *rspq = &qs->rspq;
2616 mtx_lock(&rspq->lock);
2617 if (process_responses_gts(adap, rspq) == 0)
2618 rspq->unhandled_irqs++;
2619 mtx_unlock(&rspq->lock);
2649 if (!qs->rspq.desc || idx >= qs->rspq.size)
2651 memcpy(data, &qs->rspq.desc[idx], sizeof(struct rsp_desc));