Multiple EQs may share the same IRQ in subsequent patches. Instead of calling the IRQ handler directly, the EQ will register to an atomic chain notfier. The Linux built-in shared IRQ is not used because it forces the caller to disable the IRQ and clear affinity before free_irq() can be called. This patch is the first step in the separation of IRQ and EQ logic.
Showing the changes to include/linux (1 of 5 files). Show all
Unified · Split
| @@ -26,8 +26,7 @@ struct mlx5_eq_param { · 25 unmodified lines | ||
| 26 | 26 | u8 index; |
| 27 | 27 | int nent; |
| 28 | 28 | u64 mask; |
| 29 | − void *context; | |
| 30 | − irq_handler_t handler; | |
| 29 | + struct notifier_block *nb; | |
| 31 | 30 | }; |
| 32 | 31 | |
| 33 | 32 | struct mlx5_eq * |