examples/ipsec-secgw: fix session mempool initialisation
[dpdk.git] / drivers / net / sfc / sfc.h
index cf95eba..047ca64 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- *
+*
  * Copyright(c) 2019-2020 Xilinx, Inc.
  * Copyright(c) 2016-2019 Solarflare Communications Inc.
  *
 
 #include "efx.h"
 
+#include "sfc_efx_mcdi.h"
+
+#include "sfc_debug.h"
+#include "sfc_log.h"
 #include "sfc_filter.h"
+#include "sfc_sriov.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -85,25 +90,6 @@ enum sfc_dev_filter_mode {
        SFC_DEV_FILTER_NMODES
 };
 
-enum sfc_mcdi_state {
-       SFC_MCDI_UNINITIALIZED = 0,
-       SFC_MCDI_INITIALIZED,
-       SFC_MCDI_BUSY,
-       SFC_MCDI_COMPLETED,
-
-       SFC_MCDI_NSTATES
-};
-
-struct sfc_mcdi {
-       rte_spinlock_t                  lock;
-       efsys_mem_t                     mem;
-       enum sfc_mcdi_state             state;
-       efx_mcdi_transport_t            transport;
-       uint32_t                        logtype;
-       uint32_t                        proxy_handle;
-       efx_rc_t                        proxy_result;
-};
-
 struct sfc_intr {
        efx_intr_type_t                 type;
        rte_intr_callback_fn            handler;
@@ -172,6 +158,8 @@ struct sfc_rss {
        efx_rx_hash_type_t              hash_types;
        unsigned int                    tbl[EFX_RSS_TBL_SIZE];
        uint8_t                         key[EFX_RSS_KEY_SIZE];
+
+       uint32_t                        dummy_rss_context;
 };
 
 /* Adapter private data shared by primary and secondary processes */
@@ -187,6 +175,7 @@ struct sfc_adapter_shared {
        boolean_t                       isolated;
        uint32_t                        tunnel_encaps;
 
+       char                            log_prefix[SFC_LOG_PREFIX_MAX];
        struct rte_pci_addr             pci_addr;
        uint16_t                        port_id;
 
@@ -232,12 +221,15 @@ struct sfc_adapter {
        struct rte_kvargs               *kvargs;
        int                             socket_id;
        efsys_bar_t                     mem_bar;
+       /* Function control window offset */
+       efsys_dma_addr_t                fcw_offset;
        efx_family_t                    family;
        efx_nic_t                       *nic;
        rte_spinlock_t                  nic_lock;
        rte_atomic32_t                  restart_required;
 
-       struct sfc_mcdi                 mcdi;
+       struct sfc_efx_mcdi             mcdi;
+       struct sfc_sriov                sriov;
        struct sfc_intr                 intr;
        struct sfc_port                 port;
        struct sfc_filter               filter;