主题 : 请问4412的GPIO外部中断和GIC中提到的EINT有什么关联? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 102088
精华: 0
发帖: 8
金钱: 50 两
威望: 10 点
综合积分: 16 分
注册时间: 2014-03-24
最后登录: 2014-09-02
楼主  发表于: 2014-03-24 17:22

 请问4412的GPIO外部中断和GIC中提到的EINT有什么关联?

使用echo进行中断和cpu绑定时,发现GIC下的可以绑定,exynos-eint下的不能绑定。查看内核代码eint-chip没有定义亲和属性,现在不知道该如何将eint和cpu绑定了。

# cat /proc/interrupts  
67:          0          0          0          0       GIC  dma-pl330.0
68:          0          0          0          0       GIC  dma-pl330.1
75:          0          0          0          0       GIC  s3c2410-wdt
76:          0          0          0          0       GIC  s3c2410-rtc alarm
77:          0          0          0          0       GIC  s3c2410-rtc tick
84:       2387          0          0          0       GIC  exynos4210-uart
85:          0          0          0          0       GIC  exynos4210-uart
....
41:         11          0          0          0  exynos-eint  mma7660
442:          0          0          0          0  exynos-eint  gpio_keys
443:          0          0          0          0  exynos-eint  gpio_keys
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2014-03-24 17:58
我不是很确定你的目的,你能再具体说一下你想做什么吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 102088
精华: 0
发帖: 8
金钱: 50 两
威望: 10 点
综合积分: 16 分
注册时间: 2014-03-24
最后登录: 2014-09-02
2楼  发表于: 2014-03-25 15:16
现在使用了几个外部中断,想把这几个外部中断分别绑定在cpu1、2、3,不让这几个中断全部集中在cpu0,提高下性能。现在发现无法对这几个外部中断进行绑定。
级别: 新手上路
UID: 102088
精华: 0
发帖: 8
金钱: 50 两
威望: 10 点
综合积分: 16 分
注册时间: 2014-03-24
最后登录: 2014-09-02
3楼  发表于: 2014-03-25 15:54
cpu和外部中断的绑定问题。
外部中断在GIC的ID是从48到64,而实际上我们使用irq_request被分配到了ID是416~447,两者的换算关系不知道怎么搞的。
如果想进行中断的绑定,需要对GIC属性下的ID进行修改,exynos-eint属性下 的不能修改(可通过内核代码看出)。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2014-03-25 19:29
一般来说,由哪个cpu来处理哪个中断,完全是由多CPU的调度决定的,就算是同一个中断,你的情况看起来只是因为系统整体的负荷比较轻,用一个核处理大部分中断就足够了。
你确定可以进行你所说的那种绑定吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."