Lines Matching refs:sq

383 	struct t4_sq sq;  member
527 static inline int t4_sq_onchip(struct t4_sq *sq) in t4_sq_onchip() argument
529 return sq->flags & T4_SQ_ONCHIP; in t4_sq_onchip()
534 return wq->sq.in_use == 0; in t4_sq_empty()
539 return wq->sq.in_use == (wq->sq.size - 1); in t4_sq_full()
544 return wq->sq.size - 1 - wq->sq.in_use; in t4_sq_avail()
549 wq->sq.in_use++; in t4_sq_produce()
550 if (++wq->sq.pidx == wq->sq.size) in t4_sq_produce()
551 wq->sq.pidx = 0; in t4_sq_produce()
552 wq->sq.wq_pidx += DIV_ROUND_UP(len16*16, T4_EQ_ENTRY_SIZE); in t4_sq_produce()
553 if (wq->sq.wq_pidx >= wq->sq.size * T4_SQ_NUM_SLOTS) in t4_sq_produce()
554 wq->sq.wq_pidx %= wq->sq.size * T4_SQ_NUM_SLOTS; in t4_sq_produce()
559 if (wq->sq.cidx == wq->sq.flush_cidx) in t4_sq_consume()
560 wq->sq.flush_cidx = -1; in t4_sq_consume()
561 wq->sq.in_use--; in t4_sq_consume()
562 if (++wq->sq.cidx == wq->sq.size) in t4_sq_consume()
563 wq->sq.cidx = 0; in t4_sq_consume()
568 return wq->sq.queue[wq->sq.size].status.host_wq_pidx; in t4_sq_host_wq_pidx()
573 return wq->sq.size * T4_SQ_NUM_SLOTS; in t4_sq_wq_size()
616 if (wq->sq.bar2_va) { in t4_ring_sq_db()
617 if (inc == 1 && wq->sq.bar2_qid == 0 && wqe) { in t4_ring_sq_db()
618 pr_debug("WC wq->sq.pidx = %d\n", wq->sq.pidx); in t4_ring_sq_db()
620 (wq->sq.bar2_va + SGE_UDB_WCDOORBELL), in t4_ring_sq_db()
623 pr_debug("DB wq->sq.pidx = %d\n", wq->sq.pidx); in t4_ring_sq_db()
624 writel(PIDX_T5_V(inc) | QID_V(wq->sq.bar2_qid), in t4_ring_sq_db()
625 wq->sq.bar2_va + SGE_UDB_KDOORBELL); in t4_ring_sq_db()
632 writel(QID_V(wq->sq.qid) | PIDX_V(inc), wq->db); in t4_ring_sq_db()