Lines Matching refs:q
103 static u32 xive_read_eq(struct xive_q *q, bool just_peek) in xive_read_eq() argument
107 if (!q->qpage) in xive_read_eq()
109 cur = be32_to_cpup(q->qpage + q->idx); in xive_read_eq()
112 if ((cur >> 31) == q->toggle) in xive_read_eq()
118 q->idx = (q->idx + 1) & q->msk; in xive_read_eq()
121 if (q->idx == 0) in xive_read_eq()
122 q->toggle ^= 1; in xive_read_eq()
158 struct xive_q *q; in xive_scan_interrupts() local
189 q = &xc->queue[prio]; in xive_scan_interrupts()
190 if (atomic_read(&q->pending_count)) { in xive_scan_interrupts()
191 int p = atomic_xchg(&q->pending_count, 0); in xive_scan_interrupts()
193 WARN_ON(p > atomic_read(&q->count)); in xive_scan_interrupts()
194 atomic_sub(p, &q->count); in xive_scan_interrupts()
256 static notrace void xive_dump_eq(const char *name, struct xive_q *q) in xive_dump_eq() argument
260 if (!q->qpage) in xive_dump_eq()
262 idx = q->idx; in xive_dump_eq()
263 i0 = be32_to_cpup(q->qpage + idx); in xive_dump_eq()
264 idx = (idx + 1) & q->msk; in xive_dump_eq()
265 i1 = be32_to_cpup(q->qpage + idx); in xive_dump_eq()
267 q->idx, q->toggle, i0, i1); in xive_dump_eq()
506 struct xive_q *q = &xc->queue[xive_irq_priority]; in xive_try_pick_target() local
514 max = (q->msk + 1) - 1; in xive_try_pick_target()
515 return !!atomic_add_unless(&q->count, 1, max); in xive_try_pick_target()
530 struct xive_q *q = &xc->queue[xive_irq_priority]; in xive_dec_target_count() local
544 atomic_inc(&q->pending_count); in xive_dec_target_count()
1800 static void xive_eq_debug_show_one(struct seq_file *m, struct xive_q *q, u8 prio) in xive_eq_debug_show_one() argument
1804 seq_printf(m, "EQ%d idx=%d T=%d\n", prio, q->idx, q->toggle); in xive_eq_debug_show_one()
1805 if (q->qpage) { in xive_eq_debug_show_one()
1806 for (i = 0; i < q->msk + 1; i++) { in xive_eq_debug_show_one()
1809 seq_printf(m, "%08x%s", be32_to_cpup(q->qpage + i), in xive_eq_debug_show_one()