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 4A450A0518 for ; Fri, 24 Jul 2020 14:06:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3EA121C0D5; Fri, 24 Jul 2020 14:06:32 +0200 (CEST) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by dpdk.org (Postfix) with ESMTP id BAB5F1C10C for ; Fri, 24 Jul 2020 14:06:30 +0200 (CEST) Received: by mail-wr1-f67.google.com with SMTP id y3so8080694wrl.4 for ; Fri, 24 Jul 2020 05:06:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EvfvfzstulNeBB1RRwNki9AdawxU/NQ04wT6uPnACIE=; b=jYoVKr9zZea/7ejBqZKH+T519nPnpCgWs6ygCNYJYZOh0hly2S6e9CFtFWZ54JkO89 x3tkxZlfFZK7JJGh99pYJsmcrDnrHZUZVeyEccal0KA4m1e8UvcjJIDhtMt9diqgv6mW 0jI3cAjDf5SkcOpH7DO2e2ZeAmnXNz21Rqq9PL/hAbV5oD0MtEa1yoFkfFAfYQrI+eua sSnL8KILOnB2uZufRpj18ApUuHUeRaExUHovZBtx/eRQUSEiVkTMB4uX/om87Y4RePxw 7zLc+nLxOXFHGi+P6oHF/G0FEK81jZ+dDCEhMiv31XOsVu08q2K8c9QyAdtMuxMR+1uF zilQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EvfvfzstulNeBB1RRwNki9AdawxU/NQ04wT6uPnACIE=; b=fdv4D696WYRXj0ILu9UV4YhcyyWflwdHNHq6dgzqb95SC+Y9TF45mvVRAygL1izA/5 wQ6CEGNSO8c8tIPy+uuRsyRc37+NCe/khUZyC9ro8EvveyemxHD+xlBzqiJFlFylG5ov ASEt9W8kpEs3vWy0BfF5aop+adesTYzAJcJcYHpJu0ZGJNf6SxGQuKZCjtmi52BmyRfr GAj07bUKDokjO5zijdM9IB8bjzxygpXfo4TWkAfBC93Di7lNvj5mu628gYgp0Sg7MVSq hyGE1iZ8+HArdFyeCp6vrjOJLPe2RrEco3tusn4tFJCIdpxSDMNauNiGUFFwy5JcJev9 YX3Q== X-Gm-Message-State: AOAM530eX1AwJYU57sGTUH2bbRJ2i281AEGjBfP+cOcHL79mvBJiUnQd EugOaqybPIQN93zq2st0Qfk= X-Google-Smtp-Source: ABdhPJyZC1Qb7bsbEBSTeaSVgxk6TqU86GBT7/bspwROgZ2JzvnPGle2+Ria3625gTrd6M9sIuCoDA== X-Received: by 2002:adf:f151:: with SMTP id y17mr765986wro.179.1595592390517; Fri, 24 Jul 2020 05:06:30 -0700 (PDT) Received: from localhost ([88.98.246.218]) by smtp.gmail.com with ESMTPSA id h10sm1065261wro.57.2020.07.24.05.06.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2020 05:06:29 -0700 (PDT) From: luca.boccassi@gmail.com To: Bruce Richardson Cc: Hemant Agrawal , dpdk stable Date: Fri, 24 Jul 2020 12:58:44 +0100 Message-Id: <20200724120030.1863487-86-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200724120030.1863487-1-luca.boccassi@gmail.com> References: <20200724120030.1863487-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'rawdev: allow getting info for unknown device' has been queued to stable release 19.11.4 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 stable release 19.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/26/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. Thanks. Luca Boccassi --- >From 2e4b38d8f9ad20fa84486315ae9e117cb037a8c1 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 b6f1e1c77..f6efa6b67 100644 --- a/lib/librte_rawdev/rte_rawdev.c +++ b/lib/librte_rawdev/rte_rawdev.c @@ -89,8 +89,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 7a1f3213e..32f6b8bb0 100644 --- a/lib/librte_rawdev/rte_rawdev.h +++ b/lib/librte_rawdev/rte_rawdev.h @@ -74,7 +74,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 -- 2.20.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-07-24 12:53:51.872395908 +0100 +++ 0086-rawdev-allow-getting-info-for-unknown-device.patch 2020-07-24 12:53:48.311006907 +0100 @@ -1,8 +1,10 @@ -From 201a68c67839b879b39aa897b6bdb024a49ae436 Mon Sep 17 00:00:00 2001 +From 2e4b38d8f9ad20fa84486315ae9e117cb037a8c1 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 @@ -14,8 +16,6 @@ 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 --- @@ -24,10 +24,10 @@ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c -index 2eb7b3bc3..e634a567f 100644 +index b6f1e1c77..f6efa6b67 100644 --- a/lib/librte_rawdev/rte_rawdev.c +++ b/lib/librte_rawdev/rte_rawdev.c -@@ -87,8 +87,10 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info) +@@ -89,8 +89,10 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info) rawdev = &rte_rawdevs[dev_id];