ARM/ARM64 GPIO IRQ CPU Affinity - is it supported?

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
 
GPIO interrupt is a signal on one of GPIO controller's input pins.
It cannot have CPU affinity as the signal is not delivered to a CPU.
What gets delivered to the CPU (perhaps, also indirectly) is the controller's own interrupt.
 
Rodney872, glad to hear of your success with Arm64 GPIO interrupt controllers. I tried to send a direct message, but it did not work, so I leave a note here. No I am not wanting to take over this discussion.
Do you have a blog or writeups you post some where that others like me could read and learn from? I have a blog at this link. I was sharing details on making a JTAG connection with the Tigard Board to the JTAG pins for the Raspberry Pi 4B.
https://ghostbsd-arm64.blogspot.com/2024/02/tigard-ft232h-board-connectons-to.html

I am working to setup a correct Uart3-overlay.dts file to be able to use UART3 for connection to a GPS serial port unit for a NTP Time server.
https://ghostbsd-arm64.blogspot.com/2024/02/uart3-serial-port-how-to-locate-source.html
https://ghostbsd-arm64.blogspot.com/2023/09/raspberry-pi-4b-uart3-enable.html
https://ghostbsd-arm64.blogspot.com/2023/08/raspberry-pi-4-device-tree-compile-and.html
https://ghostbsd-arm64.blogspot.com/2023/02/gpio-pins-on-raspberry-pi-4b-how-to-use.html
 
Back
Top