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 DDBB8A328D for ; Wed, 23 Oct 2019 04:55:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 764BD1BEB8; Wed, 23 Oct 2019 04:55:29 +0200 (CEST) Received: from foss.arm.com (unknown [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id B00D949DF for ; Wed, 23 Oct 2019 04:55:27 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 31A941682; Tue, 22 Oct 2019 19:55:18 -0700 (PDT) Received: from net-arm-thunderx2-01.test.ast.arm.com (net-arm-thunderx2-01.shanghai.arm.com [10.169.40.40]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3EF193F6C4; Tue, 22 Oct 2019 19:55:11 -0700 (PDT) From: Joyce Kong To: dev@dpdk.org Cc: nd@arm.com, thomas@monjalon.net, jerinj@marvell.com, stephen@networkplumber.org, mb@smartsharesystems.com, honnappa.nagarahalli@arm.com, gavin.hu@arm.com, ravi1.kumar@amd.com, rmody@marvell.com, shshaikh@marvell.com, xuanziyang2@huawei.com, cloud.wangxiaoyun@huawei.com, zhouguoyang@huawei.com Date: Wed, 23 Oct 2019 10:54:52 +0800 Message-Id: <1571799298-18873-1-git-send-email-joyce.kong@arm.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 In-Reply-To: <1571125801-45773-1-git-send-email-joyce.kong@arm.com> References: <1571125801-45773-1-git-send-email-joyce.kong@arm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 0/6] implement common rte bit operation APIs in PMDs 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" There are a lot functions of bit operations scattered in PMDs, consolidate them into a common API family and applied in different PMDs to reduce code duplication. v2: 1. Add doxygen comments for the rte bit operation API(suggested by Stephen Hemminger). 2. Add test cases for common rte bit operation API(suggested by Stephen Hemminger). 3. Change the header file to rte_io_bitops.h and the operation to rte_io_set_bit()etc., as the API uses barriers inside and the barriers are only needed for IO operations (suggested by Jerin Jacob). 4. Use an well defined uint_NN_t type(suggested by Morten Brørup). Joyce Kong (6): lib/eal: implement the family of rte bit operation APIs test/iobitops: add io bit operation test case net/axgbe: use common rte bit operation APIs instead net/bnx2x: use common rte bit operation APIs instead net/hinic: use common rte bit operation APIs instead net/qede: use common rte bit operation APIs instead app/test/Makefile | 1 + app/test/test_io_bitops.c | 86 +++++++++++ drivers/net/axgbe/axgbe_common.h | 29 +--- drivers/net/axgbe/axgbe_ethdev.c | 14 +- drivers/net/axgbe/axgbe_mdio.c | 14 +- drivers/net/bnx2x/bnx2x.c | 209 ++++++++++++-------------- drivers/net/bnx2x/bnx2x.h | 4 - drivers/net/bnx2x/ecore_sp.h | 9 +- drivers/net/hinic/base/hinic_compat.h | 35 +---- drivers/net/hinic/hinic_pmd_ethdev.c | 16 +- drivers/net/qede/base/bcm_osal.c | 20 --- drivers/net/qede/base/bcm_osal.h | 10 +- lib/librte_eal/common/Makefile | 1 + lib/librte_eal/common/include/rte_io_bitops.h | 112 ++++++++++++++ lib/librte_eal/common/meson.build | 1 + 15 files changed, 327 insertions(+), 234 deletions(-) create mode 100644 app/test/test_io_bitops.c create mode 100644 lib/librte_eal/common/include/rte_io_bitops.h -- 2.7.4