Show a cover letter.

GET /api/covers/63980/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 63980,
    "url": "http://patches.dpdk.org/api/covers/63980/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/1576648808-24765-1-git-send-email-joyce.kong@arm.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1576648808-24765-1-git-send-email-joyce.kong@arm.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1576648808-24765-1-git-send-email-joyce.kong@arm.com",
    "date": "2019-12-18T06:00:02",
    "name": "[v6,0/6] implement common rte bit operation APIs in PMDs",
    "submitter": {
        "id": 970,
        "url": "http://patches.dpdk.org/api/people/970/?format=api",
        "name": "Joyce Kong",
        "email": "joyce.kong@arm.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/1576648808-24765-1-git-send-email-joyce.kong@arm.com/mbox/",
    "series": [
        {
            "id": 7882,
            "url": "http://patches.dpdk.org/api/series/7882/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=7882",
            "date": "2019-12-18T06:00:02",
            "name": "implement common rte bit operation APIs in PMDs",
            "version": 6,
            "mbox": "http://patches.dpdk.org/series/7882/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/63980/comments/",
    "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id E0E2BA050E;\n\tWed, 18 Dec 2019 07:00:39 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id DE056F90;\n\tWed, 18 Dec 2019 07:00:38 +0100 (CET)",
            "from foss.arm.com (foss.arm.com [217.140.110.172])\n by dpdk.org (Postfix) with ESMTP id 35C131F5\n for <dev@dpdk.org>; Wed, 18 Dec 2019 07:00:37 +0100 (CET)",
            "from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])\n by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 87FFB1FB;\n Tue, 17 Dec 2019 22:00:36 -0800 (PST)",
            "from net-arm-thunderx2-01.test.ast.arm.com\n (net-arm-thunderx2-01.shanghai.arm.com [10.169.40.68])\n by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B3EAE3F718;\n Tue, 17 Dec 2019 22:00:31 -0800 (PST)"
        ],
        "From": "Joyce Kong <joyce.kong@arm.com>",
        "To": "thomas@monjalon.net, stephen@networkplumber.org,\n david.marchand@redhat.com,\n mb@smartsharesystems.com, jerinj@marvell.com, bruce.richardson@intel.com,\n ravi1.kumar@amd.com, rmody@marvell.com, shshaikh@marvell.com,\n xuanziyang2@huawei.com, cloud.wangxiaoyun@huawei.com,\n zhouguoyang@huawei.com, honnappa.nagarahalli@arm.com, phil.yang@arm.com,\n gavin.hu@arm.com",
        "Cc": "nd@arm.com,\n\tdev@dpdk.org",
        "Date": "Wed, 18 Dec 2019 14:00:02 +0800",
        "Message-Id": "<1576648808-24765-1-git-send-email-joyce.kong@arm.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1571125801-45773-1-git-send-email-joyce.kong@arm.com>",
        "References": "<1571125801-45773-1-git-send-email-joyce.kong@arm.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v6 0/6] implement common rte bit operation APIs\n\tin PMDs",
        "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>,\n <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>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "There are a lot functions of bit operations scattered in PMDs, consolidate\nthem into a common API family and applied in different PMDs to reduce code\nduplication.\n\nv6:\n Trim 'unsigned long' in PMDs down to 'uint32_t', as on mainstream 64-bit OS,\n 'unsigned long' is 64-bit in size, but the 32-bit OS expects 32-bit 'unsigned\n long' argument.\n\nv5:\n Correct the spelling mistake in test_bitops.c\n\nv4:\n  Introduce uint32_t/uint64_t *addr when definiting bit operation APIs(suggested by\n  Morten Brørup).\n\nv3:\n  1. Change the API's head file back to rte_bitops.h, then implement both 32-bit and\n     64-bit operations with and without C11 atomic memory ordering.\n  2. Add multi-core test case for bit operations which implemented with memory ordering.\n  3. Modify the doc of both APIs and test cases.\n\nv2:\n  1. Add doxygen comments for the rte bit operation API(suggested by Stephen Hemminger).\n  2. Add test cases for common rte bit operation API(suggested by Stephen Hemminger).\n  3. Change the header file to rte_io_bitops.h and the operation to rte_io_set_bit()etc.,\n     as the API uses barriers inside and the barriers are only needed for IO operations\n     (suggested by Jerin Jacob).\n  4. Use an well defined uint_NN_t type(suggested by Morten Brørup).\n\nJoyce Kong (6):\n  lib/eal: implement the family of rte bit operation APIs\n  test/bitops: add bit operation test case\n  net/axgbe: use common rte bit operation APIs instead\n  net/bnx2x: use common rte bit operation APIs instead\n  net/qede: use common rte bit operation APIs instead\n  net/hinic: use common rte bit operation APIs instead\n\n MAINTAINERS                                |   5 +\n app/test/Makefile                          |   1 +\n app/test/autotest_data.py                  |   6 +\n app/test/meson.build                       |   2 +\n app/test/test_bitops.c                     | 305 +++++++++++++++++++\n doc/api/doxy-api-index.md                  |   5 +-\n drivers/net/axgbe/axgbe_common.h           |  29 +-\n drivers/net/axgbe/axgbe_ethdev.c           |  14 +-\n drivers/net/axgbe/axgbe_ethdev.h           |   2 +-\n drivers/net/axgbe/axgbe_mdio.c             |  14 +-\n drivers/net/bnx2x/bnx2x.c                  | 232 +++++++-------\n drivers/net/bnx2x/bnx2x.h                  |  10 +-\n drivers/net/bnx2x/ecore_sp.h               |  47 +--\n drivers/net/hinic/Makefile                 |   1 +\n drivers/net/hinic/base/hinic_compat.h      |  33 +-\n drivers/net/hinic/hinic_pmd_ethdev.c       |  16 +-\n drivers/net/hinic/hinic_pmd_ethdev.h       |   2 +-\n drivers/net/hinic/meson.build              |   2 +\n drivers/net/qede/base/bcm_osal.c           |  22 +-\n drivers/net/qede/base/bcm_osal.h           |  14 +-\n drivers/net/qede/base/ecore.h              |   6 +-\n drivers/net/qede/base/ecore_cxt.c          |   6 +-\n drivers/net/qede/base/ecore_dcbx.c         |   8 +-\n drivers/net/qede/base/ecore_dev.c          |  38 +--\n drivers/net/qede/base/ecore_dev_api.h      |   2 +-\n drivers/net/qede/base/ecore_l2.c           |   6 +-\n drivers/net/qede/base/ecore_mcp.c          |   4 +-\n drivers/net/qede/base/ecore_sp_commands.c  |  12 +-\n drivers/net/qede/base/ecore_spq.c          |   2 +-\n drivers/net/qede/base/ecore_spq.h          |  10 +-\n drivers/net/qede/qede_main.c               |   4 +-\n lib/librte_eal/common/Makefile             |   1 +\n lib/librte_eal/common/include/rte_bitops.h | 474 +++++++++++++++++++++++++++++\n lib/librte_eal/common/meson.build          |   3 +-\n 34 files changed, 1015 insertions(+), 323 deletions(-)\n create mode 100644 app/test/test_bitops.c\n create mode 100644 lib/librte_eal/common/include/rte_bitops.h"
}