From: Shrikrishna Khare <skhare@vmware.com>
To: <yongwang@vmware.com>
Cc: <dev@dpdk.org>, Shrikrishna Khare <skhare@vmware.com>
Subject: [dpdk-dev] [PATCH v2 1/7] net/vmxnet3: prepare for version 3 changes
Date: Mon, 6 Mar 2017 09:17:40 -0800 [thread overview]
Message-ID: <1488820666-24445-2-git-send-email-skhare@vmware.com> (raw)
In-Reply-To: <1488820666-24445-1-git-send-email-skhare@vmware.com>
Cleanup some code in preparation of vmxnet3 version 3 changes.
Signed-off-by: Shrikrishna Khare <skhare@vmware.com>
Acked-by: Yong Wang <yongwang@vmware.com>
Acked-by: Jin Heo <heoj@vmware.com>
---
drivers/net/vmxnet3/vmxnet3_ethdev.c | 17 +++++++++++++----
drivers/net/vmxnet3/vmxnet3_ethdev.h | 9 +++++++++
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index b7b5377..09f2085 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -265,13 +265,22 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
/* Check h/w version compatibility with driver. */
ver = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_VRRS);
PMD_INIT_LOG(DEBUG, "Hardware version : %d", ver);
- if (ver & 0x1)
- VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS, 1);
- else {
- PMD_INIT_LOG(ERR, "Incompatible h/w version, should be 0x1");
+
+ if (ver & (1 << VMXNET3_REV_2)) {
+ VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS,
+ 1 << VMXNET3_REV_2);
+ hw->version = VMXNET3_REV_2 + 1;
+ } else if (ver & (1 << VMXNET3_REV_1)) {
+ VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS,
+ 1 << VMXNET3_REV_1);
+ hw->version = VMXNET3_REV_1 + 1;
+ } else {
+ PMD_INIT_LOG(ERR, "Incompatible hardware version: %d", ver);
return -EIO;
}
+ PMD_INIT_LOG(DEBUG, "Using device version %d\n", hw->version);
+
/* Check UPT version compatibility with driver. */
ver = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_UVRS);
PMD_INIT_LOG(DEBUG, "UPT hardware version : %d", ver);
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.h b/drivers/net/vmxnet3/vmxnet3_ethdev.h
index 348c840..3cc8979 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.h
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.h
@@ -101,6 +101,8 @@ struct vmxnet3_hw {
uint8_t num_rx_queues;
uint8_t bufs_per_pkt;
+ uint8_t version;
+
Vmxnet3_TxQueueDesc *tqd_start; /* start address of all tx queue desc */
Vmxnet3_RxQueueDesc *rqd_start; /* start address of all rx queue desc */
@@ -117,6 +119,13 @@ struct vmxnet3_hw {
#define VMXNET3_VFT_TABLE_SIZE (VMXNET3_VFT_SIZE * sizeof(uint32_t))
};
+#define VMXNET3_REV_3 2 /* Vmxnet3 Rev. 3 */
+#define VMXNET3_REV_2 1 /* Vmxnet3 Rev. 2 */
+#define VMXNET3_REV_1 0 /* Vmxnet3 Rev. 1 */
+
+#define VMXNET3_VERSION_GE_3(hw) ((hw)->version >= VMXNET3_REV_3 + 1)
+#define VMXNET3_VERSION_GE_2(hw) ((hw)->version >= VMXNET3_REV_2 + 1)
+
#define VMXNET3_GET_ADDR_LO(reg) ((uint32_t)(reg))
#define VMXNET3_GET_ADDR_HI(reg) ((uint32_t)(((uint64_t)(reg)) >> 32))
--
2.6.2
next prev parent reply other threads:[~2017-03-06 17:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-06 17:17 [dpdk-dev] [PATCH v2 0/7] vmxnet3: upgrade to version 3 Shrikrishna Khare
2017-03-06 17:17 ` Shrikrishna Khare [this message]
2017-03-06 17:17 ` [dpdk-dev] [PATCH v2 2/7] net/vmxnet3: introduce generalized cmd interface Shrikrishna Khare
2017-03-06 17:17 ` [dpdk-dev] [PATCH v2 3/7] net/vmxnet3: variable length transmit data ring Shrikrishna Khare
2017-03-06 17:17 ` [dpdk-dev] [PATCH v2 4/7] net/vmxnet3: add receive data ring support Shrikrishna Khare
2017-03-06 22:24 ` Thomas Monjalon
2017-03-06 22:57 ` Shrikrishna Khare
2017-03-06 17:17 ` [dpdk-dev] [PATCH v2 5/7] net/vmxnet3: add reserved version 3 command Shrikrishna Khare
2017-03-06 17:17 ` [dpdk-dev] [PATCH v2 6/7] net/vmxnet3: add cmd to register memory region Shrikrishna Khare
2017-03-06 17:17 ` [dpdk-dev] [PATCH v2 7/7] net/vmxnet3: update to version 3 Shrikrishna Khare
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=1488820666-24445-2-git-send-email-skhare@vmware.com \
--to=skhare@vmware.com \
--cc=dev@dpdk.org \
--cc=yongwang@vmware.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 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).