From patchwork Mon Jul 6 10:31:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 73222 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C340EA00C5; Mon, 6 Jul 2020 12:44:18 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9B7DA1DA6B; Mon, 6 Jul 2020 12:44:18 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 631141DA6B; Mon, 6 Jul 2020 12:44:16 +0200 (CEST) IronPort-SDR: +tSAnwHw7C0JK3O+3XwrDD5EOPvcaasegKUv1UYmyrX0SAibMotebwf6aqurPkQxM0ufra2V9z 0kvAXLOsvhmw== X-IronPort-AV: E=McAfee;i="6000,8403,9673"; a="148889399" X-IronPort-AV: E=Sophos;i="5.75,318,1589266800"; d="scan'208";a="148889399" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jul 2020 03:44:15 -0700 IronPort-SDR: WTQUiHu7wmM3FdzaO8jdgGwYEybMJuNZYz17Kxq2aup6v7x+1WhpMwqhZpycaEBuom4oc8oH1e h6k73RTY9PGQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,318,1589266800"; d="scan'208";a="296966814" Received: from silpixa00399126.ir.intel.com ([10.237.222.36]) by orsmga002.jf.intel.com with ESMTP; 06 Jul 2020 03:44:14 -0700 From: Bruce Richardson To: nipun.gupta@nxp.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Bruce Richardson , stable@dpdk.org Date: Mon, 6 Jul 2020 11:31:30 +0100 Message-Id: <20200706103132.7691-2-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200706103132.7691-1-bruce.richardson@intel.com> References: <20200706103132.7691-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 1/3] rawdev: allow calling info function for unknown rawdevs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" To call the rte_rawdev_info_get() function, the user currently has to know the underlying type of the device in order to pass an appropriate structure or buffer as the dev_private pointer in the info structure. By allowing a NULL value for this field, we can skip getting the device-specific info and just return the generic info - including the device name and driver, which can be used to determine the device type - to the user. This ensures that basic info can be get for all rawdevs, without knowing the type, and even if the info driver API call has not been implemented for the device. Cc: stable@dpdk.org Signed-off-by: Bruce Richardson Acked-by: Hemant Agrawal --- lib/librte_rawdev/rte_rawdev.c | 6 ++++-- lib/librte_rawdev/rte_rawdev.h | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c index aec61f425..b18638435 100644 --- a/lib/librte_rawdev/rte_rawdev.c +++ b/lib/librte_rawdev/rte_rawdev.c @@ -90,8 +90,10 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info) rawdev = &rte_rawdevs[dev_id]; - RTE_FUNC_PTR_OR_ERR_RET(*rawdev->dev_ops->dev_info_get, -ENOTSUP); - (*rawdev->dev_ops->dev_info_get)(rawdev, dev_info->dev_private); + if (dev_info->dev_private != NULL) { + RTE_FUNC_PTR_OR_ERR_RET(*rawdev->dev_ops->dev_info_get, -ENOTSUP); + (*rawdev->dev_ops->dev_info_get)(rawdev, dev_info->dev_private); + } if (dev_info) { diff --git a/lib/librte_rawdev/rte_rawdev.h b/lib/librte_rawdev/rte_rawdev.h index ed011ca22..7fb6cb188 100644 --- a/lib/librte_rawdev/rte_rawdev.h +++ b/lib/librte_rawdev/rte_rawdev.h @@ -77,7 +77,13 @@ struct rte_rawdev_info; * * @param[out] dev_info * A pointer to a structure of type *rte_rawdev_info* to be filled with the - * contextual information of the device. + * contextual information of the device. The dev_info->dev_private field + * should point to an appropriate buffer space for holding the device- + * specific info for that hardware. + * If the dev_private field is set to NULL, then the device-specific info + * function will not be called and only basic information about the device + * will be returned. This can be used to safely query the type of a rawdev + * instance without needing to know the size of the private data to return. * * @return * - 0: Success, driver updates the contextual information of the raw device From patchwork Mon Jul 6 10:31:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 73223 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E1D14A00C5; Mon, 6 Jul 2020 12:44:26 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 28D171DA8D; Mon, 6 Jul 2020 12:44:22 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 938231DA7E; Mon, 6 Jul 2020 12:44:19 +0200 (CEST) IronPort-SDR: LcX5EetCpGjw4hX71Zz11nXZEA3cnCNnDUQjdF9piF9gOt8MXmh0Dk6b6xUcBnoOtRxKZqYegX OHFVJpbhLdaQ== X-IronPort-AV: E=McAfee;i="6000,8403,9673"; a="148889412" X-IronPort-AV: E=Sophos;i="5.75,318,1589266800"; d="scan'208";a="148889412" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jul 2020 03:44:19 -0700 IronPort-SDR: +7I8td0n5g5u3XMLTBcEuvvM4BhN2ouz+MpAXbT8RXWwCvPITD1DMUgiWUhssnz7qTKfpWB6i4 fkcS9i6wXY1g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,318,1589266800"; d="scan'208";a="296966860" Received: from silpixa00399126.ir.intel.com ([10.237.222.36]) by orsmga002.jf.intel.com with ESMTP; 06 Jul 2020 03:44:18 -0700 From: Bruce Richardson To: nipun.gupta@nxp.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Bruce Richardson , stable@dpdk.org Date: Mon, 6 Jul 2020 11:31:31 +0100 Message-Id: <20200706103132.7691-3-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200706103132.7691-1-bruce.richardson@intel.com> References: <20200706103132.7691-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 2/3] rawdev: return NUMA socket id to the user X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The rawdev info struct has a socket_id field which was not filled in. We can also omit the checks for the parameter struct being null, since that is previously checked in the function. Cc: stable@dpdk.org Signed-off-by: Bruce Richardson Acked-by: Hemant Agrawal --- lib/librte_rawdev/rte_rawdev.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c index b18638435..9ee160455 100644 --- a/lib/librte_rawdev/rte_rawdev.c +++ b/lib/librte_rawdev/rte_rawdev.c @@ -95,11 +95,9 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info) (*rawdev->dev_ops->dev_info_get)(rawdev, dev_info->dev_private); } - if (dev_info) { - - dev_info->driver_name = rawdev->driver_name; - dev_info->device = rawdev->device; - } + dev_info->driver_name = rawdev->driver_name; + dev_info->device = rawdev->device; + dev_info->socket_id = rawdev->socket_id; return 0; } From patchwork Mon Jul 6 10:31:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 73224 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A6928A00C5; Mon, 6 Jul 2020 12:44:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8EADE1DAAB; Mon, 6 Jul 2020 12:44:24 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 3EC5E1DA9C; Mon, 6 Jul 2020 12:44:23 +0200 (CEST) IronPort-SDR: SBgAw8pbJ4Njqqu9tyqwydv1khmOzkF7QOZkpRDpXx/SD246dbc4X/JuSFYv2UNQ705eBlgv2M GvoBVTDSyG4A== X-IronPort-AV: E=McAfee;i="6000,8403,9673"; a="148889423" X-IronPort-AV: E=Sophos;i="5.75,318,1589266800"; d="scan'208";a="148889423" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jul 2020 03:44:22 -0700 IronPort-SDR: ewpOyQjkjQiIa4sBPjkmMUgQPo+qTQKkAVnxGrCJSq+NLCCXbnk+nt4t5JgR0KNdZSC4flTD06 eHn9RkJjIhhw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,318,1589266800"; d="scan'208";a="296966882" Received: from silpixa00399126.ir.intel.com ([10.237.222.36]) by orsmga002.jf.intel.com with ESMTP; 06 Jul 2020 03:44:21 -0700 From: Bruce Richardson To: nipun.gupta@nxp.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Bruce Richardson , shreyansh.jain@nxp.com, stable@dpdk.org Date: Mon, 6 Jul 2020 11:31:32 +0100 Message-Id: <20200706103132.7691-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200706103132.7691-1-bruce.richardson@intel.com> References: <20200706103132.7691-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 3/3] rawdev: fix missing dump function in map file X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The rte_rawdev_dump function was missing from the map file, meaning it was unavailable for use when linking dynamically. Fixes: c88b3f2558ed ("rawdev: introduce raw device library") Cc: shreyansh.jain@nxp.com Cc: stable@dpdk.org Signed-off-by: Bruce Richardson Acked-by: Hemant Agrawal --- lib/librte_rawdev/rte_rawdev_version.map | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_rawdev/rte_rawdev_version.map b/lib/librte_rawdev/rte_rawdev_version.map index d847c9e0d..63b54f598 100644 --- a/lib/librte_rawdev/rte_rawdev_version.map +++ b/lib/librte_rawdev/rte_rawdev_version.map @@ -5,6 +5,7 @@ DPDK_20.0 { rte_rawdev_configure; rte_rawdev_count; rte_rawdev_dequeue_buffers; + rte_rawdev_dump; rte_rawdev_enqueue_buffers; rte_rawdev_firmware_load; rte_rawdev_firmware_status_get;