1837f08fdSAnirudh Venkataramanan /* SPDX-License-Identifier: GPL-2.0 */ 2837f08fdSAnirudh Venkataramanan /* Copyright (c) 2018, Intel Corporation. */ 3837f08fdSAnirudh Venkataramanan 4837f08fdSAnirudh Venkataramanan #ifndef _ICE_H_ 5837f08fdSAnirudh Venkataramanan #define _ICE_H_ 6837f08fdSAnirudh Venkataramanan 7837f08fdSAnirudh Venkataramanan #include <linux/types.h> 8837f08fdSAnirudh Venkataramanan #include <linux/errno.h> 9837f08fdSAnirudh Venkataramanan #include <linux/kernel.h> 10837f08fdSAnirudh Venkataramanan #include <linux/module.h> 11837f08fdSAnirudh Venkataramanan #include <linux/netdevice.h> 12837f08fdSAnirudh Venkataramanan #include <linux/compiler.h> 13*dc49c772SAnirudh Venkataramanan #include <linux/etherdevice.h> 14837f08fdSAnirudh Venkataramanan #include <linux/pci.h> 15837f08fdSAnirudh Venkataramanan #include <linux/aer.h> 167ec59eeaSAnirudh Venkataramanan #include <linux/delay.h> 17837f08fdSAnirudh Venkataramanan #include <linux/bitmap.h> 18837f08fdSAnirudh Venkataramanan #include "ice_devids.h" 19837f08fdSAnirudh Venkataramanan #include "ice_type.h" 209c20346bSAnirudh Venkataramanan #include "ice_switch.h" 21f31e4b6fSAnirudh Venkataramanan #include "ice_common.h" 229c20346bSAnirudh Venkataramanan #include "ice_sched.h" 23837f08fdSAnirudh Venkataramanan 24837f08fdSAnirudh Venkataramanan #define ICE_BAR0 0 25f31e4b6fSAnirudh Venkataramanan #define ICE_AQ_LEN 64 26837f08fdSAnirudh Venkataramanan 27837f08fdSAnirudh Venkataramanan #define ICE_DFLT_NETIF_M (NETIF_MSG_DRV | NETIF_MSG_PROBE | NETIF_MSG_LINK) 28837f08fdSAnirudh Venkataramanan 29837f08fdSAnirudh Venkataramanan enum ice_state { 30837f08fdSAnirudh Venkataramanan __ICE_DOWN, 31837f08fdSAnirudh Venkataramanan __ICE_STATE_NBITS /* must be last */ 32837f08fdSAnirudh Venkataramanan }; 33837f08fdSAnirudh Venkataramanan 34837f08fdSAnirudh Venkataramanan struct ice_pf { 35837f08fdSAnirudh Venkataramanan struct pci_dev *pdev; 36837f08fdSAnirudh Venkataramanan DECLARE_BITMAP(state, __ICE_STATE_NBITS); 37837f08fdSAnirudh Venkataramanan u32 msg_enable; 38837f08fdSAnirudh Venkataramanan struct ice_hw hw; 39837f08fdSAnirudh Venkataramanan }; 40837f08fdSAnirudh Venkataramanan #endif /* _ICE_H_ */ 41