From patchwork Fri Jan 19 17:43:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 135999 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1D30943901; Fri, 19 Jan 2024 18:44:57 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9A26842DEC; Fri, 19 Jan 2024 18:44:18 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by mails.dpdk.org (Postfix) with ESMTP id 6AB1D42DEC; Fri, 19 Jan 2024 18:44:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1705686257; x=1737222257; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=DfoGN2SQUmfRnzneAdEIuu2MDo+I5e694eY3aUmQFFk=; b=RbhI+pRJZr+/wxzkwFBD+B3N9X5cz8J0cyw08ilOqV9oDe9ixWCXTSlv I6WmQpdBT75ZVRyAhEgN+Z3tZf2NYdqOD4rYee0ibtgtz3U1RXGcMx1jf hhJIZbCWkDiCym0fVwrzk9LnXWvjYwn5B/zvJbRSsbVBWX/SJGlnMQVX4 NaZv8FTD6+Mkvb80RbdjSjXhhUngpJDjMuLPIy6yEpp2Eq9Yiq6vpmyHW 6kUhOJPiRY0zkOzYuJbQeu7MXi3hvw4LuUldt29LGfR6njCZxw7+A0OPw s5jXgqu0FwTWX3812CDs/bjaHbwdxYoqeYUV4XdomQPiAC2ogznWLIkb4 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10957"; a="683730" X-IronPort-AV: E=Sophos;i="6.05,204,1701158400"; d="scan'208";a="683730" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2024 09:44:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10957"; a="761177794" X-IronPort-AV: E=Sophos;i="6.05,204,1701158400"; d="scan'208";a="761177794" Received: from silpixa00400957.ir.intel.com (HELO silpixa00401385.ir.intel.com) ([10.237.214.26]) by orsmga006.jf.intel.com with ESMTP; 19 Jan 2024 09:44:13 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: jerinj@marvell.com, mattias.ronnblom@ericsson.com, abdullah.sevincer@intel.com, sachin.saxena@oss.nxp.com, hemant.agrawal@nxp.com, pbhagavatula@marvell.com, pravin.pathak@intel.com, Bruce Richardson , stable@dpdk.org Subject: [PATCH v2 07/11] eventdev: fix documentation for counting single-link ports Date: Fri, 19 Jan 2024 17:43:42 +0000 Message-Id: <20240119174346.108905-8-bruce.richardson@intel.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240119174346.108905-1-bruce.richardson@intel.com> References: <20240118134557.73172-1-bruce.richardson@intel.com> <20240119174346.108905-1-bruce.richardson@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The documentation of how single-link port-queue pairs were counted in the rte_event_dev_config structure did not match the actual implementation and, if following the documentation, certain valid port/queue configurations would have been impossible to configure. Fix this by changing the documentation to match the implementation - however confusing that implementation ends up being. Bugzilla ID: 1368 Fixes: 75d113136f38 ("eventdev: express DLB/DLB2 PMD constraints") Cc: stable@dpdk.org Signed-off-by: Bruce Richardson --- lib/eventdev/rte_eventdev.h | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h index 4139ccb982..3b8f5b8101 100644 --- a/lib/eventdev/rte_eventdev.h +++ b/lib/eventdev/rte_eventdev.h @@ -490,7 +490,10 @@ struct rte_event_dev_info { uint32_t dequeue_timeout_ns; /**< Configured global dequeue timeout(ns) for this device */ uint8_t max_event_queues; - /**< Maximum event queues supported by this device */ + /**< Maximum event queues supported by this device. + * This excludes any queue-port pairs covered by the + * *max_single_link_event_port_queue_pairs* value in this structure. + */ uint32_t max_event_queue_flows; /**< Maximum number of flows within an event queue supported by this device*/ uint8_t max_event_queue_priority_levels; @@ -506,7 +509,10 @@ struct rte_event_dev_info { * @ref RTE_EVENT_DEV_PRIORITY_HIGHEST and @ref RTE_EVENT_DEV_PRIORITY_LOWEST. */ uint8_t max_event_ports; - /**< Maximum number of event ports supported by this device */ + /**< Maximum number of event ports supported by this device + * This excludes any queue-port pairs covered by the + * *max_single_link_event_port_queue_pairs* value in this structure. + */ uint8_t max_event_port_dequeue_depth; /**< Maximum number of events that can be dequeued at a time from an event port * on this device. @@ -618,13 +624,23 @@ struct rte_event_dev_config { */ uint8_t nb_event_queues; /**< Number of event queues to configure on this device. - * This value cannot exceed @ref rte_event_dev_info.max_event_queues - * returned by rte_event_dev_info_get() + * This value *includes* any single-link queue-port pairs to be used. + * This value cannot exceed @ref rte_event_dev_info.max_event_queues + + * @ref rte_event_dev_info.max_single_link_event_port_queue_pairs + * returned by rte_event_dev_info_get(). + * The number of non-single-link queues i.e. this value less + * *nb_single_link_event_port_queues* in this struct, cannot exceed + * @ref rte_event_dev_info.max_event_queues */ uint8_t nb_event_ports; /**< Number of event ports to configure on this device. - * This value cannot exceed @ref rte_event_dev_info.max_event_ports - * returned by rte_event_dev_info_get() + * This value *includes* any single-link queue-port pairs to be used. + * This value cannot exceed @ref rte_event_dev_info.max_event_ports + + * @ref rte_event_dev_info.max_single_link_event_port_queue_pairs + * returned by rte_event_dev_info_get(). + * The number of non-single-link ports i.e. this value less + * *nb_single_link_event_port_queues* in this struct, cannot exceed + * @ref rte_event_dev_info.max_event_ports */ uint32_t nb_event_queue_flows; /**< Max number of flows needed for a single event queue on this device.