Lines Matching refs:q
187 typedef void (*ionic_desc_cb)(struct ionic_queue *q,
303 static inline unsigned int ionic_q_space_avail(struct ionic_queue *q) in ionic_q_space_avail() argument
305 unsigned int avail = q->tail_idx; in ionic_q_space_avail()
307 if (q->head_idx >= avail) in ionic_q_space_avail()
308 avail += q->num_descs - q->head_idx - 1; in ionic_q_space_avail()
310 avail -= q->head_idx + 1; in ionic_q_space_avail()
315 static inline bool ionic_q_has_space(struct ionic_queue *q, unsigned int want) in ionic_q_has_space() argument
317 return ionic_q_space_avail(q) >= want; in ionic_q_has_space()
365 void ionic_cq_bind(struct ionic_cq *cq, struct ionic_queue *q);
373 struct ionic_queue *q, unsigned int index, const char *name,
376 void ionic_q_map(struct ionic_queue *q, void *base, dma_addr_t base_pa);
377 void ionic_q_cmb_map(struct ionic_queue *q, void __iomem *base, dma_addr_t base_pa);
378 void ionic_q_sg_map(struct ionic_queue *q, void *base, dma_addr_t base_pa);
379 void ionic_q_post(struct ionic_queue *q, bool ring_doorbell, ionic_desc_cb cb,
381 void ionic_q_service(struct ionic_queue *q, struct ionic_cq_info *cq_info,
386 bool ionic_adminq_poke_doorbell(struct ionic_queue *q);
387 bool ionic_txq_poke_doorbell(struct ionic_queue *q);
388 bool ionic_rxq_poke_doorbell(struct ionic_queue *q);