Lines Matching refs:sq

337 	struct t4_sq sq;  member
392 static inline int t4_sq_onchip(struct t4_sq *sq) in t4_sq_onchip() argument
394 return sq->flags & T4_SQ_ONCHIP; in t4_sq_onchip()
399 return wq->sq.in_use == 0; in t4_sq_empty()
404 return wq->sq.in_use == (wq->sq.size - 1); in t4_sq_full()
409 return wq->sq.size - 1 - wq->sq.in_use; in t4_sq_avail()
414 wq->sq.in_use++; in t4_sq_produce()
415 if (++wq->sq.pidx == wq->sq.size) in t4_sq_produce()
416 wq->sq.pidx = 0; in t4_sq_produce()
417 wq->sq.wq_pidx += DIV_ROUND_UP(len16*16, T4_EQ_ENTRY_SIZE); in t4_sq_produce()
418 if (wq->sq.wq_pidx >= wq->sq.size * T4_SQ_NUM_SLOTS) in t4_sq_produce()
419 wq->sq.wq_pidx %= wq->sq.size * T4_SQ_NUM_SLOTS; in t4_sq_produce()
424 BUG_ON(wq->sq.in_use < 1); in t4_sq_consume()
425 if (wq->sq.cidx == wq->sq.flush_cidx) in t4_sq_consume()
426 wq->sq.flush_cidx = -1; in t4_sq_consume()
427 wq->sq.in_use--; in t4_sq_consume()
428 if (++wq->sq.cidx == wq->sq.size) in t4_sq_consume()
429 wq->sq.cidx = 0; in t4_sq_consume()
434 return wq->sq.queue[wq->sq.size].status.host_wq_pidx; in t4_sq_host_wq_pidx()
439 return wq->sq.size * T4_SQ_NUM_SLOTS; in t4_sq_wq_size()
463 if (wq->sq.bar2_va) { in t4_ring_sq_db()
464 if (inc == 1 && wq->sq.bar2_qid == 0 && wqe) { in t4_ring_sq_db()
466 __func__, wq->sq.pidx); in t4_ring_sq_db()
468 (wq->sq.bar2_va + SGE_UDB_WCDOORBELL), in t4_ring_sq_db()
472 __func__, wq->sq.pidx); in t4_ring_sq_db()
473 writel(PIDX_T5_V(inc) | QID_V(wq->sq.bar2_qid), in t4_ring_sq_db()
474 wq->sq.bar2_va + SGE_UDB_KDOORBELL); in t4_ring_sq_db()
481 writel(QID_V(wq->sq.qid) | PIDX_V(inc), wq->db); in t4_ring_sq_db()