static void chkint(struct net_data *nd) { if (nd->nd_rirq || nd->nd_wirq) { raise_irq(nd->nd_slot); } else { lower_irq(nd->nd_slot); } }
static void disk_update(struct disk_data *dd) { disk_work(dd); if (dd->dd_stat & DISKBIT_COMPLETE) { raise_irq(dd->dd_slot); } else { lower_irq(dd->dd_slot); } }
void mie_device::device_timer(emu_timer &_timer, device_timer_id id, int param, void *ptr) { timer->adjust(attotime::never); if(control & CTRL_RXB) { control &= ~CTRL_RXB; control |= CTRL_RFB; raise_irq(maple_irqlevel); } if(control & (CTRL_TXB|CTRL_CTXB)) { reply_ready(); lreg -= reply_size; if(reply_partial) { control &= ~CTRL_CTXB; control |= CTRL_EMP; } else { control &= ~(CTRL_TXB|CTRL_CTXB); control |= CTRL_TFB|CTRL_EMP; } } if(control & CTRL_HRES) { raise_irq(maple_irqlevel); } }
static void setirq(struct ser_data *sd) { int rirq = sd->sd_rirq.si_on && (sd->sd_rirq.si_ready || sd->sd_rirq.si_force); int wirq = sd->sd_wirq.si_on && (sd->sd_wirq.si_ready || sd->sd_wirq.si_force); if (rirq || wirq) { raise_irq(sd->sd_slot); } else { lower_irq(sd->sd_slot); } }
static void dopoweroff(void *junk1, uint32_t junk2) { (void)junk1; (void)junk2; /* * This is never seen by the processor, but it breaks the clock * module out of the idle loop. * * XXX this means if you mask slot 31 in IRQE or CIRQE, the * system won't actually power off. This is ok as a hardware * bug for the moment but it would be nice to not have such * behavior. */ raise_irq(LAMEBUS_CONTROLLER_SLOT); main_poweroff(); }