DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: Timothy McDaniel <timothy.mcdaniel@intel.com>
Cc: dpdk-dev <dev@dpdk.org>,
	Erik Gabriel Carrillo <erik.g.carrillo@intel.com>,
	Gage Eads <gage.eads@intel.com>,
	"Van Haaren, Harry" <harry.van.haaren@intel.com>,
	 Jerin Jacob <jerinj@marvell.com>,
	Thomas Monjalon <thomas@monjalon.net>
Subject: Re: [dpdk-dev] [PATCH v2 09/27] event/dlb2: add v2.5 create dir queue
Date: Sat, 3 Apr 2021 15:56:15 +0530	[thread overview]
Message-ID: <CALBAE1PBfDtqL1UnNbBBo161ZR0Sdv3Gv4vt5T_zE5c8+bjOsQ@mail.gmail.com> (raw)
In-Reply-To: <1617132940-24800-10-git-send-email-timothy.mcdaniel@intel.com>

On Wed, Mar 31, 2021 at 1:08 AM Timothy McDaniel
<timothy.mcdaniel@intel.com> wrote:
>
> Updated low level hardware functions to account for new
> register map and hardware access macros.
>
> Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>
> ---
>  drivers/event/dlb2/pf/base/dlb2_resource.c    | 213 ------------------
>  .../event/dlb2/pf/base/dlb2_resource_new.c    | 201 +++++++++++++++++

All changes to this file, please take the git rename path to reduce the diff.


>  2 files changed, 201 insertions(+), 213 deletions(-)
>
> diff --git a/drivers/event/dlb2/pf/base/dlb2_resource.c b/drivers/event/dlb2/pf/base/dlb2_resource.c
> index 70c52e908..362deadfe 100644
> --- a/drivers/event/dlb2/pf/base/dlb2_resource.c
> +++ b/drivers/event/dlb2/pf/base/dlb2_resource.c
> @@ -1225,219 +1225,6 @@ dlb2_get_domain_used_dir_pq(struct dlb2_hw *hw,
>         return NULL;
>  }
>
> -static void dlb2_configure_dir_queue(struct dlb2_hw *hw,
> -                                    struct dlb2_hw_domain *domain,
> -                                    struct dlb2_dir_pq_pair *queue,
> -                                    struct dlb2_create_dir_queue_args *args,
> -                                    bool vdev_req,
> -                                    unsigned int vdev_id)
> -{
> -       union dlb2_sys_dir_vasqid_v r0 = { {0} };
> -       union dlb2_sys_dir_qid_its r1 = { {0} };
> -       union dlb2_lsp_qid_dir_depth_thrsh r2 = { {0} };
> -       union dlb2_sys_dir_qid_v r5 = { {0} };
> -
> -       unsigned int offs;
> -
> -       /* QID write permissions are turned on when the domain is started */
> -       r0.field.vasqid_v = 0;
> -
> -       offs = domain->id.phys_id * DLB2_MAX_NUM_DIR_QUEUES(hw->ver) +
> -               queue->id.phys_id;
> -
> -       DLB2_CSR_WR(hw, DLB2_SYS_DIR_VASQID_V(offs), r0.val);
> -
> -       /* Don't timestamp QEs that pass through this queue */
> -       r1.field.qid_its = 0;
> -
> -       DLB2_CSR_WR(hw,
> -                   DLB2_SYS_DIR_QID_ITS(queue->id.phys_id),
> -                   r1.val);
> -
> -       r2.field.thresh = args->depth_threshold;
> -
> -       DLB2_CSR_WR(hw,
> -                   DLB2_LSP_QID_DIR_DEPTH_THRSH(queue->id.phys_id),
> -                   r2.val);
> -
> -       if (vdev_req) {
> -               union dlb2_sys_vf_dir_vqid_v r3 = { {0} };
> -               union dlb2_sys_vf_dir_vqid2qid r4 = { {0} };
> -
> -               offs = vdev_id * DLB2_MAX_NUM_DIR_QUEUES(hw->ver)
> -                       + queue->id.virt_id;
> -
> -               r3.field.vqid_v = 1;
> -
> -               DLB2_CSR_WR(hw, DLB2_SYS_VF_DIR_VQID_V(offs), r3.val);
> -
> -               r4.field.qid = queue->id.phys_id;
> -
> -               DLB2_CSR_WR(hw, DLB2_SYS_VF_DIR_VQID2QID(offs), r4.val);
> -       }
> -
> -       r5.field.qid_v = 1;
> -
> -       DLB2_CSR_WR(hw, DLB2_SYS_DIR_QID_V(queue->id.phys_id), r5.val);
> -
> -       queue->queue_configured = true;
> -}
> -
> -static void
> -dlb2_log_create_dir_queue_args(struct dlb2_hw *hw,
> -                              u32 domain_id,
> -                              struct dlb2_create_dir_queue_args *args,
> -                              bool vdev_req,
> -                              unsigned int vdev_id)
> -{
> -       DLB2_HW_DBG(hw, "DLB2 create directed queue arguments:\n");
> -       if (vdev_req)
> -               DLB2_HW_DBG(hw, "(Request from vdev %d)\n", vdev_id);
> -       DLB2_HW_DBG(hw, "\tDomain ID: %d\n", domain_id);
> -       DLB2_HW_DBG(hw, "\tPort ID:   %d\n", args->port_id);
> -}
> -
> -static int
> -dlb2_verify_create_dir_queue_args(struct dlb2_hw *hw,
> -                                 u32 domain_id,
> -                                 struct dlb2_create_dir_queue_args *args,
> -                                 struct dlb2_cmd_response *resp,
> -                                 bool vdev_req,
> -                                 unsigned int vdev_id)
> -{
> -       struct dlb2_hw_domain *domain;
> -
> -       domain = dlb2_get_domain_from_id(hw, domain_id, vdev_req, vdev_id);
> -
> -       if (domain == NULL) {
> -               resp->status = DLB2_ST_INVALID_DOMAIN_ID;
> -               return -EINVAL;
> -       }
> -
> -       if (!domain->configured) {
> -               resp->status = DLB2_ST_DOMAIN_NOT_CONFIGURED;
> -               return -EINVAL;
> -       }
> -
> -       if (domain->started) {
> -               resp->status = DLB2_ST_DOMAIN_STARTED;
> -               return -EINVAL;
> -       }
> -
> -       /*
> -        * If the user claims the port is already configured, validate the port
> -        * ID, its domain, and whether the port is configured.
> -        */
> -       if (args->port_id != -1) {
> -               struct dlb2_dir_pq_pair *port;
> -
> -               port = dlb2_get_domain_used_dir_pq(hw,
> -                                                  args->port_id,
> -                                                  vdev_req,
> -                                                  domain);
> -
> -               if (port == NULL || port->domain_id.phys_id !=
> -                               domain->id.phys_id || !port->port_configured) {
> -                       resp->status = DLB2_ST_INVALID_PORT_ID;
> -                       return -EINVAL;
> -               }
> -       }
> -
> -       /*
> -        * If the queue's port is not configured, validate that a free
> -        * port-queue pair is available.
> -        */
> -       if (args->port_id == -1 &&
> -           dlb2_list_empty(&domain->avail_dir_pq_pairs)) {
> -               resp->status = DLB2_ST_DIR_QUEUES_UNAVAILABLE;
> -               return -EINVAL;
> -       }
> -
> -       return 0;
> -}
> -
> -/**
> - * dlb2_hw_create_dir_queue() - Allocate and initialize a DLB DIR queue.
> - * @hw:        Contains the current state of the DLB2 hardware.
> - * @domain_id: Domain ID
> - * @args: User-provided arguments.
> - * @resp: Response to user.
> - * @vdev_req: Request came from a virtual device.
> - * @vdev_id: If vdev_req is true, this contains the virtual device's ID.
> - *
> - * Return: returns < 0 on error, 0 otherwise. If the driver is unable to
> - * satisfy a request, resp->status will be set accordingly.
> - */
> -int dlb2_hw_create_dir_queue(struct dlb2_hw *hw,
> -                            u32 domain_id,
> -                            struct dlb2_create_dir_queue_args *args,
> -                            struct dlb2_cmd_response *resp,
> -                            bool vdev_req,
> -                            unsigned int vdev_id)
> -{
> -       struct dlb2_dir_pq_pair *queue;
> -       struct dlb2_hw_domain *domain;
> -       int ret;
> -
> -       dlb2_log_create_dir_queue_args(hw, domain_id, args, vdev_req, vdev_id);
> -
> -       /*
> -        * Verify that hardware resources are available before attempting to
> -        * satisfy the request. This simplifies the error unwinding code.
> -        */
> -       ret = dlb2_verify_create_dir_queue_args(hw,
> -                                               domain_id,
> -                                               args,
> -                                               resp,
> -                                               vdev_req,
> -                                               vdev_id);
> -       if (ret)
> -               return ret;
> -
> -       domain = dlb2_get_domain_from_id(hw, domain_id, vdev_req, vdev_id);
> -       if (domain == NULL) {
> -               DLB2_HW_ERR(hw,
> -                           "[%s():%d] Internal error: domain not found\n",
> -                           __func__, __LINE__);
> -               return -EFAULT;
> -       }
> -
> -       if (args->port_id != -1)
> -               queue = dlb2_get_domain_used_dir_pq(hw,
> -                                                   args->port_id,
> -                                                   vdev_req,
> -                                                   domain);
> -       else
> -               queue = DLB2_DOM_LIST_HEAD(domain->avail_dir_pq_pairs,
> -                                          typeof(*queue));
> -       if (queue == NULL) {
> -               DLB2_HW_ERR(hw,
> -                           "[%s():%d] Internal error: no available dir queues\n",
> -                           __func__, __LINE__);
> -               return -EFAULT;
> -       }
> -
> -       dlb2_configure_dir_queue(hw, domain, queue, args, vdev_req, vdev_id);
> -
> -       /*
> -        * Configuration succeeded, so move the resource from the 'avail' to
> -        * the 'used' list (if it's not already there).
> -        */
> -       if (args->port_id == -1) {
> -               dlb2_list_del(&domain->avail_dir_pq_pairs,
> -                             &queue->domain_list);
> -
> -               dlb2_list_add(&domain->used_dir_pq_pairs,
> -                             &queue->domain_list);
> -       }
> -
> -       resp->status = 0;
> -
> -       resp->id = (vdev_req) ? queue->id.virt_id : queue->id.phys_id;
> -
> -       return 0;
> -}
> -
>  static bool
>  dlb2_port_find_slot_with_pending_map_queue(struct dlb2_ldb_port *port,
>                                            struct dlb2_ldb_queue *queue,
> diff --git a/drivers/event/dlb2/pf/base/dlb2_resource_new.c b/drivers/event/dlb2/pf/base/dlb2_resource_new.c
> index 4e4b390dd..d4b401250 100644
> --- a/drivers/event/dlb2/pf/base/dlb2_resource_new.c
> +++ b/drivers/event/dlb2/pf/base/dlb2_resource_new.c
> @@ -4857,3 +4857,204 @@ int dlb2_hw_create_dir_port(struct dlb2_hw *hw,
>
>         return 0;
>  }
> +
> +static void dlb2_configure_dir_queue(struct dlb2_hw *hw,
> +                                    struct dlb2_hw_domain *domain,
> +                                    struct dlb2_dir_pq_pair *queue,
> +                                    struct dlb2_create_dir_queue_args *args,
> +                                    bool vdev_req,
> +                                    unsigned int vdev_id)
> +{
> +       unsigned int offs;
> +       u32 reg = 0;
> +
> +       /* QID write permissions are turned on when the domain is started */
> +       offs = domain->id.phys_id * DLB2_MAX_NUM_DIR_QUEUES(hw->ver) +
> +               queue->id.phys_id;
> +
> +       DLB2_CSR_WR(hw, DLB2_SYS_DIR_VASQID_V(offs), reg);
> +
> +       /* Don't timestamp QEs that pass through this queue */
> +       DLB2_CSR_WR(hw, DLB2_SYS_DIR_QID_ITS(queue->id.phys_id), reg);
> +
> +       reg = 0;
> +       DLB2_BITS_SET(reg, args->depth_threshold,
> +                     DLB2_LSP_QID_DIR_DEPTH_THRSH_THRESH);
> +       DLB2_CSR_WR(hw,
> +                   DLB2_LSP_QID_DIR_DEPTH_THRSH(hw->ver, queue->id.phys_id),
> +                   reg);
> +
> +       if (vdev_req) {
> +               offs = vdev_id * DLB2_MAX_NUM_DIR_QUEUES(hw->ver) +
> +                       queue->id.virt_id;
> +
> +               reg = 0;
> +               DLB2_BIT_SET(reg, DLB2_SYS_VF_DIR_VQID_V_VQID_V);
> +               DLB2_CSR_WR(hw, DLB2_SYS_VF_DIR_VQID_V(offs), reg);
> +
> +               reg = 0;
> +               DLB2_BITS_SET(reg, queue->id.phys_id,
> +                             DLB2_SYS_VF_DIR_VQID2QID_QID);
> +               DLB2_CSR_WR(hw, DLB2_SYS_VF_DIR_VQID2QID(offs), reg);
> +       }
> +
> +       reg = 0;
> +       DLB2_BIT_SET(reg, DLB2_SYS_DIR_QID_V_QID_V);
> +       DLB2_CSR_WR(hw, DLB2_SYS_DIR_QID_V(queue->id.phys_id), reg);
> +
> +       queue->queue_configured = true;
> +}
> +
> +static void
> +dlb2_log_create_dir_queue_args(struct dlb2_hw *hw,
> +                              u32 domain_id,
> +                              struct dlb2_create_dir_queue_args *args,
> +                              bool vdev_req,
> +                              unsigned int vdev_id)
> +{
> +       DLB2_HW_DBG(hw, "DLB2 create directed queue arguments:\n");
> +       if (vdev_req)
> +               DLB2_HW_DBG(hw, "(Request from vdev %d)\n", vdev_id);
> +       DLB2_HW_DBG(hw, "\tDomain ID: %d\n", domain_id);
> +       DLB2_HW_DBG(hw, "\tPort ID:   %d\n", args->port_id);
> +}
> +
> +static int
> +dlb2_verify_create_dir_queue_args(struct dlb2_hw *hw,
> +                                 u32 domain_id,
> +                                 struct dlb2_create_dir_queue_args *args,
> +                                 struct dlb2_cmd_response *resp,
> +                                 bool vdev_req,
> +                                 unsigned int vdev_id,
> +                                 struct dlb2_hw_domain **out_domain,
> +                                 struct dlb2_dir_pq_pair **out_queue)
> +{
> +       struct dlb2_hw_domain *domain;
> +       struct dlb2_dir_pq_pair *pq;
> +
> +       domain = dlb2_get_domain_from_id(hw, domain_id, vdev_req, vdev_id);
> +
> +       if (!domain) {
> +               resp->status = DLB2_ST_INVALID_DOMAIN_ID;
> +               return -EINVAL;
> +       }
> +
> +       if (!domain->configured) {
> +               resp->status = DLB2_ST_DOMAIN_NOT_CONFIGURED;
> +               return -EINVAL;
> +       }
> +
> +       if (domain->started) {
> +               resp->status = DLB2_ST_DOMAIN_STARTED;
> +               return -EINVAL;
> +       }
> +
> +       /*
> +        * If the user claims the port is already configured, validate the port
> +        * ID, its domain, and whether the port is configured.
> +        */
> +       if (args->port_id != -1) {
> +               pq = dlb2_get_domain_used_dir_pq(hw,
> +                                                args->port_id,
> +                                                vdev_req,
> +                                                domain);
> +
> +               if (!pq || pq->domain_id.phys_id != domain->id.phys_id ||
> +                   !pq->port_configured) {
> +                       resp->status = DLB2_ST_INVALID_PORT_ID;
> +                       return -EINVAL;
> +               }
> +       } else {
> +               /*
> +                * If the queue's port is not configured, validate that a free
> +                * port-queue pair is available.
> +                */
> +               pq = DLB2_DOM_LIST_HEAD(domain->avail_dir_pq_pairs,
> +                                       typeof(*pq));
> +               if (!pq) {
> +                       resp->status = DLB2_ST_DIR_QUEUES_UNAVAILABLE;
> +                       return -EINVAL;
> +               }
> +       }
> +
> +       *out_domain = domain;
> +       *out_queue = pq;
> +
> +       return 0;
> +}
> +
> +/**
> + * dlb2_hw_create_dir_queue() - create a directed queue
> + * @hw: dlb2_hw handle for a particular device.
> + * @domain_id: domain ID.
> + * @args: queue creation arguments.
> + * @resp: response structure.
> + * @vdev_req: indicates whether this request came from a vdev.
> + * @vdev_id: If vdev_req is true, this contains the vdev's ID.
> + *
> + * This function creates a directed queue.
> + *
> + * A vdev can be either an SR-IOV virtual function or a Scalable IOV virtual
> + * device.
> + *
> + * Return:
> + * Returns 0 upon success, < 0 otherwise. If an error occurs, resp->status is
> + * assigned a detailed error code from enum dlb2_error. If successful, resp->id
> + * contains the queue ID.
> + *
> + * resp->id contains a virtual ID if vdev_req is true.
> + *
> + * Errors:
> + * EINVAL - A requested resource is unavailable, the domain is not configured,
> + *         or the domain has already been started.
> + * EFAULT - Internal error (resp->status not set).
> + */
> +int dlb2_hw_create_dir_queue(struct dlb2_hw *hw,
> +                            u32 domain_id,
> +                            struct dlb2_create_dir_queue_args *args,
> +                            struct dlb2_cmd_response *resp,
> +                            bool vdev_req,
> +                            unsigned int vdev_id)
> +{
> +       struct dlb2_dir_pq_pair *queue;
> +       struct dlb2_hw_domain *domain;
> +       int ret;
> +
> +       dlb2_log_create_dir_queue_args(hw, domain_id, args, vdev_req, vdev_id);
> +
> +       /*
> +        * Verify that hardware resources are available before attempting to
> +        * satisfy the request. This simplifies the error unwinding code.
> +        */
> +       ret = dlb2_verify_create_dir_queue_args(hw,
> +                                               domain_id,
> +                                               args,
> +                                               resp,
> +                                               vdev_req,
> +                                               vdev_id,
> +                                               &domain,
> +                                               &queue);
> +       if (ret)
> +               return ret;
> +
> +       dlb2_configure_dir_queue(hw, domain, queue, args, vdev_req, vdev_id);
> +
> +       /*
> +        * Configuration succeeded, so move the resource from the 'avail' to
> +        * the 'used' list (if it's not already there).
> +        */
> +       if (args->port_id == -1) {
> +               dlb2_list_del(&domain->avail_dir_pq_pairs,
> +                             &queue->domain_list);
> +
> +               dlb2_list_add(&domain->used_dir_pq_pairs,
> +                             &queue->domain_list);
> +       }
> +
> +       resp->status = 0;
> +
> +       resp->id = (vdev_req) ? queue->id.virt_id : queue->id.phys_id;
> +
> +       return 0;
> +}
> +
> --
> 2.23.0
>

  reply	other threads:[~2021-04-03 10:26 UTC|newest]

Thread overview: 174+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-16 22:18 [dpdk-dev] [PATCH 00/25] Add Support for DLB v2.5 Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 01/25] event/dlb2: add dlb v2.5 probe Timothy McDaniel
2021-03-21  9:48   ` Jerin Jacob
2021-03-24 19:31     ` McDaniel, Timothy
2021-03-26 11:01       ` Jerin Jacob
2021-03-26 14:03         ` McDaniel, Timothy
2021-03-26 14:33           ` Jerin Jacob
2021-03-29 15:00             ` McDaniel, Timothy
2021-03-29 15:51               ` Jerin Jacob
2021-03-29 15:55                 ` McDaniel, Timothy
2021-03-30 19:35   ` [dpdk-dev] [PATCH v2 00/27] Add DLB V2.5 Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 01/27] event/dlb2: add v2.5 probe Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 02/27] event/dlb2: add v2.5 HW init Timothy McDaniel
2021-04-03 10:18       ` Jerin Jacob
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 03/27] event/dlb2: add v2.5 get_resources Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 04/27] event/dlb2: add v2.5 create sched domain Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 05/27] event/dlb2: add v2.5 domain reset Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 06/27] event/dlb2: add V2.5 create ldb queue Timothy McDaniel
2021-04-14 19:20       ` Jerin Jacob
2021-04-14 19:41         ` McDaniel, Timothy
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 07/27] event/dlb2: add v2.5 create ldb port Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 08/27] event/dlb2: add v2.5 create dir port Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 09/27] event/dlb2: add v2.5 create dir queue Timothy McDaniel
2021-04-03 10:26       ` Jerin Jacob [this message]
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 10/27] event/dlb2: add v2.5 map qid Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 11/27] event/dlb2: add v2.5 unmap queue Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 12/27] event/dlb2: add v2.5 start domain Timothy McDaniel
2021-04-14 19:23       ` Jerin Jacob
2021-04-14 19:42         ` McDaniel, Timothy
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 13/27] event/dlb2: add v2.5 credit scheme Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 14/27] event/dlb2: add v2.5 queue depth functions Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 15/27] event/dlb2: add v2.5 finish map/unmap Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 16/27] event/dlb2: add v2.5 sparse cq mode Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 17/27] event/dlb2: add v2.5 sequence number management Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 18/27] event/dlb2: consolidate resource header files into one file Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 19/27] event/dlb2: delete old dlb2_resource.c file Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 20/27] event/dlb2: move dlb_resource_new.c to dlb_resource.c Timothy McDaniel
2021-04-03 10:29       ` Jerin Jacob
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 21/27] event/dlb2: remove temporary file, dlb_hw_types.h Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 22/27] event/dlb2: move dlb2_hw_type_new.h to dlb2_hw_types.h Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 23/27] event/dlb2: delete old register map file, dlb2_regs.h Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 24/27] event/dlb2: rename dlb2_regs_new.h to dlb2_regs.h Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 25/27] event/dlb2: update xstats for v2.5 Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 26/27] doc/dlb2: update documentation " Timothy McDaniel
2021-03-30 19:35     ` [dpdk-dev] [PATCH v2 27/27] event/dlb2: Change device name to dlb_event Timothy McDaniel
2021-04-03 10:39       ` Jerin Jacob
2021-04-03  9:51     ` [dpdk-dev] [PATCH v2 00/27] Add DLB V2.5 Jerin Jacob
2021-04-13 20:14   ` [dpdk-dev] [PATCH v3 00/26] " Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 01/26] event/dlb2: add v2.5 probe Timothy McDaniel
2021-04-14 19:16       ` Jerin Jacob
2021-04-14 19:41         ` McDaniel, Timothy
2021-04-14 19:47           ` Jerin Jacob
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 02/26] event/dlb2: add v2.5 HW register definitions Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 03/26] event/dlb2: add v2.5 HW init Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 04/26] event/dlb2: add v2.5 get resources Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 05/26] event/dlb2: add v2.5 create sched domain Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 06/26] event/dlb2: add v2.5 domain reset Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 07/26] event/dlb2: add V2.5 create ldb queue Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 08/26] event/dlb2: add v2.5 create ldb port Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 09/26] event/dlb2: add v2.5 create dir port Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 10/26] event/dlb2: add v2.5 create dir queue Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 11/26] event/dlb2: add v2.5 map qid Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 12/26] event/dlb2: add v2.5 unmap queue Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 13/26] event/dlb2: add v2.5 start domain Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 14/26] event/dlb2: add v2.5 credit scheme Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 15/26] event/dlb2: add v2.5 queue depth functions Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 16/26] event/dlb2: add v2.5 finish map/unmap Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 17/26] event/dlb2: add v2.5 sparse cq mode Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 18/26] event/dlb2: add v2.5 sequence number management Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 19/26] event/dlb2: use new implementation of resource header Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 20/26] event/dlb2: use new implementation of resource file Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 21/26] event/dlb2: use new implementation of HW types header Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 22/26] event/dlb2: use new combined register map Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 23/26] event/dlb2: update xstats for v2.5 Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 24/26] doc/dlb2: update documentation " Timothy McDaniel
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 25/26] event/dlb: remove version from device name Timothy McDaniel
2021-04-14 19:31       ` Jerin Jacob
2021-04-14 19:42         ` McDaniel, Timothy
2021-04-14 19:44       ` Jerin Jacob
2021-04-14 20:33         ` Thomas Monjalon
2021-04-15  3:22           ` McDaniel, Timothy
2021-04-15  5:47           ` Jerin Jacob
2021-04-15  7:48             ` Thomas Monjalon
2021-04-15  7:56               ` Jerin Jacob
2021-04-13 20:14     ` [dpdk-dev] [PATCH v3 26/26] event/dlb: move rte config defines to runtime devargs Timothy McDaniel
2021-04-14 19:11       ` Jerin Jacob
2021-04-14 19:38         ` McDaniel, Timothy
2021-04-14 19:52           ` Jerin Jacob
2021-04-15  1:48   ` [dpdk-dev] [PATCH v4 00/27] Add DLB v2.5 Timothy McDaniel
2021-04-15  1:48     ` [dpdk-dev] [PATCH v4 01/27] event/dlb2: minor code cleanup Timothy McDaniel
2021-04-15  1:48     ` [dpdk-dev] [PATCH v4 02/27] event/dlb2: add v2.5 probe Timothy McDaniel
2021-04-29  7:09       ` Jerin Jacob
2021-04-29 13:46         ` McDaniel, Timothy
2021-04-15  1:48     ` [dpdk-dev] [PATCH v4 03/27] event/dlb2: add v2.5 HW register definitions Timothy McDaniel
2021-04-15  1:48     ` [dpdk-dev] [PATCH v4 04/27] event/dlb2: add v2.5 HW init Timothy McDaniel
2021-04-15  1:48     ` [dpdk-dev] [PATCH v4 05/27] event/dlb2: add v2.5 get resources Timothy McDaniel
2021-04-15  1:48     ` [dpdk-dev] [PATCH v4 06/27] event/dlb2: add v2.5 create sched domain Timothy McDaniel
2021-04-15  1:48     ` [dpdk-dev] [PATCH v4 07/27] event/dlb2: add v2.5 domain reset Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 08/27] event/dlb2: add v2.5 create ldb queue Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 09/27] event/dlb2: add v2.5 create ldb port Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 10/27] event/dlb2: add v2.5 create dir port Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 11/27] event/dlb2: add v2.5 create dir queue Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 12/27] event/dlb2: add v2.5 map qid Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 13/27] event/dlb2: add v2.5 unmap queue Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 14/27] event/dlb2: add v2.5 start domain Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 15/27] event/dlb2: add v2.5 credit scheme Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 16/27] event/dlb2: add v2.5 queue depth functions Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 17/27] event/dlb2: add v2.5 finish map/unmap Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 18/27] event/dlb2: add v2.5 sparse cq mode Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 19/27] event/dlb2: add v2.5 sequence number management Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 20/27] event/dlb2: use new implementation of resource header Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 21/27] event/dlb2: use new implementation of resource file Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 22/27] event/dlb2: use new implementation of HW types header Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 23/27] event/dlb2: use new combined register map Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 24/27] event/dlb2: update xstats for v2.5 Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 25/27] doc/dlb2: update documentation " Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 26/27] event/dlb: rename dlb2 driver Timothy McDaniel
2021-04-15  1:49     ` [dpdk-dev] [PATCH v4 27/27] event/dlb: move rte config defines to runtime devargs Timothy McDaniel
2021-05-01 19:03   ` [dpdk-dev] [PATCH v5 00/26] Add DLB v2.5 McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 01/26] event/dlb2: minor code cleanup McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 02/26] event/dlb2: add v2.5 probe McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 03/26] event/dlb2: add v2.5 HW register definitions McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 04/26] event/dlb2: add v2.5 HW init McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 05/26] event/dlb2: add v2.5 get resources McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 06/26] event/dlb2: add v2.5 create sched domain McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 07/26] event/dlb2: add v2.5 domain reset McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 08/26] event/dlb2: add v2.5 create ldb queue McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 09/26] event/dlb2: add v2.5 create ldb port McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 10/26] event/dlb2: add v2.5 create dir port McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 11/26] event/dlb2: add v2.5 create dir queue McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 12/26] event/dlb2: add v2.5 map qid McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 13/26] event/dlb2: add v2.5 unmap queue McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 14/26] event/dlb2: add v2.5 start domain McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 15/26] event/dlb2: add v2.5 credit scheme McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 16/26] event/dlb2: add v2.5 queue depth functions McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 17/26] event/dlb2: add v2.5 finish map/unmap McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 18/26] event/dlb2: add v2.5 sparse cq mode McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 19/26] event/dlb2: add v2.5 sequence number management McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 20/26] event/dlb2: use new implementation of resource header McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 21/26] event/dlb2: use new implementation of resource file McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 22/26] event/dlb2: use new implementation of HW types header McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 23/26] event/dlb2: use new combined register map McDaniel, Timothy
2021-05-01 19:03     ` [dpdk-dev] [PATCH v5 24/26] event/dlb2: update xstats for v2.5 McDaniel, Timothy
2021-05-01 19:04     ` [dpdk-dev] [PATCH v5 25/26] event/dlb2: move rte config defines to runtime devargs McDaniel, Timothy
2021-05-01 19:04     ` [dpdk-dev] [PATCH v5 26/26] doc/dlb2: update documentation for v2.5 McDaniel, Timothy
2021-05-04  8:28     ` [dpdk-dev] [PATCH v5 00/26] Add DLB v2.5 Jerin Jacob
2021-03-16 22:18 ` [dpdk-dev] [PATCH 02/25] event/dlb2: add DLB v2.5 probe-time hardware init Timothy McDaniel
2021-03-21 10:30   ` [dpdk-dev] [EXT] " Jerin Jacob Kollanukkaran
2021-03-26 16:37     ` McDaniel, Timothy
2021-03-16 22:18 ` [dpdk-dev] [PATCH 03/25] event/dlb2: add DLB v2.5 support to get_resources Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 04/25] event/dlb2: add DLB v2.5 support to create sched domain Timothy McDaniel
2021-04-03 10:22   ` Jerin Jacob
2021-03-16 22:18 ` [dpdk-dev] [PATCH 05/25] event/dlb2: add DLB v2.5 support to domain reset Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 06/25] event/dlb2: add DLB V2.5 support to create ldb queue Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 07/25] event/dlb2: add DLB v2.5 support to create ldb port Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 08/25] event/dlb2: add DLB v2.5 support to create dir port Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 09/25] event/dlb2: add DLB v2.5 support to create dir queue Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 10/25] event/dlb2: add DLB v2.5 support to map qid Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 11/25] event/dlb2: add DLB v2.5 support to unmap queue Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 12/25] event/dlb2: add DLB v2.5 support to start domain Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 13/25] event/dlb2: add DLB v2.5 credit scheme Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 14/25] event/dlb2: Add DLB v2.5 support to get queue depth functions Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 15/25] event/dlb2: add DLB v2.5 finish map/unmap interfaces Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 16/25] event/dlb2: add DLB v2.5 sparse cq mode Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 17/25] event/dlb2: add DLB v2.5 support to sequence number management Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 18/25] event/dlb2: consolidate dlb resource header files into one file Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 19/25] event/dlb2: delete old dlb2_resource.c file Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 20/25] event/dlb2: move dlb_resource_new.c to dlb_resource.c Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 21/25] event/dlb2: remove temporary file, dlb_hw_types.h Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 22/25] event/dlb2: move dlb2_hw_type_new.h to dlb2_hw_types.h Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 23/25] event/dlb2: delete old register map file, dlb2_regs.h Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 24/25] event/dlb2: rename dlb2_regs_new.h to dlb2_regs.h Timothy McDaniel
2021-03-16 22:18 ` [dpdk-dev] [PATCH 25/25] event/dlb2: update xstats for DLB v2.5 Timothy McDaniel
2021-03-21 10:50 ` [dpdk-dev] [PATCH 00/25] Add Support " Jerin Jacob

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=CALBAE1PBfDtqL1UnNbBBo161ZR0Sdv3Gv4vt5T_zE5c8+bjOsQ@mail.gmail.com \
    --to=jerinjacobk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=erik.g.carrillo@intel.com \
    --cc=gage.eads@intel.com \
    --cc=harry.van.haaren@intel.com \
    --cc=jerinj@marvell.com \
    --cc=thomas@monjalon.net \
    --cc=timothy.mcdaniel@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 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).