All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon@6wind.com>
To: marcdevel@gmail.com, bruce.richardson@intel.com,
	declan.doherty@intel.com, konstantin.ananyev@intel.com,
	wenzhuo.lu@intel.com, helin.zhang@intel.com,
	jing.d.chen@intel.com, harish.patil@qlogic.com,
	rahul.lakkireddy@chelsio.com, johndale@cisco.com, vido@cesnet.cz,
	adrien.mazarguil@6wind.com, alejandro.lucero@netronome.com
Cc: dev@dpdk.org
Subject: [PATCH v12 7/8] ethdev: convert speed number to bitmap flag
Date: Fri, 25 Mar 2016 20:42:29 +0100	[thread overview]
Message-ID: <1458934950-23333-8-git-send-email-thomas.monjalon@6wind.com> (raw)
In-Reply-To: <1458934950-23333-1-git-send-email-thomas.monjalon@6wind.com>

From: Marc Sune <marcdevel@gmail.com>

It is a helper for the bitmap configuration.

Signed-off-by: Marc Sune <marcdevel@gmail.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
---
 lib/librte_ether/rte_ethdev.c          | 31 +++++++++++++++++++++++++++++++
 lib/librte_ether/rte_ethdev.h          | 13 +++++++++++++
 lib/librte_ether/rte_ether_version.map |  1 +
 3 files changed, 45 insertions(+)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 76a30fd..695b475 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -866,6 +866,37 @@ rte_eth_dev_tx_queue_config(struct rte_eth_dev *dev, uint16_t nb_queues)
 	return 0;
 }
 
+uint32_t
+rte_eth_speed_bitflag(uint32_t speed, int duplex)
+{
+	switch (speed) {
+	case ETH_SPEED_NUM_10M:
+		return duplex ? ETH_LINK_SPEED_10M : ETH_LINK_SPEED_10M_HD;
+	case ETH_SPEED_NUM_100M:
+		return duplex ? ETH_LINK_SPEED_100M : ETH_LINK_SPEED_100M_HD;
+	case ETH_SPEED_NUM_1G:
+		return ETH_LINK_SPEED_1G;
+	case ETH_SPEED_NUM_2_5G:
+		return ETH_LINK_SPEED_2_5G;
+	case ETH_SPEED_NUM_5G:
+		return ETH_LINK_SPEED_5G;
+	case ETH_SPEED_NUM_10G:
+		return ETH_LINK_SPEED_10G;
+	case ETH_SPEED_NUM_20G:
+		return ETH_LINK_SPEED_20G;
+	case ETH_SPEED_NUM_25G:
+		return ETH_LINK_SPEED_25G;
+	case ETH_SPEED_NUM_40G:
+		return ETH_LINK_SPEED_40G;
+	case ETH_SPEED_NUM_50G:
+		return ETH_LINK_SPEED_50G;
+	case ETH_SPEED_NUM_56G:
+		return ETH_LINK_SPEED_56G;
+	default:
+		return 0;
+	}
+}
+
 int
 rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		      const struct rte_eth_conf *dev_conf)
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 03d3278..bb08ead 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1876,6 +1876,19 @@ struct eth_driver {
 void rte_eth_driver_register(struct eth_driver *eth_drv);
 
 /**
+ * Convert a numerical speed in Mbps to a bitmap flag that can be used in
+ * the bitmap link_speeds of the struct rte_eth_conf
+ *
+ * @param speed
+ *   Numerical speed value in Mbps
+ * @param duplex
+ *   ETH_LINK_[HALF/FULL]_DUPLEX (only for 10/100M speeds)
+ * @return
+ *   0 if the speed cannot be mapped
+ */
+uint32_t rte_eth_speed_bitflag(uint32_t speed, int duplex);
+
+/**
  * Configure an Ethernet device.
  * This function must be invoked first before any other function in the
  * Ethernet API. This function can also be re-invoked when a device is in the
diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
index b1f4475..214ecc7 100644
--- a/lib/librte_ether/rte_ether_version.map
+++ b/lib/librte_ether/rte_ether_version.map
@@ -125,6 +125,7 @@ DPDK_16.04 {
 	rte_eth_dev_set_vlan_ether_type;
 	rte_eth_dev_udp_tunnel_port_add;
 	rte_eth_dev_udp_tunnel_port_delete;
+	rte_eth_speed_bitflag;
 	rte_eth_tx_buffer_count_callback;
 	rte_eth_tx_buffer_drop_callback;
 	rte_eth_tx_buffer_init;
-- 
2.7.0

  parent reply	other threads:[~2016-03-25 19:44 UTC|newest]

Thread overview: 167+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1443993003-1059-1-git-send-email-marcdevel@gmail.com>
2015-10-25 21:59 ` [PATCH v6 0/5] ethdev: add speed capabilities and refactor link API Marc Sune
2015-10-25 21:59   ` [PATCH v6 1/5] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2015-11-01 22:11     ` Thomas Monjalon
2015-11-18 23:08       ` Marc Sune
2015-10-25 21:59   ` [PATCH v6 2/5] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2015-10-25 21:59   ` [PATCH v6 3/5] ethdev: redesign link speed config API Marc Sune
2015-10-25 22:03     ` Marc Sune
2015-11-01 22:16     ` Thomas Monjalon
2015-11-18 22:59       ` Marc Sune
2015-10-25 21:59   ` [PATCH v6 4/5] doc: update with link changes Marc Sune
2015-10-25 22:00   ` [PATCH v6 5/5] ethdev: add rte_eth_speed_to_bm_flag() to ver. map Marc Sune
2015-12-16 20:37   ` [PATCH v6 0/5] ethdev: add speed capabilities and refactor link API Marc Sune
2015-12-16 20:44     ` Olga Shern
2016-01-29  0:42   ` [PATCH v7 " Marc Sune
2016-01-29  0:42     ` [PATCH v7 1/5] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2016-01-29  0:42     ` [PATCH v7 2/5] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2016-01-29  0:42     ` [PATCH v7 3/5] ethdev: redesign link speed config API Marc Sune
2016-01-29  9:24       ` Ananyev, Konstantin
2016-01-29  9:37         ` Thomas Monjalon
2016-01-29  9:47           ` Ananyev, Konstantin
2016-01-29  9:53             ` Thomas Monjalon
2016-01-29 10:17               ` Ananyev, Konstantin
2016-01-29 12:40                 ` Marc
2016-02-01  0:40                 ` Zhang, Helin
2016-02-02  0:04                   ` Marc
2016-02-02  0:45                     ` FW: " Zhang, Helin
2016-01-29 16:16       ` Nélio Laranjeiro
2016-01-31 21:24         ` Marc
2016-01-29  0:42     ` [PATCH v7 4/5] doc: update with link changes Marc Sune
2016-01-29  0:42     ` [PATCH v7 5/5] ethdev: add rte_eth_speed_to_bm_flag() to ver. map Marc Sune
2016-01-29 13:05       ` Panu Matilainen
2016-01-31 21:21         ` Marc
2016-02-14 22:17     ` [PATCH v8 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
2016-02-14 22:17       ` [PATCH v8 1/4] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2016-02-16 20:42         ` Stephen Hemminger
2016-02-14 22:17       ` [PATCH v8 2/4] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2016-02-15  8:43         ` Nélio Laranjeiro
2016-02-15  9:17           ` Chen, Jing D
2016-02-15 14:43         ` Rahul Lakkireddy
2016-02-15 17:14           ` Marc
2016-02-16 15:25             ` Nélio Laranjeiro
2016-02-16 22:49               ` Marc
2016-02-14 22:17       ` [PATCH v8 3/4] ethdev: redesign link speed config API Marc Sune
2016-02-15  8:46         ` Nélio Laranjeiro
2016-02-15 11:00           ` Marc
2016-02-15 11:39             ` Olga Shern
2016-02-16 10:28         ` Matej Vido
2016-02-16 22:55           ` Marc
2016-02-14 22:17       ` [PATCH v8 4/4] doc: update with link changes Marc Sune
2016-02-18 18:14         ` Mcnamara, John
2016-02-28 22:17           ` Marc
2016-03-01  0:45       ` [PATCH v9 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
2016-03-01  0:45         ` [PATCH v9 1/4] ethdev: Added ETH_SPEED_CAP bitmap for ports Marc Sune
2016-03-01  0:45         ` [PATCH v9 2/4] ethdev: Fill speed capability bitmaps in the PMDs Marc Sune
2016-03-01  0:45         ` [PATCH v9 3/4] ethdev: redesign link speed config API Marc Sune
2016-03-09  8:45           ` Nélio Laranjeiro
2016-03-09 10:09             ` Marc
2016-03-09 10:20               ` Nélio Laranjeiro
2016-03-01  0:45         ` [PATCH v9 4/4] doc: update with link changes Marc Sune
2016-03-08 15:00         ` [PATCH v9 0/4] ethdev: add speed capabilities and refactor link API Marc Sune
2016-03-08 16:53           ` Nélio Laranjeiro
2016-03-09  9:29             ` Nélio Laranjeiro
2016-03-09 10:09               ` Nélio Laranjeiro
2016-03-09 20:57                 ` Marc
2016-03-14 21:55         ` [PATCH v10 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 1/8] ethdev: use constants for link state Thomas Monjalon
2016-03-15  1:26             ` Zhang, Helin
2016-03-14 21:55           ` [PATCH v10 2/8] ethdev: use constants for link duplex Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 3/8] app/testpmd: move speed and duplex parsing in a function Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 4/8] ethdev: rename link speed constants Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 5/8] ethdev: add speed capabilities Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 6/8] ethdev: redesign link speed config Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 7/8] ethdev: convert speed number to bitmap flag Thomas Monjalon
2016-03-14 21:55           ` [PATCH v10 8/8] ethdev: add 100G link speed Thomas Monjalon
2016-03-15  0:04           ` [PATCH v10 0/8] ethdev: 100G and link speed API refactoring Matej Vido
2016-03-15  7:12             ` Thomas Monjalon
2016-03-15  7:45               ` Matej Vido
2016-03-15  8:38           ` Nélio Laranjeiro
2016-03-15 13:12           ` [PATCH 0/4] szedata2: " Matej Vido
2016-03-15 13:12             ` [PATCH 1/4] szedata2: use constants for link state Matej Vido
2016-03-15 13:12             ` [PATCH 2/4] szedata2: rename link speed constants Matej Vido
2016-03-15 13:12             ` [PATCH 3/4] szedata2: redesign link speed config Matej Vido
2016-03-15 13:12             ` [PATCH 4/4] szedata2: add 100G link speed Matej Vido
2016-03-15 13:41               ` Thomas Monjalon
2016-03-15 13:47                 ` Matej Vido
2016-03-15 13:50                 ` Matej Vido
2016-03-15 20:51                   ` Thomas Monjalon
2016-03-17 18:08           ` [PATCH v11 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon
2016-03-17 18:08             ` [PATCH v11 1/8] ethdev: use constants for link state Thomas Monjalon
2016-03-17 18:08             ` [PATCH v11 2/8] ethdev: use constants for link duplex Thomas Monjalon
2016-03-23  2:44               ` Zhang, Helin
2016-03-23  8:34                 ` Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 3/8] app/testpmd: move speed and duplex parsing in a function Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 4/8] ethdev: rename link speed constants Thomas Monjalon
2016-03-23  2:52               ` Zhang, Helin
2016-03-23  8:31                 ` Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 5/8] ethdev: add speed capabilities Thomas Monjalon
2016-03-18  5:18               ` Chen, Jing D
2016-03-18  8:06                 ` Thomas Monjalon
2016-03-18  9:28               ` Adrien Mazarguil
2016-03-18 10:12                 ` Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 6/8] ethdev: redesign link speed config Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 7/8] ethdev: convert speed number to bitmap flag Thomas Monjalon
2016-03-17 18:09             ` [PATCH v11 8/8] ethdev: add 100G link speed Thomas Monjalon
2016-03-22 19:58             ` [PATCH v11 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon
2016-03-23  1:18               ` Xu, Qian Q
2016-03-23  8:39                 ` Thomas Monjalon
2016-03-23 20:54                 ` Marc
2016-03-24  6:21                   ` Xu, Qian Q
2016-03-24  7:47                     ` Marc
2016-03-25  1:02                       ` Xu, Qian Q
2016-03-25  9:35                         ` Thomas Monjalon
2016-03-25 15:07                           ` Zhang, Helin
2016-03-25 15:32                             ` Thomas Monjalon
2016-03-25 20:41                             ` Marc
2016-03-25 21:30                               ` Marc
2016-03-26  1:25                                 ` Marc
2016-03-26  8:08                                 ` Thomas Monjalon
2016-03-26 10:24                                   ` Marc
2016-03-27  9:53                                     ` Thomas Monjalon
2016-03-27 19:39                                       ` Marc
2016-03-28 13:42                                         ` Thomas Monjalon
2016-03-28 19:11                                           ` Marc
2016-03-24 17:32             ` Matej Vido
2016-03-25 19:42             ` [PATCH v12 " Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 1/8] ethdev: use constants for link state Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 2/8] ethdev: use constants for link duplex Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 3/8] app/testpmd: move speed and duplex parsing in a function Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 4/8] ethdev: rename link speed constants Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 5/8] ethdev: add speed capabilities Thomas Monjalon
2016-03-25 19:42               ` [PATCH v12 6/8] ethdev: redesign link speed config Thomas Monjalon
2016-03-25 19:42               ` Thomas Monjalon [this message]
2016-03-25 19:42               ` [PATCH v12 8/8] ethdev: add 100G link speed Thomas Monjalon
2016-03-26  1:27               ` [PATCH v13 0/8] ethdev: 100G and link speed API refactoring Marc Sune
2016-03-26  1:27                 ` [PATCH v13 1/8] ethdev: use constants for link state Marc Sune
2016-03-26  1:27                 ` [PATCH v13 2/8] ethdev: use constants for link duplex Marc Sune
2016-03-26  1:27                 ` [PATCH v13 3/8] app/testpmd: move speed and duplex parsing in a function Marc Sune
2016-03-26  1:27                 ` [PATCH v13 4/8] ethdev: rename link speed constants Marc Sune
2016-04-06  8:34                   ` Weglicki, MichalX
2016-04-06  8:52                     ` Thomas Monjalon
2016-04-06  9:16                       ` Weglicki, MichalX
2016-04-06  9:34                         ` Thomas Monjalon
2016-03-26  1:27                 ` [PATCH v13 5/8] ethdev: add speed capabilities Marc Sune
2016-03-29 13:31                   ` Alejandro Lucero
2016-03-30  8:06                     ` Marc
2016-03-26  1:27                 ` [PATCH v13 6/8] ethdev: redesign link speed config Marc Sune
2016-03-29  6:18                   ` Xing, Beilei
2016-03-30  7:59                     ` Marc
2016-03-31  0:57                       ` Xing, Beilei
2016-03-31 12:28                         ` Thomas Monjalon
2016-04-01  9:53                           ` Xing, Beilei
2016-03-26  1:27                 ` [PATCH v13 7/8] ethdev: convert speed number to bitmap flag Marc Sune
2016-03-26  1:27                 ` [PATCH v13 8/8] ethdev: add 100G link speed Marc Sune
2016-03-26  8:11                 ` [PATCH v13 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon
2016-03-31 16:17                   ` Adrien Mazarguil
2016-03-30  9:23                 ` Thomas Monjalon
2016-03-31  6:25                   ` Lu, Wenzhuo
2016-03-31 22:12                 ` [PATCH v14 " Marc Sune
2016-03-31 22:12                   ` [PATCH v14 1/8] ethdev: use constants for link state Marc Sune
2016-03-31 22:12                   ` [PATCH v14 2/8] ethdev: use constants for link duplex Marc Sune
2016-03-31 22:12                   ` [PATCH v14 3/8] app/testpmd: move speed and duplex parsing in a function Marc Sune
2016-03-31 22:12                   ` [PATCH v14 4/8] ethdev: rename link speed constants Marc Sune
2016-03-31 22:12                   ` [PATCH v14 5/8] ethdev: add speed capabilities Marc Sune
2016-03-31 22:12                   ` [PATCH v14 6/8] ethdev: redesign link speed config Marc Sune
2016-03-31 22:12                   ` [PATCH v14 7/8] ethdev: convert speed number to bitmap flag Marc Sune
2016-03-31 22:12                   ` [PATCH v14 8/8] ethdev: add 100G link speed Marc Sune
2016-04-01 19:38                   ` [PATCH v14 0/8] ethdev: 100G and link speed API refactoring Thomas Monjalon

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=1458934950-23333-8-git-send-email-thomas.monjalon@6wind.com \
    --to=thomas.monjalon@6wind.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=alejandro.lucero@netronome.com \
    --cc=bruce.richardson@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=harish.patil@qlogic.com \
    --cc=helin.zhang@intel.com \
    --cc=jing.d.chen@intel.com \
    --cc=johndale@cisco.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=marcdevel@gmail.com \
    --cc=rahul.lakkireddy@chelsio.com \
    --cc=vido@cesnet.cz \
    --cc=wenzhuo.lu@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.