From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3C8CEA04AF for ; Thu, 20 Aug 2020 17:34:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 337CA1C0B4; Thu, 20 Aug 2020 17:34:10 +0200 (CEST) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by dpdk.org (Postfix) with ESMTP id B9C6A1C0B4 for ; Thu, 20 Aug 2020 17:34:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1597937649; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2BwoATOwTuX0mCCGfd3te9tN1p1Usv3k33WOnQb1h84=; b=aNxBQj1o9iVqj/DStDcAvJh5bAiwlW/mzOlxuuNiR54sOot+2IbXtdfsUxdf2PJf/VpR04 BDNqYQQZn6CrKnRo2Q1IvskdZGniMYLfsWTszIV2S1Sk3oewNIi6/g/JUiBfSLzDTdhYwn E6OVQvRyXsq2Wh8OR43FhzLjSol6nCc= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-427-sf8LCVoLP7-Tw6Pp22E_gQ-1; Thu, 20 Aug 2020 11:34:04 -0400 X-MC-Unique: sf8LCVoLP7-Tw6Pp22E_gQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 44F511885D86; Thu, 20 Aug 2020 15:34:03 +0000 (UTC) Received: from rh.redhat.com (unknown [10.33.36.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id 208EE100AE53; Thu, 20 Aug 2020 15:34:01 +0000 (UTC) From: Kevin Traynor To: Bruce Richardson Cc: Hemant Agrawal , dpdk stable Date: Thu, 20 Aug 2020 16:33:07 +0100 Message-Id: <20200820153341.171927-2-ktraynor@redhat.com> In-Reply-To: <20200820153341.171927-1-ktraynor@redhat.com> References: <20200820153341.171927-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0.002 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'rawdev: allow getting info for unknown device' has been queued to LTS release 18.11.10 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to LTS release 18.11.10 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/25/20. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable-queue This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable-queue/commit/c56a4aa29ba4416d84b932358392f96ca78bfc85 Thanks. Kevin. --- >From c56a4aa29ba4416d84b932358392f96ca78bfc85 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Mon, 6 Jul 2020 11:31:30 +0100 Subject: [PATCH] rawdev: allow getting info for unknown device [ upstream commit 201a68c67839b879b39aa897b6bdb024a49ae436 ] 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. 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 9f1e3592dd..53f16c5b07 100644 --- a/lib/librte_rawdev/rte_rawdev.c +++ b/lib/librte_rawdev/rte_rawdev.c @@ -89,6 +89,8 @@ 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 7a1f3213e9..32f6b8bb03 100644 --- a/lib/librte_rawdev/rte_rawdev.h +++ b/lib/librte_rawdev/rte_rawdev.h @@ -75,5 +75,11 @@ 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 -- 2.26.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-08-20 16:26:15.972046501 +0100 +++ 0002-rawdev-allow-getting-info-for-unknown-device.patch 2020-08-20 16:26:15.752323671 +0100 @@ -1 +1 @@ -From 201a68c67839b879b39aa897b6bdb024a49ae436 Mon Sep 17 00:00:00 2001 +From c56a4aa29ba4416d84b932358392f96ca78bfc85 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 201a68c67839b879b39aa897b6bdb024a49ae436 ] + @@ -17,2 +18,0 @@ -Cc: stable@dpdk.org - @@ -27 +27 @@ -index 2eb7b3bc3b..e634a567fa 100644 +index 9f1e3592dd..53f16c5b07 100644 @@ -30 +30 @@ -@@ -88,6 +88,8 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info) +@@ -89,6 +89,8 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info)