net/mlx4: remove useless code
[dpdk.git] / drivers / net / sfc / base / efx_impl.h
index 980f964..53fa37a 100644 (file)
@@ -152,11 +152,17 @@ typedef struct efx_rx_ops_s {
        efx_rc_t        (*erxo_scatter_enable)(efx_nic_t *, unsigned int);
 #endif
 #if EFSYS_OPT_RX_SCALE
-       efx_rc_t        (*erxo_scale_mode_set)(efx_nic_t *, efx_rx_hash_alg_t,
+       efx_rc_t        (*erxo_scale_context_alloc)(efx_nic_t *,
+                                                   efx_rx_scale_context_type_t,
+                                                   uint32_t, uint32_t *);
+       efx_rc_t        (*erxo_scale_context_free)(efx_nic_t *, uint32_t);
+       efx_rc_t        (*erxo_scale_mode_set)(efx_nic_t *, uint32_t,
+                                              efx_rx_hash_alg_t,
                                               efx_rx_hash_type_t, boolean_t);
-       efx_rc_t        (*erxo_scale_key_set)(efx_nic_t *, uint8_t *, size_t);
-       efx_rc_t        (*erxo_scale_tbl_set)(efx_nic_t *, unsigned int *,
-                                             size_t);
+       efx_rc_t        (*erxo_scale_key_set)(efx_nic_t *, uint32_t,
+                                             uint8_t *, size_t);
+       efx_rc_t        (*erxo_scale_tbl_set)(efx_nic_t *, uint32_t,
+                                             unsigned int *, size_t);
        uint32_t        (*erxo_prefix_hash)(efx_nic_t *, efx_rx_hash_alg_t,
                                            uint8_t *);
 #endif /* EFSYS_OPT_RX_SCALE */
@@ -198,6 +204,7 @@ typedef struct efx_mac_ops_s {
 #endif /* EFSYS_OPT_LOOPBACK */
 #if EFSYS_OPT_MAC_STATS
        efx_rc_t        (*emo_stats_get_mask)(efx_nic_t *, uint32_t *, size_t);
+       efx_rc_t        (*emo_stats_clear)(efx_nic_t *);
        efx_rc_t        (*emo_stats_upload)(efx_nic_t *, efsys_mem_t *);
        efx_rc_t        (*emo_stats_periodic)(efx_nic_t *, efsys_mem_t *,
                                              uint16_t, boolean_t);
@@ -234,7 +241,8 @@ typedef struct efx_filter_ops_s {
        efx_rc_t        (*efo_add)(efx_nic_t *, efx_filter_spec_t *,
                                   boolean_t may_replace);
        efx_rc_t        (*efo_delete)(efx_nic_t *, efx_filter_spec_t *);
-       efx_rc_t        (*efo_supported_filters)(efx_nic_t *, uint32_t *, size_t *);
+       efx_rc_t        (*efo_supported_filters)(efx_nic_t *, uint32_t *,
+                                  size_t, size_t *);
        efx_rc_t        (*efo_reconfigure)(efx_nic_t *, uint8_t const *, boolean_t,
                                   boolean_t, boolean_t, boolean_t,
                                   uint8_t const *, uint32_t);
@@ -569,6 +577,39 @@ efx_mcdi_nvram_test(
 
 #endif /* EFSYS_OPT_VPD || EFSYS_OPT_NVRAM */
 
+#if EFSYS_OPT_LICENSING
+
+typedef struct efx_lic_ops_s {
+       efx_rc_t        (*elo_update_licenses)(efx_nic_t *);
+       efx_rc_t        (*elo_get_key_stats)(efx_nic_t *, efx_key_stats_t *);
+       efx_rc_t        (*elo_app_state)(efx_nic_t *, uint64_t, boolean_t *);
+       efx_rc_t        (*elo_get_id)(efx_nic_t *, size_t, uint32_t *,
+                                     size_t *, uint8_t *);
+       efx_rc_t        (*elo_find_start)
+                               (efx_nic_t *, caddr_t, size_t, uint32_t *);
+       efx_rc_t        (*elo_find_end)(efx_nic_t *, caddr_t, size_t,
+                               uint32_t, uint32_t *);
+       boolean_t       (*elo_find_key)(efx_nic_t *, caddr_t, size_t,
+                               uint32_t, uint32_t *, uint32_t *);
+       boolean_t       (*elo_validate_key)(efx_nic_t *,
+                               caddr_t, uint32_t);
+       efx_rc_t        (*elo_read_key)(efx_nic_t *,
+                               caddr_t, size_t, uint32_t, uint32_t,
+                               caddr_t, size_t, uint32_t *);
+       efx_rc_t        (*elo_write_key)(efx_nic_t *,
+                               caddr_t, size_t, uint32_t,
+                               caddr_t, uint32_t, uint32_t *);
+       efx_rc_t        (*elo_delete_key)(efx_nic_t *,
+                               caddr_t, size_t, uint32_t,
+                               uint32_t, uint32_t, uint32_t *);
+       efx_rc_t        (*elo_create_partition)(efx_nic_t *,
+                               caddr_t, size_t);
+       efx_rc_t        (*elo_finish_partition)(efx_nic_t *,
+                               caddr_t, size_t);
+} efx_lic_ops_t;
+
+#endif
+
 typedef struct efx_drv_cfg_s {
        uint32_t                edc_min_vi_count;
        uint32_t                edc_max_vi_count;
@@ -613,11 +654,15 @@ struct efx_nic_s {
        const efx_vpd_ops_t     *en_evpdop;
 #endif /* EFSYS_OPT_VPD */
 #if EFSYS_OPT_RX_SCALE
-       efx_rx_hash_support_t   en_hash_support;
-       efx_rx_scale_support_t  en_rss_support;
-       uint32_t                en_rss_context;
+       efx_rx_hash_support_t           en_hash_support;
+       efx_rx_scale_context_type_t     en_rss_context_type;
+       uint32_t                        en_rss_context;
 #endif /* EFSYS_OPT_RX_SCALE */
        uint32_t                en_vport_id;
+#if EFSYS_OPT_LICENSING
+       const efx_lic_ops_t     *en_elop;
+       boolean_t               en_licensing_supported;
+#endif
        union {
 #if EFSYS_OPT_SIENA
                struct {