Deniz-Eren / dev-can-linux

Porting of Linux CAN-bus drivers to QNX
GNU General Public License v2.0
5 stars 1 forks source link

Add masking of regular IRQ devices and fix IRQ clash issue #50

Closed Deniz-Eren closed 11 months ago

Deniz-Eren commented 11 months ago

Providing compile time option to mask IRQ at the IRQ or pulse handler.

There is enough question in mind as to where the IRQ should be masked; at the ISR or at the pulse handler.

To facilitate experimentation we implement 2 new compile time configurations config/CONFIG_QNX_INTERRUPT_MASK_ISR and config/CONFIG_QNX_INTERRUPT_MASK_PULSE.

The reason we don't just use config/CONFIG_QNX_INTERRUPT_ATTACH_EVENT is because this function only masks regular IRQs and not MSI/MSI-X interrupt vectors.

Currently the default and recommended configurations are config/CONFIG_QNX_INTERRUPT_ATTACH with config/CONFIG_QNX_INTERRUPT_MASK_PULSE.

Deniz-Eren commented 11 months ago

Major improvements to robustness of interrupt handling and an IRQ handling issue fixed.