net/sfc: prepare for internal Rx queue
[dpdk.git] / drivers / net / sfc / sfc_ev.h
index 065defe..5a9f85c 100644 (file)
@@ -1,38 +1,16 @@
-/*-
- *   BSD LICENSE
+/* SPDX-License-Identifier: BSD-3-Clause
  *
- * Copyright (c) 2016-2017 Solarflare Communications Inc.
- * All rights reserved.
+ * Copyright(c) 2019-2021 Xilinx, Inc.
+ * Copyright(c) 2016-2019 Solarflare Communications Inc.
  *
  * This software was jointly developed between OKTET Labs (under contract
  * for Solarflare) and Solarflare Communications, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
 #ifndef _SFC_EV_H_
 #define _SFC_EV_H_
 
-#include <rte_ethdev.h>
+#include <ethdev_driver.h>
 
 #include "efx.h"
 
@@ -42,9 +20,6 @@
 extern "C" {
 #endif
 
-/* Number of entries in the management event queue */
-#define SFC_MGMT_EVQ_ENTRIES   (EFX_EVQ_MINNEVS)
-
 struct sfc_adapter;
 struct sfc_dp_rxq;
 struct sfc_dp_txq;
@@ -71,6 +46,7 @@ struct sfc_evq {
        efx_evq_t                       *common;
        const efx_ev_callbacks_t        *callbacks;
        unsigned int                    read_ptr;
+       unsigned int                    read_ptr_primed;
        boolean_t                       exception;
        efsys_mem_t                     mem;
        struct sfc_dp_rxq               *dp_rxq;
@@ -93,9 +69,25 @@ struct sfc_evq {
  * Tx event queues follow Rx event queues.
  */
 
-static inline unsigned int
-sfc_evq_index_by_rxq_sw_index(__rte_unused struct sfc_adapter *sa,
-                             unsigned int rxq_sw_index)
+static inline sfc_ethdev_qid_t
+sfc_ethdev_rx_qid_by_rxq_sw_index(__rte_unused struct sfc_adapter_shared *sas,
+                                 sfc_sw_index_t rxq_sw_index)
+{
+       /* Only ethdev queues are present for now */
+       return rxq_sw_index;
+}
+
+static inline sfc_sw_index_t
+sfc_rxq_sw_index_by_ethdev_rx_qid(__rte_unused struct sfc_adapter_shared *sas,
+                                 sfc_ethdev_qid_t ethdev_qid)
+{
+       /* Only ethdev queues are present for now */
+       return ethdev_qid;
+}
+
+static inline sfc_sw_index_t
+sfc_evq_sw_index_by_rxq_sw_index(__rte_unused struct sfc_adapter *sa,
+                                sfc_sw_index_t rxq_sw_index)
 {
        return 1 + rxq_sw_index;
 }