Lines Matching refs:q

49 int ionic_queue_init(struct ionic_queue *q, struct device *dma_dev,
59 void ionic_queue_destroy(struct ionic_queue *q, struct device *dma_dev);
69 static inline bool ionic_queue_empty(struct ionic_queue *q) in ionic_queue_empty() argument
71 return q->prod == q->cons; in ionic_queue_empty()
82 static inline u16 ionic_queue_length(struct ionic_queue *q) in ionic_queue_length() argument
84 return (q->prod - q->cons) & q->mask; in ionic_queue_length()
95 static inline u16 ionic_queue_length_remaining(struct ionic_queue *q) in ionic_queue_length_remaining() argument
97 return q->mask - ionic_queue_length(q); in ionic_queue_length_remaining()
108 static inline bool ionic_queue_full(struct ionic_queue *q) in ionic_queue_full() argument
110 return q->mask == ionic_queue_length(q); in ionic_queue_full()
135 static inline void *ionic_queue_at(struct ionic_queue *q, u16 idx) in ionic_queue_at() argument
137 return q->ptr + ((unsigned long)idx << q->stride_log2); in ionic_queue_at()
146 static inline void *ionic_queue_at_prod(struct ionic_queue *q) in ionic_queue_at_prod() argument
148 return ionic_queue_at(q, q->prod); in ionic_queue_at_prod()
157 static inline void *ionic_queue_at_cons(struct ionic_queue *q) in ionic_queue_at_cons() argument
159 return ionic_queue_at(q, q->cons); in ionic_queue_at_cons()
169 static inline u16 ionic_queue_next(struct ionic_queue *q, u16 idx) in ionic_queue_next() argument
171 return (idx + 1) & q->mask; in ionic_queue_next()
180 static inline void ionic_queue_produce(struct ionic_queue *q) in ionic_queue_produce() argument
182 q->prod = ionic_queue_next(q, q->prod); in ionic_queue_produce()
193 static inline void ionic_queue_consume(struct ionic_queue *q) in ionic_queue_consume() argument
195 q->cons = ionic_queue_next(q, q->cons); in ionic_queue_consume()
207 static inline void ionic_queue_consume_entries(struct ionic_queue *q, in ionic_queue_consume_entries() argument
210 q->cons = (q->cons + entries) & q->mask; in ionic_queue_consume_entries()
218 static inline void ionic_queue_dbell_init(struct ionic_queue *q, u32 qid) in ionic_queue_dbell_init() argument
220 q->dbell = IONIC_DBELL_QID(qid); in ionic_queue_dbell_init()
229 static inline u64 ionic_queue_dbell_val(struct ionic_queue *q) in ionic_queue_dbell_val() argument
231 return q->dbell | q->prod; in ionic_queue_dbell_val()