Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[linux-2.6-microblaze.git] / drivers / net / ethernet / intel / ice / ice.h
index bea1d1e..c7a987c 100644 (file)
@@ -72,6 +72,8 @@
 #include "ice_repr.h"
 #include "ice_eswitch.h"
 #include "ice_lag.h"
+#include "ice_vsi_vlan_ops.h"
+#include "ice_gnss.h"
 
 #define ICE_BAR0               0
 #define ICE_REQ_DESC_MULTIPLE  32
 /* All VF control VSIs share the same IRQ, so assign a unique ID for them */
 #define ICE_RES_VF_CTRL_VEC_ID (ICE_RES_RDMA_VEC_ID - 1)
 #define ICE_INVAL_Q_INDEX      0xffff
-#define ICE_INVAL_VFID         256
 
 #define ICE_MAX_RXQS_PER_TC            256     /* Used when setting VSI context per TC Rx queues */
 
 enum ice_feature {
        ICE_F_DSCP,
        ICE_F_SMA_CTRL,
+       ICE_F_GNSS,
        ICE_F_MAX
 };
 
@@ -330,7 +332,7 @@ struct ice_vsi {
        u16 vsi_num;                    /* HW (absolute) index of this VSI */
        u16 idx;                        /* software index in pf->vsi[] */
 
-       s16 vf_id;                      /* VF ID for SR-IOV VSIs */
+       struct ice_vf *vf;              /* VF associated with this VSI */
 
        u16 ethtype;                    /* Ethernet protocol for pause frame */
        u16 num_gfltr;
@@ -367,6 +369,8 @@ struct ice_vsi {
        u8 irqs_ready:1;
        u8 current_isup:1;               /* Sync 'link up' logging */
        u8 stat_offsets_loaded:1;
+       struct ice_vsi_vlan_ops inner_vlan_ops;
+       struct ice_vsi_vlan_ops outer_vlan_ops;
        u16 num_vlan;
 
        /* queue information */
@@ -467,7 +471,6 @@ enum ice_pf_flags {
        ICE_FLAG_FD_ENA,
        ICE_FLAG_PTP_SUPPORTED,         /* PTP is supported by NVM */
        ICE_FLAG_PTP,                   /* PTP is enabled by software */
-       ICE_FLAG_AUX_ENA,
        ICE_FLAG_ADV_FEATURES,
        ICE_FLAG_TC_MQPRIO,             /* support for Multi queue TC */
        ICE_FLAG_CLS_FLOWER,
@@ -481,9 +484,11 @@ enum ice_pf_flags {
        ICE_FLAG_LEGACY_RX,
        ICE_FLAG_VF_TRUE_PROMISC_ENA,
        ICE_FLAG_MDD_AUTO_RESET_VF,
+       ICE_FLAG_VF_VLAN_PRUNING,
        ICE_FLAG_LINK_LENIENT_MODE_ENA,
        ICE_FLAG_PLUG_AUX_DEV,
        ICE_FLAG_MTU_CHANGED,
+       ICE_FLAG_GNSS,                  /* GNSS successfully initialized */
        ICE_PF_FLAGS_NBITS              /* must be last */
 };
 
@@ -524,15 +529,7 @@ struct ice_pf {
        struct ice_vsi **vsi;           /* VSIs created by the driver */
        struct ice_sw *first_sw;        /* first switch created by firmware */
        u16 eswitch_mode;               /* current mode of eswitch */
-       /* Virtchnl/SR-IOV config info */
-       struct ice_vf *vf;
-       u16 num_alloc_vfs;              /* actual number of VFs allocated */
-       u16 num_vfs_supported;          /* num VFs supported for this PF */
-       u16 num_qps_per_vf;
-       u16 num_msix_per_vf;
-       /* used to ratelimit the MDD event logging */
-       unsigned long last_printed_mdd_jiffies;
-       DECLARE_BITMAP(malvfs, ICE_MAX_VF_COUNT);
+       struct ice_vfs vfs;
        DECLARE_BITMAP(features, ICE_F_MAX);
        DECLARE_BITMAP(state, ICE_STATE_NBITS);
        DECLARE_BITMAP(flags, ICE_PF_FLAGS_NBITS);
@@ -547,6 +544,9 @@ struct ice_pf {
        struct mutex tc_mutex;          /* lock to protect TC changes */
        u32 msg_enable;
        struct ice_ptp ptp;
+       struct tty_driver *ice_gnss_tty_driver;
+       struct tty_port gnss_tty_port;
+       struct gnss_serial *gnss_serial;
        u16 num_rdma_msix;              /* Total MSIX vectors for RDMA driver */
        u16 rdma_base_vector;
 
@@ -887,7 +887,6 @@ static inline void ice_set_rdma_cap(struct ice_pf *pf)
 {
        if (pf->hw.func_caps.common_cap.rdma && pf->num_rdma_msix) {
                set_bit(ICE_FLAG_RDMA_ENA, pf->flags);
-               set_bit(ICE_FLAG_AUX_ENA, pf->flags);
                set_bit(ICE_FLAG_PLUG_AUX_DEV, pf->flags);
        }
 }
@@ -909,6 +908,5 @@ static inline void ice_clear_rdma_cap(struct ice_pf *pf)
                ice_unplug_aux_dev(pf);
 
        clear_bit(ICE_FLAG_RDMA_ENA, pf->flags);
-       clear_bit(ICE_FLAG_AUX_ENA, pf->flags);
 }
 #endif /* _ICE_H_ */