Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright 2008-2010 Cisco Systems, Inc.  All rights reserved.
0004  * Copyright 2007 Nuova Systems, Inc.  All rights reserved.
0005  */
0006 
0007 #ifndef _VNIC_ENIC_H_
0008 #define _VNIC_ENIC_H_
0009 
0010 /* Device-specific region: enet configuration */
0011 struct vnic_enet_config {
0012     u32 flags;
0013     u32 wq_desc_count;
0014     u32 rq_desc_count;
0015     u16 mtu;
0016     u16 intr_timer_deprecated;
0017     u8 intr_timer_type;
0018     u8 intr_mode;
0019     char devname[16];
0020     u32 intr_timer_usec;
0021     u16 loop_tag;
0022     u16 vf_rq_count;
0023     u16 num_arfs;
0024 };
0025 
0026 #define VENETF_TSO      0x1 /* TSO enabled */
0027 #define VENETF_LRO      0x2 /* LRO enabled */
0028 #define VENETF_RXCSUM       0x4 /* RX csum enabled */
0029 #define VENETF_TXCSUM       0x8 /* TX csum enabled */
0030 #define VENETF_RSS      0x10    /* RSS enabled */
0031 #define VENETF_RSSHASH_IPV4 0x20    /* Hash on IPv4 fields */
0032 #define VENETF_RSSHASH_TCPIPV4  0x40    /* Hash on TCP + IPv4 fields */
0033 #define VENETF_RSSHASH_IPV6 0x80    /* Hash on IPv6 fields */
0034 #define VENETF_RSSHASH_TCPIPV6  0x100   /* Hash on TCP + IPv6 fields */
0035 #define VENETF_RSSHASH_IPV6_EX  0x200   /* Hash on IPv6 extended fields */
0036 #define VENETF_RSSHASH_TCPIPV6_EX 0x400 /* Hash on TCP + IPv6 ext. fields */
0037 #define VENETF_LOOP     0x800   /* Loopback enabled */
0038 #define VENETF_VXLAN        0x10000 /* VxLAN offload */
0039 
0040 #define VENET_INTR_TYPE_MIN 0   /* Timer specs min interrupt spacing */
0041 #define VENET_INTR_TYPE_IDLE    1   /* Timer specs idle time before irq */
0042 
0043 #define VENET_INTR_MODE_ANY 0   /* Try MSI-X, then MSI, then INTx */
0044 #define VENET_INTR_MODE_MSI 1   /* Try MSI then INTx */
0045 #define VENET_INTR_MODE_INTX    2   /* Try INTx only */
0046 
0047 #endif /* _VNIC_ENIC_H_ */