1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
8 struct roc_bphy_irq_vec {
11 void (*handler)(int irq_num, void *isr_data);
15 struct roc_bphy_irq_chip {
16 struct roc_bphy_irq_vec *irq_vecs;
18 uint64_t avail_irq_bmask;
24 __roc_api struct roc_bphy_irq_chip *roc_bphy_intr_init(void);
25 __roc_api void roc_bphy_intr_fini(struct roc_bphy_irq_chip *irq_chip);
26 __roc_api void roc_bphy_irq_stack_remove(int cpu);
27 __roc_api void *roc_bphy_irq_stack_get(int cpu);
28 __roc_api void roc_bphy_intr_handler(unsigned int irq_num);
30 roc_bphy_irq_handler_set(struct roc_bphy_irq_chip *chip, int irq_num,
31 void (*handler)(int irq_num, void *isr_data),
33 __roc_api bool roc_bphy_intr_available(struct roc_bphy_irq_chip *irq_chip,
36 #endif /* _ROC_BPHY_IRQ_ */