示例#1
0
文件: irq.c 项目: ForayJones/iods
unsigned long save_local_and_disable(int controller)
{
	int i;
	unsigned long flags, mask;

	spin_lock_irqsave(&irq_lock, flags);
	if (controller) {
		mask = au_readl(IC1_MASKSET);
		for (i = 32; i < 64; i++)
			local_disable_irq(i);
	} else {
		mask = au_readl(IC0_MASKSET);
		for (i = 0; i < 32; i++)
			local_disable_irq(i);
	}
	spin_unlock_irqrestore(&irq_lock, flags);

	return mask;
}
示例#2
0
文件: irq.c 项目: E-LLP/n900
static inline void mask_and_ack_level_irq(unsigned int irq_nr)
{
	local_disable_irq(irq_nr);
	au_sync();
#if defined(CONFIG_MIPS_PB1000)
	if (irq_nr == AU1000_GPIO_15) {
		au_writel(0x8000, PB1000_MDR); /* ack int */
		au_sync();
	}
#endif
}
示例#3
0
unsigned long save_local_and_disable(int controller)
{
    int i;
    unsigned long flags, mask;
    save_and_cli(flags);

    if (controller) {
        mask = au_readl(IC1_MASKSET);
        for (i=32; i<64; i++) {
            local_disable_irq(i);
        }
    }
    else {
        mask = au_readl(IC0_MASKSET);
        for (i=0; i<32; i++) {
            local_disable_irq(i);
        }
    }
    restore_flags(flags);
    return mask;
}
示例#4
0
static void shutdown_irq(unsigned int irq_nr)
{
	local_disable_irq(irq_nr);
	return;
}
示例#5
0
文件: irq.c 项目: TitaniumBoy/lin
static inline void mask_and_ack_level_irq(unsigned int irq_nr)
{
	local_disable_irq(irq_nr);
	sync();
	return;
}