Hello,
I have setup a gpio pin on a Rockchip arm64 board to be an input and trigger an interrupt on an edge change and using an interrupt-filter and an interrupt-thread on bus_setup_intr() - this is working fine with the interrupt being handled by the interrupt-filer in the first instance but, the cpu-affinity is random on each interrupt ie: it appears that each new interrupt triggered gets assigned to a different cpu in some kind of random order....?
I have also setup a timer-interrupt and have been able to set its affinity to a particular cpu using bus_bind_intr() and this is working perfectly.
What I am now trying to do is bind the gpio interrupt to a particular cpu as to not interfere with other cores but bus_bind_intr() is returning 45 which is believe is EOPNOTSUPP - does anyone know if gpio IRQ affinity is supported on arm64?
Otherwise, would anyone know what part of the kernel I should be looking at to include support for gpio irq affinity? Should I look at gic_v3 or is there something higher up that I could look at?
Thanks very much!
Cheers,
Rod
I have setup a gpio pin on a Rockchip arm64 board to be an input and trigger an interrupt on an edge change and using an interrupt-filter and an interrupt-thread on bus_setup_intr() - this is working fine with the interrupt being handled by the interrupt-filer in the first instance but, the cpu-affinity is random on each interrupt ie: it appears that each new interrupt triggered gets assigned to a different cpu in some kind of random order....?
I have also setup a timer-interrupt and have been able to set its affinity to a particular cpu using bus_bind_intr() and this is working perfectly.
What I am now trying to do is bind the gpio interrupt to a particular cpu as to not interfere with other cores but bus_bind_intr() is returning 45 which is believe is EOPNOTSUPP - does anyone know if gpio IRQ affinity is supported on arm64?
Otherwise, would anyone know what part of the kernel I should be looking at to include support for gpio irq affinity? Should I look at gic_v3 or is there something higher up that I could look at?
Thanks very much!
Cheers,
Rod