Message ID | 20200910143609.986696-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 66F8FA04B5; Thu, 10 Sep 2020 16:36:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 564051BFA2; Thu, 10 Sep 2020 16:36:45 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 2DDFC1BF8D for <dev@dpdk.org>; Thu, 10 Sep 2020 16:36:43 +0200 (CEST) IronPort-SDR: H9UAOk4M0uLO1wcO3x1kP7P2KzhvLjEppskvOD5lT8ltlfMpQZ8yJHSNCqNWzHjkxLWubhbPiX P/q3w1Q36yug== X-IronPort-AV: E=McAfee;i="6000,8403,9739"; a="155998480" X-IronPort-AV: E=Sophos;i="5.76,413,1592895600"; d="scan'208";a="155998480" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Sep 2020 07:36:42 -0700 IronPort-SDR: pRg+A5hc1ubzP6kOoKdNwlunA4oDHuWBlOLGCkz/kXusOcYRDCtH3sgfSwG4yQmxZqRefRzla+ zqU2y1vQ8+Qg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,413,1592895600"; d="scan'208";a="304900262" Received: from silpixa00399126.ir.intel.com ([10.237.222.27]) by orsmga006.jf.intel.com with ESMTP; 10 Sep 2020 07:36:40 -0700 From: Bruce Richardson <bruce.richardson@intel.com> To: dev@dpdk.org Cc: thomas@monjalon.net, Bruce Richardson <bruce.richardson@intel.com> Date: Thu, 10 Sep 2020 15:36:02 +0100 Message-Id: <20200910143609.986696-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200709152047.167730-1-bruce.richardson@intel.com> References: <20200709152047.167730-1-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v3 0/7] 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> |
Series |
Enhance rawdev APIs
|
|
Message
Bruce Richardson
Sept. 10, 2020, 2:36 p.m. UTC
This patchset proposes some internal and externally-visible changes to the rawdev API, the ABI change of which were previously announced. The changes are in two main 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. V3: - fix doxygen error - add release note update for changes to public APIs V2: - add additional patch to make start/stop functions optional - remove deprecation notice once changes applied Bruce Richardson (7): 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 config query to return error rawdev: mark start and stop functions optional doc: remove rawdev deprecation notice app/test/test_rawdev.c | 2 +- doc/guides/rawdevs/ioat.rst | 4 +- doc/guides/rawdevs/octeontx2_dma.rst | 2 +- doc/guides/rawdevs/octeontx2_ep.rst | 3 +- doc/guides/rel_notes/deprecation.rst | 7 --- doc/guides/rel_notes/release_20_11.rst | 9 ++++ doc/guides/sample_app_ug/ioat.rst | 4 +- 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 | 36 +++++++++------ 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 | 47 +++++++++++++------- lib/librte_rawdev/rte_rawdev.h | 27 ++++++++++-- lib/librte_rawdev/rte_rawdev_pmd.h | 22 ++++++--- 23 files changed, 210 insertions(+), 112 deletions(-)
Comments
Bruce Richardson <bruce.richardson@intel.com> wrote: > This patchset proposes some internal and externally-visible changes to the > rawdev API, the ABI change of which were previously announced. > > The changes are in two main 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. > > V3: > - fix doxygen error > - add release note update for changes to public APIs > > V2: > - add additional patch to make start/stop functions optional > - remove deprecation notice once changes applied Applied, thanks