xref: /openbmc/linux/drivers/net/ethernet/intel/ice/ice_irq.h (revision cfebc0a36ea5518d6b32a6999da5accf0a94fafa)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (C) 2023, Intel Corporation. */
3 
4 #ifndef _ICE_IRQ_H_
5 #define _ICE_IRQ_H_
6 
7 struct ice_irq_entry {
8 	unsigned int index;
9 };
10 
11 struct ice_irq_tracker {
12 	struct xarray entries;
13 	u16 num_entries;	/* total vectors available */
14 };
15 
16 int ice_init_interrupt_scheme(struct ice_pf *pf);
17 void ice_clear_interrupt_scheme(struct ice_pf *pf);
18 
19 struct msi_map ice_alloc_irq(struct ice_pf *pf);
20 void ice_free_irq(struct ice_pf *pf, struct msi_map map);
21 
22 #endif
23