get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/46703/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 46703,
    "url": "http://patches.dpdk.org/api/patches/46703/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/fcbb25cf495b506b4c9377e28c6bf596bde939cc.1539338074.git.igor.russkikh@aquantia.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": "<fcbb25cf495b506b4c9377e28c6bf596bde939cc.1539338074.git.igor.russkikh@aquantia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/fcbb25cf495b506b4c9377e28c6bf596bde939cc.1539338074.git.igor.russkikh@aquantia.com",
    "date": "2018-10-12T11:09:22",
    "name": "[v6,08/22] net/atlantic: implement core logic for Tx/Rx",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "a992816b0f50406a29d5499081104d676e02b532",
    "submitter": {
        "id": 1124,
        "url": "http://patches.dpdk.org/api/people/1124/?format=api",
        "name": "Igor Russkikh",
        "email": "igor.russkikh@aquantia.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/fcbb25cf495b506b4c9377e28c6bf596bde939cc.1539338074.git.igor.russkikh@aquantia.com/mbox/",
    "series": [
        {
            "id": 1862,
            "url": "http://patches.dpdk.org/api/series/1862/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1862",
            "date": "2018-10-12T11:09:01",
            "name": "net/atlantic: Aquantia aQtion 10G NIC Family DPDK PMD driver",
            "version": 6,
            "mbox": "http://patches.dpdk.org/series/1862/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/46703/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/46703/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id E790F1B5A5;\n\tFri, 12 Oct 2018 13:09:27 +0200 (CEST)",
            "from NAM05-CO1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr720051.outbound.protection.outlook.com [40.107.72.51])\n\tby dpdk.org (Postfix) with ESMTP id EE3D01B589\n\tfor <dev@dpdk.org>; Fri, 12 Oct 2018 13:09:24 +0200 (CEST)",
            "from BY1PR0701MB1660.namprd07.prod.outlook.com (10.162.110.22) by\n\tBY1PR0701MB1879.namprd07.prod.outlook.com (10.162.143.149) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1207.26; Fri, 12 Oct 2018 11:09:22 +0000",
            "from BY1PR0701MB1660.namprd07.prod.outlook.com\n\t([fe80::346d:e756:e70e:17]) by\n\tBY1PR0701MB1660.namprd07.prod.outlook.com\n\t([fe80::346d:e756:e70e:17%3]) with mapi id 15.20.1228.020;\n\tFri, 12 Oct 2018 11:09:22 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=RYT6LmAdvUU/RpsMBSWzEtSAwvAl9ucjpkcsw9PwurQ=;\n\tb=OT6WwO9ESSHWzXtbGEnHyt/G0OyQhATAICjKXHhPfEOJlg0sRuJAyWB6cbOzv4Uj5AtK52TgckPFmE7FpxuhNEfMqANmnvVL3diZ5Z/Fo1j42iXW+FVO43uNTLbP/MucHIt8NZSoSlThQvFqg4BXIBKgIAeeuk0jyYmmhJb06rI=",
        "From": "Igor Russkikh <Igor.Russkikh@aquantia.com>",
        "To": "\"dev@dpdk.org\" <dev@dpdk.org>",
        "CC": "Pavel Belous <Pavel.Belous@aquantia.com>, Igor Russkikh\n\t<Igor.Russkikh@aquantia.com>, \"ferruh.yigit@intel.com\"\n\t<ferruh.yigit@intel.com>",
        "Thread-Topic": "[PATCH v6 08/22] net/atlantic: implement core logic for Tx/Rx",
        "Thread-Index": "AQHUYhwH8y1Xq9SRGkiVcyraeXDHLA==",
        "Date": "Fri, 12 Oct 2018 11:09:22 +0000",
        "Message-ID": "<fcbb25cf495b506b4c9377e28c6bf596bde939cc.1539338074.git.igor.russkikh@aquantia.com>",
        "References": "<cover.1539338074.git.igor.russkikh@aquantia.com>",
        "In-Reply-To": "<cover.1539338074.git.igor.russkikh@aquantia.com>",
        "Accept-Language": "en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "x-clientproxiedby": "AM5PR0701CA0008.eurprd07.prod.outlook.com\n\t(2603:10a6:203:51::18) To BY1PR0701MB1660.namprd07.prod.outlook.com\n\t(2a01:111:e400:522a::22)",
        "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Igor.Russkikh@aquantia.com; ",
        "x-ms-exchange-messagesentrepresentingtype": "1",
        "x-originating-ip": "[95.79.108.179]",
        "x-ms-publictraffictype": "Email",
        "x-microsoft-exchange-diagnostics": "1; BY1PR0701MB1879;\n\t6:0L9CF9X5AEtqixaHY6RS3ZCVGWfTuYPCF4tRzBiOU8m01UlixyAdlOaneVxaifKB4itJ/yoGJGFe5kkKeP0M6HwUyl6h/GK+mIP7v+IOvizpyM6zKSCUYxyA+DmbwmGjRZLqkR2DDg22Nz6cV5QCiXLW8tz5lMLxQUlmL9qTb6EozFW0z9TfmXt1JhDoTnlbfZnHbcD/Fty61NDZq1hKzkk4ABmbJIiXbyYYyTKpWAGcDIBeDkq0S8sxzNJuzHvNvtXzjcTUoVY7CjPJ7PkaY7mbLbZd6ao4NQJMfEROTfGrUmsk/jT/ITSf8b87YcmQKauVlxnLTz+K/Wzdr4/I1W8+WSW4yrkFA6j+ZjogSIL6w8fgCEWBNyWbmt4znH4plkBmr4E+osL7GfsrCtS+WTQNDEX3Tmuqcf95p02GS5tmtjHeO7maN3TzR+1otUiBWvQCsyCoplXkAMeUasyHmmYfRZXOHzH3fUzgXJ100yI=;\n\t5:ALFouJoXOAUOjYDdgIR4iCYMGIrNeAJ8s9c8g8J27A1LyhP4uBDcvwLPV6a/Z45QV+tBa70UrvL1+OIxsL7GbT6KvUIiRj8aS6aaMBxVpNVygRtMfvaQ0jGjjrId4zZkcsCMOb5oJa61pJUkXPi+JY6GWNXfsWko6idrHUzecCM=;\n\t7:fTDQdVrdlWnBrGAVWauAGs8I1wqWM/a7U32DMhhHDtWt+XBjmNgbKTnhVIDFB0JlN3718gQfoLWt2ZoCqpOfmtQ+IeHhVCCAKZmUDeN3Wrq8VzFmwN7rxS3Ec+QLnwXUARPsamx3+evnvEgEdtks5qaK5ZyAIs+TmyIGP07EcwKs8E4KewVsxN63+iq4oAU6V0cG6/kzPvihIsO6mBAtg7MLUPRxACjOf6yiPILMjNYle40gfI/jlmBrgLgF7070",
        "x-ms-office365-filtering-correlation-id": "8da77de3-5554-426f-22bb-08d6303329cb",
        "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020);\n\tSRVR:BY1PR0701MB1879; ",
        "x-ms-traffictypediagnostic": "BY1PR0701MB1879:",
        "x-microsoft-antispam-prvs": "<BY1PR0701MB1879607FF76874F9BA73CCA798E20@BY1PR0701MB1879.namprd07.prod.outlook.com>",
        "x-exchange-antispam-report-test": "UriScan:;",
        "x-ms-exchange-senderadcheck": "1",
        "x-exchange-antispam-report-cfa-test": "BCL:0; PCL:0;\n\tRULEID:(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231355)(944501410)(52105095)(149066)(150057)(6041310)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(201708071742011)(7699051)(76991067);\n\tSRVR:BY1PR0701MB1879; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1879; ",
        "x-forefront-prvs": "0823A5777B",
        "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(1496009)(346002)(376002)(366004)(136003)(39850400004)(396003)(189003)(199004)(6436002)(5640700003)(3846002)(68736007)(2900100001)(478600001)(6486002)(14454004)(2906002)(72206003)(71190400001)(71200400001)(26005)(2616005)(44832011)(102836004)(446003)(486006)(256004)(118296001)(186003)(105586002)(2351001)(6116002)(106356001)(6512007)(97736004)(6916009)(5660300001)(54906003)(6506007)(386003)(11346002)(476003)(14444005)(53936002)(5250100002)(2501003)(25786009)(8936002)(8676002)(4326008)(86362001)(305945005)(7736002)(575784001)(99286004)(81166006)(1730700003)(81156014)(66066001)(52116002)(36756003)(316002)(76176011);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1879;\n\tH:BY1PR0701MB1660.namprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; \n\tPTR:InfoNoRecords; MX:1; A:1; ",
        "received-spf": "None (protection.outlook.com: aquantia.com does not designate\n\tpermitted sender hosts)",
        "x-microsoft-antispam-message-info": "A1TyFdn0OHlxweM58h033Oz3eooWUgS1urAJKvwWsUGzSjKiTH5mm3wahziTeUHXZMK6TDMMVvSmLe8MzVMV7j/vCRhTaYnFVXdpOn6L8zlRsRyUZtiUYzcsfQbIF22rl/DFqwGh7ydJI5k56fKH/aatUayYmTugOuhPg820wPWPveyPhQbnwYWih/nlCxb9WfeX2PUeMFOKEqQcYjyqYlBF0tWVFzjh96vODoQLDrEztO11AGVNjyzlDcYhRA+im2+oYAWukIAH/F+kEtarYYQiGmfpMeqQjW5wkDIUhiXrKaIEP05Wk9pkHKDeylOw/0aO6FQPCcMnJ1NbIMaDvfU1bzuMS84NUvJ0zLrt/Co=",
        "spamdiagnosticoutput": "1:99",
        "spamdiagnosticmetadata": "NSPM",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-OriginatorOrg": "aquantia.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "8da77de3-5554-426f-22bb-08d6303329cb",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "12 Oct 2018 11:09:22.7472\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "83e2e134-991c-4ede-8ced-34d47e38e6b1",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BY1PR0701MB1879",
        "Subject": "[dpdk-dev] [PATCH v6 08/22] net/atlantic: implement core logic for\n\tTx/Rx",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Pavel Belous <Pavel.Belous@aquantia.com>\n\nAdd RX/TX function prototypes for further datapath development.\n\nSigned-off-by: Igor Russkikh <igor.russkikh@aquantia.com>\nSigned-off-by: Pavel Belous <pavel.belous@aquantia.com>\n---\n doc/guides/nics/features/atlantic.ini |  1 +\n drivers/net/atlantic/Makefile         |  1 +\n drivers/net/atlantic/atl_ethdev.c     | 14 ++++++++++++\n drivers/net/atlantic/atl_ethdev.h     | 15 +++++++++++++\n drivers/net/atlantic/atl_rxtx.c       | 42 +++++++++++++++++++++++++++++++++++\n drivers/net/atlantic/meson.build      |  1 +\n 6 files changed, 74 insertions(+)\n create mode 100644 drivers/net/atlantic/atl_rxtx.c",
    "diff": "diff --git a/doc/guides/nics/features/atlantic.ini b/doc/guides/nics/features/atlantic.ini\nindex 1b9cbf95077f..c603b7bfcd42 100644\n--- a/doc/guides/nics/features/atlantic.ini\n+++ b/doc/guides/nics/features/atlantic.ini\n@@ -4,6 +4,7 @@\n ; Refer to default.ini for the full list of available PMD features.\n ;\n [Features]\n+Queue start/stop     = Y\n FW version           = Y\n Linux UIO            = Y\n ARMv8                = Y\ndiff --git a/drivers/net/atlantic/Makefile b/drivers/net/atlantic/Makefile\nindex 91306d71ba97..b88da362146d 100644\n--- a/drivers/net/atlantic/Makefile\n+++ b/drivers/net/atlantic/Makefile\n@@ -24,6 +24,7 @@ VPATH += $(SRCDIR)/hw_atl\n #\n # all source are stored in SRCS-y\n #\n+SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_rxtx.c\n SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_ethdev.c\n SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_hw_regs.c\n SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_utils.c\ndiff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c\nindex d756ad4c8b99..870eafba3e13 100644\n--- a/drivers/net/atlantic/atl_ethdev.c\n+++ b/drivers/net/atlantic/atl_ethdev.c\n@@ -104,6 +104,9 @@ eth_atl_dev_init(struct rte_eth_dev *eth_dev)\n \tPMD_INIT_FUNC_TRACE();\n \n \teth_dev->dev_ops = &atl_eth_dev_ops;\n+\teth_dev->rx_pkt_burst = &atl_recv_pkts;\n+\teth_dev->tx_pkt_burst = &atl_xmit_pkts;\n+\teth_dev->tx_pkt_prepare = &atl_prep_pkts;\n \n \t/* For secondary processes, the primary process has done all the work */\n \tif (rte_eal_process_type() != RTE_PROC_PRIMARY)\n@@ -155,6 +158,8 @@ eth_atl_dev_uninit(struct rte_eth_dev *eth_dev)\n \t\tatl_dev_close(eth_dev);\n \n \teth_dev->dev_ops = NULL;\n+\teth_dev->rx_pkt_burst = NULL;\n+\teth_dev->tx_pkt_burst = NULL;\n \n \trte_free(eth_dev->data->mac_addrs);\n \teth_dev->data->mac_addrs = NULL;\n@@ -208,6 +213,15 @@ atl_dev_start(struct rte_eth_dev *dev)\n \terr = hw_atl_b0_hw_init(hw, dev->data->mac_addrs->addr_bytes);\n \n \thw_atl_b0_hw_start(hw);\n+\t/* initialize transmission unit */\n+\tatl_tx_init(dev);\n+\n+\t/* This can fail when allocating mbufs for descriptor rings */\n+\terr = atl_rx_init(dev);\n+\tif (err) {\n+\t\tPMD_INIT_LOG(ERR, \"Unable to initialize RX hardware\");\n+\t\treturn -EIO;\n+\t}\n \n \tPMD_INIT_LOG(DEBUG, \"FW version: %u.%u.%u\",\n \t\thw->fw_ver_actual >> 24,\ndiff --git a/drivers/net/atlantic/atl_ethdev.h b/drivers/net/atlantic/atl_ethdev.h\nindex c0cc5475a091..990e8e4e9978 100644\n--- a/drivers/net/atlantic/atl_ethdev.h\n+++ b/drivers/net/atlantic/atl_ethdev.h\n@@ -21,4 +21,19 @@ struct atl_adapter {\n \tstruct aq_hw_cfg_s         hw_cfg;\n };\n \n+/*\n+ * RX/TX function prototypes\n+ */\n+int atl_rx_init(struct rte_eth_dev *dev);\n+int atl_tx_init(struct rte_eth_dev *dev);\n+\n+uint16_t atl_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,\n+\t\tuint16_t nb_pkts);\n+\n+uint16_t atl_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,\n+\t\tuint16_t nb_pkts);\n+\n+uint16_t atl_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,\n+\t\tuint16_t nb_pkts);\n+\n #endif /* _ATLANTIC_ETHDEV_H_ */\ndiff --git a/drivers/net/atlantic/atl_rxtx.c b/drivers/net/atlantic/atl_rxtx.c\nnew file mode 100644\nindex 000000000000..0fbd93038075\n--- /dev/null\n+++ b/drivers/net/atlantic/atl_rxtx.c\n@@ -0,0 +1,42 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2018 Aquantia Corporation\n+ */\n+\n+#include \"atl_ethdev.h\"\n+\n+int\n+atl_tx_init(struct rte_eth_dev *eth_dev __rte_unused)\n+{\n+\treturn 0;\n+}\n+\n+int\n+atl_rx_init(struct rte_eth_dev *eth_dev __rte_unused)\n+{\n+\treturn 0;\n+}\n+\n+uint16_t\n+atl_prep_pkts(void *tx_queue __rte_unused,\n+\t      struct rte_mbuf **tx_pkts __rte_unused,\n+\t      uint16_t nb_pkts __rte_unused)\n+{\n+\treturn 0;\n+}\n+\n+uint16_t\n+atl_recv_pkts(void *rx_queue __rte_unused,\n+\t      struct rte_mbuf **rx_pkts __rte_unused,\n+\t      uint16_t nb_pkts __rte_unused)\n+{\n+\treturn 0;\n+}\n+\n+uint16_t\n+atl_xmit_pkts(void *tx_queue __rte_unused,\n+\t      struct rte_mbuf **tx_pkts __rte_unused,\n+\t      uint16_t nb_pkts __rte_unused)\n+{\n+\treturn 0;\n+}\n+\ndiff --git a/drivers/net/atlantic/meson.build b/drivers/net/atlantic/meson.build\nindex a0ad8f088571..28fb97cace6e 100644\n--- a/drivers/net/atlantic/meson.build\n+++ b/drivers/net/atlantic/meson.build\n@@ -2,6 +2,7 @@\n # Copyright(c) 2018 Aquantia Corporation\n \n sources = files(\n+\t'atl_rxtx.c',\n \t'atl_ethdev.c',\n \t'atl_hw_regs.c',\n \t'hw_atl/hw_atl_b0.c',\n",
    "prefixes": [
        "v6",
        "08/22"
    ]
}