ethdev: add device flag to bypass auto-filled queue xstats
[dpdk.git] / drivers / net / sfc / sfc.h
index a530b12..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_mcdi.h"
+#include "sfc_sriov.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -155,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 */
@@ -170,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;
 
@@ -215,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;
@@ -366,6 +375,9 @@ void sfc_stop(struct sfc_adapter *sa);
 
 void sfc_schedule_restart(struct sfc_adapter *sa);
 
+int sfc_mcdi_init(struct sfc_adapter *sa);
+void sfc_mcdi_fini(struct sfc_adapter *sa);
+
 int sfc_configure(struct sfc_adapter *sa);
 void sfc_close(struct sfc_adapter *sa);