net/sfc: use different callbacks for event queues
[dpdk.git] / drivers / net / sfc / sfc_ev.h
index 110f3b6..359958e 100644 (file)
@@ -1,5 +1,7 @@
 /*-
- * Copyright (c) 2016 Solarflare Communications Inc.
+ *   BSD LICENSE
+ *
+ * Copyright (c) 2016-2017 Solarflare Communications Inc.
  * All rights reserved.
  *
  * This software was jointly developed between OKTET Labs (under contract
@@ -54,17 +56,18 @@ enum sfc_evq_state {
 
 struct sfc_evq {
        /* Used on datapath */
-       efx_evq_t               *common;
-       unsigned int            read_ptr;
-       boolean_t               exception;
-       efsys_mem_t             mem;
-       struct sfc_rxq          *rxq;
-       struct sfc_txq          *txq;
+       efx_evq_t                       *common;
+       const efx_ev_callbacks_t        *callbacks;
+       unsigned int                    read_ptr;
+       boolean_t                       exception;
+       efsys_mem_t                     mem;
+       struct sfc_rxq                  *rxq;
+       struct sfc_txq                  *txq;
 
        /* Not used on datapath */
-       struct sfc_adapter      *sa;
-       unsigned int            evq_index;
-       enum sfc_evq_state      init_state;
+       struct sfc_adapter              *sa;
+       unsigned int                    evq_index;
+       enum sfc_evq_state              init_state;
 };
 
 struct sfc_evq_info {
@@ -74,6 +77,8 @@ struct sfc_evq_info {
        unsigned int            max_entries;
        /* Real number of EVQ entries, less or equal to max_entries */
        unsigned int            entries;
+       /* Event queue creation flags */
+       uint32_t                flags;
        /* NUMA-aware EVQ data structure used on datapath */
        struct sfc_evq          *evq;
 };