Lines Matching refs:rq
338 struct t4_rq rq; member
346 return wq->rq.in_use; in t4_rqes_posted()
351 return wq->rq.in_use == 0; in t4_rq_empty()
356 return wq->rq.in_use == (wq->rq.size - 1); in t4_rq_full()
361 return wq->rq.size - 1 - wq->rq.in_use; in t4_rq_avail()
366 wq->rq.in_use++; in t4_rq_produce()
367 if (++wq->rq.pidx == wq->rq.size) in t4_rq_produce()
368 wq->rq.pidx = 0; in t4_rq_produce()
369 wq->rq.wq_pidx += DIV_ROUND_UP(len16*16, T4_EQ_ENTRY_SIZE); in t4_rq_produce()
370 if (wq->rq.wq_pidx >= wq->rq.size * T4_RQ_NUM_SLOTS) in t4_rq_produce()
371 wq->rq.wq_pidx %= wq->rq.size * T4_RQ_NUM_SLOTS; in t4_rq_produce()
376 wq->rq.in_use--; in t4_rq_consume()
377 wq->rq.msn++; in t4_rq_consume()
378 if (++wq->rq.cidx == wq->rq.size) in t4_rq_consume()
379 wq->rq.cidx = 0; in t4_rq_consume()
384 return wq->rq.queue[wq->rq.size].status.host_wq_pidx; in t4_rq_host_wq_pidx()
389 return wq->rq.size * T4_RQ_NUM_SLOTS; in t4_rq_wq_size()
490 if (wq->rq.bar2_va) { in t4_ring_rq_db()
491 if (inc == 1 && wq->rq.bar2_qid == 0 && wqe) { in t4_ring_rq_db()
493 __func__, wq->rq.pidx); in t4_ring_rq_db()
495 (wq->rq.bar2_va + SGE_UDB_WCDOORBELL), in t4_ring_rq_db()
499 __func__, wq->rq.pidx); in t4_ring_rq_db()
500 writel(PIDX_T5_V(inc) | QID_V(wq->rq.bar2_qid), in t4_ring_rq_db()
501 wq->rq.bar2_va + SGE_UDB_KDOORBELL); in t4_ring_rq_db()
508 writel(QID_V(wq->rq.qid) | PIDX_V(inc), wq->db); in t4_ring_rq_db()
513 return wq->rq.queue[wq->rq.size].status.qp_err; in t4_wq_in_error()
518 wq->rq.queue[wq->rq.size].status.qp_err = 1; in t4_set_wq_in_error()
523 wq->rq.queue[wq->rq.size].status.db_off = 1; in t4_disable_wq_db()
528 wq->rq.queue[wq->rq.size].status.db_off = 0; in t4_enable_wq_db()
533 return !wq->rq.queue[wq->rq.size].status.db_off; in t4_wq_db_enabled()