15 测试timer定时器中断,发现没有mask-unmask过程

setup_irq(IRQ_TIMER4, &s3c2410_timer_irq);

中断一般处理流程为ack、mask、handler、unmask。但我测试timer中断,只有初始化时unmask了一次。后面居然没有mask、unmask过程,为什么呢??

请先 登录 后评论

最佳答案 2021-11-23 10:28

是JZ2440 linux2.6内核源码 :

static void s3c_irq_unmask(unsigned int irqno)

{

unsigned long mask;

printk("s3c_irq_unmask=%d\r\n",irqno);

if (irqno != IRQ_TIMER4 && irqno != IRQ_EINT8t23)

irqdbf2("s3c_irq_unmask %d\n", irqno);


irqno -= IRQ_EINT0;


mask = __raw_readl(S3C2410_INTMSK);

mask &= ~(1UL << irqno);

__raw_writel(mask, S3C2410_INTMSK);

}

请先 登录 后评论

其它 1 个回答

百问网_赵老师
擅长:嵌入式开发

看的驱动大全哪个位置的程序呢,贴图一下。

请先 登录 后评论
  • 2 关注
  • 0 收藏,142 浏览
  • estival 提出于 2021-11-08 10:54

相似问题