get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 19804,
    "url": "http://patches.dpdk.org/api/patches/19804/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1484832240-2048-36-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": "<1484832240-2048-36-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1484832240-2048-36-git-send-email-hemant.agrawal@nxp.com",
    "date": "2017-01-19T13:24:00",
    "name": "[dpdk-dev,PATCHv5,33/33] drivers/common/dpaa2: frame queue based dq storage alloc",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "79cc3c1a2140149590a1e73568e771fd1572bbb8",
    "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/1484832240-2048-36-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/19804/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/19804/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 B2420FA60;\n\tThu, 19 Jan 2017 14:26:37 +0100 (CET)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0073.outbound.protection.outlook.com [104.47.41.73])\n\tby dpdk.org (Postfix) with ESMTP id AA2EBFA45\n\tfor <dev@dpdk.org>; Thu, 19 Jan 2017 14:26:04 +0100 (CET)",
            "from BN6PR03CA0050.namprd03.prod.outlook.com (10.173.137.12) by\n\tBY2PR0301MB0742.namprd03.prod.outlook.com (10.160.63.20) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.845.12; Thu, 19 Jan 2017 13:26:02 +0000",
            "from BY2FFO11FD047.protection.gbl (2a01:111:f400:7c0c::104) by\n\tBN6PR03CA0050.outlook.office365.com (2603:10b6:404:4c::12) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13 via\n\tFrontend Transport; Thu, 19 Jan 2017 13:26:01 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBY2FFO11FD047.mail.protection.outlook.com (10.1.15.175) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8\n\tvia Frontend Transport; Thu, 19 Jan 2017 13:26:00 +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\tv0JDO4fB015351; Thu, 19 Jan 2017 06:25:58 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)\n\theader.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com;\n\tnxp.com; \n\tdkim=none (message not signed) header.d=none;",
        "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>,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "Date": "Thu, 19 Jan 2017 18:54:00 +0530",
        "Message-ID": "<1484832240-2048-36-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com>",
        "References": "<1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com>\n\t<1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131293059611118716;\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)(336005)(7916002)(39860400002)(39450400003)(39400400002)(39840400002)(39850400002)(39380400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(54906002)(85426001)(77096006)(8656002)(2351001)(68736007)(50986999)(76176999)(189998001)(8936002)(8676002)(5003940100001)(81166006)(81156014)(36756003)(53936002)(38730400001)(97736004)(48376002)(50466002)(6666003)(33646002)(626004)(2950100002)(50226002)(2906002)(6916009)(92566002)(47776003)(356003)(575784001)(86362001)(104016004)(305945005)(106466001)(105606002)(110136003)(5660300001)(4326007);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB0742;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BY2FFO11FD047;\n\t1:gCjea6iBT9pwxGzbXr/i361FQ4tzvRHmcnFoZdMoax2bZ6kSem2tHxbsNzYjUrANylkv0NoOsb7XrTDjKs5plHJ/gRrmhuy29dq87f4CaR543ZCSo3eZOL64vHwYslhPscDX9lNHLr54q/UOczYquoVFImTnbtUk69I4+81+XB2+NocFEWpytVreR7TZByJetXf4+6K2rjOP1pjHTtJY9ojUISXrJ8W3/ymTjt00kAHpKmBLCKjPJAxrWYKU5KXWm2n9NfVw9Zm5fDTGaOpJuJaR2JJ01NlmQmlQKa1DF/Vtv4hwi1Oxd6EHBFPar3UXNnpfPkH1N7B29UubhdqMyIloODPI2K+3Tnq99JIwks20b5VRo7h/n9t1Rg0/8LtlU/+BKvy6XBoYYDagMRxNhoNwkHkPgwH5rPMU1zu0OrTs6Y4JEhMKyV3opdd3siOmSd3O5iJ2KgwUqJ5sNZUAyPc5mbLyCbPpslNxNybBFP1v5xnHDudvKX9P8M/L6Oam89brthHHvoRdeWyUt/ob81Kpx8L/4+mSim3aVQ2DUGTzebVZQYZbOJN2pB+53FgvYjSgNcxgB2FYrPEU6GIieSu4jy96bex/pAOYQd1O6Tje/YSVp8jF0fOIi9IpxiAOZ8sBzlRO/qYVASW3aHSCRSOOvHCZHCneDxbZ24Sq07uO6qkRmTWu0gbc3+qmViOwTx4rl0XuboVxw/zb2dDpds7GmJxKPnNiPhkQLdPcnUM3a133sFCLKHAwin7NRwqH",
            "1; BY2PR0301MB0742;\n\t3:ZoL1z7rx4O74owZAW3HOYv/kiEwn0U8uoDlCVVq2JTB3VRQZ8O7WB32ISkx4e/8Z6J8dHnko5dNdmlDSZ+tWi9SCzhK4sKosXMNbrVwzRio7XtIU2675wt3rqofEoQG6IUGsmet58KCHPr59wdowHRUulsBgnMcpAuq6UUydTuXJP5Ca112IUtSkpH0qVOqCsKrLQRsDuNEtt/Pc/PfflmorIzpb5CQM2PdSM+AcJWhgx5Wx/KnpVtnp4BNU14e87/Ug8BxbH1XEo5NUDbuppt5CXds0cARe6jqix4ZgIk7ye1v8/+t16A68ACzQIMOWgoc8twbA2q56Wu+XrF02WjVISCeG8rSQtQ9MXVNz8tsb+B2eNROgPmZI4T5m/omX;\n\t25:x4Pv6uWoYXgTy5RLBHoPWf9m+Keh5mz751njSVa1EcnsgXY0dgZgRT7x8aELJHV1VxlZHL7ZSMa994Y3WVj7/DpyhMeJa+hiP9f1EWTNDIRfYSb0ov9McbMo3rPE43efu9EIBfYklz4eAad2ctDF93G8Na3wS6nRGsdLstg1vyh2qawAEzCcXaX2Bo0n5pmRTT2P5DR93hn9rbJBHvOzovBubIvtDHVCKL0nq2MRESW5MkV6ko8r0ukkLa3DE+gwsFIgTdYR5v/9CozI5Q7MTQiaTQB8GU51lDHiLR2JBFlNNv8SGuJoP1lWex0OWcIyGBV90RIlaaDIL0eHJJqcqmXR+SviQMaYZ7XE5+li7uGJ3abZ+xHzBf/6vlqjcBENM5861jfh+OBAJy3zyeDWnlbKku9apwKvcXVZB4NOnv0DsVFhhQyAADgPB8IA21UuRmsOPr8nFLB77bAXPJUEjA==",
            "1; BY2PR0301MB0742;\n\t31:1ZfOCfR0CsuLX9uR/KQ0rQMgiYMG844BX0KVUXEnWY7g2jhzdz6yBoPesBsZV6x7NP+5LuxYmmTrtUdZG33k1lXa88AN3S+ZA2wEYjXf+Ir0mWOehdFI5exSei9neqgSEyUuJyZOeqJAN/lcenalDwpGQpyya7akyL1c4cbaA68R6iMFTYBMI0XuAcfO4FXnFgvgkDIG7lkJXTWi+/dsUu75/qa2ybBawlOpaPgaBWaMUHXBxdjX4v0pr5oOU7TsTVbglX+NL/P1Vow0u5BL3R0KVUq/3bktnT6zSJx3XKA=",
            "1; BY2PR0301MB0742;\n\t4:WOUKTkXNRGEf9oWoW1yPKczuQb+FdbKgc3bQHvgg75iGblxpfdTPH95NaWentsiNs8sXz0bRpE+0UF37jzZCkR+NmArhxBIuphX9mkCwSFCfydhpHb/MC9EAU56TZIR7IQjIUh/5jGRDmE0IHPYkV4ax9pBOpklTCLR3JCGyX8Fd9E8oN7LpgP1kibBpXGkIyNAfvhiHwhfJeydvR3sU5jqzPWF9ES3ueihx65qh8HgOPQbytKGAC4JgpWu2O8FKXNA3EBlg2IUunoIsUBkd5hMTNXz8OgoJ0Vd8ybMoq0e6DwjItCiwtbQp6uPNJWiLW7xfg64lmFdjOCSSJKEH0ImgW8vVd3g5oKnNAGcXcp2JVmIlHgWUsaS75feD9vIjs+/UXvUPJdsaU81bD98VyQNajxzQBf2VReH75W3LzsRMYuxPEmU0TbDJ7zwpEdiJMEwNVQwrImZ2JcLDo5amQGM4dhRPN+0F60tlRQs+G07FF804IO3P91R9EFUXXjW6FGX2Tij+B3pUQjvu37RB+nLVtXRARWiI5D/Jk9VdhHu+U2dblWToqcOa6fY7ZPf/EW7ER2EbkuFoHgsiu49/crkoU3niLyXfIydS96RockN+5RNfuhyJXCYo1vcnFWhEEVBRno9Hz2KtqUK/c3RP165xhR/5zLNxVwtgkNy7GOPYwYijWsXW5C09rB87DuMQyS1tLjMzE76SGaMK6v3H4aa9DRoT9wdaKw0FeNMCF+xMlZR7fdxkRZgoj/pEqaFlcvkgbXoaB+a7AG4M3F7MLQ==",
            "=?us-ascii?Q?1; BY2PR0301MB0742;\n\t23:/gAd5ZIxSqXeVm2U3ajcm0bzmcW7iq5XIrF18bi?=\n\tRYrbYaA4rcRUVH/61EGKJiUU9q6pDEeMmESI6qnOFwAMtF36Ec6nJgETk8cCuIVeXrpSqyeMazjeYPa/oNsuAkNzjpyZ1YQmGaC+XbBA3KbsdoYJbI5YmuWk6ePYd21YzNinTh/odRHP+Nh2tTesFcAkQNKEuhi+hn4PmqZeBqh/qfS+Nl870mHBE4G50dO/kH2eompBkdNfVyXm7yU3eJfzAtBgqp9+lghvL/svoiFbjnw90/NoG4G4ALIr4RKUloJuYZEp7TN4CqlFbMAhjeZfHhoKiJCck2H3J6icE8hGl2agDym9iHED6LhcuddZ4EGFE5OoJoXms64WnvtejIVWdMWNYJP4fhqV9uSgc/xWUtPvOgbYP+2D9Mwne5DiNPjE5f0+z5i1UiO2yd65U4P5dj1aw6sm6DyfYwTomREv5nBr1XRXTpIWBAJhdl/NGGzD8J1q6I1HkpIaNaZKiEtamni9x3fqBqi0oJndIUCWbu4fjNnyu0QKLqD21Hgn0i+M2ZiZZPc4xoZYFUcoGkvFvhmSFo6lEyVUIbeCfC28UKllZEHSYMd64EyTyQKSXCgUwbCVMJKWAvbT37O98cj6IxNRC0qodQYzkf79xw3Dhdx1i2w3LmHtoYi02rdMmvvZjggVbMecSzOepoFeru+TLj6/QpAAiuJmWV7shXSCOHXRRfKPLJgNsNnJ7VQxaf0tPNyLksoAxRmYz+RH82KZxknyanYtUxu0TlZ1gddqMcrQYa3JDJnoCTrhkM/1q3Gv0mKdrnksy/O9/GI5DfBwCNp+EWDGu1jScoKnIW2UoB7bYEbxFWsXoiViPJUEkXvuQd9djTh/Z5IMOwlgZaTRkbmB1UAgg8s3foQxFSVtXt70w3CFRwYyFzVt9v0DRWjpDevKvTDjc04JuAOvoP7UFr2Wg6lJvktBghAwARdwpMR+Q7IM7QlmKh1LPxbnmbBi2AO2/ozA+n6JzaPn3OQPUgrZ9z82VTdeA07qUgkATmwKbyUkMb5L4DJMZ/hrb3tKr9hyT3K8XoMalo/W64mJm4MSiPT7MflDnfSFExDnbBT9ZtYHmUYuJvzkb1eV+pKnIpFA9BeK58oS/t4uRnHtC8csP7MrOt3C2BoRhocAkc5cYQYmcbF6dTlukBtaQAVwwyDlB/hybkMg2wae/o/eV2iThecsPdwsxr7U+YD+K3Ja6Pj46KohaVidPA8Nb0CNrOAolAhy4bnnXkpZYZ5ZFBuxZQnbW3iewFCposoCSwYJnaY005voZDys8rUYYU4HYi+VwxtAGbq0kONBp0Kp5",
            "1; BY2PR0301MB0742;\n\t6:3ftBinh0otjsuPrAm2pfuDA4s6veul8AxXErhaXmK+VBQMt3jh6P+TBeUOPjPCAzpzMxOF8NkYOwikP01zrE8BgkKXT71xOw80bUo3eAPdpjnx9o4vRsJvyaG2101aLLdKKE5n5FnsPOzdhB75YUojv9g77RTNQBSZsotC4iq80oagGiyKF68ZV5NZb3TmnnIGaUKw+O58bv5EBNmh+Lgnu9D/5C+2DOGnHRcfxbU6lWW0NiqNQNtxoKn8qu6nZexyyrcPVmwmqQTPW7Tdd1kNs5yo6QPmjNEzD9X74++YHIVPVgqhgGXLzrCqfComr47C7U2Js9o1YvLqkV1M7oklZ+QAmC2DtLq90aUjgRg/+hM9NU+egeTHrdNnG3sDB4OZbZjx8AVh5JsdQ3wPuZVbLoWirzE1fx7oTm5+fUa0TEV9o1mmwxHPJQbB9KWbK8;\n\t5:2GFvmRwhGANI5eTlTcZngR+yGa+N+ncK1VIWx5YHwEPXLAsWDooVxBtkmfUNCxkP6JbB4QKAyJGTfo1wYySZu1GmAEYF4OxsyiLaGKCF+gIG6OqhURUSTZYrvyQuWwnyKCMKlZRBikjY17yquzGdvqWg3CSKPm2LZiSFP3vMRMxaxLdIUdCQslnSTRan+/Jl;\n\t24:LpJh+fzzvofCZiyHfBnZg6sHiXok+PYA82qnY2Gs7H3Z4KzPbeI4RaAXPGbdNsvOzhFdFSSmsvOwXUtqF2vj4x55SmLHPohpbdsQlbj1nn8=",
            "1; BY2PR0301MB0742;\n\t7:XASOKVMvf1AdV17bhLvqiIr0f0Xs9SjZcAgC+biGNO8hSHYlh2kKghLNOYfs1M3by45msdnrUL5ZctvJg2twlEYEA/GhAqKL9abilAmapdVSyeZv+/uj6KP153Xlc7eNn0z8hyIMBdJYloXWV2+NsO38cohX85IDdOyrVcRGAXErO0BkIV0OB3OETynSwYHkbM1q+eck6mHM3pDNmVvXJ64ImErG52L6Gr8zDnXeJ9InzDYv2WOuQ5al25EbADDfwE5vBHndNd4oUT8ca/Bgcyq3F3fNvYHYmbMrl6YZTJdBoK0sS5egO9zbkQC6p+gzw0yc2ve1WnQpJoJ8b7Y1QK6odSThHPPmxk+4Fwj6K7qNPm2eXNUNm0m9oteHBksxN8YhO66JFFlGdH0xAVsUy+DgYrUVuloOQCUTE5ycbSzKEyfBrexQ4EEu5kAkK1DBPXx47s4E4Da9BSCx+5t9ig=="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "e29f8723-ded8-47da-eb21-08d4406eb60c",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:BY2PR0301MB0742; ",
        "X-Microsoft-Antispam-PRVS": "<BY2PR0301MB0742D4801FBC04982A7EF678897E0@BY2PR0301MB0742.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)(13023025)(13017025)(13015025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123563025)(20161123565025);\n\tSRVR:BY2PR0301MB0742; BCL:0; PCL:0; RULEID:(400006);\n\tSRVR:BY2PR0301MB0742; ",
        "X-Forefront-PRVS": "0192E812EC",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Jan 2017 13:26:00.9090\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": "BY2PR0301MB0742",
        "Subject": "[dpdk-dev] [PATCHv5 33/33] drivers/common/dpaa2: frame queue based\n\tdq storage alloc",
        "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": "This patch adds generic functions for allowing dq storage\nfor the frame queues.\nAs the frame queues are common resource for different drivers\nthis is helpful.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n drivers/bus/fslmc/portal/dpaa2_hw_dpio.c       | 32 ++++++++++++++++++++++++++\n drivers/bus/fslmc/portal/dpaa2_hw_dpio.h       |  7 ++++++\n drivers/bus/fslmc/rte_pmd_fslmcbus_version.map |  2 ++\n drivers/net/dpaa2/dpaa2_ethdev.c               |  8 +++----\n 4 files changed, 45 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c\nindex d7de0d5..55b5ad7 100644\n--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c\n+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.c\n@@ -407,3 +407,35 @@ static inline struct dpaa2_dpio_dev *dpaa2_get_qbman_swp(void)\n \n \treturn 0;\n }\n+\n+void\n+dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage)\n+{\n+\tint i = 0;\n+\n+\tfor (i = 0; i < NUM_DQS_PER_QUEUE; i++) {\n+\t\tif (q_storage->dq_storage[i])\n+\t\t\trte_free(q_storage->dq_storage[i]);\n+\t}\n+}\n+\n+int\n+dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage)\n+{\n+\tint i = 0;\n+\n+\tfor (i = 0; i < NUM_DQS_PER_QUEUE; i++) {\n+\t\tq_storage->dq_storage[i] = rte_malloc(NULL,\n+\t\t\tDPAA2_DQRR_RING_SIZE * sizeof(struct qbman_result),\n+\t\t\tRTE_CACHE_LINE_SIZE);\n+\t\tif (!q_storage->dq_storage[i])\n+\t\t\tgoto fail;\n+\t}\n+\treturn 0;\n+fail:\n+\ti -= 1;\n+\twhile (i >= 0)\n+\t\trte_free(q_storage->dq_storage[i]);\n+\n+\treturn -1;\n+}\ndiff --git a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h\nindex b1a1b8f..f2e1168 100644\n--- a/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h\n+++ b/drivers/bus/fslmc/portal/dpaa2_hw_dpio.h\n@@ -59,5 +59,12 @@ struct dpaa2_io_portal_t {\n /* Affine additional DPIO portal to current crypto processing thread */\n int dpaa2_affine_qbman_swp_sec(void);\n \n+/* allocate memory for FQ - dq storage */\n+int\n+dpaa2_alloc_dq_storage(struct queue_storage_info_t *q_storage);\n+\n+/* free memory for FQ- dq storage */\n+void\n+dpaa2_free_dq_storage(struct queue_storage_info_t *q_storage);\n \n #endif /* _DPAA2_HW_DPIO_H_ */\ndiff --git a/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map b/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map\nindex 17befc7..bccdc75 100644\n--- a/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map\n+++ b/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map\n@@ -4,7 +4,9 @@ DPDK_17.02 {\n         dpaa2_affine_qbman_swp;\n         dpaa2_affine_qbman_swp_sec;\n         dpaa2_alloc_dpbp_dev;\n+        dpaa2_alloc_dq_storage;\n         dpaa2_free_dpbp_dev;\n+        dpaa2_free_dq_storage;\n         dpbp_disable;\n         dpbp_enable;\n         dpbp_get_attributes;\ndiff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c\nindex 183b5b1..695ee61 100644\n--- a/drivers/net/dpaa2/dpaa2_ethdev.c\n+++ b/drivers/net/dpaa2/dpaa2_ethdev.c\n@@ -49,6 +49,7 @@\n #include <fslmc_vfio.h>\n #include <dpaa2_hw_pvt.h>\n #include <dpaa2_hw_mempool.h>\n+#include <dpaa2_hw_dpio.h>\n \n #include \"dpaa2_ethdev.h\"\n \n@@ -170,9 +171,8 @@\n \n \t\tmemset(dpaa2_q->q_storage, 0,\n \t\t       sizeof(struct queue_storage_info_t));\n-\t\tdpaa2_q->q_storage->dq_storage[0] = rte_malloc(NULL,\n-\t\t\tDPAA2_DQRR_RING_SIZE * sizeof(struct qbman_result),\n-\t\t\tRTE_CACHE_LINE_SIZE);\n+\t\tif (dpaa2_alloc_dq_storage(dpaa2_q->q_storage))\n+\t\t\tgoto fail;\n \t}\n \n \tfor (i = 0; i < priv->nb_tx_queues; i++) {\n@@ -196,7 +196,7 @@\n \tmc_q = priv->rx_vq[0];\n \twhile (i >= 0) {\n \t\tdpaa2_q = (struct dpaa2_queue *)priv->rx_vq[i];\n-\t\trte_free(dpaa2_q->q_storage->dq_storage[0]);\n+\t\tdpaa2_free_dq_storage(dpaa2_q->q_storage);\n \t\trte_free(dpaa2_q->q_storage);\n \t\tpriv->rx_vq[i--] = NULL;\n \t}\n",
    "prefixes": [
        "dpdk-dev",
        "PATCHv5",
        "33/33"
    ]
}