get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 19593,
    "url": "http://patchwork.dpdk.org/api/patches/19593/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1484679174-4174-34-git-send-email-hemant.agrawal@nxp.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1484679174-4174-34-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1484679174-4174-34-git-send-email-hemant.agrawal@nxp.com",
    "date": "2017-01-17T18:52:54",
    "name": "[dpdk-dev,PATCHv4,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://patchwork.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patchwork.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1484679174-4174-34-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [],
    "comments": "http://patchwork.dpdk.org/api/patches/19593/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/19593/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 4DF97FA68;\n\tTue, 17 Jan 2017 14:21:06 +0100 (CET)",
            "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0042.outbound.protection.outlook.com [104.47.36.42])\n\tby dpdk.org (Postfix) with ESMTP id 9C6B4FACB\n\tfor <dev@dpdk.org>; Tue, 17 Jan 2017 14:21:03 +0100 (CET)",
            "from BN3PR0301CA0048.namprd03.prod.outlook.com (10.160.152.144) by\n\tDM5PR03MB2475.namprd03.prod.outlook.com (10.168.233.21) 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; Tue, 17 Jan 2017 13:21:01 +0000",
            "from BL2FFO11FD029.protection.gbl (2a01:111:f400:7c09::129) by\n\tBN3PR0301CA0048.outlook.office365.com (2a01:111:e400:401e::16) 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; Tue, 17 Jan 2017 13:21:00 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBL2FFO11FD029.mail.protection.outlook.com (10.173.160.69) 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; Tue, 17 Jan 2017 13:21: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\tv0HDJ8me021741; Tue, 17 Jan 2017 06:20:57 -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": "Wed, 18 Jan 2017 00:22:54 +0530",
        "Message-ID": "<1484679174-4174-34-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com>",
        "References": "<1482988612-6638-1-git-send-email-shreyansh.jain@nxp.com>\n\t<1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131291328604459119;\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)(39850400002)(39860400002)(39450400003)(39400400002)(39840400002)(39410400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(36756003)(38730400001)(48376002)(86362001)(6916009)(54906002)(50466002)(85426001)(305945005)(4326007)(104016004)(189998001)(76176999)(50986999)(97736004)(5660300001)(81166006)(575784001)(2950100002)(8936002)(6666003)(68736007)(50226002)(5003940100001)(47776003)(2906002)(81156014)(92566002)(105606002)(77096006)(8656002)(106466001)(626004)(110136003)(356003)(8676002)(2351001)(30001)(33646002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB2475;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BL2FFO11FD029;\n\t1:PVvZH4Xe16oApugRMf0L7Zfz3HUcGZjPlJ50Qc88BAlIO1i2fFiKorJz3oLMgg7115YdP4Xmij/YEvGp1jRXKHSt7T4aI/wXtcszr+GVjZkdnApZDTQMjPBWXzugEaTnm6JxKe+vOYaxVN5u2ACdtq8DWC9tzglXYn4iPU4BojzUG9m2S+Wxu8/KFS+hJcoQaURrYJ8nNibk7AhKUGl8G7X8wW+VqtyaDFXgkECAmwGOO5BMjuh73RNdsk+c1St7p5jSjknf9R6VPV1sDiWe+pgrR2H/5my0bi1BcDAydN5CgsycUfi+ZfWB9jGcnImE+C/UQcUn7lKoQ1DribTaWGTv5lMj/YC4104l1yTqoX4IgUDI72/TZdt+U+udVFh4wBSbanWp0h9A7vMPuoYcLWyewfsMTbmoW0yjRHc1Y6SRhMM4IXWr5WwVo6hIFN1PS6AAis/p+OoP4X3oB0igWOqhqEEucfctoUQrz7j5QvmhPQh/a7KM70hIA8SBi3POVof35Re1ITMpjQQdQwuw5IhRjfMzhrDIXjv6ntAHCGHxKiAnQxp5+gdGF75Vk96wkD5WJEg8eSCr/kgQmCRbYXXGYtQiT0PEd+1t6b22mLfbqdsLSD40H11LtX9FFgQe6+i9cHrv9AUWOCoX7gV0Iuec/WHIuBq632jbe2dauXVDYLLupXHcmYbBh/lOPAJS8q3HmJoXpnpi5WX3f/UhoDyWSouEltR58tInrBX1lPHv//oObcLSGIu3SL4MP9e0",
            "1; DM5PR03MB2475;\n\t3:+9qngzaNYlTFfd+Ng7ZYO49KSpVRi+jQrb4zgzKpRhwMXJGVy/7r5cmaPjWZ5cjE8IkFJuDPnoqSiofx8uTdaieN/qri77gXoAY2EGfGuU8GUEZhkndzyXp5ph9rS0eI9tTU2sxhaO5qd25f+XE/OcEqrZ/043BY53qzWJoUGLfKlZgmIneR3HZKUC1HaAzfhyo0+EYkw1wb/utofYJIS3AkGvu0E+iQKCxGK2gzD6QIaWIPRMUyjZE0iJNysAKmdYXND5lIxFqdK/dUR+WmcPsBBVPo/Go600Ujvm81Muj30KZHHDODm4VdV14j7QbNCg4UA948Rbns4mqh+P0YMjoUHErgfI1zWZT9Qxe4rEAOT+Cq3XnK8cUinQrNkraP;\n\t25:wys61gCDjCuji1TWTOXLDqRC1WfEMNXD4SUSQgd46aUsczaPoedeWKJF22A5SWwlCLCNpK1LXgWaTJHz4GrrBqlK7HYdOyS6kk9bdXSp/anNhfiSub/uq1ook8pQPuSURHw6EOVCvUQ8nBzDd3hVhBSx3A87hk6rTMf/3cDvjEcQlfscOSvE9j0zLkeg22sG5IrUcD+yokGCTPekgxU8AI71+9iWzzW8Qyd/+YhURnGu3f6fP7wBJZWktn7eQwEyX1BZ1GUbCkZaDgQOwUlG8XsdrVrbIlUYSkMgZPlRNu0GDKLreAfIJ0efMMy7FV9TmQKLeS2k9zZGNUHwrlhJ/SCi1gULgNb/Q0gwPe5zuIuzDVA+mrnCWnA0oNhft7xNk7xkilcBM/3hf28/HnVQYncAFtff5EZBNXeVf8Ulda6t1pktgZLEouZuPffGKlocUovi8s0UezzbguOPBnVEYQ==",
            "1; DM5PR03MB2475;\n\t31:/7V4XGq2TIttK3LQZLFa2y0tOlxAE86V5MEWjwsvHRIc0uxIVXY67KIZ0scKY79yIQT1eHG4z8IXz4yOravwEBXZcS5xTRKIRGpFItUgCgTVoHd4f/TSUP1aUXAqTt+V6ZtPoY+EugfkIZ7DdxXJNZyGGjdg61wPqgkDTjJedzyMaHCONzQ2+gZzWgtMfGV0sKI5lqEEtOAk+5YdINH8IH7It3Ypw5HUDLgc/Txwe3KkXR4RC/Pd4/gpf949i0zFaB2k65uaCZ54QPjxoT/YAQ==",
            "1; DM5PR03MB2475;\n\t4:lrlTyFO8yrLzoMtm9gDzsBk4SGKprPMumBUTKbo/1+qu9m8XfdnMm2E02Ik4N4/LmWPJ3EMcK6eOTfvffICKVub4/QG6dBvm9L68hKCDwn+xTjsKTfcKdZ8r5LPM65WTU10RW/ac1MeRZl4wuN+IXP/eJranMSuoM2B8wqcrgMVAcmd5sZoROuIRrm7fdkzqHALYdjegs+ksHynS2q3OblXg2KXSsKeIey5zZ0LvSeeUVfh6+JJ9g2IyIc7I621jq2L1Fmyrqf0QfTkADZIf5XD9kGvyKTbrWenayXtXH9DVD3p242Y3nBgttMNhTro1+VjsrV6dSdLej54y87OhCWA3V6RFUpYxTpedCKn1sQjCrDILcPmlB+xc8YCXKUv9OxEFWfL5PHeeZ8Q8jDX06ZtgTgDzqEcHTg7fd14uS4G+JvjFpJ1jbxlb9RPhLIJTe5CV/GkYC8wXQOwFig9CS6rSvH1rTWMNLRnTHFecFspz0r0p59EdOvcwwcT9I3mDlnXU25YqPk865YtHnwsvFXwTOlyM4TtNNR3Yn+Ak857w3NcAMwXghCdd0V5uk2RPG534LQdzs3TPND2WwTJzvDfLc/06od0yFxyP5eammcNbKOw4DTQ4aJV7aE/bU4Nkh8ZYeMoQmrQzdOAf7rm1oG0lRccztW5kvFhWhAnGAw3Hbo1jfJ/oTPzrtOpy37tFrCIubRCZVAKPNiDKeB9sX6fbh5lWjs4Zf7XYWV1RqwLgsJMEJjuQeemGgmplgXmoT1/EJdqIDit/VUKk8x0m1A==",
            "=?us-ascii?Q?1; DM5PR03MB2475;\n\t23:Js9ZuFC2CtKOrdk16CL5W4uq6UxVza4+V3eZJemeM?=\n\tFPnwxilrf/KpDTk8wRXgexV2lw1hvSr72ONGf1VJp8T5bveFZ7YXbFbvcg48uy3XkL5NHK/gIjsLFii6YlnGGDMBbUDjQeOPdE9x0pIndgYwfMWhaJDuCV2+YBdPZz60ycxMaspCdTd8g+8ohbECKgHb9y5Yj/ZnJwpw6xTfpvHxR0BByrtfasCK0vfxvC7Y/Kw3z/0Gr9Ig61nLTJSsjeGiMGf+8UMRsPBEVqKZv7YWNh+6Vtki0dejDNp3S8XWAwZSROWizs1x5YfPvQr5Kl4WVMGd4S23U1v1/sbbbopPyJn4vYV4bg4ezVQzOrbpGnbyajzzNo2pwg8MHzGlLfHhkHcRPJlkCN1F3dxeumlItYKxEgm+WTcIJIVMRGGLeW2lnxRCe5YR9f9aK559FTH7+G4rGR1YdDqgF2Rj7aCB6V4NGFpoFRXtFkiYm44nvUSuGRBGTAOVWcda2ECzSe4bsj/vcKdYAFh9c5O9YMVf7hanmt4sCY28Zn+7qSrud6cFLlrIZ4kXFpLg0aZOF9FD6uoKGvlvFTewS4UbDGgISuGm7phOsMFnLg1jFLybaVhshxketnN9GX3PTLdrMcd7RZzWqU/S6igLdcPY+De+w+jy1X88JKHt74Y6U5cua67P7y6IAj/HSJSf3oEfHtCSGkCjrnrT72CG1L3iwlPT3II89RvgrDKKypPc1bhcEEuFFMj8nQOpzg0W/onMYhOg02S58TSaJ/xK3jVji0ynsullM1iPq8am5oJjmkrR9l7F+ECWkHI8rYHYUBwR8dV2JqKS+FMPgVfGSLjEhOhmAopkUfUIxQg+5BVrOSyL/oJZldzq//M6XVkV6HtT4ixXD6rdIqoIxtp4OcK4jJlC0IQJBzJ1dZe3YbK1b/vCDzec0JhH4ORkhqHB32XvG2gE17uYfcqRIk/KjLnrKNIRYX30zVM79EAAZ93ULV0DLsYAEkkgd27uoFZZhcIv4dJDUG03s5v8dWZ2q4agca8i6wCV+SrpGTR38HJyNxLKeYl/VT99McHINrVjaQ860Dz5vz9v07TcqOYrONZxxtXpAmvdWTtcFhnUa0JsvKi0fNfGyRBWX14O/3Rrv6kni9qeocryF3okhTixT9uyy9s1JrbQvaD2ayND7L6I5erav1NVFn0W9sb0A2a3LPG7zZbhnDZwd3up4E7gVsvtWRiB67efNmMExwL02GAHp3Hg7hW1YoZU/onTIXhJjcgbrxM7hHnWCUAejVPJQAuJ6c4FFZTxEGnH/caGAoJHYVtppPPel2n+ltKJ6p7UvyqxFzI",
            "1; DM5PR03MB2475;\n\t6:H06ri8xWQgTpps8mg9Zky6PmUidfgHbxcrqSNCmguBfmXfh0TTz1clczlomxarK+5oeXrGrbfNK3LhJe9BmwFUSiqHL7Eoc6TyPh2UbMr1Q/aS3Dt9nV48r0e2QQ0ytAgMmnEyx3eUcH7TwQHtGHysvRZL/IzbYPDR1Mb63SsED34VN+W8BECBi3eMYvcvBE2QyEP2sXvR6mjTwbKMYpXSK/sq4X0svxQi7T5JTIy/B9dvmOm6v9OcUvAjUWteYG4w+vSjhT0JGKfqtegrdJJgtG8NWh3z5spJB9wzfQBcA+3RjL9FUDrgkr/AibA09yTxVbZvSKlGmPJFKS68qf19fZUhp/9o/swoPvezqakh91yYO4iiaUV1y5XiuXrvXKO/hUNdlMu6ey/NyAu/Q8yGU35VNtsL+UKWClUbXAd3k4fgpbN6vJT7vvikPJBb8d;\n\t5:ArL6wSplZZRBqoDZgTnE4DkHdBNambghc7LLGPQXaj+8AoGN09kdxcWz7iLLXZcWLFyTMU++COnMy95muzQq38GJ8yQ7PPKAdIhEbeLuNRM2kPoP9aLEef6IWH0eaPkofhtfAxxz1iLMeFuXuR1vh6lMYJbU4xMSgttDiRYMvdACXqecUFYwsjuqORVcTmbQ;\n\t24:qiUgNTjXOKj/JwFEH0UEiU265xekM8Kz465IDsvMK5jx2VoQRr9JheU5IPkj0c8fEGV0xhOvWz5e+wFL1S8atygOV8HXCH8s1PVF7Lh5dK4=",
            "1; DM5PR03MB2475;\n\t7:Tzkn+5HVRP43S52syh7UXkhq7RTFFpBHKZBd1aJHAKfaMxuYye6kvQg373IuA3asczH2ZVIcD88S8v2A4R3gYhD5UYbhMjvyQCPEwN/K4S95YWEYcVISSblbJH3yIhohuHUA5FZ8MtxuWRBq4eVPVUINy9HEmFV6YYNcYzepRArquIepICsTjBEyOVADcYUYM72lglDtsPvNMTaMmQncUhFkD0ITRHbF8C5Va/RNQ0xN8I6xyppuUViurBc5jywLO1frnXoD86UO26VwbEIbHfNNARQnSl78XG0SMot2/XlXNCEhEK4VuEkUNtckN04Ca6IGsCC58z+gMMKda5BRHgzOggQUiSsTSTmiwe2LCxq11BqN3c6teuv+lpEkHGVibEamsU874vNdk6sAgu1CugxWXzyVeB6A+y3wkjwZUaiQ5/MBVluoodzpxKEHNlETbsDehaaRFf7AOOOILNxlUw=="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "1da83a64-65b5-4cc2-d06f-08d43edbae05",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:DM5PR03MB2475; ",
        "X-Microsoft-Antispam-PRVS": "<DM5PR03MB247584941D8D5AFA73F42084897C0@DM5PR03MB2475.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)(5005006)(8121501046)(13017025)(13023025)(13024025)(13015025)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123565025)(20161123563025)(20161123556025)(20161123561025)(20161123559025);\n\tSRVR:DM5PR03MB2475; BCL:0; PCL:0; RULEID:(400006); SRVR:DM5PR03MB2475;",
        "X-Forefront-PRVS": "01901B3451",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Jan 2017 13:21:00.2431\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": "DM5PR03MB2475",
        "Subject": "[dpdk-dev] [PATCHv4 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",
        "PATCHv4",
        "33/33"
    ]
}