From: Andrew Rybchenko <arybchenko@solarflare.com>
To: <dev@dpdk.org>
Subject: [dpdk-dev] [PATCH v2 33/60] common/sfc_efx/base: implement Tx control path for Riverhead
Date: Tue, 22 Sep 2020 10:34:21 +0100 [thread overview]
Message-ID: <1600767288-12109-34-git-send-email-arybchenko@solarflare.com> (raw)
In-Reply-To: <1600767288-12109-1-git-send-email-arybchenko@solarflare.com>
Tx control path on Riverhead is very similar to EF10, but datapath
differs a lot since Tx descriptor size is 16 bytes (vs 8 bytes on EF10).
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
---
drivers/common/sfc_efx/base/efx_impl.h | 6 +-
drivers/common/sfc_efx/base/efx_mcdi.c | 6 +-
drivers/common/sfc_efx/base/efx_tx.c | 33 ++++
drivers/common/sfc_efx/base/meson.build | 1 +
drivers/common/sfc_efx/base/rhead_impl.h | 83 ++++++++++
drivers/common/sfc_efx/base/rhead_tx.c | 192 +++++++++++++++++++++++
6 files changed, 311 insertions(+), 10 deletions(-)
create mode 100644 drivers/common/sfc_efx/base/rhead_tx.c
diff --git a/drivers/common/sfc_efx/base/efx_impl.h b/drivers/common/sfc_efx/base/efx_impl.h
index fac2815f25..d7e11c6323 100644
--- a/drivers/common/sfc_efx/base/efx_impl.h
+++ b/drivers/common/sfc_efx/base/efx_impl.h
@@ -1452,10 +1452,6 @@ efx_mcdi_fini_rxq(
__in efx_nic_t *enp,
__in uint32_t instance);
-#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
-
-#if EFX_OPTS_EF10()
-
LIBEFX_INTERNAL
extern __checkReturn efx_rc_t
efx_mcdi_init_txq(
@@ -1473,7 +1469,7 @@ efx_mcdi_fini_txq(
__in efx_nic_t *enp,
__in uint32_t instance);
-#endif /* EFX_OPTS_EF10() */
+#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
#endif /* EFSYS_OPT_MCDI */
diff --git a/drivers/common/sfc_efx/base/efx_mcdi.c b/drivers/common/sfc_efx/base/efx_mcdi.c
index 6a227858e6..278c5e2a64 100644
--- a/drivers/common/sfc_efx/base/efx_mcdi.c
+++ b/drivers/common/sfc_efx/base/efx_mcdi.c
@@ -2863,10 +2863,6 @@ efx_mcdi_fini_rxq(
return (rc);
}
-#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
-
-#if EFX_OPTS_EF10()
-
__checkReturn efx_rc_t
efx_mcdi_init_txq(
__in efx_nic_t *enp,
@@ -2999,6 +2995,6 @@ efx_mcdi_fini_txq(
return (rc);
}
-#endif /* EFX_OPTS_EF10() */
+#endif /* EFSYS_OPT_RIVERHEAD || EFX_OPTS_EF10() */
#endif /* EFSYS_OPT_MCDI */
diff --git a/drivers/common/sfc_efx/base/efx_tx.c b/drivers/common/sfc_efx/base/efx_tx.c
index 38c64e028b..d7f31fd46d 100644
--- a/drivers/common/sfc_efx/base/efx_tx.c
+++ b/drivers/common/sfc_efx/base/efx_tx.c
@@ -205,6 +205,33 @@ static const efx_tx_ops_t __efx_tx_medford2_ops = {
};
#endif /* EFSYS_OPT_MEDFORD2 */
+#if EFSYS_OPT_RIVERHEAD
+static const efx_tx_ops_t __efx_tx_rhead_ops = {
+ rhead_tx_init, /* etxo_init */
+ rhead_tx_fini, /* etxo_fini */
+ rhead_tx_qcreate, /* etxo_qcreate */
+ rhead_tx_qdestroy, /* etxo_qdestroy */
+ rhead_tx_qpost, /* etxo_qpost */
+ rhead_tx_qpush, /* etxo_qpush */
+ rhead_tx_qpace, /* etxo_qpace */
+ rhead_tx_qflush, /* etxo_qflush */
+ rhead_tx_qenable, /* etxo_qenable */
+ NULL, /* etxo_qpio_enable */
+ NULL, /* etxo_qpio_disable */
+ NULL, /* etxo_qpio_write */
+ NULL, /* etxo_qpio_post */
+ rhead_tx_qdesc_post, /* etxo_qdesc_post */
+ NULL, /* etxo_qdesc_dma_create */
+ NULL, /* etxo_qdesc_tso_create */
+ NULL, /* etxo_qdesc_tso2_create */
+ NULL, /* etxo_qdesc_vlantci_create */
+ NULL, /* etxo_qdesc_checksum_create */
+#if EFSYS_OPT_QSTATS
+ rhead_tx_qstats_update, /* etxo_qstats_update */
+#endif
+};
+#endif /* EFSYS_OPT_RIVERHEAD */
+
__checkReturn efx_rc_t
efx_tx_init(
@@ -251,6 +278,12 @@ efx_tx_init(
break;
#endif /* EFSYS_OPT_MEDFORD2 */
+#if EFSYS_OPT_RIVERHEAD
+ case EFX_FAMILY_RIVERHEAD:
+ etxop = &__efx_tx_rhead_ops;
+ break;
+#endif /* EFSYS_OPT_RIVERHEAD */
+
default:
EFSYS_ASSERT(0);
rc = ENOTSUP;
diff --git a/drivers/common/sfc_efx/base/meson.build b/drivers/common/sfc_efx/base/meson.build
index aff5017cff..8f944bb45b 100644
--- a/drivers/common/sfc_efx/base/meson.build
+++ b/drivers/common/sfc_efx/base/meson.build
@@ -56,6 +56,7 @@ sources = [
'rhead_intr.c',
'rhead_nic.c',
'rhead_rx.c',
+ 'rhead_tx.c',
]
extra_flags = [
diff --git a/drivers/common/sfc_efx/base/rhead_impl.h b/drivers/common/sfc_efx/base/rhead_impl.h
index 0ba663653b..c3ffad7208 100644
--- a/drivers/common/sfc_efx/base/rhead_impl.h
+++ b/drivers/common/sfc_efx/base/rhead_impl.h
@@ -355,6 +355,89 @@ rhead_rx_qdestroy(
__in efx_rxq_t *erp);
+/* TX */
+
+LIBEFX_INTERNAL
+extern __checkReturn efx_rc_t
+rhead_tx_init(
+ __in efx_nic_t *enp);
+
+LIBEFX_INTERNAL
+extern void
+rhead_tx_fini(
+ __in efx_nic_t *enp);
+
+LIBEFX_INTERNAL
+extern __checkReturn efx_rc_t
+rhead_tx_qcreate(
+ __in efx_nic_t *enp,
+ __in unsigned int index,
+ __in unsigned int label,
+ __in efsys_mem_t *esmp,
+ __in size_t ndescs,
+ __in uint32_t id,
+ __in uint16_t flags,
+ __in efx_evq_t *eep,
+ __in efx_txq_t *etp,
+ __out unsigned int *addedp);
+
+LIBEFX_INTERNAL
+extern void
+rhead_tx_qdestroy(
+ __in efx_txq_t *etp);
+
+LIBEFX_INTERNAL
+extern __checkReturn efx_rc_t
+rhead_tx_qpost(
+ __in efx_txq_t *etp,
+ __in_ecount(ndescs) efx_buffer_t *ebp,
+ __in unsigned int ndescs,
+ __in unsigned int completed,
+ __inout unsigned int *addedp);
+
+LIBEFX_INTERNAL
+extern void
+rhead_tx_qpush(
+ __in efx_txq_t *etp,
+ __in unsigned int added,
+ __in unsigned int pushed);
+
+LIBEFX_INTERNAL
+extern __checkReturn efx_rc_t
+rhead_tx_qpace(
+ __in efx_txq_t *etp,
+ __in unsigned int ns);
+
+LIBEFX_INTERNAL
+extern __checkReturn efx_rc_t
+rhead_tx_qflush(
+ __in efx_txq_t *etp);
+
+LIBEFX_INTERNAL
+extern void
+rhead_tx_qenable(
+ __in efx_txq_t *etp);
+
+LIBEFX_INTERNAL
+extern __checkReturn efx_rc_t
+rhead_tx_qdesc_post(
+ __in efx_txq_t *etp,
+ __in_ecount(n) efx_desc_t *ed,
+ __in unsigned int n,
+ __in unsigned int completed,
+ __inout unsigned int *addedp);
+
+#if EFSYS_OPT_QSTATS
+
+LIBEFX_INTERNAL
+extern void
+rhead_tx_qstats_update(
+ __in efx_txq_t *etp,
+ __inout_ecount(TX_NQSTATS) efsys_stat_t *stat);
+
+#endif /* EFSYS_OPT_QSTATS */
+
+
#ifdef __cplusplus
}
#endif
diff --git a/drivers/common/sfc_efx/base/rhead_tx.c b/drivers/common/sfc_efx/base/rhead_tx.c
new file mode 100644
index 0000000000..4c60f329d1
--- /dev/null
+++ b/drivers/common/sfc_efx/base/rhead_tx.c
@@ -0,0 +1,192 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ *
+ * Copyright(c) 2019-2020 Xilinx, Inc.
+ * Copyright(c) 2018-2019 Solarflare Communications Inc.
+ */
+
+#include "efx.h"
+#include "efx_impl.h"
+
+
+#if EFSYS_OPT_RIVERHEAD
+
+ __checkReturn efx_rc_t
+rhead_tx_init(
+ __in efx_nic_t *enp)
+{
+ _NOTE(ARGUNUSED(enp))
+ /* Nothing to do here */
+ return (0);
+}
+
+ void
+rhead_tx_fini(
+ __in efx_nic_t *enp)
+{
+ _NOTE(ARGUNUSED(enp))
+ /* Nothing to do here */
+}
+
+ __checkReturn efx_rc_t
+rhead_tx_qcreate(
+ __in efx_nic_t *enp,
+ __in unsigned int index,
+ __in unsigned int label,
+ __in efsys_mem_t *esmp,
+ __in size_t ndescs,
+ __in uint32_t id,
+ __in uint16_t flags,
+ __in efx_evq_t *eep,
+ __in efx_txq_t *etp,
+ __out unsigned int *addedp)
+{
+ efx_rc_t rc;
+
+ /*
+ * NMC manages the NMMU entries, and so buffer table IDs are
+ * ignored here
+ */
+ _NOTE(ARGUNUSED(id))
+
+ if ((rc = efx_mcdi_init_txq(enp, ndescs, eep->ee_index, label, index,
+ flags, esmp)) != 0)
+ goto fail1;
+
+ /*
+ * Return the initial queue index which is zero since no option
+ * descriptors are sent at start of day.
+ */
+ *addedp = 0;
+
+ return (0);
+
+fail1:
+ EFSYS_PROBE1(fail1, efx_rc_t, rc);
+
+ return (rc);
+}
+
+ void
+rhead_tx_qdestroy(
+ __in efx_txq_t *etp)
+{
+ _NOTE(ARGUNUSED(etp))
+ /* Nothing to do here */
+}
+
+ __checkReturn efx_rc_t
+rhead_tx_qpost(
+ __in efx_txq_t *etp,
+ __in_ecount(ndescs) efx_buffer_t *eb,
+ __in unsigned int ndescs,
+ __in unsigned int completed,
+ __inout unsigned int *addedp)
+{
+ _NOTE(ARGUNUSED(etp))
+ _NOTE(ARGUNUSED(eb))
+ _NOTE(ARGUNUSED(ndescs))
+ _NOTE(ARGUNUSED(completed))
+ _NOTE(ARGUNUSED(addedp))
+
+ /* FIXME Implement the method for Riverhead */
+
+ return (ENOTSUP);
+}
+
+ void
+rhead_tx_qpush(
+ __in efx_txq_t *etp,
+ __in unsigned int added,
+ __in unsigned int pushed)
+{
+ _NOTE(ARGUNUSED(etp, added, pushed))
+
+ /* FIXME Implement the method for Riverhead */
+ EFSYS_ASSERT(B_FALSE);
+}
+
+ __checkReturn efx_rc_t
+rhead_tx_qpace(
+ __in efx_txq_t *etp,
+ __in unsigned int ns)
+{
+ _NOTE(ARGUNUSED(etp))
+ _NOTE(ARGUNUSED(ns))
+
+ /* FIXME Implement the method for Riverhead */
+
+ return (ENOTSUP);
+}
+
+ __checkReturn efx_rc_t
+rhead_tx_qflush(
+ __in efx_txq_t *etp)
+{
+ efx_nic_t *enp = etp->et_enp;
+ efx_rc_t rc;
+
+ if ((rc = efx_mcdi_fini_txq(enp, etp->et_index)) != 0)
+ goto fail1;
+
+ return (0);
+
+fail1:
+ /*
+ * EALREADY is not an error, but indicates that the MC has rebooted and
+ * that the TXQ has already been destroyed. Callers need to know that
+ * the TXQ flush has completed to avoid waiting until timeout for a
+ * flush done event that will not be delivered.
+ */
+ if (rc != EALREADY)
+ EFSYS_PROBE1(fail1, efx_rc_t, rc);
+
+ return (rc);
+}
+
+ void
+rhead_tx_qenable(
+ __in efx_txq_t *etp)
+{
+ _NOTE(ARGUNUSED(etp))
+ /* Nothing to do here */
+}
+
+ __checkReturn efx_rc_t
+rhead_tx_qdesc_post(
+ __in efx_txq_t *etp,
+ __in_ecount(ndescs) efx_desc_t *ed,
+ __in unsigned int ndescs,
+ __in unsigned int completed,
+ __inout unsigned int *addedp)
+{
+ _NOTE(ARGUNUSED(etp))
+ _NOTE(ARGUNUSED(ed))
+ _NOTE(ARGUNUSED(ndescs))
+ _NOTE(ARGUNUSED(completed))
+ _NOTE(ARGUNUSED(addedp))
+
+ /* FIXME Implement the method for Riverhead */
+
+ return (ENOTSUP);
+}
+
+#if EFSYS_OPT_QSTATS
+
+ void
+rhead_tx_qstats_update(
+ __in efx_txq_t *etp,
+ __inout_ecount(TX_NQSTATS) efsys_stat_t *stat)
+{
+ unsigned int id;
+
+ for (id = 0; id < TX_NQSTATS; id++) {
+ efsys_stat_t *essp = &stat[id];
+
+ EFSYS_STAT_INCR(essp, etp->et_stat[id]);
+ etp->et_stat[id] = 0;
+ }
+}
+
+#endif /* EFSYS_OPT_QSTATS */
+
+#endif /* EFSYS_OPT_RIVERHEAD */
--
2.17.1
next prev parent reply other threads:[~2020-09-22 9:41 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-22 8:48 [dpdk-dev] [PATCH 00/60] common/sfc_efx: support Riverhead NIC family Andrew Rybchenko
2020-09-22 8:48 ` [dpdk-dev] [PATCH 01/60] common/sfc_efx/base: add EF100 registers definitions Andrew Rybchenko
2020-09-22 8:48 ` [dpdk-dev] [PATCH 02/60] common/sfc_efx/base: update MCDI headers Andrew Rybchenko
2020-09-22 8:48 ` [dpdk-dev] [PATCH 03/60] common/sfc_efx/base: add event queue operation to do polling Andrew Rybchenko
2020-09-22 8:48 ` [dpdk-dev] [PATCH 04/60] common/sfc_efx/base: add efsys option for Riverhead Andrew Rybchenko
2020-09-22 8:48 ` [dpdk-dev] [PATCH 05/60] common/sfc_efx/base: add Riverhead NIC family Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 06/60] common/sfc_efx/base: update registers check for Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 07/60] common/sfc_efx/base: use EF10 MCDI methods " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 08/60] common/sfc_efx/base: use EF10 PHY " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 09/60] common/sfc_efx/base: move 14b prefix check out of caps get Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 10/60] common/sfc_efx/base: remove PF count get from " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 11/60] common/sfc_efx/base: factor out helper to get board config Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 12/60] common/sfc_efx/base: set NIC features in generic place Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 13/60] common/sfc_efx/base: factor out MCDI entity reset helper Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 14/60] common/sfc_efx/base: add Riverhead support to NIC module Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 15/60] common/sfc_efx/base: use dummy tunnel ops for Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 16/60] common/sfc_efx/base: use EF10 filter methods " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 17/60] common/sfc_efx/base: use EF10 MAC " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 18/60] common/sfc_efx/base: add interrupts module " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 19/60] common/sfc_efx/base: move EvQ init/fini wrappers to generic Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 20/60] common/sfc_efx/base: move EvQ create generic checks Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 21/60] common/sfc_efx/base: prepare to merge EvQ init functions Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 22/60] common/sfc_efx/base: merge versions of init EvQ wrappers Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 23/60] common/sfc_efx/base: add event queue module for Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 24/60] common/sfc_efx/base: complete EvQ creation on Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 25/60] common/sfc_efx/base: handle MCDI events " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 26/60] common/sfc_efx/base: move RxQ init/fini wrappers to generic Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 27/60] common/sfc_efx/base: move TxQ " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 28/60] common/sfc_efx/base: switch TxQ init to extended version Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 29/60] common/sfc_efx/base: maintain RxQ counter in generic code Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 30/60] common/sfc_efx/base: free Rx queue structure " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 31/60] common/sfc_efx/base: move Rx index check to " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 32/60] common/sfc_efx/base: implement Rx control path for Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 33/60] common/sfc_efx/base: implement Tx " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 34/60] common/sfc_efx/base: fix Tx descriptor DMA sync on Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 35/60] common/sfc_efx/base: handle Rx events for Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 36/60] common/sfc_efx/base: handle Tx complete on Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 37/60] common/sfc_efx/base: indicate support for TSO version 3 Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 38/60] common/sfc_efx/base: report restrictions " Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 39/60] common/sfc_efx: do not include libefx headers from efsys.h Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 40/60] common/sfc_efx/base: add API to get Rx prefix information Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 41/60] common/sfc_efx/base: group RxQ parameters into a structure Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 42/60] common/sfc_efx/base: choose smallest Rx prefix on Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 43/60] common/sfc_efx/base: add function control window concept Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 44/60] common/sfc_efx/base: add function control window lookup API Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 45/60] common/sfc_efx/base: add efsys API to find a memory BAR Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 46/60] common/sfc_efx/base: add Xilinx capabilities table lookup Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 47/60] common/sfc_efx/base: add NIC magic check on BAR lookup Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 48/60] common/sfc_efx/base: introduce UDP tunnel destruct operation Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 49/60] common/sfc_efx/base: introduce states for UDP tunnel entries Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 50/60] common/sfc_efx/base: support UDP tunnel operations for EF100 Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 51/60] common/sfc_efx/base: replace PCI efsys macros with functions Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 52/60] common/sfc_efx/base: use EF10 EVB methods for Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 53/60] common/sfc_efx/base: allocate vAdaptor on Riverhead Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 54/60] common/sfc_efx/base: add option for extended width events Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 55/60] common/sfc_efx/base: add 256bit type Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 56/60] common/sfc_efx/base: support creation of extended width EvQ Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 57/60] common/sfc_efx/base: poll extended width event queues Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 58/60] common/sfc_efx/base: handle normal events in extended width Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 59/60] common/sfc_efx/base: add option for descriptor proxy queues Andrew Rybchenko
2020-09-22 8:49 ` [dpdk-dev] [PATCH 60/60] common/sfc_efx/base: handle descriptor proxy queue events Andrew Rybchenko
2020-09-22 9:20 ` [dpdk-dev] [PATCH 00/60] common/sfc_efx: support Riverhead NIC family Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 " Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 01/60] common/sfc_efx/base: add EF100 registers definitions Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 02/60] common/sfc_efx/base: update MCDI headers Andrew Rybchenko
2020-09-23 17:20 ` Ferruh Yigit
2020-09-24 12:09 ` Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 03/60] common/sfc_efx/base: add event queue operation to do polling Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 04/60] common/sfc_efx/base: add efsys option for Riverhead Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 05/60] common/sfc_efx/base: add Riverhead NIC family Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 06/60] common/sfc_efx/base: update registers check for Riverhead Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 07/60] common/sfc_efx/base: use EF10 MCDI methods " Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 08/60] common/sfc_efx/base: use EF10 PHY " Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 09/60] common/sfc_efx/base: move 14b prefix check out of caps get Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 10/60] common/sfc_efx/base: remove PF count get from " Andrew Rybchenko
2020-09-22 9:33 ` [dpdk-dev] [PATCH v2 11/60] common/sfc_efx/base: factor out helper to get board config Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 12/60] common/sfc_efx/base: set NIC features in generic place Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 13/60] common/sfc_efx/base: factor out MCDI entity reset helper Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 14/60] common/sfc_efx/base: add Riverhead support to NIC module Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 15/60] common/sfc_efx/base: use dummy tunnel ops for Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 16/60] common/sfc_efx/base: use EF10 filter methods " Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 17/60] common/sfc_efx/base: use EF10 MAC " Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 18/60] common/sfc_efx/base: add interrupts module " Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 19/60] common/sfc_efx/base: move EvQ init/fini wrappers to generic Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 20/60] common/sfc_efx/base: move EvQ create generic checks Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 21/60] common/sfc_efx/base: prepare to merge EvQ init functions Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 22/60] common/sfc_efx/base: merge versions of init EvQ wrappers Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 23/60] common/sfc_efx/base: add event queue module for Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 24/60] common/sfc_efx/base: complete EvQ creation on Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 25/60] common/sfc_efx/base: handle MCDI events " Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 26/60] common/sfc_efx/base: move RxQ init/fini wrappers to generic Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 27/60] common/sfc_efx/base: move TxQ " Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 28/60] common/sfc_efx/base: switch TxQ init to extended version Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 29/60] common/sfc_efx/base: maintain RxQ counter in generic code Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 30/60] common/sfc_efx/base: free Rx queue structure " Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 31/60] common/sfc_efx/base: move Rx index check to " Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 32/60] common/sfc_efx/base: implement Rx control path for Riverhead Andrew Rybchenko
2020-09-22 9:34 ` Andrew Rybchenko [this message]
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 34/60] common/sfc_efx/base: fix Tx descriptor DMA sync on Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 35/60] common/sfc_efx/base: handle Rx events for Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 36/60] common/sfc_efx/base: handle Tx complete on Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 37/60] common/sfc_efx/base: indicate support for TSO version 3 Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 38/60] common/sfc_efx/base: report restrictions " Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 39/60] common/sfc_efx: do not include libefx headers from efsys.h Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 40/60] common/sfc_efx/base: add API to get Rx prefix information Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 41/60] common/sfc_efx/base: group RxQ parameters into a structure Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 42/60] common/sfc_efx/base: choose smallest Rx prefix on Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 43/60] common/sfc_efx/base: add function control window concept Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 44/60] common/sfc_efx/base: add function control window lookup API Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 45/60] common/sfc_efx/base: add efsys API to find a memory BAR Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 46/60] common/sfc_efx/base: add Xilinx capabilities table lookup Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 47/60] common/sfc_efx/base: add NIC magic check on BAR lookup Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 48/60] common/sfc_efx/base: introduce UDP tunnel destruct operation Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 49/60] common/sfc_efx/base: introduce states for UDP tunnel entries Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 50/60] common/sfc_efx/base: support UDP tunnel operations for EF100 Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 51/60] common/sfc_efx/base: replace PCI efsys macros with functions Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 52/60] common/sfc_efx/base: use EF10 EVB methods for Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 53/60] common/sfc_efx/base: allocate vAdaptor on Riverhead Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 54/60] common/sfc_efx/base: add option for extended width events Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 55/60] common/sfc_efx/base: add 256bit type Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 56/60] common/sfc_efx/base: support creation of extended width EvQ Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 57/60] common/sfc_efx/base: poll extended width event queues Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 58/60] common/sfc_efx/base: handle normal events in extended width Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 59/60] common/sfc_efx/base: add option for descriptor proxy queues Andrew Rybchenko
2020-09-22 9:34 ` [dpdk-dev] [PATCH v2 60/60] common/sfc_efx/base: handle descriptor proxy queue events Andrew Rybchenko
2020-09-23 17:45 ` [dpdk-dev] [PATCH v2 00/60] common/sfc_efx: support Riverhead NIC family Ferruh Yigit
2020-09-24 6:31 ` Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 " Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 01/60] common/sfc_efx/base: add EF100 registers definitions Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 02/60] common/sfc_efx/base: update MCDI headers Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 03/60] common/sfc_efx/base: add event queue operation to do polling Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 04/60] common/sfc_efx/base: add efsys option for Riverhead Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 05/60] common/sfc_efx/base: add Riverhead NIC family Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 06/60] common/sfc_efx/base: update registers check for Riverhead Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 07/60] common/sfc_efx/base: use EF10 MCDI methods " Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 08/60] common/sfc_efx/base: use EF10 PHY " Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 09/60] common/sfc_efx/base: move 14b prefix check out of caps get Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 10/60] common/sfc_efx/base: remove PF count get from " Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 11/60] common/sfc_efx/base: factor out helper to get board config Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 12/60] common/sfc_efx/base: set NIC features in generic place Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 13/60] common/sfc_efx/base: factor out MCDI entity reset helper Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 14/60] common/sfc_efx/base: add Riverhead support to NIC module Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 15/60] common/sfc_efx/base: use dummy tunnel ops for Riverhead Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 16/60] common/sfc_efx/base: use EF10 filter methods " Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 17/60] common/sfc_efx/base: use EF10 MAC " Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 18/60] common/sfc_efx/base: add interrupts module " Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 19/60] common/sfc_efx/base: move EvQ init/fini wrappers to generic Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 20/60] common/sfc_efx/base: move EvQ create generic checks Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 21/60] common/sfc_efx/base: prepare to merge EvQ init functions Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 22/60] common/sfc_efx/base: merge versions of init EvQ wrappers Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 23/60] common/sfc_efx/base: add event queue module for Riverhead Andrew Rybchenko
2020-09-24 12:11 ` [dpdk-dev] [PATCH v3 24/60] common/sfc_efx/base: complete EvQ creation on Riverhead Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 25/60] common/sfc_efx/base: handle MCDI events " Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 26/60] common/sfc_efx/base: move RxQ init/fini wrappers to generic Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 27/60] common/sfc_efx/base: move TxQ " Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 28/60] common/sfc_efx/base: switch TxQ init to extended version Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 29/60] common/sfc_efx/base: maintain RxQ counter in generic code Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 30/60] common/sfc_efx/base: free Rx queue structure " Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 31/60] common/sfc_efx/base: move Rx index check to " Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 32/60] common/sfc_efx/base: implement Rx control path for Riverhead Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 33/60] common/sfc_efx/base: implement Tx " Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 34/60] common/sfc_efx/base: fix Tx descriptor DMA sync on Riverhead Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 35/60] common/sfc_efx/base: handle Rx events for Riverhead Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 36/60] common/sfc_efx/base: handle Tx complete on Riverhead Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 37/60] common/sfc_efx/base: indicate support for TSO version 3 Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 38/60] common/sfc_efx/base: report restrictions " Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 39/60] common/sfc_efx: do not include libefx headers from efsys.h Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 40/60] common/sfc_efx/base: add API to get Rx prefix information Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 41/60] common/sfc_efx/base: group RxQ parameters into a structure Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 42/60] common/sfc_efx/base: choose smallest Rx prefix on Riverhead Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 43/60] common/sfc_efx/base: add function control window concept Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 44/60] common/sfc_efx/base: add function control window lookup API Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 45/60] common/sfc_efx/base: add efsys API to find a memory BAR Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 46/60] common/sfc_efx/base: add Xilinx capabilities table lookup Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 47/60] common/sfc_efx/base: add NIC magic check on BAR lookup Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 48/60] common/sfc_efx/base: introduce UDP tunnel destruct operation Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 49/60] common/sfc_efx/base: introduce states for UDP tunnel entries Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 50/60] common/sfc_efx/base: support UDP tunnel operations for EF100 Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 51/60] common/sfc_efx/base: replace PCI efsys macros with functions Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 52/60] common/sfc_efx/base: use EF10 EVB methods for Riverhead Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 53/60] common/sfc_efx/base: allocate vAdaptor on Riverhead Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 54/60] common/sfc_efx/base: add option for extended width events Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 55/60] common/sfc_efx/base: add 256bit type Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 56/60] common/sfc_efx/base: support creation of extended width EvQ Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 57/60] common/sfc_efx/base: poll extended width event queues Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 58/60] common/sfc_efx/base: handle normal events in extended width Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 59/60] common/sfc_efx/base: add option for descriptor proxy queues Andrew Rybchenko
2020-09-24 12:12 ` [dpdk-dev] [PATCH v3 60/60] common/sfc_efx/base: handle descriptor proxy queue events Andrew Rybchenko
2020-09-29 11:32 ` [dpdk-dev] [PATCH v3 00/60] common/sfc_efx: support Riverhead NIC family Ferruh Yigit
2020-09-29 11:41 ` Andrew Rybchenko
2020-09-29 11:52 ` Ferruh Yigit
2020-09-29 11:52 ` Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1600767288-12109-34-git-send-email-arybchenko@solarflare.com \
--to=arybchenko@solarflare.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).