Lines Matching refs:dst

241     IRQDest *dst;  in IRQ_local_pipe()  local
245 dst = &opp->dst[n_CPU]; in IRQ_local_pipe()
254 dst->outputs_active[src->output]); in IRQ_local_pipe()
262 if (!was_active && dst->outputs_active[src->output]++ == 0) { in IRQ_local_pipe()
265 qemu_irq_raise(dst->irqs[src->output]); in IRQ_local_pipe()
268 if (was_active && --dst->outputs_active[src->output] == 0) { in IRQ_local_pipe()
271 qemu_irq_lower(dst->irqs[src->output]); in IRQ_local_pipe()
285 IRQ_setbit(&dst->raised, n_IRQ); in IRQ_local_pipe()
287 IRQ_resetbit(&dst->raised, n_IRQ); in IRQ_local_pipe()
290 IRQ_check(opp, &dst->raised); in IRQ_local_pipe()
292 if (active && priority <= dst->ctpr) { in IRQ_local_pipe()
294 __func__, n_IRQ, priority, dst->ctpr, n_CPU); in IRQ_local_pipe()
299 if (IRQ_get_next(opp, &dst->servicing) >= 0 && in IRQ_local_pipe()
300 priority <= dst->servicing.priority) { in IRQ_local_pipe()
302 __func__, n_IRQ, dst->servicing.next, n_CPU); in IRQ_local_pipe()
305 __func__, n_CPU, n_IRQ, dst->raised.next); in IRQ_local_pipe()
306 qemu_irq_raise(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_INT]); in IRQ_local_pipe()
309 IRQ_get_next(opp, &dst->servicing); in IRQ_local_pipe()
310 if (dst->raised.priority > dst->ctpr && in IRQ_local_pipe()
311 dst->raised.priority > dst->servicing.priority) { in IRQ_local_pipe()
313 __func__, n_IRQ, dst->raised.next, dst->raised.priority, in IRQ_local_pipe()
314 dst->ctpr, dst->servicing.priority, n_CPU); in IRQ_local_pipe()
318 __func__, n_IRQ, dst->ctpr, dst->servicing.priority, n_CPU); in IRQ_local_pipe()
319 qemu_irq_lower(opp->dst[n_CPU].irqs[OPENPIC_OUTPUT_INT]); in IRQ_local_pipe()
566 IRQDest *dst; in openpic_gbl_write() local
598 dst = &opp->dst[idx]; in openpic_gbl_write()
599 qemu_irq_raise(dst->irqs[OPENPIC_OUTPUT_RESET]); in openpic_gbl_write()
602 dst = &opp->dst[idx]; in openpic_gbl_write()
603 qemu_irq_lower(dst->irqs[OPENPIC_OUTPUT_RESET]); in openpic_gbl_write()
970 IRQDest *dst; in openpic_cpu_write_internal() local
983 dst = &opp->dst[idx]; in openpic_cpu_write_internal()
997 dst->ctpr = val & 0x0000000F; in openpic_cpu_write_internal()
1000 __func__, idx, dst->ctpr, dst->raised.priority, in openpic_cpu_write_internal()
1001 dst->servicing.priority); in openpic_cpu_write_internal()
1003 if (dst->raised.priority <= dst->ctpr) { in openpic_cpu_write_internal()
1006 qemu_irq_lower(dst->irqs[OPENPIC_OUTPUT_INT]); in openpic_cpu_write_internal()
1007 } else if (dst->raised.priority > dst->servicing.priority) { in openpic_cpu_write_internal()
1009 __func__, idx, dst->raised.next); in openpic_cpu_write_internal()
1010 qemu_irq_raise(dst->irqs[OPENPIC_OUTPUT_INT]); in openpic_cpu_write_internal()
1022 s_IRQ = IRQ_get_next(opp, &dst->servicing); in openpic_cpu_write_internal()
1029 IRQ_resetbit(&dst->servicing, s_IRQ); in openpic_cpu_write_internal()
1031 s_IRQ = IRQ_get_next(opp, &dst->servicing); in openpic_cpu_write_internal()
1033 n_IRQ = IRQ_get_next(opp, &dst->raised); in openpic_cpu_write_internal()
1037 IVPR_PRIORITY(src->ivpr) > dst->servicing.priority) { in openpic_cpu_write_internal()
1040 qemu_irq_raise(opp->dst[idx].irqs[OPENPIC_OUTPUT_INT]); in openpic_cpu_write_internal()
1056 static uint32_t openpic_iack(OpenPICState *opp, IRQDest *dst, int cpu) in openpic_iack() argument
1062 qemu_irq_lower(dst->irqs[OPENPIC_OUTPUT_INT]); in openpic_iack()
1064 irq = IRQ_get_next(opp, &dst->raised); in openpic_iack()
1074 !(IVPR_PRIORITY(src->ivpr) > dst->ctpr)) { in openpic_iack()
1076 __func__, irq, dst->ctpr, src->ivpr); in openpic_iack()
1081 IRQ_setbit(&dst->servicing, irq); in openpic_iack()
1089 IRQ_resetbit(&dst->raised, irq); in openpic_iack()
1113 IRQDest *dst; in openpic_cpu_read_internal() local
1126 dst = &opp->dst[idx]; in openpic_cpu_read_internal()
1130 retval = dst->ctpr; in openpic_cpu_read_internal()
1136 retval = openpic_iack(opp, dst, idx); in openpic_cpu_read_internal()
1297 opp->dst[i].ctpr = 15; in openpic_reset()
1298 opp->dst[i].raised.next = -1; in openpic_reset()
1299 opp->dst[i].raised.priority = 0; in openpic_reset()
1300 bitmap_clear(opp->dst[i].raised.queue, 0, IRQQUEUE_SIZE_BITS); in openpic_reset()
1301 opp->dst[i].servicing.next = -1; in openpic_reset()
1302 opp->dst[i].servicing.priority = 0; in openpic_reset()
1303 bitmap_clear(opp->dst[i].servicing.queue, 0, IRQQUEUE_SIZE_BITS); in openpic_reset()
1481 VMSTATE_STRUCT_VARRAY_UINT32(dst, OpenPICState, nb_cpus, 0,
1594 opp->dst[i].irqs = g_new0(qemu_irq, OPENPIC_OUTPUT_NB); in openpic_realize()
1596 sysbus_init_irq(d, &opp->dst[i].irqs[j]); in openpic_realize()
1599 opp->dst[i].raised.queue_size = IRQQUEUE_SIZE_BITS; in openpic_realize()
1600 opp->dst[i].raised.queue = bitmap_new(IRQQUEUE_SIZE_BITS); in openpic_realize()
1601 opp->dst[i].servicing.queue_size = IRQQUEUE_SIZE_BITS; in openpic_realize()
1602 opp->dst[i].servicing.queue = bitmap_new(IRQQUEUE_SIZE_BITS); in openpic_realize()