static void mask_and_ack_maceisa_irq(unsigned int irq)
{
	unsigned long mace_int;

	/* edge triggered */
	mace_int = mace->perif.ctrl.istat;
	mace_int &= ~(1 << (irq - MACEISA_AUDIO_SW_IRQ));
	mace->perif.ctrl.istat = mace_int;

	disable_maceisa_irq(irq);
}
Example #2
0
static void mask_and_ack_maceisa_irq(struct irq_data *d)
{
	unsigned long mace_int;

	/* edge triggered */
	mace_int = mace->perif.ctrl.istat;
	mace_int &= ~(1 << (d->irq - MACEISA_AUDIO_SW_IRQ));
	mace->perif.ctrl.istat = mace_int;

	disable_maceisa_irq(d);
}
Example #3
0
static void mask_and_ack_maceisa_irq(unsigned int irq)
{
    unsigned long mace_int;

    switch (irq) {
    case MACEISA_PARALLEL_IRQ:
    case MACEISA_SERIAL1_TDMAPR_IRQ:
    case MACEISA_SERIAL2_TDMAPR_IRQ:
        /* edge triggered */
        mace_int = mace->perif.ctrl.istat;
        mace_int &= ~(1 << (irq - MACEISA_AUDIO_SW_IRQ));
        mace->perif.ctrl.istat = mace_int;
        break;
    }
    disable_maceisa_irq(irq);
}
Example #4
0
static void mask_and_ack_maceisa_irq(unsigned int irq)
{
	unsigned long mace_int, flags;

	switch (irq) {
	case MACEISA_PARALLEL_IRQ:
	case MACEISA_SERIAL1_TDMAPR_IRQ:
	case MACEISA_SERIAL2_TDMAPR_IRQ:
		/* edge triggered */
		spin_lock_irqsave(&ip32_irq_lock, flags);
		mace_int = mace->perif.ctrl.istat;
		mace_int &= ~(1 << (irq - 33));
		mace->perif.ctrl.istat = mace_int;
		spin_unlock_irqrestore(&ip32_irq_lock, flags);
		break;
	}
	disable_maceisa_irq(irq);
}
Example #5
0
static void mask_and_ack_maceisa_irq(unsigned int irq)
{
	u32 mace_mask;
	unsigned long flags;

	switch (irq) {
	case MACEISA_PARALLEL_IRQ:
	case MACEISA_SERIAL1_TDMAPR_IRQ:
	case MACEISA_SERIAL2_TDMAPR_IRQ:
		save_and_cli(flags);
		mace_mask = mace_read_32(MACEISA_INT_STAT);
		mace_mask &= ~(1 << (irq - 33));
		mace_write_32(MACEISA_INT_STAT, mace_mask);
		restore_flags(flags);
		break;
	}
	disable_maceisa_irq(irq);
}