void
cuda_poll(void)
{
    if (cuda_irq)
	disable_irq(cuda_irq);
    cuda_interrupt(0, NULL);
    if (cuda_irq)
	enable_irq(cuda_irq);
}
Esempio n. 2
0
void
cuda_poll(void)
{
    /* cuda_interrupt only takes a normal lock, we disable
     * interrupts here to avoid re-entering and thus deadlocking.
     */
    disable_irq(cuda_irq);
    cuda_interrupt(0, NULL);
    enable_irq(cuda_irq);
}
Esempio n. 3
0
void
cuda_poll()
{
    unsigned long flags;

    save_flags(flags);
    cli();
    if (via[IFR] & SR_INT)
        cuda_interrupt(0, 0, 0);
    restore_flags(flags);
}
Esempio n. 4
0
void
cuda_poll(void)
{
    unsigned long flags;

    /* cuda_interrupt only takes a normal lock, we disable
     * interrupts here to avoid re-entering and thus deadlocking.
     * An option would be to disable only the IRQ source with
     * disable_irq(), would that work on m68k ? --BenH
     */
    local_irq_save(flags);
    cuda_interrupt(0, NULL, NULL);
    local_irq_restore(flags);
}