DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andrew Rybchenko <arybchenko@solarflare.com>
To: <dev@dpdk.org>
Cc: Ivan Malov <Ivan.Malov@oktetlabs.ru>
Subject: [dpdk-dev] [PATCH 04/38] net/sfc/base: report support for Tx checksum op descriptors
Date: Thu, 7 Feb 2019 16:29:09 +0000	[thread overview]
Message-ID: <1549556983-10896-5-git-send-email-arybchenko@solarflare.com> (raw)
In-Reply-To: <1549556983-10896-1-git-send-email-arybchenko@solarflare.com>

From: Ivan Malov <Ivan.Malov@oktetlabs.ru>

FreeBSD driver needs a patch to provide a means for packets
which do not need checksum offload but have flow ID set
to avoid hitting only the first Tx queue (which has been used
for packets not needing checksum offload).

This should be possible on Huntington, Medford or Medford2 chips
since these support toggling checksum offload on any given queue
dynamically by means of pushing option descriptors.

The patch for FreeBSD driver will then need a means to figure out
whether the feature can be used, and testing adapter family might
not be a good solution.

This patch adds a feature bit specifically to indicate support
for checksum option descriptors. The new feature bits may have
more users in future, apart from the mentioned FreeBSD patch.

Signed-off-by: Ivan Malov <Ivan.Malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 drivers/net/sfc/base/efx.h     | 1 +
 drivers/net/sfc/base/efx_nic.c | 9 ++++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/net/sfc/base/efx.h b/drivers/net/sfc/base/efx.h
index 97c4846d2..a612b6988 100644
--- a/drivers/net/sfc/base/efx.h
+++ b/drivers/net/sfc/base/efx.h
@@ -1233,6 +1233,7 @@ efx_bist_stop(
 #define	EFX_FEATURE_FW_ASSISTED_TSO	0x00001000
 #define	EFX_FEATURE_FW_ASSISTED_TSO_V2	0x00002000
 #define	EFX_FEATURE_PACKED_STREAM	0x00004000
+#define	EFX_FEATURE_TXQ_CKSUM_OP_DESC	0x00008000
 
 typedef enum efx_tunnel_protocol_e {
 	EFX_TUNNEL_PROTOCOL_NONE = 0,
diff --git a/drivers/net/sfc/base/efx_nic.c b/drivers/net/sfc/base/efx_nic.c
index cea32b792..52108a5b8 100644
--- a/drivers/net/sfc/base/efx_nic.c
+++ b/drivers/net/sfc/base/efx_nic.c
@@ -228,7 +228,8 @@ efx_nic_create(
 		    EFX_FEATURE_PIO_BUFFERS |
 		    EFX_FEATURE_FW_ASSISTED_TSO |
 		    EFX_FEATURE_FW_ASSISTED_TSO_V2 |
-		    EFX_FEATURE_PACKED_STREAM;
+		    EFX_FEATURE_PACKED_STREAM |
+		    EFX_FEATURE_TXQ_CKSUM_OP_DESC;
 		break;
 #endif	/* EFSYS_OPT_HUNTINGTON */
 
@@ -248,7 +249,8 @@ efx_nic_create(
 		    EFX_FEATURE_MCDI_DMA |
 		    EFX_FEATURE_PIO_BUFFERS |
 		    EFX_FEATURE_FW_ASSISTED_TSO_V2 |
-		    EFX_FEATURE_PACKED_STREAM;
+		    EFX_FEATURE_PACKED_STREAM |
+		    EFX_FEATURE_TXQ_CKSUM_OP_DESC;
 		break;
 #endif	/* EFSYS_OPT_MEDFORD */
 
@@ -264,7 +266,8 @@ efx_nic_create(
 		    EFX_FEATURE_MCDI_DMA |
 		    EFX_FEATURE_PIO_BUFFERS |
 		    EFX_FEATURE_FW_ASSISTED_TSO_V2 |
-		    EFX_FEATURE_PACKED_STREAM;
+		    EFX_FEATURE_PACKED_STREAM |
+		    EFX_FEATURE_TXQ_CKSUM_OP_DESC;
 		break;
 #endif	/* EFSYS_OPT_MEDFORD2 */
 
-- 
2.17.1

  parent reply	other threads:[~2019-02-07 16:30 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-07 16:29 [dpdk-dev] [PATCH 00/38] net/sfc: update base driver Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 01/38] net/sfc/base: correct annotations where NULL input is OK Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 02/38] net/sfc/base: update external port number calculation Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 03/38] net/sfc/base: ensure EvQ poll stops when abort is requested Andrew Rybchenko
2019-02-07 16:29 ` Andrew Rybchenko [this message]
2019-02-07 16:29 ` [dpdk-dev] [PATCH 05/38] net/sfc/base: remove min define for number of Tx descs Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 06/38] net/sfc/base: define max desc number for every EF10 NIC Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 07/38] net/sfc/base: remove min/max defines for number of Rx descs Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 08/38] net/sfc/base: remove min/max defines for number of events Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 09/38] net/sfc: use NIC min number of Tx descs instead of define Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 10/38] net/sfc: use NIC Rx descs limits instead of defines Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 11/38] net/sfc: use NIC EVQ " Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 12/38] net/sfc/base: move Tx descs number check to generic place Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 13/38] net/sfc/base: move Rx " Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 14/38] net/sfc/base: move EVQ " Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 15/38] net/sfc/base: move a macro to Siena implementation header Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 16/38] net/sfc/base: make max number of TxQ bufs EF10-specific Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 17/38] net/sfc/base: make NIC pointer const in NIC config get Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 18/38] net/sfc/base: support different Tx descriptor sizes Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 19/38] net/sfc/base: support different Rx " Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 20/38] net/sfc/base: support different event " Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 21/38] net/sfc/base: round number of queue buffers up Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 22/38] net/sfc: use NIC Tx descritor size instead of common Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 23/38] net/sfc: use NIC Rx " Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 24/38] net/sfc: use NIC event " Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 25/38] net/sfc/base: remove deprecated min/max desc defines Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 26/38] net/sfc/base: remove deprecated macros that get queue sizes Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 27/38] net/sfc/base: update auto-generated MCDI definition headers Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 28/38] net/sfc/base: add support for the Rx event mode w/o continue Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 29/38] net/sfc/base: rename header with MCDI strings Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 30/38] net/sfc/base: add Rx parse incomplete event queue statistic Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 31/38] net/sfc/base: make bundle partition type available for X2 Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 32/38] net/sfc/base: allow to specify Rx buffer size on queue setup Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 33/38] net/sfc/base: pass Rx buffer size to RxQ init if supported Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 34/38] net/sfc/base: simplify EF10 family conditional code checks Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 35/38] net/sfc/base: simplify EF10 family run-time checks Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 36/38] net/sfc/base: avoid division by 0 if no event queue timers Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 37/38] net/sfc/base: improve MCDI interface header inclusion Andrew Rybchenko
2019-02-07 16:29 ` [dpdk-dev] [PATCH 38/38] net/sfc/base: share macro to increment per-event type stats Andrew Rybchenko
2019-02-08 13:18 ` [dpdk-dev] [PATCH 00/38] net/sfc: update base driver 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=1549556983-10896-5-git-send-email-arybchenko@solarflare.com \
    --to=arybchenko@solarflare.com \
    --cc=Ivan.Malov@oktetlabs.ru \
    --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).