xref: /linux/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.h (revision 4b4193256c8d3bc3a5397b5cd9494c2ad386317d)
175a6faf6SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2*ab3518acSMark Starovoytov /* Atlantic Network Driver
3*ab3518acSMark Starovoytov  *
4*ab3518acSMark Starovoytov  * Copyright (C) 2014-2019 aQuantia Corporation
5*ab3518acSMark Starovoytov  * Copyright (C) 2019-2020 Marvell International Ltd.
6a4d36e20SDavid VomLehn  */
7a4d36e20SDavid VomLehn 
8a4d36e20SDavid VomLehn /* File aq_pci_func.h: Declaration of PCI functions. */
9a4d36e20SDavid VomLehn 
10a4d36e20SDavid VomLehn #ifndef AQ_PCI_FUNC_H
11a4d36e20SDavid VomLehn #define AQ_PCI_FUNC_H
12a4d36e20SDavid VomLehn 
13a4d36e20SDavid VomLehn #include "aq_common.h"
141a713f87SIgor Russkikh #include "aq_nic.h"
15a4d36e20SDavid VomLehn 
164948293fSIgor Russkikh struct aq_board_revision_s {
174948293fSIgor Russkikh 	unsigned short devid;
184948293fSIgor Russkikh 	unsigned short revision;
194948293fSIgor Russkikh 	const struct aq_hw_ops *ops;
204948293fSIgor Russkikh 	const struct aq_hw_caps_s *caps;
214948293fSIgor Russkikh };
224948293fSIgor Russkikh 
2323ee07adSIgor Russkikh int aq_pci_func_alloc_irq(struct aq_nic_s *self, unsigned int i,
244c83f170SIgor Russkikh 			  char *name, irq_handler_t irq_handler,
254c83f170SIgor Russkikh 			  void *irq_arg, cpumask_t *affinity_mask);
2623ee07adSIgor Russkikh void aq_pci_func_free_irqs(struct aq_nic_s *self);
2723ee07adSIgor Russkikh unsigned int aq_pci_func_get_irq_type(struct aq_nic_s *self);
28a4d36e20SDavid VomLehn 
2958608082SNikita Danilov int aq_pci_func_register_driver(void);
3058608082SNikita Danilov void aq_pci_func_unregister_driver(void);
3158608082SNikita Danilov 
32a4d36e20SDavid VomLehn #endif /* AQ_PCI_FUNC_H */
33