[20.11,0/5] Enhance rawdev APIs
Message ID | 20200709152047.167730-1-bruce.richardson@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 5CEDAA0528; Thu, 9 Jul 2020 17:21:00 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3F8271DB8F; Thu, 9 Jul 2020 17:21:00 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 290DB1DB65 for <dev@dpdk.org>; Thu, 9 Jul 2020 17:20:58 +0200 (CEST) IronPort-SDR: 7X/U9XE+PrPzxyrRNiF07Ix0UFY/zvU3AHlaw19OuN9FtPu/EdN/im9x815awi/YOzYkxzUkNV PxbjHK7PGUBQ== X-IronPort-AV: E=McAfee;i="6000,8403,9677"; a="209546486" X-IronPort-AV: E=Sophos;i="5.75,331,1589266800"; d="scan'208";a="209546486" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jul 2020 08:20:57 -0700 IronPort-SDR: mqCBjNCcTSgT/Kj7mFVOKBPpiareIb3xDHdNp9Xl3xtWvVy5e2jAGd9LX3/EtdZj0bbiy5q+Wm XQadSqTZA6bg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,331,1589266800"; d="scan'208";a="483835490" Received: from silpixa00399126.ir.intel.com ([10.237.222.36]) by fmsmga006.fm.intel.com with ESMTP; 09 Jul 2020 08:20:54 -0700 From: Bruce Richardson <bruce.richardson@intel.com> To: Nipun Gupta <nipun.gupta@nxp.com>, Hemant Agrawal <hemant.agrawal@nxp.com> Cc: dev@dpdk.org, Rosen Xu <rosen.xu@intel.com>, Tianfei zhang <tianfei.zhang@intel.com>, Xiaoyun Li <xiaoyun.li@intel.com>, Jingjing Wu <jingjing.wu@intel.com>, Satha Rao <skoteshwar@marvell.com>, Mahipal Challa <mchalla@marvell.com>, Jerin Jacob <jerinj@marvell.com>, Bruce Richardson <bruce.richardson@intel.com> Date: Thu, 9 Jul 2020 16:20:42 +0100 Message-Id: <20200709152047.167730-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH 20.11 0/5] Enhance rawdev APIs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Message
Bruce Richardson
July 9, 2020, 3:20 p.m. UTC
This patchset proposes some internal and externally-visible changes to the rawdev API. If consensus is in favour, I will submit a deprecation notice for the changes for the 20.08 release, so that these ABI/API-breaking changes can be merged in 20.11 The changes are in two areas: * For any APIs which take a void * parameter for driver-specific structs, add an additional parameter to provide the struct length. This allows some runtime type-checking, as well as possible ABI-compatibility support in the future as structure change generally involve a change in the size of the structure. * Ensure all APIs which can return error values have int type, rather than void. Since functions like info_get and queue_default_get can now do some typechecking, they need to be modified to allow them to return error codes on failure. Bruce Richardson (5): rawdev: add private data length parameter to info fn rawdev: allow drivers to return error from info function rawdev: add private data length parameter to config fn rawdev: add private data length parameter to queue fns rawdev: allow queue default config query to return error drivers/bus/ifpga/ifpga_bus.c | 2 +- drivers/raw/ifpga/ifpga_rawdev.c | 23 +++++----- drivers/raw/ioat/ioat_rawdev.c | 17 ++++--- drivers/raw/ioat/ioat_rawdev_test.c | 6 +-- drivers/raw/ntb/ntb.c | 49 ++++++++++++++++----- drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c | 7 +-- drivers/raw/octeontx2_dma/otx2_dpi_test.c | 3 +- drivers/raw/octeontx2_ep/otx2_ep_rawdev.c | 7 +-- drivers/raw/octeontx2_ep/otx2_ep_test.c | 2 +- drivers/raw/skeleton/skeleton_rawdev.c | 34 ++++++++------ drivers/raw/skeleton/skeleton_rawdev_test.c | 32 ++++++++------ examples/ioat/ioatfwd.c | 4 +- examples/ntb/ntb_fwd.c | 7 +-- lib/librte_rawdev/rte_rawdev.c | 27 +++++++----- lib/librte_rawdev/rte_rawdev.h | 27 ++++++++++-- lib/librte_rawdev/rte_rawdev_pmd.h | 22 ++++++--- 16 files changed, 178 insertions(+), 91 deletions(-)