Lines Matching refs:q
222 #define Q_BASE(q) ((q)->base & SMMU_BASE_ADDR_MASK) argument
223 #define WRAP_MASK(q) (1 << (q)->log2size) argument
224 #define INDEX_MASK(q) (((1 << (q)->log2size)) - 1) argument
225 #define WRAP_INDEX_MASK(q) ((1 << ((q)->log2size + 1)) - 1) argument
227 #define Q_CONS(q) ((q)->cons & INDEX_MASK(q)) argument
228 #define Q_PROD(q) ((q)->prod & INDEX_MASK(q)) argument
230 #define Q_CONS_ENTRY(q) (Q_BASE(q) + (q)->entry_size * Q_CONS(q)) argument
231 #define Q_PROD_ENTRY(q) (Q_BASE(q) + (q)->entry_size * Q_PROD(q)) argument
233 #define Q_CONS_WRAP(q) (((q)->cons & WRAP_MASK(q)) >> (q)->log2size) argument
234 #define Q_PROD_WRAP(q) (((q)->prod & WRAP_MASK(q)) >> (q)->log2size) argument
236 static inline bool smmuv3_q_full(SMMUQueue *q) in smmuv3_q_full() argument
238 return ((q->cons ^ q->prod) & WRAP_INDEX_MASK(q)) == WRAP_MASK(q); in smmuv3_q_full()
241 static inline bool smmuv3_q_empty(SMMUQueue *q) in smmuv3_q_empty() argument
243 return (q->cons & WRAP_INDEX_MASK(q)) == (q->prod & WRAP_INDEX_MASK(q)); in smmuv3_q_empty()
246 static inline void queue_prod_incr(SMMUQueue *q) in queue_prod_incr() argument
248 q->prod = (q->prod + 1) & WRAP_INDEX_MASK(q); in queue_prod_incr()
251 static inline void queue_cons_incr(SMMUQueue *q) in queue_cons_incr() argument
257 q->cons = deposit32(q->cons, 0, q->log2size + 1, q->cons + 1); in queue_cons_incr()