get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 21197,
    "url": "http://patches.dpdk.org/api/patches/21197/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1488545223-25739-19-git-send-email-hemant.agrawal@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": "<1488545223-25739-19-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1488545223-25739-19-git-send-email-hemant.agrawal@nxp.com",
    "date": "2017-03-03T12:46:35",
    "name": "[dpdk-dev,PATCHv8,18/46] bus/fslmc: introduce support for hw mempool object",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "dd95ecbcbf94d655e52a4f9f7b566e1b66d03d1a",
    "submitter": {
        "id": 477,
        "url": "http://patches.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.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/1488545223-25739-19-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/21197/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/21197/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id C178DFA51;\n\tFri,  3 Mar 2017 08:14:39 +0100 (CET)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0085.outbound.protection.outlook.com [104.47.41.85])\n\tby dpdk.org (Postfix) with ESMTP id B8BC3BD2C\n\tfor <dev@dpdk.org>; Fri,  3 Mar 2017 08:14:05 +0100 (CET)",
            "from DM5PR03CA0049.namprd03.prod.outlook.com (10.174.189.166) by\n\tBN6PR03MB2945.namprd03.prod.outlook.com (10.175.126.11) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.947.12; Fri, 3 Mar 2017 07:14:04 +0000",
            "from BY2FFO11FD045.protection.gbl (2a01:111:f400:7c0c::122) by\n\tDM5PR03CA0049.outlook.office365.com (2603:10b6:4:3b::38) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.947.3 via Frontend Transport; Fri, 3 Mar 2017 07:14:04 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBY2FFO11FD045.mail.protection.outlook.com (10.1.15.177) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.933.11\n\tvia Frontend Transport; Fri, 3 Mar 2017 07:14:04 +0000",
            "from bf-netperf1.idc ([10.232.134.28])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv237D50L005035; Fri, 3 Mar 2017 00:14:00 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; caviumnetworks.com;\n\tdkim=none (message not signed)\n\theader.d=none; caviumnetworks.com;\n\tdmarc=fail action=none header.from=nxp.com; ",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "From": "Hemant Agrawal <hemant.agrawal@nxp.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<thomas.monjalon@6wind.com>, <bruce.richardson@intel.com>,\n\t<shreyansh.jain@nxp.com>, <john.mcnamara@intel.com>,\n\t<ferruh.yigit@intel.com>, <jerin.jacob@caviumnetworks.com>",
        "Date": "Fri, 3 Mar 2017 18:16:35 +0530",
        "Message-ID": "<1488545223-25739-19-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1488545223-25739-1-git-send-email-hemant.agrawal@nxp.com>",
        "References": "<1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com>\n\t<1488545223-25739-1-git-send-email-hemant.agrawal@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131329988443660793;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(7916002)(336005)(39410400002)(39400400002)(39850400002)(39450400003)(39840400002)(39860400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(33646002)(38730400002)(8656002)(110136004)(4326008)(626004)(36756003)(92566002)(53936002)(5660300001)(305945005)(6666003)(2950100002)(6916009)(189998001)(356003)(54906002)(2906002)(48376002)(50466002)(2351001)(50226002)(81166006)(8676002)(104016004)(8936002)(47776003)(5003940100001)(76176999)(86362001)(50986999)(106466001)(105606002)(85426001)(77096006);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2945;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent;\n\tLANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BY2FFO11FD045;\n\t1:yiJ9jqar1sQXJoAKsM5E5qAOFGA/z+vtN2qzNNnibRqwzLZKZMyj5ARfvzXzA5Xgvry5TsnHVPbRYu6TeqqTf5SebrLAbSySFx3ZN/halST2JZjT3bWDTaKLpjiPqqrjHGp3VHVn5Ua8l3bNoWtEf76jvBMzSVtHq3Yl0DZB4VMBpre7jFujyhAhL1QagiL3poWg1ZN8iZiJks053pPTmarwtYkAdC4tnlIf9EJhZ/48BjMndI+nBpB1kkh31caQqWsvCzA/E7sBnaBRO9H33HY1pa4x9WWaRaqh9qbKl6INWypibh1rvPrW4GM9niGU8ZqYRq/b/FvQaND7r7CTqqBjvae1+ldB8C7ZY+BmTpuzCyioyb+CTjmmOhFtPCZnsKuX5AFSNEQa78GkCcQFMzpEAIzouvAr24X/jbs4rti5XT/ixZDDUfu+Esr2f9cXzMBJligr/Ic5jewA+PE4G0ggAQeizbRrWHuvkUSsKlrpOCg60cAj2yKXpqfgBhabGGknd1KAImnescuDU07uNxPWmz4u18wCxrRtVqBRlKqCGovStPWvtZFWiuz2D0+JFf6zqJ3Q16rNz5gHQ9As6e2ngV2GccJJVFNfqxJcU0sB9/70sPwG1cQZeKEthwbQeVOgSrIZeA1A79N53HteWg==",
            "1; BN6PR03MB2945;\n\t3:R/G3ThVgTfsH6k+O7cLhBXobo0Ly8grHSq9SyqBtTwxwH64Fv1Gxl7f33yustRy5NBih/dRfw+k4GSpXznrDHkAasIdaZNTcGXRfYscyrSUwbJdiMxc2r/y/NXteB8Rek25jqYcgsnz2IwD3juJWUE85kF2Own8Y5kxSposfy18BS5Q/UiMtw2VKm1RDiuwclwdyVpXBM4smoGjBE9VG7M+GUh+goOTD3/Wh1gnuIpRPZM5M4vkJz1d33+38Yt8CmJVAJv+QVzSkxt0P+RDqE6tC7amABuJq2R6SGUeP3RGpPWNfnVQoNtsvOGIMPyHb3n/LRQQxGXKwc18gdQcOEY6vSzNYsSkxVDUAbaBuUvJDBGfci2mt4QJ3SdjKyx/q;\n\t25:L43Y2uQ93APkWUARnNmiwKQzVCr/ue0TEBDveKoRJIPc1+aQrb7xWcoMpwzNloioyoD5elocoVTIPEHs4Fm9nZ9SgsBL6cAJ0oBkmxIoivjEtbZPh5NWab2dVhq2k3KhFxQz3Z6OJFTAhHdZiwJdX4HyrWmZteOStgGWAc3PDBOI5WiY3RIgLSX/mn9ZjJ3/ENv+LFZt0lAl3z0+KxIYEH7M1N/YR69KQ1ybX2hd7+6rJ9kT4nElusdyedhbBKfbdetoI8dTKt+mAY1+gwiu+Ol0joDrlAca8C7/lf3cTwrWolUeKd93wa4DWVq4+Amc8S29J7plRFGc1TCaJreitj0grhh6JGpRRNVYlyxQvxH3Hn2CEcdHoLtA2e1jv9dPN+tomS0zxERx5tOsA+Rqj3LneRLmr4V+M93GchW8rt6wkImVUuoDLFfNt7G9nk/EC7KusccFbL1V9KtU6ktGsQ==",
            "1; BN6PR03MB2945;\n\t31:LJTiVQ1ENIvrDUdH3ntWewsBuna07sJQAo2EPxmYIV3nhKV7PA+UyWt0dQcasuTAJa6SPc3oGfisUkcyvxOY9FupR7y2deQ/vWMEx4nItSZLJVsZ3/kr7uYM7widSZAWTd1WIrkFdMuHIrN2hptoGxcPRix1lkeb/ixvOD6OG9fYNkJ4n2lhVeib0BUBOwVz9v0shwy6U1SDIt/PfF1DlJOuL7Hti7tTMTfvSR5sII2rpp//8k8dRfjonapJzRObixS4alDYG85XpGw+ZJ5b7A==",
            "1; BN6PR03MB2945;\n\t4:zEh/I621fArnxxKv1JjKOYh9ihfuPgrsx0aVYMgPd/Q4Coe0uht4mKaK4oywnyiVLNoKcj8KzK6lcpEzFsdRlHRcpU4UcoHEEaYYviD0YcOeh2a/slPmPw/eRIYViN+mxLjjnrzzkFZphrjfT4pTzFdoiPzYYXmAVicdLvOg2YpjR3G7cn14HctFpUmuBhVoHs3ma4wPOf5SKz3p5/LW3qNa/g9pd25pASO2XhxBgQr9M9iQlQJsifLdqzIyXf8bt+l7+qgGFgRjfnoh0WgqpGRfzndTqsMHOqqLnwEELhKBU4EjZa/SwwiY5m+wc6lXoXKc62MF96d5CWA+RXnsckOIt9+iy8oY+UWG6vCusLr/8iNzHK5dTSM/QraDVInjTPK1aIiPRl4pvA4nq32jFCgPC42p4eZQwlfIxsL1hlSjPeImkzKoMuo55m0hoeOSFiFyWSX8YXZDmwqVwqIGSrJdXoWSJ6hl9f9g3aCCGDid1Ce1lUghIsoxsyeLhT2jiFAi9o1K6yUIrMOFwZM/lSGd1pDJmBSvNFAwMXSdpiey8z40SvrW3FmcA54UyO4qevV7UC8NH2L+26VFB+ydry3XXKfCy1Vxg/w4NZIxrOUDHxJJRYaxik91afwhEEMvmby2aTs/pQprYuqnJaKQLFiGLf3ICd02maPVji3QFcHbaq7o/4disHqB3/oAu3QciHyQ4NF64ftZybOn0HsZTdEXwPYTJkdr/eAJDrzdruOPBj/oaajbtVzpkEDs4IekFi2NpBeQ6/nSqd8G0t1Xeg==",
            "=?us-ascii?Q?1; BN6PR03MB2945;\n\t23:VPrZWP7SNNiQ7VME2GtFr7CqdkjRxs/MpGUvCKELG?=\n\toRhdLtYmTk6T/EgJY/Vu4DkDuWwAMnRf3I762bZFl/GDKpoglD+5crfM/cKoQSHNE2g78rQTeEpA9yjr5LwTEO0OkhgZjGZyZoX4M5kidzanLgNfTZhVldaVrcbnQiycK6h+cMD5oXd/7KG6HBATaj91sELxBe7B5nREuF9QnarOHhT7RtcFeiwX+WYS4Dm0bPJngXPDRO1BIvKjuaJz0Lndpc3Sti0I6JwAGq8g0MvO+9CKhs3pX89BU16OreUNx+dQ9xDQ7xiXh5B6oYM1oIqHKRCeQzgbGAvlIcwMwDMpDO6FjZzhc9EK3qGAJ5U+8wMLuvuqmEp96BMuwlYDkMxHheBuu4uXG0Iy8MhHgwzj//2e++4BeREDsqlyqk6ZxNbhxTQ9VciPw9Z3NHyT5X+8tn3jOCUBaYyciU405Of2NJZAOHsjrD8E6sTbw74N0vJ7D1UHUf/RR33Z9j1pj439mFMAMeeqXG21hmk92eeJeoQFnjPYBDTM7tN3G9Sex6LENHQs7rY1qgUsTlMd7hC4kwDSc6+siPBt+/DHNQOzWxyKgqb5rsR8hW0/2jScMhMS6blT3V4s+5WbUKNsKzaVZvlYkXilDM1lbtpmd4HZwUz4iLSXUmfaIUONyoEm3p/5pdxcg67GFutRzmdMbog5Q2HZGGc2w+D6L8H6L/1L+cIxHuA/wJhz2M2lp3edn07zOXjz+0JHrTv3JDE3GXRKTd31eaT3PtvFaRE7IpvmO90UZlHfgV+er6jCBJjJD+UbJCMNgyDRku3vVfWByaS3W3QJ32rs3sSt7vOAU+v9MNdUnPDxP3vnIAGLDmcPI+wMWbaKFofN7I6+Sjuqat1DqCefT+MFNYcetiFA5wUOZxVFY8pZZhVBjxu8INKWVC4H/onSX7qcwkUY+0mdl7KjFMOcIdFXNrKujjrSTlBHa0KmId9PZjoL/Smt8VRI/VnO99NE9ElZGiVgDjvAGWFhhQPvez/EoZNnvR8Nqig82Eg1biXQln8afsR3vmaAHU/uAEltx9K590VC02QjZBgOFMrEDSg/Wg2CP+Yyefkpws56JDXhyCIYf6754bRsJbaM2bX4FVjxAgNKLne5D/q7q+E+iFP5Nv7oQgScrrao+KDYtrEvO2VEmNsyQAR+IT9e2GwYHmSSmpXcU0E3wc/vMpFcUhCP8tNI3L1hVyE7jE5ndyO/48wx6ARvgOCxLwghtaz0OnxMynlGuxG2p2+",
            "1; BN6PR03MB2945;\n\t6:p8U+cnj4gcfvafUm9TCJedzrEY+xXgTFMC+GhNZ4GxI+leQayipB5opPx6R1xIPOrsFXqCqtgOOzXdImGdGNbdqqOflld2WOYBszdkbEtxD5TUBK5YuDgak7lx40/wZR+AYao42VhLYKz8CfERS2wAY9sFxlSfE2+kxBp8SkM8rM3YDzbpgtxVI5Q7JjFOsMUB9FSu5oo+4Ebhv8RwTFYahG5rVo668XhtmoBxLRCgumhPbX4s1Bo4EExKkglNV0usawFWyi/4GASIcZ2GNprkLJj35Ds6Ld5Kd5LnwD08v8G8IuZq+g2Kk5Dr2cB2A3PAk8PYUQttlGkaE0ipmlVAd0ALpqlVfbEAm26RAPY1Jae6WdHvhQjKKqBvKQo73vJgMOOCOrWxrAGAktdFbCulKoksLyRd43uwBqBtjMWFQ=;\n\t5:tHYWmnd/2Idi4I+N2lvVYoo27fcaJhQWGucavXM1chzXVPn+DuYHZNV6brY+HK15aSoE6wL7OxbCAueej4SeDMdjlDuRcnr/NJsPijkMZHrYu11p7IvGuwO7X8w3XS14fMrpUcm5Imde6xJzlm1svaNLbFfn8P9iw8abcxnM5h4aWYYYkg8FdYw3XbJzS8lO;\n\t24:0iEGbCc40TGVWk/zCjxoTGj733aAKsSfy9s+IlIQbZl2qDlQiSrYYXDDoafDJ3vK5sef9tSBk4vU1L2hOX4IJKqSkWIjB3Ln1uwS83u1QCg=",
            "1; BN6PR03MB2945;\n\t7:IXm6lUm2NuQZvPgq2v1QkTLfzuGErnM/1pGAwiXfNvOthCMr57SeXkyYyejOjka/kKld5yYCxNy+KLNVx2HiPIRjV3Fg7Zm6oHbCdkrbkZHK3yCrwqTIwy/tol4Fgm6e92f7w/k8Nccu+8FN/qLeJ+ZUB3I4yNRPYqvbNgtK4U52MdfhPchQs5W289+mjlZsbMYUZookaAadzMeGFfoJg/HPbCfsCF3fONTIgo5xztr/cPRvKz8YBV3AhcHE0vTD2JAr+0tQUZ1qhvIvI33IlqPKoc4bb/L3vk/3ANdM+Vl1TxQ9XfqfnDy89J7xJjZ78K8+SNvQ4E1uh1LXE9i7NQ=="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "6f358c58-76d7-43f1-f5a2-08d46204dfeb",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:BN6PR03MB2945; ",
        "X-Microsoft-Antispam-PRVS": "<BN6PR03MB29455A00EDA4E13E4FF819E0892B0@BN6PR03MB2945.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197)(275809806118684); ",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6095060)(601004)(2401047)(8121501046)(5005006)(13017025)(13015025)(13024025)(13018025)(13023025)(10201501046)(3002001)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123565025)(20161123563025);\n\tSRVR:BN6PR03MB2945; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2945;",
        "X-Forefront-PRVS": "0235CBE7D0",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Mar 2017 07:14:04.0384\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.168.50]; \n\tHelo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN6PR03MB2945",
        "Subject": "[dpdk-dev] [PATCHv8 18/46] bus/fslmc: introduce support for hw\n\tmempool object",
        "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": "Each mempool instance is represented by a DPBP object\nfrom the FSL-MC bus.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n drivers/bus/fslmc/Makefile                  |   1 +\n drivers/bus/fslmc/fslmc_vfio.c              |   9 +-\n drivers/bus/fslmc/fslmc_vfio.h              |   2 +\n drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c    | 137 ++++++++++++++++++++++++++++\n drivers/bus/fslmc/portal/dpaa2_hw_pvt.h     |  20 ++++\n drivers/bus/fslmc/rte_bus_fslmc_version.map |   2 +\n 6 files changed, 170 insertions(+), 1 deletion(-)\n create mode 100644 drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c",
    "diff": "diff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile\nindex 10740b5..04751a5 100644\n--- a/drivers/bus/fslmc/Makefile\n+++ b/drivers/bus/fslmc/Makefile\n@@ -69,6 +69,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \\\n         mc/mc_sys.c\n \n SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpio.c\n+SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpbp.c\n SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_vfio.c\n SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_bus.c\n \ndiff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c\nindex 2d7bcd9..fc017fc 100644\n--- a/drivers/bus/fslmc/fslmc_vfio.c\n+++ b/drivers/bus/fslmc/fslmc_vfio.c\n@@ -270,7 +270,7 @@ int fslmc_vfio_process_group(void)\n \tchar path[PATH_MAX];\n \tint64_t v_addr;\n \tint ndev_count;\n-\tint dpio_count = 0;\n+\tint dpio_count = 0, dpbp_count = 0;\n \tstruct fslmc_vfio_group *group = &vfio_groups[0];\n \tstatic int process_once;\n \n@@ -420,6 +420,11 @@ int fslmc_vfio_process_group(void)\n \t\t\tif (!ret)\n \t\t\t\tdpio_count++;\n \t\t}\n+\t\tif (!strcmp(object_type, \"dpbp\")) {\n+\t\t\tret = dpaa2_create_dpbp_device(object_id);\n+\t\t\tif (!ret)\n+\t\t\t\tdpbp_count++;\n+\t\t}\n \t}\n \tclosedir(d);\n \n@@ -427,6 +432,8 @@ int fslmc_vfio_process_group(void)\n \tif (ret)\n \t\tFSLMC_VFIO_LOG(DEBUG, \"Error in affining qbman swp %d\", ret);\n \n+\tFSLMC_VFIO_LOG(DEBUG, \"DPAA2: Added dpbp_count = %d dpio_count=%d\\n\",\n+\t\t      dpbp_count, dpio_count);\n \treturn 0;\n \n FAILURE:\ndiff --git a/drivers/bus/fslmc/fslmc_vfio.h b/drivers/bus/fslmc/fslmc_vfio.h\nindex 39994dd..80c6869 100644\n--- a/drivers/bus/fslmc/fslmc_vfio.h\n+++ b/drivers/bus/fslmc/fslmc_vfio.h\n@@ -76,4 +76,6 @@ int dpaa2_create_dpio_device(struct fslmc_vfio_device *vdev,\n \t\t\t     struct vfio_device_info *obj_info,\n \t\t\t     int object_id);\n \n+int dpaa2_create_dpbp_device(int dpbp_id);\n+\n #endif /* _FSLMC_VFIO_H_ */\ndiff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c\nnew file mode 100644\nindex 0000000..894f632\n--- /dev/null\n+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpbp.c\n@@ -0,0 +1,137 @@\n+/*-\n+ *   BSD LICENSE\n+ *\n+ *   Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.\n+ *   Copyright (c) 2016 NXP. All rights reserved.\n+ *\n+ *   Redistribution and use in source and binary forms, with or without\n+ *   modification, are permitted provided that the following conditions\n+ *   are met:\n+ *\n+ *     * Redistributions of source code must retain the above copyright\n+ *       notice, this list of conditions and the following disclaimer.\n+ *     * Redistributions in binary form must reproduce the above copyright\n+ *       notice, this list of conditions and the following disclaimer in\n+ *       the documentation and/or other materials provided with the\n+ *       distribution.\n+ *     * Neither the name of Freescale Semiconductor, Inc nor the names of its\n+ *       contributors may be used to endorse or promote products derived\n+ *       from this software without specific prior written permission.\n+ *\n+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ *   \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#include <unistd.h>\n+#include <stdio.h>\n+#include <sys/types.h>\n+#include <string.h>\n+#include <stdlib.h>\n+#include <fcntl.h>\n+#include <errno.h>\n+\n+#include <rte_malloc.h>\n+#include <rte_memcpy.h>\n+#include <rte_string_fns.h>\n+#include <rte_cycles.h>\n+#include <rte_kvargs.h>\n+#include <rte_dev.h>\n+#include <rte_ethdev.h>\n+\n+#include <fslmc_logs.h>\n+#include <fslmc_vfio.h>\n+#include <mc/fsl_dpbp.h>\n+#include \"portal/dpaa2_hw_pvt.h\"\n+#include \"portal/dpaa2_hw_dpio.h\"\n+\n+TAILQ_HEAD(dpbp_device_list, dpaa2_dpbp_dev);\n+static struct dpbp_device_list *dpbp_dev_list; /*!< DPBP device list */\n+\n+int\n+dpaa2_create_dpbp_device(\n+\t\tint dpbp_id)\n+{\n+\tstruct dpaa2_dpbp_dev *dpbp_node;\n+\tint ret;\n+\n+\tif (!dpbp_dev_list) {\n+\t\tdpbp_dev_list = malloc(sizeof(struct dpbp_device_list));\n+\t\tif (!dpbp_dev_list) {\n+\t\t\tPMD_INIT_LOG(ERR, \"Memory alloc failed in DPBP list\\n\");\n+\t\t\treturn -1;\n+\t\t}\n+\t\t/* Initialize the DPBP List */\n+\t\tTAILQ_INIT(dpbp_dev_list);\n+\t}\n+\n+\t/* Allocate DPAA2 dpbp handle */\n+\tdpbp_node = (struct dpaa2_dpbp_dev *)\n+\t\t\tmalloc(sizeof(struct dpaa2_dpbp_dev));\n+\tif (!dpbp_node) {\n+\t\tPMD_INIT_LOG(ERR, \"Memory allocation failed for DPBP Device\");\n+\t\treturn -1;\n+\t}\n+\n+\t/* Open the dpbp object */\n+\tdpbp_node->dpbp.regs = rte_mcp_ptr_list[MC_PORTAL_INDEX];\n+\tret = dpbp_open(&dpbp_node->dpbp,\n+\t\t\tCMD_PRI_LOW, dpbp_id, &dpbp_node->token);\n+\tif (ret) {\n+\t\tPMD_INIT_LOG(ERR, \"Resource alloc failure with err code: %d\",\n+\t\t\t     ret);\n+\t\tfree(dpbp_node);\n+\t\treturn -1;\n+\t}\n+\n+\t/* Clean the device first */\n+\tret = dpbp_reset(&dpbp_node->dpbp, CMD_PRI_LOW, dpbp_node->token);\n+\tif (ret) {\n+\t\tPMD_INIT_LOG(ERR, \"Failure cleaning dpbp device with\"\n+\t\t\t\t\t\" error code %d\\n\", ret);\n+\t\treturn -1;\n+\t}\n+\n+\tdpbp_node->dpbp_id = dpbp_id;\n+\trte_atomic16_init(&dpbp_node->in_use);\n+\n+\tTAILQ_INSERT_HEAD(dpbp_dev_list, dpbp_node, next);\n+\n+\tPMD_INIT_LOG(DEBUG, \"Buffer pool resource initialized %d\", dpbp_id);\n+\n+\treturn 0;\n+}\n+\n+struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void)\n+{\n+\tstruct dpaa2_dpbp_dev *dpbp_dev = NULL;\n+\n+\t/* Get DPBP dev handle from list using index */\n+\tTAILQ_FOREACH(dpbp_dev, dpbp_dev_list, next) {\n+\t\tif (dpbp_dev && rte_atomic16_test_and_set(&dpbp_dev->in_use))\n+\t\t\tbreak;\n+\t}\n+\n+\treturn dpbp_dev;\n+}\n+\n+void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp)\n+{\n+\tstruct dpaa2_dpbp_dev *dpbp_dev = NULL;\n+\n+\t/* Match DPBP handle and mark it free */\n+\tTAILQ_FOREACH(dpbp_dev, dpbp_dev_list, next) {\n+\t\tif (dpbp_dev == dpbp) {\n+\t\t\trte_atomic16_dec(&dpbp_dev->in_use);\n+\t\t\treturn;\n+\t\t}\n+\t}\n+}\ndiff --git a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h\nindex 6b44314..ad2847f 100644\n--- a/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h\n+++ b/drivers/bus/fslmc/portal/dpaa2_hw_pvt.h\n@@ -41,6 +41,13 @@\n #define MC_PORTAL_INDEX\t\t0\n #define NUM_DPIO_REGIONS\t2\n \n+#define MEMPOOL_F_HW_PKT_POOL 0x8000 /**< mpool flag to check offloaded pool */\n+\n+/* Maximum release/acquire from QBMAN */\n+#define DPAA2_MBUF_MAX_ACQ_REL\t7\n+\n+#define MAX_BPID 256\n+\n struct dpaa2_dpio_dev {\n \tTAILQ_ENTRY(dpaa2_dpio_dev) next;\n \t\t/**< Pointer to Next device instance */\n@@ -63,6 +70,19 @@ struct dpaa2_dpio_dev {\n \tint32_t hw_id; /**< An unique ID of this DPIO device instance */\n };\n \n+struct dpaa2_dpbp_dev {\n+\tTAILQ_ENTRY(dpaa2_dpbp_dev) next;\n+\t\t/**< Pointer to Next device instance */\n+\tstruct fsl_mc_io dpbp;  /** handle to DPBP portal object */\n+\tuint16_t token;\n+\trte_atomic16_t in_use;\n+\tuint32_t dpbp_id; /*HW ID for DPBP object */\n+};\n+\n /*! Global MCP list */\n extern void *(*rte_mcp_ptr_list);\n+\n+struct dpaa2_dpbp_dev *dpaa2_alloc_dpbp_dev(void);\n+void dpaa2_free_dpbp_dev(struct dpaa2_dpbp_dev *dpbp);\n+\n #endif\ndiff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map\nindex 2110b71..66840b1 100644\n--- a/drivers/bus/fslmc/rte_bus_fslmc_version.map\n+++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map\n@@ -2,6 +2,8 @@ DPDK_17.05 {\n \tglobal:\n \n \tdpaa2_affine_qbman_swp;\n+\tdpaa2_alloc_dpbp_dev;\n+\tdpaa2_free_dpbp_dev;\n \tdpbp_disable;\n \tdpbp_enable;\n \tdpbp_get_attributes;\n",
    "prefixes": [
        "dpdk-dev",
        "PATCHv8",
        "18/46"
    ]
}