From: Shijith Thotton <shijith.thotton@caviumnetworks.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dev@dpdk.org, Jerin Jacob <jerin.jacob@caviumnetworks.com>,
Derek Chickles <derek.chickles@caviumnetworks.com>,
Venkat Koppula <venkat.koppula@caviumnetworks.com>,
Srisivasubramanian S <ssrinivasan@caviumnetworks.com>,
Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
Subject: [dpdk-dev] [PATCH v3 09/46] net/liquidio: add mbox APIs for PF VF communication
Date: Sat, 25 Mar 2017 11:54:20 +0530 [thread overview]
Message-ID: <1490423097-6797-10-git-send-email-shijith.thotton@caviumnetworks.com> (raw)
In-Reply-To: <1490423097-6797-1-git-send-email-shijith.thotton@caviumnetworks.com>
Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Signed-off-by: Derek Chickles <derek.chickles@caviumnetworks.com>
Signed-off-by: Venkat Koppula <venkat.koppula@caviumnetworks.com>
Signed-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>
Signed-off-by: Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
---
drivers/net/liquidio/Makefile | 1 +
drivers/net/liquidio/base/lio_mbox.c | 275 +++++++++++++++++++++++++++++++++++
drivers/net/liquidio/base/lio_mbox.h | 129 ++++++++++++++++
drivers/net/liquidio/lio_struct.h | 3 +
4 files changed, 408 insertions(+)
create mode 100644 drivers/net/liquidio/base/lio_mbox.c
create mode 100644 drivers/net/liquidio/base/lio_mbox.h
diff --git a/drivers/net/liquidio/Makefile b/drivers/net/liquidio/Makefile
index 8880a10..451f49d 100644
--- a/drivers/net/liquidio/Makefile
+++ b/drivers/net/liquidio/Makefile
@@ -52,6 +52,7 @@ VPATH += $(RTE_SDK)/drivers/net/liquidio/base
#
SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_ethdev.c
SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_23xx_vf.c
+SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_mbox.c
# this lib depends upon:
DEPDIRS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lib/librte_eal lib/librte_ether
diff --git a/drivers/net/liquidio/base/lio_mbox.c b/drivers/net/liquidio/base/lio_mbox.c
new file mode 100644
index 0000000..b4abc62
--- /dev/null
+++ b/drivers/net/liquidio/base/lio_mbox.c
@@ -0,0 +1,275 @@
+/*
+ * BSD LICENSE
+ *
+ * Copyright(c) 2017 Cavium, Inc.. All rights reserved.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * 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.
+ * * Neither the name of Cavium, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 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(S) 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.
+ */
+
+#include <rte_ethdev.h>
+#include <rte_cycles.h>
+
+#include "lio_logs.h"
+#include "lio_struct.h"
+#include "lio_mbox.h"
+
+/**
+ * lio_mbox_read:
+ * @mbox: Pointer mailbox
+ *
+ * Reads the 8-bytes of data from the mbox register
+ * Writes back the acknowledgment indicating completion of read
+ */
+int
+lio_mbox_read(struct lio_mbox *mbox)
+{
+ union lio_mbox_message msg;
+ int ret = 0;
+
+ msg.mbox_msg64 = rte_read64(mbox->mbox_read_reg);
+
+ if ((msg.mbox_msg64 == LIO_PFVFACK) || (msg.mbox_msg64 == LIO_PFVFSIG))
+ return 0;
+
+ if (mbox->state & LIO_MBOX_STATE_REQ_RECEIVING) {
+ mbox->mbox_req.data[mbox->mbox_req.recv_len - 1] =
+ msg.mbox_msg64;
+ mbox->mbox_req.recv_len++;
+ } else {
+ if (mbox->state & LIO_MBOX_STATE_RES_RECEIVING) {
+ mbox->mbox_resp.data[mbox->mbox_resp.recv_len - 1] =
+ msg.mbox_msg64;
+ mbox->mbox_resp.recv_len++;
+ } else {
+ if ((mbox->state & LIO_MBOX_STATE_IDLE) &&
+ (msg.s.type == LIO_MBOX_REQUEST)) {
+ mbox->state &= ~LIO_MBOX_STATE_IDLE;
+ mbox->state |= LIO_MBOX_STATE_REQ_RECEIVING;
+ mbox->mbox_req.msg.mbox_msg64 = msg.mbox_msg64;
+ mbox->mbox_req.q_no = mbox->q_no;
+ mbox->mbox_req.recv_len = 1;
+ } else {
+ if ((mbox->state &
+ LIO_MBOX_STATE_RES_PENDING) &&
+ (msg.s.type == LIO_MBOX_RESPONSE)) {
+ mbox->state &=
+ ~LIO_MBOX_STATE_RES_PENDING;
+ mbox->state |=
+ LIO_MBOX_STATE_RES_RECEIVING;
+ mbox->mbox_resp.msg.mbox_msg64 =
+ msg.mbox_msg64;
+ mbox->mbox_resp.q_no = mbox->q_no;
+ mbox->mbox_resp.recv_len = 1;
+ } else {
+ rte_write64(LIO_PFVFERR,
+ mbox->mbox_read_reg);
+ mbox->state |= LIO_MBOX_STATE_ERROR;
+ return -1;
+ }
+ }
+ }
+ }
+
+ if (mbox->state & LIO_MBOX_STATE_REQ_RECEIVING) {
+ if (mbox->mbox_req.recv_len < msg.s.len) {
+ ret = 0;
+ } else {
+ mbox->state &= ~LIO_MBOX_STATE_REQ_RECEIVING;
+ mbox->state |= LIO_MBOX_STATE_REQ_RECEIVED;
+ ret = 1;
+ }
+ } else {
+ if (mbox->state & LIO_MBOX_STATE_RES_RECEIVING) {
+ if (mbox->mbox_resp.recv_len < msg.s.len) {
+ ret = 0;
+ } else {
+ mbox->state &= ~LIO_MBOX_STATE_RES_RECEIVING;
+ mbox->state |= LIO_MBOX_STATE_RES_RECEIVED;
+ ret = 1;
+ }
+ } else {
+ RTE_ASSERT(0);
+ }
+ }
+
+ rte_write64(LIO_PFVFACK, mbox->mbox_read_reg);
+
+ return ret;
+}
+
+/**
+ * lio_mbox_write:
+ * @lio_dev: Pointer lio device
+ * @mbox_cmd: Cmd to send to mailbox.
+ *
+ * Populates the queue specific mbox structure
+ * with cmd information.
+ * Write the cmd to mbox register
+ */
+int
+lio_mbox_write(struct lio_device *lio_dev,
+ struct lio_mbox_cmd *mbox_cmd)
+{
+ struct lio_mbox *mbox = lio_dev->mbox[mbox_cmd->q_no];
+ uint32_t count, i, ret = LIO_MBOX_STATUS_SUCCESS;
+
+ if ((mbox_cmd->msg.s.type == LIO_MBOX_RESPONSE) &&
+ !(mbox->state & LIO_MBOX_STATE_REQ_RECEIVED))
+ return LIO_MBOX_STATUS_FAILED;
+
+ if ((mbox_cmd->msg.s.type == LIO_MBOX_REQUEST) &&
+ !(mbox->state & LIO_MBOX_STATE_IDLE))
+ return LIO_MBOX_STATUS_BUSY;
+
+ if (mbox_cmd->msg.s.type == LIO_MBOX_REQUEST) {
+ rte_memcpy(&mbox->mbox_resp, mbox_cmd,
+ sizeof(struct lio_mbox_cmd));
+ mbox->state = LIO_MBOX_STATE_RES_PENDING;
+ }
+
+ count = 0;
+
+ while (rte_read64(mbox->mbox_write_reg) != LIO_PFVFSIG) {
+ rte_delay_ms(1);
+ if (count++ == 1000) {
+ ret = LIO_MBOX_STATUS_FAILED;
+ break;
+ }
+ }
+
+ if (ret == LIO_MBOX_STATUS_SUCCESS) {
+ rte_write64(mbox_cmd->msg.mbox_msg64, mbox->mbox_write_reg);
+ for (i = 0; i < (uint32_t)(mbox_cmd->msg.s.len - 1); i++) {
+ count = 0;
+ while (rte_read64(mbox->mbox_write_reg) !=
+ LIO_PFVFACK) {
+ rte_delay_ms(1);
+ if (count++ == 1000) {
+ ret = LIO_MBOX_STATUS_FAILED;
+ break;
+ }
+ }
+ rte_write64(mbox_cmd->data[i], mbox->mbox_write_reg);
+ }
+ }
+
+ if (mbox_cmd->msg.s.type == LIO_MBOX_RESPONSE) {
+ mbox->state = LIO_MBOX_STATE_IDLE;
+ rte_write64(LIO_PFVFSIG, mbox->mbox_read_reg);
+ } else {
+ if ((!mbox_cmd->msg.s.resp_needed) ||
+ (ret == LIO_MBOX_STATUS_FAILED)) {
+ mbox->state &= ~LIO_MBOX_STATE_RES_PENDING;
+ if (!(mbox->state & (LIO_MBOX_STATE_REQ_RECEIVING |
+ LIO_MBOX_STATE_REQ_RECEIVED)))
+ mbox->state = LIO_MBOX_STATE_IDLE;
+ }
+ }
+
+ return ret;
+}
+
+/**
+ * lio_mbox_process_cmd:
+ * @mbox: Pointer mailbox
+ * @mbox_cmd: Pointer to command received
+ *
+ * Process the cmd received in mbox
+ */
+static int
+lio_mbox_process_cmd(struct lio_mbox *mbox,
+ struct lio_mbox_cmd *mbox_cmd)
+{
+ struct lio_device *lio_dev = mbox->lio_dev;
+
+ if (mbox_cmd->msg.s.cmd == LIO_CORES_CRASHED)
+ lio_dev_err(lio_dev, "Octeon core(s) crashed or got stuck!\n");
+
+ return 0;
+}
+
+/**
+ * Process the received mbox message.
+ */
+int
+lio_mbox_process_message(struct lio_mbox *mbox)
+{
+ struct lio_mbox_cmd mbox_cmd;
+
+ if (mbox->state & LIO_MBOX_STATE_ERROR) {
+ if (mbox->state & (LIO_MBOX_STATE_RES_PENDING |
+ LIO_MBOX_STATE_RES_RECEIVING)) {
+ rte_memcpy(&mbox_cmd, &mbox->mbox_resp,
+ sizeof(struct lio_mbox_cmd));
+ mbox->state = LIO_MBOX_STATE_IDLE;
+ rte_write64(LIO_PFVFSIG, mbox->mbox_read_reg);
+ mbox_cmd.recv_status = 1;
+ if (mbox_cmd.fn)
+ mbox_cmd.fn(mbox->lio_dev, &mbox_cmd,
+ mbox_cmd.fn_arg);
+
+ return 0;
+ }
+
+ mbox->state = LIO_MBOX_STATE_IDLE;
+ rte_write64(LIO_PFVFSIG, mbox->mbox_read_reg);
+
+ return 0;
+ }
+
+ if (mbox->state & LIO_MBOX_STATE_RES_RECEIVED) {
+ rte_memcpy(&mbox_cmd, &mbox->mbox_resp,
+ sizeof(struct lio_mbox_cmd));
+ mbox->state = LIO_MBOX_STATE_IDLE;
+ rte_write64(LIO_PFVFSIG, mbox->mbox_read_reg);
+ mbox_cmd.recv_status = 0;
+ if (mbox_cmd.fn)
+ mbox_cmd.fn(mbox->lio_dev, &mbox_cmd, mbox_cmd.fn_arg);
+
+ return 0;
+ }
+
+ if (mbox->state & LIO_MBOX_STATE_REQ_RECEIVED) {
+ rte_memcpy(&mbox_cmd, &mbox->mbox_req,
+ sizeof(struct lio_mbox_cmd));
+ if (!mbox_cmd.msg.s.resp_needed) {
+ mbox->state &= ~LIO_MBOX_STATE_REQ_RECEIVED;
+ if (!(mbox->state & LIO_MBOX_STATE_RES_PENDING))
+ mbox->state = LIO_MBOX_STATE_IDLE;
+ rte_write64(LIO_PFVFSIG, mbox->mbox_read_reg);
+ }
+
+ lio_mbox_process_cmd(mbox, &mbox_cmd);
+
+ return 0;
+ }
+
+ RTE_ASSERT(0);
+
+ return 0;
+}
diff --git a/drivers/net/liquidio/base/lio_mbox.h b/drivers/net/liquidio/base/lio_mbox.h
new file mode 100644
index 0000000..28c9e1a
--- /dev/null
+++ b/drivers/net/liquidio/base/lio_mbox.h
@@ -0,0 +1,129 @@
+/*
+ * BSD LICENSE
+ *
+ * Copyright(c) 2017 Cavium, Inc.. All rights reserved.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * 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.
+ * * Neither the name of Cavium, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 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(S) 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 _LIO_MBOX_H_
+#define _LIO_MBOX_H_
+
+#include <stdint.h>
+
+#include <rte_spinlock.h>
+
+/* Macros for Mail Box Communication */
+
+#define LIO_MBOX_DATA_MAX 32
+
+#define LIO_CORES_CRASHED 0x3
+
+/* Macro for Read acknowledgment */
+#define LIO_PFVFACK 0xffffffffffffffff
+#define LIO_PFVFSIG 0x1122334455667788
+#define LIO_PFVFERR 0xDEADDEADDEADDEAD
+
+enum lio_mbox_cmd_status {
+ LIO_MBOX_STATUS_SUCCESS = 0,
+ LIO_MBOX_STATUS_FAILED = 1,
+ LIO_MBOX_STATUS_BUSY = 2
+};
+
+enum lio_mbox_message_type {
+ LIO_MBOX_REQUEST = 0,
+ LIO_MBOX_RESPONSE = 1
+};
+
+union lio_mbox_message {
+ uint64_t mbox_msg64;
+ struct {
+ uint16_t type : 1;
+ uint16_t resp_needed : 1;
+ uint16_t cmd : 6;
+ uint16_t len : 8;
+ uint8_t params[6];
+ } s;
+};
+
+typedef void (*lio_mbox_callback)(void *, void *, void *);
+
+struct lio_mbox_cmd {
+ union lio_mbox_message msg;
+ uint64_t data[LIO_MBOX_DATA_MAX];
+ uint32_t q_no;
+ uint32_t recv_len;
+ uint32_t recv_status;
+ lio_mbox_callback fn;
+ void *fn_arg;
+};
+
+enum lio_mbox_state {
+ LIO_MBOX_STATE_IDLE = 1,
+ LIO_MBOX_STATE_REQ_RECEIVING = 2,
+ LIO_MBOX_STATE_REQ_RECEIVED = 4,
+ LIO_MBOX_STATE_RES_PENDING = 8,
+ LIO_MBOX_STATE_RES_RECEIVING = 16,
+ LIO_MBOX_STATE_RES_RECEIVED = 16,
+ LIO_MBOX_STATE_ERROR = 32
+};
+
+struct lio_mbox {
+ /* A spinlock to protect access to this q_mbox. */
+ rte_spinlock_t lock;
+
+ struct lio_device *lio_dev;
+
+ uint32_t q_no;
+
+ enum lio_mbox_state state;
+
+ /* SLI_MAC_PF_MBOX_INT for PF, SLI_PKT_MBOX_INT for VF. */
+ void *mbox_int_reg;
+
+ /* SLI_PKT_PF_VF_MBOX_SIG(0) for PF,
+ * SLI_PKT_PF_VF_MBOX_SIG(1) for VF.
+ */
+ void *mbox_write_reg;
+
+ /* SLI_PKT_PF_VF_MBOX_SIG(1) for PF,
+ * SLI_PKT_PF_VF_MBOX_SIG(0) for VF.
+ */
+ void *mbox_read_reg;
+
+ struct lio_mbox_cmd mbox_req;
+
+ struct lio_mbox_cmd mbox_resp;
+
+};
+
+int lio_mbox_read(struct lio_mbox *mbox);
+int lio_mbox_write(struct lio_device *lio_dev,
+ struct lio_mbox_cmd *mbox_cmd);
+int lio_mbox_process_message(struct lio_mbox *mbox);
+#endif /* _LIO_MBOX_H_ */
diff --git a/drivers/net/liquidio/lio_struct.h b/drivers/net/liquidio/lio_struct.h
index 577ea49..0af4fe3 100644
--- a/drivers/net/liquidio/lio_struct.h
+++ b/drivers/net/liquidio/lio_struct.h
@@ -126,6 +126,9 @@ struct lio_device {
struct lio_sriov_info sriov_info;
+ /** Mail Box details of each lio queue. */
+ struct lio_mbox **mbox;
+
char dev_string[LIO_DEVICE_NAME_LEN]; /* Device print string */
const struct lio_config *default_config;
--
1.8.3.1
next prev parent reply other threads:[~2017-03-25 6:27 UTC|newest]
Thread overview: 175+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-21 9:26 [dpdk-dev] [PATCH 00/50] LiquidIO PMD Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 01/50] net/liquidio/base: hardware register definitions Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 02/50] config: liquidio PMD configuration Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 03/50] net/liquidio: added PMD version map file Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 04/50] net/liquidio: definitions for log Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 05/50] maintainers: claim responsibility for LiquidIO PMD Shijith Thotton
2017-02-23 14:28 ` Ferruh Yigit
2017-02-23 17:44 ` Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 06/50] net/liquidio: liquidio VF PMD Driver registration Shijith Thotton
2017-02-23 14:29 ` Ferruh Yigit
2017-02-23 17:51 ` Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 07/50] net/liquidio: added Makefile Shijith Thotton
2017-02-23 14:27 ` Ferruh Yigit
2017-02-21 9:26 ` [dpdk-dev] [PATCH 08/50] net/liquidio/base: macros to read and write register Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 09/50] net/liquidio: liquidio device init Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 10/50] net/liquidio: add API to disable io queues Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 11/50] net/liquidio: add API to setup io queue registers Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 12/50] net/liquidio: add mbox APIs for PF/VF communication Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 13/50] net/liquidio: add API to setup mbox registers Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 14/50] net/liquidio: add API for VF/PF handshake Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 15/50] net/liquidio: add API for VF FLR Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 16/50] net/liquidio: add APIs to allocate and free IQ Shijith Thotton
2017-02-23 14:30 ` Ferruh Yigit
2017-02-23 18:35 ` Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 17/50] net/liquidio: add API to setup instruction queue Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 18/50] net/liquidio: add API to allocate and free command pool Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 19/50] net/liquidio: add API to allocate and free soft command Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 20/50] net/liquidio: add APIs for response list Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 21/50] net/liquidio: add APIs to send packet to device Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 22/50] net/liquidio: add API to configure device Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 23/50] net/liquidio: add API to setup Rx queue Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 24/50] net/liquidio: initialize " Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 25/50] net/liquidio: add Rx data path Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 26/50] net/liquidio: add API to release Rx queue Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 27/50] net/liquidio: add API to setup Tx queue Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 28/50] net/liquidio: add APIs for sg list Shijith Thotton
2017-02-23 14:31 ` Ferruh Yigit
2017-02-21 9:26 ` [dpdk-dev] [PATCH 29/50] net/liquidio: add API to enable and disable IO queues Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 30/50] net/liquidio: add Tx data path for single segment Shijith Thotton
2017-02-23 14:31 ` Ferruh Yigit
2017-02-21 9:26 ` [dpdk-dev] [PATCH 31/50] net/liquidio: add Tx data path for multiple segments Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 32/50] net/liquidio: add APIs to flush IQ and free buffers Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 33/50] net/liquidio: add API to release Tx queue Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 34/50] net/liquidio: add API to start device and check link Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 35/50] net/liquidio: add API for link update Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 36/50] net/liquidio: add API to alloc and send command Shijith Thotton
2017-02-23 14:33 ` Ferruh Yigit
2017-02-23 18:47 ` Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 37/50] net/liquidio: add API to control Rx Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 38/50] net/liquidio: add RSS support Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 39/50] net/liquidio: add API to get device info Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 40/50] net/liquidio: add API to set MTU Shijith Thotton
2017-02-23 14:34 ` Ferruh Yigit
2017-02-21 9:26 ` [dpdk-dev] [PATCH 41/50] net/liquidio: add API to enable and disable multicast Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 42/50] net/liquidio: add API to set link up and down Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 43/50] net/liquidio: add API to configure udp tunnel port Shijith Thotton
2017-02-21 9:26 ` [dpdk-dev] [PATCH 44/50] net/liquidio: add support for Rx stats Shijith Thotton
2017-02-21 9:27 ` [dpdk-dev] [PATCH 45/50] net/liquidio: add support for Tx stats Shijith Thotton
2017-02-21 9:27 ` [dpdk-dev] [PATCH 46/50] net/liquidio: add APIs for hardware stats Shijith Thotton
2017-02-21 9:27 ` [dpdk-dev] [PATCH 47/50] net/liquidio: add API for dev stop Shijith Thotton
2017-02-21 9:27 ` [dpdk-dev] [PATCH 48/50] net/liquidio: add API for dev close Shijith Thotton
2017-02-21 9:27 ` [dpdk-dev] [PATCH 49/50] net/liquidio: add API to add and remove VLAN port Shijith Thotton
2017-02-21 9:27 ` [dpdk-dev] [PATCH 50/50] doc: added documents Shijith Thotton
2017-02-23 14:35 ` Ferruh Yigit
2017-02-25 16:26 ` Shijith Thotton
2017-02-23 16:50 ` Mcnamara, John
2017-02-21 20:22 ` [dpdk-dev] [PATCH 00/50] LiquidIO PMD Stephen Hemminger
2017-02-22 4:56 ` Shijith Thotton
2017-02-23 9:56 ` Ferruh Yigit
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 00/46] " Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 01/46] config: add liquidio PMD skeleton Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 02/46] net/liquidio/base: hardware register definitions Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 03/46] net/liquidio: definitions for log Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 04/46] net/liquidio: liquidio VF PMD driver registration Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 05/46] net/liquidio/base: macros to read and write register Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 06/46] net/liquidio: liquidio device init Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 07/46] net/liquidio: add API to disable IO queues Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 08/46] net/liquidio: add API to setup IO queue registers Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 09/46] net/liquidio: add mbox APIs for PF VF communication Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 10/46] net/liquidio: add API to setup mbox registers Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 11/46] net/liquidio: add API for PF VF handshake Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 12/46] net/liquidio: add API for VF FLR Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 13/46] net/liquidio: add APIs to allocate and free IQ Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 14/46] net/liquidio: add API to setup IQ Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 15/46] net/liquidio: add APIs to allocate and free SC buffer pool Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 16/46] net/liquidio: add APIs to allocate and free soft command Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 17/46] net/liquidio: add APIs for response list Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 18/46] net/liquidio: add API to send packet to device Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 19/46] net/liquidio: add API to configure device Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 20/46] net/liquidio: add API to setup Rx queue Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 21/46] net/liquidio: initialize " Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 22/46] net/liquidio: add Rx data path Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 23/46] net/liquidio: add API to release Rx queue Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 24/46] net/liquidio: add API to setup Tx queue Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 25/46] net/liquidio: add APIs for SG list Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 26/46] net/liquidio: add APIs to enable and disable IO queues Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 27/46] net/liquidio: add Tx data path for single segment Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 28/46] net/liquidio: add Tx data path for multiple segments Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 29/46] net/liquidio: add API to flush IQ Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 30/46] net/liquidio: add API to release Tx queue Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 31/46] net/liquidio: add APIs to start device and update link Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 32/46] net/liquidio: add APIs to alloc and send control command Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 33/46] net/liquidio: add API to control Rx Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 34/46] net/liquidio: add RSS support Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 35/46] net/liquidio: add API to get device info Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 36/46] net/liquidio: add API to set MTU Shijith Thotton
2017-03-21 12:24 ` Ferruh Yigit
2017-03-21 12:53 ` Shijith Thotton
2017-03-21 13:01 ` Ferruh Yigit
2017-03-21 13:56 ` Shijith Thotton
2017-03-21 14:09 ` Ferruh Yigit
2017-03-23 5:02 ` Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 37/46] net/liquidio: add APIs to enable and disable multicast Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 38/46] net/liquidio: add APIs to set link up and down Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 39/46] net/liquidio: add API to configure UDP tunnel port Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 40/46] net/liquidio: add support for Rx stats Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 41/46] net/liquidio: add support for Tx stats Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 42/46] net/liquidio: add APIs for hardware stats Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 43/46] net/liquidio: add API to stop device Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 44/46] net/liquidio: add API to close device Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 45/46] net/liquidio: add API to add and remove VLAN port Shijith Thotton
2017-03-02 11:32 ` [dpdk-dev] [PATCH v2 46/46] doc: add doc for liquidio Shijith Thotton
2017-03-21 12:33 ` Ferruh Yigit
2017-03-23 5:44 ` Shijith Thotton
2017-03-23 13:38 ` Ferruh Yigit
2017-03-21 12:38 ` [dpdk-dev] [PATCH v2 00/46] LiquidIO PMD Ferruh Yigit
2017-03-24 11:29 ` Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 " Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 01/46] net/liquidio: add liquidio PMD skeleton Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 02/46] net/liquidio/base: hardware register definitions Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 03/46] net/liquidio: definitions for log Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 04/46] net/liquidio: liquidio VF PMD driver registration Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 05/46] net/liquidio/base: macros to read and write register Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 06/46] net/liquidio: liquidio device init Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 07/46] net/liquidio: add API to disable IO queues Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 08/46] net/liquidio: add API to setup IO queue registers Shijith Thotton
2017-03-25 6:24 ` Shijith Thotton [this message]
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 10/46] net/liquidio: add API to setup mbox registers Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 11/46] net/liquidio: add API for PF VF handshake Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 12/46] net/liquidio: add API for VF FLR Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 13/46] net/liquidio: add APIs to allocate and free IQ Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 14/46] net/liquidio: add API to setup IQ Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 15/46] net/liquidio: add APIs to allocate and free SC buffer pool Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 16/46] net/liquidio: add APIs to allocate and free soft command Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 17/46] net/liquidio: add APIs for response list Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 18/46] net/liquidio: add API to send packet to device Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 19/46] net/liquidio: add API to configure device Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 20/46] net/liquidio: add API to setup Rx queue Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 21/46] net/liquidio: initialize " Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 22/46] net/liquidio: add Rx data path Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 23/46] net/liquidio: add API to release Rx queue Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 24/46] net/liquidio: add API to setup Tx queue Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 25/46] net/liquidio: add APIs for SG list Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 26/46] net/liquidio: add APIs to enable and disable IO queues Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 27/46] net/liquidio: add Tx data path for single segment Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 28/46] net/liquidio: add Tx data path for multiple segments Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 29/46] net/liquidio: add API to flush IQ Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 30/46] net/liquidio: add API to release Tx queue Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 31/46] net/liquidio: add APIs to start device and update link Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 32/46] net/liquidio: add APIs to alloc and send control command Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 33/46] net/liquidio: add API to control Rx Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 34/46] net/liquidio: add RSS support Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 35/46] net/liquidio: add API to get device info Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 36/46] net/liquidio: add API to validate VF MTU Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 37/46] net/liquidio: add APIs to enable and disable multicast Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 38/46] net/liquidio: add APIs to set link up and down Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 39/46] net/liquidio: add APIs to configure UDP tunnel port Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 40/46] net/liquidio: add support for Rx stats Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 41/46] net/liquidio: add support for Tx stats Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 42/46] net/liquidio: add APIs for hardware stats Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 43/46] net/liquidio: add API to stop device Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 44/46] net/liquidio: add API to close device Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 45/46] net/liquidio: add API to add and remove VLAN port Shijith Thotton
2017-03-25 6:24 ` [dpdk-dev] [PATCH v3 46/46] doc: add doc for liquidio and update release notes Shijith Thotton
2017-03-27 10:41 ` [dpdk-dev] [PATCH v3 00/46] LiquidIO PMD 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=1490423097-6797-10-git-send-email-shijith.thotton@caviumnetworks.com \
--to=shijith.thotton@caviumnetworks.com \
--cc=derek.chickles@caviumnetworks.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=jerin.jacob@caviumnetworks.com \
--cc=mjatharakonda@oneconvergence.com \
--cc=ssrinivasan@caviumnetworks.com \
--cc=venkat.koppula@caviumnetworks.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).