get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 30470,
    "url": "http://patches.dpdk.org/api/patches/30470/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1508258314-11151-4-git-send-email-nipun.gupta@nxp.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": "<1508258314-11151-4-git-send-email-nipun.gupta@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1508258314-11151-4-git-send-email-nipun.gupta@nxp.com",
    "date": "2017-10-17T16:38:33",
    "name": "[dpdk-dev,v4,4/5] event/dpaa2: support event eth adapter",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "72d4dc7cc08a4e68ffa6faea434344ffe598a60a",
    "submitter": {
        "id": 471,
        "url": "http://patches.dpdk.org/api/people/471/?format=api",
        "name": "Nipun Gupta",
        "email": "nipun.gupta@nxp.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1508258314-11151-4-git-send-email-nipun.gupta@nxp.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/30470/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/30470/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 227DA1B7F8;\n\tTue, 17 Oct 2017 12:23:38 +0200 (CEST)",
            "from NAM01-BN3-obe.outbound.protection.outlook.com\n\t(mail-bn3nam01on0055.outbound.protection.outlook.com [104.47.33.55])\n\tby dpdk.org (Postfix) with ESMTP id B825D1B7ED\n\tfor <dev@dpdk.org>; Tue, 17 Oct 2017 12:23:33 +0200 (CEST)",
            "from MWHPR03CA0046.namprd03.prod.outlook.com (10.174.173.163) by\n\tBN6PR03MB2691.namprd03.prod.outlook.com (10.173.144.10) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 17 Oct 2017 10:23:32 +0000",
            "from BY2FFO11OLC015.protection.gbl (2a01:111:f400:7c0c::153) by\n\tMWHPR03CA0046.outlook.office365.com (2603:10b6:301:3b::35) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n\t15.20.77.21 via Frontend Transport; Tue, 17 Oct 2017 10:23:32 +0000",
            "from az84smr01.freescale.net (192.88.158.2) by\n\tBY2FFO11OLC015.mail.protection.outlook.com (10.1.15.59) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.77.10\n\tvia Frontend Transport; Tue, 17 Oct 2017 10:23:31 +0000",
            "from b27504-OptiPlex-790.ap.freescale.net\n\t(b27504-OptiPlex-790.ap.freescale.net [10.232.132.60])\n\tby az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv9HANHXg024567; Tue, 17 Oct 2017 03:23:29 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.158.2)\n\tsmtp.mailfrom=nxp.com; NXP1.onmicrosoft.com;\n\tdkim=none (message not signed)\n\theader.d=none;NXP1.onmicrosoft.com; dmarc=fail action=none\n\theader.from=nxp.com;",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.158.2 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.158.2; helo=az84smr01.freescale.net;",
        "From": "Nipun Gupta <nipun.gupta@nxp.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<hemant.agrawal@nxp.com>, <jerin.jacob@caviumnetworks.com>,\n\t<nikhil.rao@intel.com>, Nipun Gupta <nipun.gupta@nxp.com>",
        "Date": "Tue, 17 Oct 2017 22:08:33 +0530",
        "Message-ID": "<1508258314-11151-4-git-send-email-nipun.gupta@nxp.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1508258314-11151-1-git-send-email-nipun.gupta@nxp.com>",
        "References": "<1507657887-11366-1-git-send-email-nipun.gupta@nxp.com>\n\t<1508258314-11151-1-git-send-email-nipun.gupta@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131527094119419663;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(336005)(7966004)(376002)(39380400002)(346002)(39860400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(5003940100001)(50226002)(305945005)(54906003)(105606002)(33646002)(106466001)(8676002)(6916009)(104016004)(8936002)(2351001)(5660300001)(2950100002)(189998001)(4326008)(97736004)(77096006)(5890100001)(53936002)(6666003)(76176999)(8656003)(498600001)(47776003)(16586007)(68736007)(356003)(50986999)(69596002)(2906002)(36756003)(48376002)(86362001)(316002)(81156014)(81166006)(50466002)(85426001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2691;\n\tH:az84smr01.freescale.net; FPR:; \n\tSPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BY2FFO11OLC015;\n\t1:TTCBUeleycw6Xpwc2zp+DMJYzJoONdgZeNPCY0Yb32NLanZFGEQ5kcYrJ4t9e49T/QtB4N8BhSONSRFlfQA8I8nOArvO+K0ASMe21uwKtuV2f2oeycgDZopnd4TGbv3F",
            "1; BN6PR03MB2691;\n\t3:4iQ1saqeMn5zjsWtvZcxU/F1mmETpKUS3TyUvHiIiLPUtg8hdNYeteVwSZbZi+MlqSa0axkY2eBTZUNDQ7RCxOALCY3v+pE2gGTmBhGyU2aN5FBYLTCQIbAd4q7kWDQARuDL2FIntcwlfQqzqFVQrMM5gqFKYjgG5+ApAqCXJkPqxbvUs0Y2ECxwK/ghIGcCYvwNNzNLSxJY1gC/MsFX/PjB0xqahG/exhj6cCfUsHJ8tcW392llfLDUfe+cJ7WG8gOa/0qY3eexMDWeFzjd3JfSmdsWSMFnxIRykbgSDsQCESATtsMed7mBTnbS/1ezZHnraAbqPMxDp3Ov9LfZzFgG16833ygyfsx87IEYuo0=;\n\t25:p8K6t/L8xA5RG6iAWf3kQyiXmZgc8wlb79IzufKl1KoyzAgsF8py4DZRp9zFQuAB16U/0YaVLohQ9BvM0C+FWd68OdiEAKxaHF6gQmELQeDJpGxGB7fdpaTTHdcTJu1zlbxhVx5dGq8Dh7kwCKncOajLwfDZ0svyd5PDGde2MXCLCDgveUZxj8hoHFZ7LfzMGdJXTszrVrQJzbHCBnZXf5kZOvNtbpGaYbhUjk7XoKooxQbteYnnBvf1PuFmSL6dGd9FxowlOYjvfxFUIsM6aKrckcV2mGyh7liEwHzwwAfORJ2a3Gdx8nVSYEKJIAtE13fNljsDmitIVOvPV67R/oyEFzZ2d3845dKpVJ6IEcw=",
            "1; BN6PR03MB2691;\n\t31:ZJHVko0WDEa8woEXvI7UwXexitpGSrrCKDbaXoCZWrIx5RVwFI7fjFXb3XWCrIOKAquF+gDRCmv1HzewzVZbtE+jCkEde1sOqShz5C3XcQZrqTeeJrxB9BXjhhFFE5dkOq7iJqUy8dqgTYGaVlKbTVKYo67XGkADnC/vOR4sJcw9FL+tZtps19pxAzIHoApYR+hXer44Vw2YjzdW/K0zsuQ3KKFkr6uQslO6uAifemM=;\n\t4:R/HJSghtrTDo8iC9yTypbYkdhXx7swQWTywIHMbSEZN7hoJcujxXE3p7csTJ6ahLo8gwKtfnXdo2s2pPHInymA9g3oV426aMERyyc56w/EraHXd3QZlRlBC2DCVtAp6MLOCaWj7pUDGTKpObE3h0bxbCQstdbQWeKDxAvQOO4zRX0WEMq01FH3rBX3Ff9agyJ9URRR1zLAekxqnnsLuapDcxyvKiWuKOPWhtg+mHchat4kXgNNiwUTiI1KwdM/PSeYqHY41MeUcQ+La6CUtEhIncMxg0BM1TnkZMb8zOSWVPpI6ioVUeKLc5/QODH0Tpze7hlGp9dc2lTCp1heBvzgOAo7QnUOHh7pUJgcrSIAvpeYxsF8QUzWRM37Q7ZeLH",
            "=?us-ascii?Q?1; BN6PR03MB2691;\n\t23:DUfFykfJDYTNHytYU4lBcXGyvT02Kv1V9RMlediyI?=\n\t+6uVMBv+4PClRV0jBwu0CiBV9K1Q7+RWO+0a4sAXv6o2VfF5G1PvHFLQMFrRu4ym1AVf9LPdbqWzEGICBzCGK6DMR1ol4HFdthwOcDAUBEWSiIKvVslFun/7v/Rhk4u4FSLlqZe+k/UquFa9H2usCEjEorlwdVE5d+CFr493aSE3HG3IiPRdrLkBWPs4Hk1neNN17JqcNkrVIdT94gt1HBKKwZc00zOHbpeEQWjQ/UDHmTHojRL9taKpoecXdzclcIBbya4MZdxNEQzKqnRYf5WuxmCVFoUWNOnYSYB31aiY2j7bNrDh1meVisEUbIbwOfIrSOoz3IZZEpNJA8AH3wcr8a5eoACBi8Pj92qsoBbICwRGLSgLtbJPL3wPW3WXr3XsgulqWqaPW2GlQFkL+F3knB6ouOmtTi+w73g7LPnxt3JdRKa/o2wCsivhNoj9p76cneAGM4LCNV7oR1Gs2xZQPTLS2UmQnbx+xdUctBaLlmOk+XBkHG5iPpW0WzhP+rn+KIEVidwS4zdwRKAs6h6i/pmrw7aVmuCxtI7StAnXVVn3UaVLmKfz6hA5EFp0Tmb0OBL6euicVyQTWSojkx/6nZxNTRmFwQNDQBJVru2vM51743xdlivjSlYpDYcybH3kN5dRzt27oRCqF30AniFrLJcQ4XAF4RKLAdxuzhj88anuH8vAp9pudyo570z+QojKM0amjaUf5Kj5i6rqXIgYoJQjhDkWbn1nMUsgyMdrFkJ9RyrvPVSKrq317DOzWbfIzGJw0vMpVBRP9Xhlb2+/PvKcinvrcYaSVQifs0RAzi254lLvdc3oxRyDRD+O4i6RJb9urdiY11ahqte59hn2OeTgPzgoChwjpWAHIBfJKuvUieViIFTIXcoD+4Gy/GA8y6I9e+TT4sFGuFsPvF+0Q7wHDeArSKNNviqolttW5CBBDpmIkpJjUs32Fx5s3DXAqboe7r3Ee/awLKpDhkbiult0eNNv1aBbf4fR80utzFtJbz0hnqkLKzZks6Jv06HrbKontxJjQ/DanL1qygRD8xat/tS6WKWQgwV9lpcqpt4y+3RMtD4PvyaxBBbY18WYOA+rkkphqrzYBsYQvm3eVhwP3wdYVD6XCxdoZw8cdDG8Iz/WCOlymdviHSY/5WA4wvG0LsekUBaKhj3CLAilIFzEg8T3ASr4L3TDX5L3w==",
            "1; BN6PR03MB2691;\n\t6:tw2nqim2uu9IidjWxJYuQR+kCU3m+Svox8HL8Ap6h1XJ0W3Xzp/6eIdFKP8nm/AX9W9Y96z6W8JSgd2eybSmJwT0hofnSvbqcOQuh81Bd8VZB89yM5ZgGC9ntjIyvaiFQwX0eYTxekWtHnJHYO2QXrHDK2ChiexY1IKL3udmbaRa49hAntAc55PviXcOHirvCLFGtx7vIY+ZRZk7uoFDyKYg0FihxekZ74Dsh2TJWDRj0jrEll087gmewcCwXICSuzOewlUhCp+g5Wm7BgzUfAnFGk6M29r+Rj/ynzYebXSx8GfYLKPUepYqMXbPJ02Glc6wBplRY9TEqYpxrg7QCQ==;\n\t5:zPP/iQpJwXSF4MPINyGcA8pkZxWHG/AWRJwKaLqK/NxN3x0CJ+1hBanysS/Cx7wwg8NcAnr/Kgw9VrsNCfFwhD3PuZNxnCW4a5F8DPluBAAf7z2oW6JsafViJMHS5+YZxs1lVLOKLNl9hQYzk0KH4w==;\n\t24:nAuLmORQpquZtuCArPH+6iBG9TN3+aYK0F5tTQSsXDmj49kQJWy5F3Nx1FAd4tE6+9uhOpFCCKRnz2YntYUWZHmQ8WbTKjZF6umdj015tYw=;\n\t7:Y6v2FhlJBHfDY6yDObUYp02D5eO64pJZse6Tg633mDqhsXGA8nmoqwG7Ui8piz3g7Uv37TD33M9KBpumqdSSD4REcr5jA0Nt08NHP7jyF/9tcLC2Aqo3Du9SNryhecosBZ8WgRh8+hGYD++UGOnJboRTwkRtGkL3c7CKRSB1MKzupYIpjZp+vT882AoEr+gy5K0ODWWGK22rhfAHMyNCapllkpVrjX3uW/wJ+lOJQOU="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "97b6f7c7-d560-4a5c-cf0f-08d515491dca",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017052603199)(201703131430075)(201703131517081);\n\tSRVR:BN6PR03MB2691; ",
        "X-MS-TrafficTypeDiagnostic": "BN6PR03MB2691:",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197)(275809806118684)(228905959029699); ",
        "X-Microsoft-Antispam-PRVS": "<BN6PR03MB2691205ECDD8E0285672EA5AE64C0@BN6PR03MB2691.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6096035)(20161123561025)(20161123563025)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(20161123565025)(20161123556025)(20161123559100)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BN6PR03MB2691; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BN6PR03MB2691; ",
        "X-Forefront-PRVS": "04631F8F77",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Oct 2017 10:23:31.8171\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.158.2]; \n\tHelo=[az84smr01.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN6PR03MB2691",
        "Subject": "[dpdk-dev] [PATCH v4 4/5] event/dpaa2: support event eth adapter",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>\nReviewed-by: Nikhil Rao <nikhil.rao@intel.com>\nAcked-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\nChanges in v4:\n  Move driver/Makefile changes in separate patch (Jerin)\nChanges in v3:\n  Fix shared library build\nChanges in v2:\n  Support rx_queue_id = -1 in eth adapter queue and and del (Nikhil)\n  Remove duplicate returns (Nikhil)\n\n drivers/event/Makefile               |   4 +-\n drivers/event/dpaa2/Makefile         |   2 +\n drivers/event/dpaa2/dpaa2_eventdev.c | 151 ++++++++++++++++++++++++++++++++++-\n drivers/event/dpaa2/dpaa2_eventdev.h |   8 ++\n 4 files changed, 162 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/drivers/event/Makefile b/drivers/event/Makefile\nindex d09be74..e119d60 100644\n--- a/drivers/event/Makefile\n+++ b/drivers/event/Makefile\n@@ -31,7 +31,7 @@\n \n include $(RTE_SDK)/mk/rte.vars.mk\n \n-core-libs := librte_eal librte_eventdev\n+core-libs := librte_eal librte_ether librte_eventdev\n \n DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton\n DEPDIRS-skeleton = $(core-libs)\n@@ -40,6 +40,6 @@ DEPDIRS-sw = $(core-libs) librte_kvargs librte_ring\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx\n DEPDIRS-octeontx = $(core-libs) librte_mempool_octeontx\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2\n-DEPDIRS-dpaa2 = $(core-libs) librte_bus_fslmc\n+DEPDIRS-dpaa2 = $(core-libs) librte_bus_fslmc librte_pmd_dpaa2\n \n include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/drivers/event/dpaa2/Makefile b/drivers/event/dpaa2/Makefile\nindex 3497d09..2d1d7c4 100644\n--- a/drivers/event/dpaa2/Makefile\n+++ b/drivers/event/dpaa2/Makefile\n@@ -45,6 +45,8 @@ CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal\n CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2\n CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa2\n CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal\n+CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2\n+CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc\n \n # versioning export map\n EXPORT_MAP := rte_pmd_dpaa2_event_version.map\ndiff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c\nindex 8a6a3e3..ee3a164 100644\n--- a/drivers/event/dpaa2/dpaa2_eventdev.c\n+++ b/drivers/event/dpaa2/dpaa2_eventdev.c\n@@ -53,11 +53,14 @@\n #include <rte_memzone.h>\n #include <rte_pci.h>\n #include <rte_vdev.h>\n+#include <rte_ethdev.h>\n+#include <rte_event_eth_rx_adapter.h>\n \n #include <fslmc_vfio.h>\n #include <dpaa2_hw_pvt.h>\n #include <dpaa2_hw_mempool.h>\n #include <dpaa2_hw_dpio.h>\n+#include <dpaa2_ethdev.h>\n #include \"dpaa2_eventdev.h\"\n #include <portal/dpaa2_hw_pvt.h>\n #include <mc/fsl_dpci.h>\n@@ -557,6 +560,147 @@ static void dpaa2_eventdev_process_atomic(struct qbman_swp *swp,\n \tRTE_SET_USED(f);\n }\n \n+static int\n+dpaa2_eventdev_eth_caps_get(const struct rte_eventdev *dev,\n+\t\t\t    const struct rte_eth_dev *eth_dev,\n+\t\t\t    uint32_t *caps)\n+{\n+\tconst char *ethdev_driver = eth_dev->device->driver->name;\n+\n+\tPMD_DRV_FUNC_TRACE();\n+\n+\tRTE_SET_USED(dev);\n+\n+\tif (!strcmp(ethdev_driver, \"net_dpaa2\"))\n+\t\t*caps = RTE_EVENT_ETH_RX_ADAPTER_DPAA2_CAP;\n+\telse\n+\t\t*caps = RTE_EVENT_ETH_RX_ADAPTER_SW_CAP;\n+\n+\treturn 0;\n+}\n+\n+static int\n+dpaa2_eventdev_eth_queue_add_all(const struct rte_eventdev *dev,\n+\t\tconst struct rte_eth_dev *eth_dev,\n+\t\tconst struct rte_event_eth_rx_adapter_queue_conf *queue_conf)\n+{\n+\tstruct dpaa2_eventdev *priv = dev->data->dev_private;\n+\tuint8_t ev_qid = queue_conf->ev.queue_id;\n+\tuint16_t dpcon_id = priv->evq_info[ev_qid].dpcon->dpcon_id;\n+\tint i, ret;\n+\n+\tPMD_DRV_FUNC_TRACE();\n+\n+\tfor (i = 0; i < eth_dev->data->nb_rx_queues; i++) {\n+\t\tret = dpaa2_eth_eventq_attach(eth_dev, i,\n+\t\t\t\tdpcon_id, queue_conf);\n+\t\tif (ret) {\n+\t\t\tPMD_DRV_ERR(\"dpaa2_eth_eventq_attach failed: ret %d\\n\",\n+\t\t\t\t    ret);\n+\t\t\tgoto fail;\n+\t\t}\n+\t}\n+\treturn 0;\n+fail:\n+\tfor (i = (i - 1); i >= 0 ; i--)\n+\t\tdpaa2_eth_eventq_detach(eth_dev, i);\n+\n+\treturn ret;\n+}\n+\n+static int\n+dpaa2_eventdev_eth_queue_add(const struct rte_eventdev *dev,\n+\t\tconst struct rte_eth_dev *eth_dev,\n+\t\tint32_t rx_queue_id,\n+\t\tconst struct rte_event_eth_rx_adapter_queue_conf *queue_conf)\n+{\n+\tstruct dpaa2_eventdev *priv = dev->data->dev_private;\n+\tuint8_t ev_qid = queue_conf->ev.queue_id;\n+\tuint16_t dpcon_id = priv->evq_info[ev_qid].dpcon->dpcon_id;\n+\tint ret;\n+\n+\tPMD_DRV_FUNC_TRACE();\n+\n+\tif (rx_queue_id == -1)\n+\t\treturn dpaa2_eventdev_eth_queue_add_all(dev,\n+\t\t\t\teth_dev, queue_conf);\n+\n+\tret = dpaa2_eth_eventq_attach(eth_dev, rx_queue_id,\n+\t\t\tdpcon_id, queue_conf);\n+\tif (ret) {\n+\t\tPMD_DRV_ERR(\"dpaa2_eth_eventq_attach failed: ret: %d\\n\", ret);\n+\t\treturn ret;\n+\t}\n+\treturn 0;\n+}\n+\n+static int\n+dpaa2_eventdev_eth_queue_del_all(const struct rte_eventdev *dev,\n+\t\t\t     const struct rte_eth_dev *eth_dev)\n+{\n+\tint i, ret;\n+\n+\tPMD_DRV_FUNC_TRACE();\n+\n+\tRTE_SET_USED(dev);\n+\n+\tfor (i = 0; i < eth_dev->data->nb_rx_queues; i++) {\n+\t\tret = dpaa2_eth_eventq_detach(eth_dev, i);\n+\t\tif (ret) {\n+\t\t\tPMD_DRV_ERR(\"dpaa2_eth_eventq_detach failed: ret %d\\n\",\n+\t\t\t\t    ret);\n+\t\t\treturn ret;\n+\t\t}\n+\t}\n+\n+\treturn 0;\n+}\n+\n+static int\n+dpaa2_eventdev_eth_queue_del(const struct rte_eventdev *dev,\n+\t\t\t     const struct rte_eth_dev *eth_dev,\n+\t\t\t     int32_t rx_queue_id)\n+{\n+\tint ret;\n+\n+\tPMD_DRV_FUNC_TRACE();\n+\n+\tif (rx_queue_id == -1)\n+\t\treturn dpaa2_eventdev_eth_queue_del_all(dev, eth_dev);\n+\n+\tret = dpaa2_eth_eventq_detach(eth_dev, rx_queue_id);\n+\tif (ret) {\n+\t\tPMD_DRV_ERR(\"dpaa2_eth_eventq_detach failed: ret: %d\\n\", ret);\n+\t\treturn ret;\n+\t}\n+\n+\treturn 0;\n+}\n+\n+static int\n+dpaa2_eventdev_eth_start(const struct rte_eventdev *dev,\n+\t\t\t const struct rte_eth_dev *eth_dev)\n+{\n+\tPMD_DRV_FUNC_TRACE();\n+\n+\tRTE_SET_USED(dev);\n+\tRTE_SET_USED(eth_dev);\n+\n+\treturn 0;\n+}\n+\n+static int\n+dpaa2_eventdev_eth_stop(const struct rte_eventdev *dev,\n+\t\t\tconst struct rte_eth_dev *eth_dev)\n+{\n+\tPMD_DRV_FUNC_TRACE();\n+\n+\tRTE_SET_USED(dev);\n+\tRTE_SET_USED(eth_dev);\n+\n+\treturn 0;\n+}\n+\n static const struct rte_eventdev_ops dpaa2_eventdev_ops = {\n \t.dev_infos_get    = dpaa2_eventdev_info_get,\n \t.dev_configure    = dpaa2_eventdev_configure,\n@@ -572,7 +716,12 @@ static void dpaa2_eventdev_process_atomic(struct qbman_swp *swp,\n \t.port_link        = dpaa2_eventdev_port_link,\n \t.port_unlink      = dpaa2_eventdev_port_unlink,\n \t.timeout_ticks    = dpaa2_eventdev_timeout_ticks,\n-\t.dump             = dpaa2_eventdev_dump\n+\t.dump             = dpaa2_eventdev_dump,\n+\t.eth_rx_adapter_caps_get = dpaa2_eventdev_eth_caps_get,\n+\t.eth_rx_adapter_queue_add = dpaa2_eventdev_eth_queue_add,\n+\t.eth_rx_adapter_queue_del = dpaa2_eventdev_eth_queue_del,\n+\t.eth_rx_adapter_start = dpaa2_eventdev_eth_start,\n+\t.eth_rx_adapter_stop = dpaa2_eventdev_eth_stop,\n };\n \n static int\ndiff --git a/drivers/event/dpaa2/dpaa2_eventdev.h b/drivers/event/dpaa2/dpaa2_eventdev.h\nindex f79f78a..ae8e07e 100644\n--- a/drivers/event/dpaa2/dpaa2_eventdev.h\n+++ b/drivers/event/dpaa2/dpaa2_eventdev.h\n@@ -74,6 +74,14 @@ enum {\n \tDPAA2_EVENT_DPCI_MAX_QUEUES\n };\n \n+#define RTE_EVENT_ETH_RX_ADAPTER_DPAA2_CAP \\\n+\t\t(RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT | \\\n+\t\tRTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ | \\\n+\t\tRTE_EVENT_ETH_RX_ADAPTER_CAP_OVERRIDE_FLOW_ID)\n+/**< Ethernet Rx adapter cap to return If the packet transfers from\n+ * the ethdev to eventdev with DPAA2 devices.\n+ */\n+\n struct dpaa2_dpcon_dev {\n \tTAILQ_ENTRY(dpaa2_dpcon_dev) next;\n \tstruct fsl_mc_io dpcon;\n",
    "prefixes": [
        "dpdk-dev",
        "v4",
        "4/5"
    ]
}