get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 45436,
    "url": "http://patches.dpdk.org/api/patches/45436/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20180926180440.31726-4-shreyansh.jain@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": "<20180926180440.31726-4-shreyansh.jain@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180926180440.31726-4-shreyansh.jain@nxp.com",
    "date": "2018-09-26T18:04:28",
    "name": "[v2,03/15] bus/fslmc: upgrade mc FW APIs to 10.10.0",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "3756adb02524363c16cc64b70b1d96fc8b1ac6d2",
    "submitter": {
        "id": 497,
        "url": "http://patches.dpdk.org/api/people/497/?format=api",
        "name": "Shreyansh Jain",
        "email": "shreyansh.jain@nxp.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20180926180440.31726-4-shreyansh.jain@nxp.com/mbox/",
    "series": [
        {
            "id": 1525,
            "url": "http://patches.dpdk.org/api/series/1525/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1525",
            "date": "2018-09-26T18:04:25",
            "name": "Upgrade DPAA2 FW and other feature/bug fixes",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/1525/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/45436/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/45436/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 50FDA1B489;\n\tWed, 26 Sep 2018 20:05:59 +0200 (CEST)",
            "from EUR03-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr50070.outbound.protection.outlook.com [40.107.5.70])\n\tby dpdk.org (Postfix) with ESMTP id 1B9A11B472\n\tfor <dev@dpdk.org>; Wed, 26 Sep 2018 20:05:55 +0200 (CEST)",
            "from Tophie.ap.freescale.net (14.142.187.166) by\n\tAM6PR04MB4679.eurprd04.prod.outlook.com (2603:10a6:20b:1c::18) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1164.22; Wed, 26 Sep 2018 18:05:51 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=n/BWHyS/YNXKspK+j52nQVATcPqh3TMNmVtX162IXbY=;\n\tb=IgI6dF+8+UMHVpyhrTegNIdw2uYC51GLopSu/+XpYrWP4b9+XvE27Cnd2xT3D0j/r7yedkhKkA+cEQqP+aUXUZEcuOLQYVasWOoqRK5908p9JPpvw09feLMAfjiqwjqpeVg5gdmU7TrbrCGBm7nhvMNYipja1nT8KfxiYQIcENU=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=shreyansh.jain@nxp.com; ",
        "From": "Shreyansh Jain <shreyansh.jain@nxp.com>",
        "To": "dev@dpdk.org,\n\tferruh.yigit@intel.com",
        "Cc": "thomas@monjalon.net,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "Date": "Wed, 26 Sep 2018 23:34:28 +0530",
        "Message-Id": "<20180926180440.31726-4-shreyansh.jain@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20180926180440.31726-1-shreyansh.jain@nxp.com>",
        "References": "<20180917103631.32304-1-shreyansh.jain@nxp.com>\n\t<20180926180440.31726-1-shreyansh.jain@nxp.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.142.187.166]",
        "X-ClientProxiedBy": "MA1PR0101CA0014.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:a00:21::24) To AM6PR04MB4679.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:1c::18)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "f1f021df-eae0-4c34-5a40-08d623dab312",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:AM6PR04MB4679; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; AM6PR04MB4679;\n\t3:n0tetdQ57JtoelCcxc9ICCpWG2QVUsG85+Q4WbqmGbhsXnY+OuE20KZ/npyzXmqO8Z9x3b6c1qZmykCjsB3dyZcMLJxXZWqnrRS2QzVHF6gQDcurSstHk9vuWKlBo3qNy7Z8YPs2IOlLjlrKWqYQNVqS0LTiKX0LQh0uwKpV9NGau3xUrl3KLDr2C8kLUMG6NNvDsaiRFVZ8N44WX6yxjsNUTJbS9GKcSmpSTIFKO8VVJAp92waCeQAjZIujgenK;\n\t25:69qTVFY16c0VT3Ycw+y2yC84jJf9vsPBgtCNWyCWm08erKm1d5UUdpZRKF8Y0+EGOTLjsvvZ8ji2mHuu2RgsKsK6U7/wsnU1VxLQoMx4ylt6sngKB3J8FNW00GQm97rZgwYGlYds03jknfrG9rSyf0wpmursNH2+wWYLON+ThYOe+/+pv30K7P76Jz4b7JwUiLNlind9l82QVf2wgmgzghExPdvyg9GUxIPIWlVWmUkANJGyQ70ghpBZp6p33T4froXdCrL7XyfmYXzOaxrEf3Sn1ZT28gCJuQB/h+TxqT8/GmUuTmNnJ6GELGDVQPvYKsHunlRL429InL5eGuGbJQ==;\n\t31:vWK9SNb9KzMN1SfBgYMxsVCRAO5JT9FzJk7Ha1DNYDn3iaVYh9qCs8JOg0ce1CTU0jrrxYAoeEVGYbTXA/9J1xHHBFrXjVZponK2ehodiqDO5jB2H6AgOJIP3Bty+af5qzvShMipRTPA1DZnWQ/pfeGJzAxlip6aWEruodbkr6/8rdF1yAIQ0p17kmoCGA9zltHOYKLIoN2eaK4GbDn2EUcX8fjwsrNMnjAFvnLSzIs=",
            "1; AM6PR04MB4679;\n\t20:h5ZZcwvD7aT6F01fwWPVqfwPzFJF1mqGxirxgh7UeGWcIxx8lx/LXmRvE5oE5SvUyXa7TMC2ivc7NI9DO01Jlwh2/qxoldb66dD1URWojH0eGsHo1IWTxXgtPU8swDPQ5MywVrKlp2w7cCCkx8ByDdIbpQanZRd4c0AqKNG2YJXXrYhi6wLCrwDFSi7BdUt2GynBD4ZlDHdRXvQT4IaTbLbVvTLsch2Vu8XfCUrhjCR3ZsO/OC8yezVxgkD9ZVzCyUCoZ56dJDXA5X95mxymF7alFq6eHq398pYdVn6zh1XTykVO7cwvZo71hxX4wjjpiWUIHyEFLBqDwVYXPK0plvyS4ctnoOzl77gwBTqb0uHPM6hYTqmpvz4cby7ZrwVPluE42RuweEyXAD7pIURTezZ0xvN/2n2qvXDN9tMZTUrDH1f9Iu2JiBesw9KvpIBTD4XypfejK3ITsLJG70727Bk0BAyrhixJB9NmaZV2ZouEhrcYYwVMWv15X92mEwTo;\n\t4:f/ivUUUdJtbOyAkxbL0/cYS+6FNdPl/QxyBfSYJuFhnNlWeqWjYuMbkxw6vF/6IOXYDEG+hakFCpMLRUtCJwHH26OPN6D8w5nYfQBJF92sjvWIARvswTBgANVshcqtRLUt+F2t4yp9M9F8G6K0QBrJvILhnar63xOi20gECtHZak29pqBIubGzgExRPtHqTIKEbK/Jd8nmaarxXZXsyMKxPCGNq/m0NSBc/LV2VO9Dhg0Qobpiyr6Ymb5LlbMxnr0wSl45Rymd/F1ZI6AEeDef7qGASJx8UXZliqiHGePEJ+yJKzEdyRQrB1CPg9uc213n6KzV1vjNgdoV61+5nvp5gy5QRrq7x/318JjKeyBHk=",
            "=?us-ascii?Q?1; AM6PR04MB4679;\n\t23:vZeRFwFe80JdMdb0IEgLLeyJ3X1yPYcgQlgtrvEok?=\n\t9Zb+KHB2wC+o5VVHzZnkMdnXLd87jmc7IQBpnfMHduKiFNkEsasLcHKtCZskFg0h5IOmANKoukEdirwJGfljih+L6+xV7EN3YvseKysNh8y7YlRzODRsTOkNLdGEGGl5oSo6GejVfB5mWCuTG7fs5Hog/E6EGugQAm9Pcf7kEMt6WFmWfYQZVzKXuSQvNodJIZOH0iTyGXCRFB63tavPh1e5ubLFVv+CZy9byYyTlDZCdKovFPcao4OEFHn4MCKNf3OsjkWxj43lL/u9LknPLh4cLxlirXiW0r14TpJq/YOfP8ypjR2qnAPtN3CfvUcOuiwNMvwBAX9rolLVtdT3Yc4aROLb1P00+jtGxVIPWhR0HCl7P4gbta1+JYqfotiAjdZv6x+8FT5vgeVucq8t1NKPUBCWvSNaYsJA+Q7VEkcnPHfRqR9vrGw6bT61iVq5e/zfz5jwSzeucSwoS9gCdqhmPAkit6tr43YEQTghq/w/TbZZ1tDk+vzws4Uvn73ZOeqJ/uURdXHJQPbv1Zk1TyEjM5QLJo+sdWSz34mSOcfsuyDxianQBkqNN9+0CUeObK8RC/VfTfIdrASNH7zP63VwPlF82RGMg0zxIGBMavPy1X2+N5WbH+nR4+pzmjAORziLQLZ97s1OzsZi04ES3fuAs08eKqbREHO7D/jRcn/qQm8Hi9D7vPeYu2RSYz26j8EY4OH5VNxnq9IEvHV0FuA6oJMGwcB965+dTRHDTm3ylANUhFzU4jXE9RhCdO65NZOzDOBsDpnwqc4dcfrOhBV5RGuBRsJe5pkQ+FX7FkDZbfpT+MPSmTpmtT6ztuMBVo+7MsT4MTkUKGauCbQ+a3moyB82Gb8B8JvVXQhderyFRkfpz0BJDKrchy5eU/elh834orzX8dsW90DgMr4Q5+gep2XhGlbOnS6C0/cvSZcFR2liz7zBLNOLU00NuEPT2afOgFH71QPa/YUG7S+r9xFnDt1Cla3QoevmwoPae4W5AwhBnuHwkmjDjYvS/xt4rtFYmP2Gpi6gcfwfwFA5h17yMaJyekMgK5+dStr9jxxz63Y70BnRCJQaxlvEH1op6U7rJaTf+xKwV9CjIM2a2UweEvFGAMu+IQbKBum8ZX4wkS2OcxlW527wZSbRrB099p8jfodFA9mUE/sXeMO83l+s944SnJsu07oPptmg6RMqhcA1TdkY0RXmTqRblPAVKoiLSWIew3e0/4fVqEeVCyN/t36rRykvA6OvIRorHx1WuFzZawfZ3i8rumHn0pbAZr/tcnzXZop8Lpn/HsqJT+Sq7pCL0WJE9PkozUdJN5ffmIHpi552Qbn2lvtSNLhzMw=",
            "1; AM6PR04MB4679;\n\t6:MiBz7HwjKayUblqaAXff10r1bSFZrYRGwheApgNVFbweJd/jwZ1ixLrYXCiBAGkpeQCLyk+QYnYUUyrv/IF2xOFJZxieldgt9MYnuGKFBCZhNwnoXZz1dajCKjeCZN0q6EuP6cabB6wfyWfdLyLmv0Dav5JGRF8/j/x6Znsqcq0N9/x1sudBP4wbRoOdkd7fPBDI4x2zgmiPqZnuC3S1IYtDh7eut3JStjUVMKye9tVHvu38ongXIHugQt4t7gAfqK2TAeqZ4v+RmexCMuKx/nu/F69hlVqpJPs3Qy8Bhrj+PQPS3TB9Pdx2Kf/AQdV7m7MVEp+RoSz4GtrQ7gZ4pvB1FwRMGZBv6pX46UHAc4sxE17qB1DNy16vrUdLrxRVDvnas2esTcr2zMgpyrty/UetHYSTdhaf7KZniMXgqnxp04Qpr/7Lv0y3sLU6ug3vyNI5BYHrus9hK2PNX/bR9g==;\n\t5:uL3JXdIP4DJVWUxxyXbeZIIR6RQtkahFR6whc86KwhAD2EL35dZxxgFQYvk8C54JAfAbN9ZGcm/kKYfDU1/odxuDoiuNZlkwkXCTB5ujXOgt/ZDpooUBVI1s7QnELm4iCesJ/GEzMAYMBvemtWL++j/5rW/ZyLAZblNbcFCH+Yk=;\n\t7:fqYPPf+kKOKUtBcCyBPeFV4Ll91veMctzTlYavFy6EHEsAFO/TVu2E20fNOBi6xJ9067j00RUJpenAEQuD6Sp6tJUy4ehbE1Vte7EbiFRk0SJ+py/zNvIXKc3VOMES91KS5ivI8ljBXg5mfxLSjz4cYT+07I30qNdEFdSL/dsMJ7p6VPsFmhI6ouSd1DM5Dxbx+hFRS7S/QRiruD0j3ecB9OYsAW1N5PAp5uYUm+28mBctTk375d45qBrj10oNU4"
        ],
        "X-MS-TrafficTypeDiagnostic": "AM6PR04MB4679:",
        "X-Microsoft-Antispam-PRVS": "<AM6PR04MB4679A6CDC29ED8935C6A72CC90150@AM6PR04MB4679.eurprd04.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197)(275809806118684); ",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(20161123560045)(201708071742011)(7699051);\n\tSRVR:AM6PR04MB4679; BCL:0; PCL:0; RULEID:; SRVR:AM6PR04MB4679; ",
        "X-Forefront-PRVS": "08076ABC99",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(136003)(396003)(346002)(366004)(39860400002)(189003)(199004)(11346002)(50226002)(446003)(47776003)(44832011)(956004)(476003)(106356001)(486006)(2616005)(53946003)(6512007)(66066001)(305945005)(7736002)(6486002)(105586002)(36756003)(575784001)(86362001)(478600001)(8936002)(16526019)(81166006)(50466002)(186003)(26005)(25786009)(8676002)(55236004)(48376002)(81156014)(4326008)(3846002)(6116002)(1076002)(6666003)(52116002)(34290500001)(5009440100003)(2906002)(16586007)(51416003)(316002)(97736004)(6506007)(76176011)(5660300001)(386003)(68736007)(14444005)(53936002)(110426005)(579004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR04MB4679;\n\tH:Tophie.ap.freescale.net; FPR:; \n\tSPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; ",
        "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "pFmFhH1axC/5BT4e8hRGW81Tye5nopUVwwu5g4BMArP6L8zMuN/egIJ809Zn4vUnR4n3P8KcMay2aAXsaZXSuITWMZIm0xkwK1ZMOUvgcQ/kjTChPK8APeqVtbERjFpFzlwLE+DWr+miEhEedQj/bSi2XjiTCSAJZVsWitkoA3UKGLXAf7aI5Q0I/20cwSIHhLKvu96VQwhuOngpbb7fp5VCcCee+W0vy8lOn/PwTERrXNwP/ZpRMWoJGdjYDr4y84Nwdp38iWIomMFJJF9m+3ODF6vfkSKy4VhmWO4QReA4tMsUCWSTHwUhatgaU463JZZC3/MOyce2DvySku+YB+k0lUfSiv9kyS9OKpojt5w=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "26 Sep 2018 18:05:51.7264\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "f1f021df-eae0-4c34-5a40-08d623dab312",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM6PR04MB4679",
        "Subject": "[dpdk-dev] [PATCH v2 03/15] bus/fslmc: upgrade mc FW APIs to 10.10.0",
        "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: Hemant Agrawal <hemant.agrawal@nxp.com>\n\nThis patch add the support for new Management Complex\nFirmware version to 10.1x.x. One of the main changes in\nthe APIs ordered queue.\n\nThe fslmc bus lib ABI will need to be bumped to reflect\nthe MC FW API and structure changes.\n\nThis will also result in bumping of ABI verion of all dependent\nlibs as they internally use the MC FW APIs and structures.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n drivers/bus/fslmc/Makefile                  |   2 +-\n drivers/bus/fslmc/mc/dpbp.c                 |  10 +\n drivers/bus/fslmc/mc/dpci.c                 | 197 ++++++++++++++++++++\n drivers/bus/fslmc/mc/dpcon.c                |  30 +++\n drivers/bus/fslmc/mc/dpdmai.c               |  14 ++\n drivers/bus/fslmc/mc/dpio.c                 |   9 +\n drivers/bus/fslmc/mc/fsl_dpbp.h             |   1 +\n drivers/bus/fslmc/mc/fsl_dpbp_cmd.h         |  16 +-\n drivers/bus/fslmc/mc/fsl_dpci.h             |  47 ++++-\n drivers/bus/fslmc/mc/fsl_dpci_cmd.h         |  62 +++++-\n drivers/bus/fslmc/mc/fsl_dpcon.h            |  19 ++\n drivers/bus/fslmc/mc/fsl_dpdmai.h           |   5 +\n drivers/bus/fslmc/mc/fsl_dpdmai_cmd.h       |  20 +-\n drivers/bus/fslmc/mc/fsl_dpmng.h            |   2 +-\n drivers/bus/fslmc/mc/fsl_dpopr.h            |  85 +++++++++\n drivers/bus/fslmc/meson.build               |   2 +\n drivers/bus/fslmc/rte_bus_fslmc_version.map |  10 +\n drivers/crypto/dpaa2_sec/Makefile           |   2 +-\n drivers/crypto/dpaa2_sec/meson.build        |   2 +\n drivers/event/dpaa2/Makefile                |   2 +-\n drivers/event/dpaa2/meson.build             |   2 +\n drivers/mempool/dpaa2/Makefile              |   2 +-\n drivers/mempool/dpaa2/meson.build           |   2 +\n drivers/net/dpaa2/Makefile                  |   2 +-\n drivers/net/dpaa2/meson.build               |   2 +\n drivers/raw/dpaa2_cmdif/Makefile            |   2 +-\n drivers/raw/dpaa2_cmdif/meson.build         |   2 +\n drivers/raw/dpaa2_qdma/Makefile             |   2 +-\n drivers/raw/dpaa2_qdma/dpaa2_qdma.c         |  14 +-\n drivers/raw/dpaa2_qdma/dpaa2_qdma.h         |   6 +-\n drivers/raw/dpaa2_qdma/meson.build          |   2 +\n 31 files changed, 541 insertions(+), 34 deletions(-)\n create mode 100644 drivers/bus/fslmc/mc/fsl_dpopr.h",
    "diff": "diff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile\nindex 515d0f534..e95551980 100644\n--- a/drivers/bus/fslmc/Makefile\n+++ b/drivers/bus/fslmc/Makefile\n@@ -24,7 +24,7 @@ LDLIBS += -lrte_ethdev\n EXPORT_MAP := rte_bus_fslmc_version.map\n \n # library version\n-LIBABIVER := 1\n+LIBABIVER := 2\n \n SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \\\n         qbman/qbman_portal.c \\\ndiff --git a/drivers/bus/fslmc/mc/dpbp.c b/drivers/bus/fslmc/mc/dpbp.c\nindex 0215d22da..d9103409c 100644\n--- a/drivers/bus/fslmc/mc/dpbp.c\n+++ b/drivers/bus/fslmc/mc/dpbp.c\n@@ -248,6 +248,16 @@ int dpbp_reset(struct fsl_mc_io *mc_io,\n \t/* send command to mc*/\n \treturn mc_send_command(mc_io, &cmd);\n }\n+/**\n+ * dpbp_get_attributes - Retrieve DPBP attributes.\n+ *\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPBP object\n+ * @attr:\tReturned object's attributes\n+ *\n+ * Return:\t'0' on Success; Error code otherwise.\n+ */\n int dpbp_get_attributes(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\ndiff --git a/drivers/bus/fslmc/mc/dpci.c b/drivers/bus/fslmc/mc/dpci.c\nindex ff366bfa9..95edae9d9 100644\n--- a/drivers/bus/fslmc/mc/dpci.c\n+++ b/drivers/bus/fslmc/mc/dpci.c\n@@ -265,6 +265,15 @@ int dpci_reset(struct fsl_mc_io *mc_io,\n \treturn mc_send_command(mc_io, &cmd);\n }\n \n+/**\n+ * dpci_get_attributes() - Retrieve DPCI attributes.\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPCI object\n+ * @attr:\tReturned object's attributes\n+ *\n+ * Return:\t'0' on Success; Error code otherwise.\n+ */\n int dpci_get_attributes(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\n@@ -292,6 +301,94 @@ int dpci_get_attributes(struct fsl_mc_io *mc_io,\n \treturn 0;\n }\n \n+/**\n+ * dpci_get_peer_attributes() - Retrieve peer DPCI attributes.\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPCI object\n+ * @attr:\tReturned peer attributes\n+ *\n+ * Return:\t'0' on Success; Error code otherwise.\n+ */\n+int dpci_get_peer_attributes(struct fsl_mc_io *mc_io,\n+\t\t\t     uint32_t cmd_flags,\n+\t\t\t     uint16_t token,\n+\t\t\t     struct dpci_peer_attr *attr)\n+{\n+\tstruct dpci_rsp_get_peer_attr *rsp_params;\n+\tstruct mc_command cmd = { 0 };\n+\tint err;\n+\n+\t/* prepare command */\n+\tcmd.header = mc_encode_cmd_header(DPCI_CMDID_GET_PEER_ATTR,\n+\t\t\t\t\t  cmd_flags,\n+\t\t\t\t\t  token);\n+\n+\t/* send command to mc*/\n+\terr = mc_send_command(mc_io, &cmd);\n+\tif (err)\n+\t\treturn err;\n+\n+\t/* retrieve response parameters */\n+\trsp_params = (struct dpci_rsp_get_peer_attr *)cmd.params;\n+\tattr->peer_id = le32_to_cpu(rsp_params->id);\n+\tattr->num_of_priorities = rsp_params->num_of_priorities;\n+\n+\treturn 0;\n+}\n+\n+/**\n+ * dpci_get_link_state() - Retrieve the DPCI link state.\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPCI object\n+ * @up:\t\tReturned link state; returns '1' if link is up, '0' otherwise\n+ *\n+ * DPCI can be connected to another DPCI, together they\n+ * create a 'link'. In order to use the DPCI Tx and Rx queues,\n+ * both objects must be enabled.\n+ *\n+ * Return:\t'0' on Success; Error code otherwise.\n+ */\n+int dpci_get_link_state(struct fsl_mc_io *mc_io,\n+\t\t\tuint32_t cmd_flags,\n+\t\t\tuint16_t token,\n+\t\t\tint *up)\n+{\n+\tstruct dpci_rsp_get_link_state *rsp_params;\n+\tstruct mc_command cmd = { 0 };\n+\tint err;\n+\n+\t/* prepare command */\n+\tcmd.header = mc_encode_cmd_header(DPCI_CMDID_GET_LINK_STATE,\n+\t\t\t\t\t  cmd_flags,\n+\t\t\t\t\t  token);\n+\n+\t/* send command to mc*/\n+\terr = mc_send_command(mc_io, &cmd);\n+\tif (err)\n+\t\treturn err;\n+\n+\t/* retrieve response parameters */\n+\trsp_params = (struct dpci_rsp_get_link_state *)cmd.params;\n+\t*up = dpci_get_field(rsp_params->up, UP);\n+\n+\treturn 0;\n+}\n+\n+/**\n+ * dpci_set_rx_queue() - Set Rx queue configuration\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPCI object\n+ * @priority:\tSelect the queue relative to number of\n+ *\t\t\tpriorities configured at DPCI creation; use\n+ *\t\t\tDPCI_ALL_QUEUES to configure all Rx queues\n+ *\t\t\tidentically.\n+ * @cfg:\tRx queue configuration\n+ *\n+ * Return:\t'0' on Success; Error code otherwise.\n+ */\n int dpci_set_rx_queue(struct fsl_mc_io *mc_io,\n \t\t      uint32_t cmd_flags,\n \t\t      uint16_t token,\n@@ -314,6 +411,9 @@ int dpci_set_rx_queue(struct fsl_mc_io *mc_io,\n \tdpci_set_field(cmd_params->dest_type,\n \t\t       DEST_TYPE,\n \t\t       cfg->dest_cfg.dest_type);\n+\tdpci_set_field(cmd_params->dest_type,\n+\t\t       ORDER_PRESERVATION,\n+\t\t       cfg->order_preservation_en);\n \n \t/* send command to mc*/\n \treturn mc_send_command(mc_io, &cmd);\n@@ -438,3 +538,100 @@ int dpci_get_api_version(struct fsl_mc_io *mc_io,\n \n \treturn 0;\n }\n+\n+/**\n+ * dpci_set_opr() - Set Order Restoration configuration.\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPCI object\n+ * @index:\tThe queue index\n+ * @options:\tConfiguration mode options\n+ *\t\tcan be OPR_OPT_CREATE or OPR_OPT_RETIRE\n+ * @cfg:\tConfiguration options for the OPR\n+ *\n+ * Return:\t'0' on Success; Error code otherwise.\n+ */\n+int dpci_set_opr(struct fsl_mc_io *mc_io,\n+\t\t uint32_t cmd_flags,\n+\t\t uint16_t token,\n+\t\t uint8_t index,\n+\t\t uint8_t options,\n+\t\t struct opr_cfg *cfg)\n+{\n+\tstruct dpci_cmd_set_opr *cmd_params;\n+\tstruct mc_command cmd = { 0 };\n+\n+\t/* prepare command */\n+\tcmd.header = mc_encode_cmd_header(DPCI_CMDID_SET_OPR,\n+\t\t\t\t\t  cmd_flags,\n+\t\t\t\t\t  token);\n+\tcmd_params = (struct dpci_cmd_set_opr *)cmd.params;\n+\tcmd_params->index = index;\n+\tcmd_params->options = options;\n+\tcmd_params->oloe = cfg->oloe;\n+\tcmd_params->oeane = cfg->oeane;\n+\tcmd_params->olws = cfg->olws;\n+\tcmd_params->oa = cfg->oa;\n+\tcmd_params->oprrws = cfg->oprrws;\n+\n+\t/* send command to mc*/\n+\treturn mc_send_command(mc_io, &cmd);\n+}\n+\n+/**\n+ * dpci_get_opr() - Retrieve Order Restoration config and query.\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPCI object\n+ * @index:\tThe queue index\n+ * @cfg:\tReturned OPR configuration\n+ * @qry:\tReturned OPR query\n+ *\n+ * Return:\t'0' on Success; Error code otherwise.\n+ */\n+int dpci_get_opr(struct fsl_mc_io *mc_io,\n+\t\t uint32_t cmd_flags,\n+\t\t uint16_t token,\n+\t\t uint8_t index,\n+\t\t struct opr_cfg *cfg,\n+\t\t struct opr_qry *qry)\n+{\n+\tstruct dpci_rsp_get_opr *rsp_params;\n+\tstruct dpci_cmd_get_opr *cmd_params;\n+\tstruct mc_command cmd = { 0 };\n+\tint err;\n+\n+\t/* prepare command */\n+\tcmd.header = mc_encode_cmd_header(DPCI_CMDID_GET_OPR,\n+\t\t\t\t\t  cmd_flags,\n+\t\t\t\t\t  token);\n+\tcmd_params = (struct dpci_cmd_get_opr *)cmd.params;\n+\tcmd_params->index = index;\n+\n+\t/* send command to mc*/\n+\terr = mc_send_command(mc_io, &cmd);\n+\tif (err)\n+\t\treturn err;\n+\n+\t/* retrieve response parameters */\n+\trsp_params = (struct dpci_rsp_get_opr *)cmd.params;\n+\tcfg->oloe = rsp_params->oloe;\n+\tcfg->oeane = rsp_params->oeane;\n+\tcfg->olws = rsp_params->olws;\n+\tcfg->oa = rsp_params->oa;\n+\tcfg->oprrws = rsp_params->oprrws;\n+\tqry->rip = dpci_get_field(rsp_params->flags, RIP);\n+\tqry->enable = dpci_get_field(rsp_params->flags, OPR_ENABLE);\n+\tqry->nesn = le16_to_cpu(rsp_params->nesn);\n+\tqry->ndsn = le16_to_cpu(rsp_params->ndsn);\n+\tqry->ea_tseq = le16_to_cpu(rsp_params->ea_tseq);\n+\tqry->tseq_nlis = dpci_get_field(rsp_params->tseq_nlis, TSEQ_NLIS);\n+\tqry->ea_hseq = le16_to_cpu(rsp_params->ea_hseq);\n+\tqry->hseq_nlis = dpci_get_field(rsp_params->hseq_nlis, HSEQ_NLIS);\n+\tqry->ea_hptr = le16_to_cpu(rsp_params->ea_hptr);\n+\tqry->ea_tptr = le16_to_cpu(rsp_params->ea_tptr);\n+\tqry->opr_vid = le16_to_cpu(rsp_params->opr_vid);\n+\tqry->opr_id = le16_to_cpu(rsp_params->opr_id);\n+\n+\treturn 0;\n+}\ndiff --git a/drivers/bus/fslmc/mc/dpcon.c b/drivers/bus/fslmc/mc/dpcon.c\nindex 3f6e04b97..92bd26512 100644\n--- a/drivers/bus/fslmc/mc/dpcon.c\n+++ b/drivers/bus/fslmc/mc/dpcon.c\n@@ -295,6 +295,36 @@ int dpcon_get_attributes(struct fsl_mc_io *mc_io,\n \treturn 0;\n }\n \n+/**\n+ * dpcon_set_notification() - Set DPCON notification destination\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPCON object\n+ * @cfg:\tNotification parameters\n+ *\n+ * Return:\t'0' on Success; Error code otherwise\n+ */\n+int dpcon_set_notification(struct fsl_mc_io *mc_io,\n+\t\t\t   uint32_t cmd_flags,\n+\t\t\t   uint16_t token,\n+\t\t\t   struct dpcon_notification_cfg *cfg)\n+{\n+\tstruct dpcon_cmd_set_notification *dpcon_cmd;\n+\tstruct mc_command cmd = { 0 };\n+\n+\t/* prepare command */\n+\tcmd.header = mc_encode_cmd_header(DPCON_CMDID_SET_NOTIFICATION,\n+\t\t\t\t\t  cmd_flags,\n+\t\t\t\t\t  token);\n+\tdpcon_cmd = (struct dpcon_cmd_set_notification *)cmd.params;\n+\tdpcon_cmd->dpio_id = cpu_to_le32(cfg->dpio_id);\n+\tdpcon_cmd->priority = cfg->priority;\n+\tdpcon_cmd->user_ctx = cpu_to_le64(cfg->user_ctx);\n+\n+\t/* send command to mc*/\n+\treturn mc_send_command(mc_io, &cmd);\n+}\n+\n /**\n  * dpcon_get_api_version - Get Data Path Concentrator API version\n  * @mc_io:\tPointer to MC portal's DPCON object\ndiff --git a/drivers/bus/fslmc/mc/dpdmai.c b/drivers/bus/fslmc/mc/dpdmai.c\nindex 528889df3..dcb9d516a 100644\n--- a/drivers/bus/fslmc/mc/dpdmai.c\n+++ b/drivers/bus/fslmc/mc/dpdmai.c\n@@ -113,6 +113,7 @@ int dpdmai_create(struct fsl_mc_io *mc_io,\n \t\t\t\t\t  cmd_flags,\n \t\t\t\t\t  dprc_token);\n \tcmd_params = (struct dpdmai_cmd_create *)cmd.params;\n+\tcmd_params->num_queues = cfg->num_queues;\n \tcmd_params->priorities[0] = cfg->priorities[0];\n \tcmd_params->priorities[1] = cfg->priorities[1];\n \n@@ -297,6 +298,7 @@ int dpdmai_get_attributes(struct fsl_mc_io *mc_io,\n \trsp_params = (struct dpdmai_rsp_get_attr *)cmd.params;\n \tattr->id = le32_to_cpu(rsp_params->id);\n \tattr->num_of_priorities = rsp_params->num_of_priorities;\n+\tattr->num_of_queues = rsp_params->num_of_queues;\n \n \treturn 0;\n }\n@@ -306,6 +308,8 @@ int dpdmai_get_attributes(struct fsl_mc_io *mc_io,\n  * @mc_io:\tPointer to MC portal's I/O object\n  * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n  * @token:\tToken of DPDMAI object\n+ * @queue_idx: Rx queue index. Accepted values are form 0 to num_queues\n+ *\t\tparameter provided in dpdmai_create\n  * @priority:\tSelect the queue relative to number of\n  *\t\tpriorities configured at DPDMAI creation; use\n  *\t\tDPDMAI_ALL_QUEUES to configure all Rx queues\n@@ -317,6 +321,7 @@ int dpdmai_get_attributes(struct fsl_mc_io *mc_io,\n int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\n+\t\t\tuint8_t queue_idx,\n \t\t\tuint8_t priority,\n \t\t\tconst struct dpdmai_rx_queue_cfg *cfg)\n {\n@@ -331,6 +336,7 @@ int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,\n \tcmd_params->dest_id = cpu_to_le32(cfg->dest_cfg.dest_id);\n \tcmd_params->dest_priority = cfg->dest_cfg.priority;\n \tcmd_params->priority = priority;\n+\tcmd_params->queue_idx = queue_idx;\n \tcmd_params->user_ctx = cpu_to_le64(cfg->user_ctx);\n \tcmd_params->options = cpu_to_le32(cfg->options);\n \tdpdmai_set_field(cmd_params->dest_type,\n@@ -346,6 +352,8 @@ int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,\n  * @mc_io:\tPointer to MC portal's I/O object\n  * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n  * @token:\tToken of DPDMAI object\n+ * @queue_idx: Rx queue index. Accepted values are form 0 to num_queues\n+ *\t\tparameter provided in dpdmai_create\n  * @priority:\tSelect the queue relative to number of\n  *\t\tpriorities configured at DPDMAI creation\n  * @attr:\tReturned Rx queue attributes\n@@ -355,6 +363,7 @@ int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,\n int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\n+\t\t\tuint8_t queue_idx,\n \t\t\tuint8_t priority,\n \t\t\tstruct dpdmai_rx_queue_attr *attr)\n {\n@@ -369,6 +378,7 @@ int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,\n \t\t\t\t\t  token);\n \tcmd_params = (struct dpdmai_cmd_get_queue *)cmd.params;\n \tcmd_params->priority = priority;\n+\tcmd_params->queue_idx = queue_idx;\n \n \t/* send command to mc*/\n \terr = mc_send_command(mc_io, &cmd);\n@@ -392,6 +402,8 @@ int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,\n  * @mc_io:\tPointer to MC portal's I/O object\n  * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n  * @token:\tToken of DPDMAI object\n+ * @queue_idx: Tx queue index. Accepted values are form 0 to num_queues\n+ *\t\tparameter provided in dpdmai_create\n  * @priority:\tSelect the queue relative to number of\n  *\t\tpriorities configured at DPDMAI creation\n  * @attr:\tReturned Tx queue attributes\n@@ -401,6 +413,7 @@ int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,\n int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\n+\t\t\tuint8_t queue_idx,\n \t\t\tuint8_t priority,\n \t\t\tstruct dpdmai_tx_queue_attr *attr)\n {\n@@ -415,6 +428,7 @@ int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,\n \t\t\t\t\t  token);\n \tcmd_params = (struct dpdmai_cmd_get_queue *)cmd.params;\n \tcmd_params->priority = priority;\n+\tcmd_params->queue_idx = queue_idx;\n \n \t/* send command to mc*/\n \terr = mc_send_command(mc_io, &cmd);\ndiff --git a/drivers/bus/fslmc/mc/dpio.c b/drivers/bus/fslmc/mc/dpio.c\nindex 966277cc6..a3382ed14 100644\n--- a/drivers/bus/fslmc/mc/dpio.c\n+++ b/drivers/bus/fslmc/mc/dpio.c\n@@ -268,6 +268,15 @@ int dpio_reset(struct fsl_mc_io *mc_io,\n \treturn mc_send_command(mc_io, &cmd);\n }\n \n+/**\n+ * dpio_get_attributes() - Retrieve DPIO attributes\n+ * @mc_io:\tPointer to MC portal's I/O object\n+ * @cmd_flags:\tCommand flags; one or more of 'MC_CMD_FLAG_'\n+ * @token:\tToken of DPIO object\n+ * @attr:\tReturned object's attributes\n+ *\n+ * Return:\t'0' on Success; Error code otherwise\n+ */\n int dpio_get_attributes(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\ndiff --git a/drivers/bus/fslmc/mc/fsl_dpbp.h b/drivers/bus/fslmc/mc/fsl_dpbp.h\nindex 111836261..9d405b42c 100644\n--- a/drivers/bus/fslmc/mc/fsl_dpbp.h\n+++ b/drivers/bus/fslmc/mc/fsl_dpbp.h\n@@ -82,6 +82,7 @@ int dpbp_get_attributes(struct fsl_mc_io *mc_io,\n /**\n  * BPSCN write will attempt to allocate into a cache (coherent write)\n  */\n+#define DPBP_NOTIF_OPT_COHERENT_WRITE\t0x00000001\n int dpbp_get_api_version(struct fsl_mc_io *mc_io,\n \t\t\t uint32_t cmd_flags,\n \t\t\t uint16_t *major_ver,\ndiff --git a/drivers/bus/fslmc/mc/fsl_dpbp_cmd.h b/drivers/bus/fslmc/mc/fsl_dpbp_cmd.h\nindex 18402cedf..55c9fc9b4 100644\n--- a/drivers/bus/fslmc/mc/fsl_dpbp_cmd.h\n+++ b/drivers/bus/fslmc/mc/fsl_dpbp_cmd.h\n@@ -9,13 +9,15 @@\n \n /* DPBP Version */\n #define DPBP_VER_MAJOR\t\t\t\t3\n-#define DPBP_VER_MINOR\t\t\t\t3\n+#define DPBP_VER_MINOR\t\t\t\t4\n \n /* Command versioning */\n #define DPBP_CMD_BASE_VERSION\t\t\t1\n+#define DPBP_CMD_VERSION_2\t\t\t2\n #define DPBP_CMD_ID_OFFSET\t\t\t4\n \n #define DPBP_CMD(id)\t((id << DPBP_CMD_ID_OFFSET) | DPBP_CMD_BASE_VERSION)\n+#define DPBP_CMD_V2(id)\t((id << DPBP_CMD_ID_OFFSET) | DPBP_CMD_VERSION_2)\n \n /* Command IDs */\n #define DPBP_CMDID_CLOSE\t\tDPBP_CMD(0x800)\n@@ -37,8 +39,8 @@\n #define DPBP_CMDID_GET_IRQ_STATUS\tDPBP_CMD(0x016)\n #define DPBP_CMDID_CLEAR_IRQ_STATUS\tDPBP_CMD(0x017)\n \n-#define DPBP_CMDID_SET_NOTIFICATIONS\tDPBP_CMD(0x1b0)\n-#define DPBP_CMDID_GET_NOTIFICATIONS\tDPBP_CMD(0x1b1)\n+#define DPBP_CMDID_SET_NOTIFICATIONS\tDPBP_CMD_V2(0x1b0)\n+#define DPBP_CMDID_GET_NOTIFICATIONS\tDPBP_CMD_V2(0x1b1)\n \n #define DPBP_CMDID_GET_FREE_BUFFERS_NUM\tDPBP_CMD(0x1b2)\n \n@@ -68,8 +70,8 @@ struct dpbp_cmd_set_notifications {\n \tuint32_t depletion_exit;\n \tuint32_t surplus_entry;\n \tuint32_t surplus_exit;\n-\tuint16_t options;\n-\tuint16_t pad[3];\n+\tuint32_t options;\n+\tuint16_t pad[2];\n \tuint64_t message_ctx;\n \tuint64_t message_iova;\n };\n@@ -79,8 +81,8 @@ struct dpbp_rsp_get_notifications {\n \tuint32_t depletion_exit;\n \tuint32_t surplus_entry;\n \tuint32_t surplus_exit;\n-\tuint16_t options;\n-\tuint16_t pad[3];\n+\tuint32_t options;\n+\tuint16_t pad[2];\n \tuint64_t message_ctx;\n \tuint64_t message_iova;\n };\ndiff --git a/drivers/bus/fslmc/mc/fsl_dpci.h b/drivers/bus/fslmc/mc/fsl_dpci.h\nindex f69ed3f33..9af9097e5 100644\n--- a/drivers/bus/fslmc/mc/fsl_dpci.h\n+++ b/drivers/bus/fslmc/mc/fsl_dpci.h\n@@ -6,6 +6,8 @@\n #ifndef __FSL_DPCI_H\n #define __FSL_DPCI_H\n \n+#include <fsl_dpopr.h>\n+\n /* Data Path Communication Interface API\n  * Contains initialization APIs and runtime control APIs for DPCI\n  */\n@@ -17,7 +19,7 @@ struct fsl_mc_io;\n /**\n  * Maximum number of Tx/Rx priorities per DPCI object\n  */\n-#define DPCI_PRIO_NUM\t\t2\n+#define DPCI_PRIO_NUM\t\t4\n \n /**\n  * Indicates an invalid frame queue\n@@ -106,6 +108,27 @@ int dpci_get_attributes(struct fsl_mc_io *mc_io,\n \t\t\tuint16_t token,\n \t\t\tstruct dpci_attr *attr);\n \n+/**\n+ * struct dpci_peer_attr - Structure representing the peer DPCI attributes\n+ * @peer_id:\t\tDPCI peer id; if no peer is connected returns (-1)\n+ * @num_of_priorities:\tThe pper's number of receive priorities; determines the\n+ *\t\t\tnumber of transmit priorities for the local DPCI object\n+ */\n+struct dpci_peer_attr {\n+\tint peer_id;\n+\tuint8_t num_of_priorities;\n+};\n+\n+int dpci_get_peer_attributes(struct fsl_mc_io *mc_io,\n+\t\t\t     uint32_t cmd_flags,\n+\t\t\t     uint16_t token,\n+\t\t\t     struct dpci_peer_attr *attr);\n+\n+int dpci_get_link_state(struct fsl_mc_io *mc_io,\n+\t\t\tuint32_t cmd_flags,\n+\t\t\tuint16_t token,\n+\t\t\tint *up);\n+\n /**\n  * enum dpci_dest - DPCI destination types\n  * @DPCI_DEST_NONE:\tUnassigned destination; The queue is set in parked mode\n@@ -153,6 +176,11 @@ struct dpci_dest_cfg {\n  */\n #define DPCI_QUEUE_OPT_DEST\t\t0x00000002\n \n+/**\n+ * Set the queue to hold active mode.\n+ */\n+#define DPCI_QUEUE_OPT_HOLD_ACTIVE\t0x00000004\n+\n /**\n  * struct dpci_rx_queue_cfg - Structure representing RX queue configuration\n  * @options:\tFlags representing the suggested modifications to the queue;\n@@ -163,11 +191,14 @@ struct dpci_dest_cfg {\n  *\t\t'options'\n  * @dest_cfg:\tQueue destination parameters;\n  *\t\tvalid only if 'DPCI_QUEUE_OPT_DEST' is contained in 'options'\n+ * @order_preservation_en: order preservation configuration for the rx queue\n+ * valid only if 'DPCI_QUEUE_OPT_HOLD_ACTIVE' is contained in 'options'\n  */\n struct dpci_rx_queue_cfg {\n \tuint32_t options;\n \tuint64_t user_ctx;\n \tstruct dpci_dest_cfg dest_cfg;\n+\tint order_preservation_en;\n };\n \n int dpci_set_rx_queue(struct fsl_mc_io *mc_io,\n@@ -217,4 +248,18 @@ int dpci_get_api_version(struct fsl_mc_io *mc_io,\n \t\t\t uint16_t *major_ver,\n \t\t\t uint16_t *minor_ver);\n \n+int dpci_set_opr(struct fsl_mc_io *mc_io,\n+\t\t uint32_t cmd_flags,\n+\t\t uint16_t token,\n+\t\t uint8_t index,\n+\t\t uint8_t options,\n+\t\t struct opr_cfg *cfg);\n+\n+int dpci_get_opr(struct fsl_mc_io *mc_io,\n+\t\t uint32_t cmd_flags,\n+\t\t uint16_t token,\n+\t\t uint8_t index,\n+\t\t struct opr_cfg *cfg,\n+\t\t struct opr_qry *qry);\n+\n #endif /* __FSL_DPCI_H */\ndiff --git a/drivers/bus/fslmc/mc/fsl_dpci_cmd.h b/drivers/bus/fslmc/mc/fsl_dpci_cmd.h\nindex 634248ac0..92b85a820 100644\n--- a/drivers/bus/fslmc/mc/fsl_dpci_cmd.h\n+++ b/drivers/bus/fslmc/mc/fsl_dpci_cmd.h\n@@ -8,7 +8,7 @@\n \n /* DPCI Version */\n #define DPCI_VER_MAJOR\t\t\t3\n-#define DPCI_VER_MINOR\t\t\t3\n+#define DPCI_VER_MINOR\t\t\t4\n \n #define DPCI_CMD_BASE_VERSION\t\t1\n #define DPCI_CMD_BASE_VERSION_V2\t2\n@@ -35,6 +35,8 @@\n #define DPCI_CMDID_GET_PEER_ATTR\tDPCI_CMD_V1(0x0e2)\n #define DPCI_CMDID_GET_RX_QUEUE\t\tDPCI_CMD_V1(0x0e3)\n #define DPCI_CMDID_GET_TX_QUEUE\t\tDPCI_CMD_V1(0x0e4)\n+#define DPCI_CMDID_SET_OPR\t\tDPCI_CMD_V1(0x0e5)\n+#define DPCI_CMDID_GET_OPR\t\tDPCI_CMD_V1(0x0e6)\n \n /* Macros for accessing command fields smaller than 1byte */\n #define DPCI_MASK(field)        \\\n@@ -90,6 +92,8 @@ struct dpci_rsp_get_link_state {\n \n #define DPCI_DEST_TYPE_SHIFT\t0\n #define DPCI_DEST_TYPE_SIZE\t4\n+#define DPCI_ORDER_PRESERVATION_SHIFT\t4\n+#define DPCI_ORDER_PRESERVATION_SIZE\t1\n \n struct dpci_cmd_set_rx_queue {\n \tuint32_t dest_id;\n@@ -128,5 +132,61 @@ struct dpci_rsp_get_api_version {\n \tuint16_t minor;\n };\n \n+struct dpci_cmd_set_opr {\n+\tuint16_t pad0;\n+\tuint8_t index;\n+\tuint8_t options;\n+\tuint8_t pad1[7];\n+\tuint8_t oloe;\n+\tuint8_t oeane;\n+\tuint8_t olws;\n+\tuint8_t oa;\n+\tuint8_t oprrws;\n+};\n+\n+struct dpci_cmd_get_opr {\n+\tuint16_t pad;\n+\tuint8_t index;\n+};\n+\n+#define DPCI_RIP_SHIFT\t\t0\n+#define DPCI_RIP_SIZE\t\t1\n+#define DPCI_OPR_ENABLE_SHIFT\t1\n+#define DPCI_OPR_ENABLE_SIZE\t1\n+#define DPCI_TSEQ_NLIS_SHIFT\t0\n+#define DPCI_TSEQ_NLIS_SIZE\t1\n+#define DPCI_HSEQ_NLIS_SHIFT\t0\n+#define DPCI_HSEQ_NLIS_SIZE\t1\n+\n+struct dpci_rsp_get_opr {\n+\tuint64_t pad0;\n+\t/* from LSB: rip:1 enable:1 */\n+\tuint8_t flags;\n+\tuint16_t pad1;\n+\tuint8_t oloe;\n+\tuint8_t oeane;\n+\tuint8_t olws;\n+\tuint8_t oa;\n+\tuint8_t oprrws;\n+\tuint16_t nesn;\n+\tuint16_t pad8;\n+\tuint16_t ndsn;\n+\tuint16_t pad2;\n+\tuint16_t ea_tseq;\n+\t/* only the LSB */\n+\tuint8_t tseq_nlis;\n+\tuint8_t pad3;\n+\tuint16_t ea_hseq;\n+\t/* only the LSB */\n+\tuint8_t hseq_nlis;\n+\tuint8_t pad4;\n+\tuint16_t ea_hptr;\n+\tuint16_t pad5;\n+\tuint16_t ea_tptr;\n+\tuint16_t pad6;\n+\tuint16_t opr_vid;\n+\tuint16_t pad7;\n+\tuint16_t opr_id;\n+};\n #pragma pack(pop)\n #endif /* _FSL_DPCI_CMD_H */\ndiff --git a/drivers/bus/fslmc/mc/fsl_dpcon.h b/drivers/bus/fslmc/mc/fsl_dpcon.h\nindex 36dd5f3c1..fc0430dc1 100644\n--- a/drivers/bus/fslmc/mc/fsl_dpcon.h\n+++ b/drivers/bus/fslmc/mc/fsl_dpcon.h\n@@ -81,6 +81,25 @@ int dpcon_get_attributes(struct fsl_mc_io *mc_io,\n \t\t\t uint16_t token,\n \t\t\t struct dpcon_attr *attr);\n \n+/**\n+ * struct dpcon_notification_cfg - Structure representing notification params\n+ * @dpio_id:\tDPIO object ID; must be configured with a notification channel;\n+ *\t\tto disable notifications set it to 'DPCON_INVALID_DPIO_ID';\n+ * @priority:\tPriority selection within the DPIO channel; valid values\n+ *\t\tare 0-7, depending on the number of priorities in that channel\n+ * @user_ctx:\tUser context value provided with each CDAN message\n+ */\n+struct dpcon_notification_cfg {\n+\tint dpio_id;\n+\tuint8_t priority;\n+\tuint64_t user_ctx;\n+};\n+\n+int dpcon_set_notification(struct fsl_mc_io *mc_io,\n+\t\t\t   uint32_t cmd_flags,\n+\t\t\t   uint16_t token,\n+\t\t\t   struct dpcon_notification_cfg *cfg);\n+\n int dpcon_get_api_version(struct fsl_mc_io *mc_io,\n \t\t\t  uint32_t cmd_flags,\n \t\t\t  uint16_t *major_ver,\ndiff --git a/drivers/bus/fslmc/mc/fsl_dpdmai.h b/drivers/bus/fslmc/mc/fsl_dpdmai.h\nindex 03e46ec14..40469cc13 100644\n--- a/drivers/bus/fslmc/mc/fsl_dpdmai.h\n+++ b/drivers/bus/fslmc/mc/fsl_dpdmai.h\n@@ -39,6 +39,7 @@ int dpdmai_close(struct fsl_mc_io *mc_io,\n  *\tshould be configured with 0\n  */\n struct dpdmai_cfg {\n+\tuint8_t num_queues;\n \tuint8_t priorities[DPDMAI_PRIO_NUM];\n };\n \n@@ -78,6 +79,7 @@ int dpdmai_reset(struct fsl_mc_io *mc_io,\n struct dpdmai_attr {\n \tint id;\n \tuint8_t num_of_priorities;\n+\tuint8_t num_of_queues;\n };\n \n int dpdmai_get_attributes(struct fsl_mc_io *mc_io,\n@@ -149,6 +151,7 @@ struct dpdmai_rx_queue_cfg {\n int dpdmai_set_rx_queue(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\n+\t\t\tuint8_t queue_idx,\n \t\t\tuint8_t priority,\n \t\t\tconst struct dpdmai_rx_queue_cfg *cfg);\n \n@@ -168,6 +171,7 @@ struct dpdmai_rx_queue_attr {\n int dpdmai_get_rx_queue(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\n+\t\t\tuint8_t queue_idx,\n \t\t\tuint8_t priority,\n \t\t\tstruct dpdmai_rx_queue_attr *attr);\n \n@@ -183,6 +187,7 @@ struct dpdmai_tx_queue_attr {\n int dpdmai_get_tx_queue(struct fsl_mc_io *mc_io,\n \t\t\tuint32_t cmd_flags,\n \t\t\tuint16_t token,\n+\t\t\tuint8_t queue_idx,\n \t\t\tuint8_t priority,\n \t\t\tstruct dpdmai_tx_queue_attr *attr);\n \ndiff --git a/drivers/bus/fslmc/mc/fsl_dpdmai_cmd.h b/drivers/bus/fslmc/mc/fsl_dpdmai_cmd.h\nindex 618e19eae..7e122de4e 100644\n--- a/drivers/bus/fslmc/mc/fsl_dpdmai_cmd.h\n+++ b/drivers/bus/fslmc/mc/fsl_dpdmai_cmd.h\n@@ -7,30 +7,32 @@\n \n /* DPDMAI Version */\n #define DPDMAI_VER_MAJOR\t\t3\n-#define DPDMAI_VER_MINOR\t\t2\n+#define DPDMAI_VER_MINOR\t\t3\n \n /* Command versioning */\n #define DPDMAI_CMD_BASE_VERSION\t\t1\n+#define DPDMAI_CMD_VERSION_2\t\t2\n #define DPDMAI_CMD_ID_OFFSET\t\t4\n \n #define DPDMAI_CMD(id)\t((id << DPDMAI_CMD_ID_OFFSET) | DPDMAI_CMD_BASE_VERSION)\n+#define DPDMAI_CMD_V2(id) ((id << DPDMAI_CMD_ID_OFFSET) | DPDMAI_CMD_VERSION_2)\n \n /* Command IDs */\n #define DPDMAI_CMDID_CLOSE\t\tDPDMAI_CMD(0x800)\n #define DPDMAI_CMDID_OPEN\t\tDPDMAI_CMD(0x80E)\n-#define DPDMAI_CMDID_CREATE\t\tDPDMAI_CMD(0x90E)\n+#define DPDMAI_CMDID_CREATE\t\tDPDMAI_CMD_V2(0x90E)\n #define DPDMAI_CMDID_DESTROY\t\tDPDMAI_CMD(0x98E)\n #define DPDMAI_CMDID_GET_API_VERSION\tDPDMAI_CMD(0xa0E)\n \n #define DPDMAI_CMDID_ENABLE\t\tDPDMAI_CMD(0x002)\n #define DPDMAI_CMDID_DISABLE\t\tDPDMAI_CMD(0x003)\n-#define DPDMAI_CMDID_GET_ATTR\t\tDPDMAI_CMD(0x004)\n+#define DPDMAI_CMDID_GET_ATTR\t\tDPDMAI_CMD_V2(0x004)\n #define DPDMAI_CMDID_RESET\t\tDPDMAI_CMD(0x005)\n #define DPDMAI_CMDID_IS_ENABLED\t\tDPDMAI_CMD(0x006)\n \n-#define DPDMAI_CMDID_SET_RX_QUEUE\tDPDMAI_CMD(0x1A0)\n-#define DPDMAI_CMDID_GET_RX_QUEUE\tDPDMAI_CMD(0x1A1)\n-#define DPDMAI_CMDID_GET_TX_QUEUE\tDPDMAI_CMD(0x1A2)\n+#define DPDMAI_CMDID_SET_RX_QUEUE\tDPDMAI_CMD_V2(0x1A0)\n+#define DPDMAI_CMDID_GET_RX_QUEUE\tDPDMAI_CMD_V2(0x1A1)\n+#define DPDMAI_CMDID_GET_TX_QUEUE\tDPDMAI_CMD_V2(0x1A2)\n \n /* Macros for accessing command fields smaller than 1byte */\n #define DPDMAI_MASK(field)        \\\n@@ -47,7 +49,7 @@ struct dpdmai_cmd_open {\n };\n \n struct dpdmai_cmd_create {\n-\tuint8_t pad;\n+\tuint8_t num_queues;\n \tuint8_t priorities[2];\n };\n \n@@ -66,6 +68,7 @@ struct dpdmai_rsp_is_enabled {\n struct dpdmai_rsp_get_attr {\n \tuint32_t id;\n \tuint8_t num_of_priorities;\n+\tuint8_t num_of_queues;\n };\n \n #define DPDMAI_DEST_TYPE_SHIFT\t0\n@@ -77,7 +80,7 @@ struct dpdmai_cmd_set_rx_queue {\n \tuint8_t priority;\n \t/* from LSB: dest_type:4 */\n \tuint8_t dest_type;\n-\tuint8_t pad;\n+\tuint8_t queue_idx;\n \tuint64_t user_ctx;\n \tuint32_t options;\n };\n@@ -85,6 +88,7 @@ struct dpdmai_cmd_set_rx_queue {\n struct dpdmai_cmd_get_queue {\n \tuint8_t pad[5];\n \tuint8_t priority;\n+\tuint8_t queue_idx;\n };\n \n struct dpdmai_rsp_get_rx_queue {\ndiff --git a/drivers/bus/fslmc/mc/fsl_dpmng.h b/drivers/bus/fslmc/mc/fsl_dpmng.h\nindex afaf9b711..8559bef87 100644\n--- a/drivers/bus/fslmc/mc/fsl_dpmng.h\n+++ b/drivers/bus/fslmc/mc/fsl_dpmng.h\n@@ -18,7 +18,7 @@ struct fsl_mc_io;\n  * Management Complex firmware version information\n  */\n #define MC_VER_MAJOR 10\n-#define MC_VER_MINOR 3\n+#define MC_VER_MINOR 10\n \n /**\n  * struct mc_version\ndiff --git a/drivers/bus/fslmc/mc/fsl_dpopr.h b/drivers/bus/fslmc/mc/fsl_dpopr.h\nnew file mode 100644\nindex 000000000..fd727e011\n--- /dev/null\n+++ b/drivers/bus/fslmc/mc/fsl_dpopr.h\n@@ -0,0 +1,85 @@\n+/* SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)\n+ *\n+ * Copyright 2013-2015 Freescale Semiconductor Inc.\n+ * Copyright 2018 NXP\n+ *\n+ */\n+#ifndef __FSL_DPOPR_H_\n+#define __FSL_DPOPR_H_\n+\n+/** @addtogroup dpopr Data Path Order Restoration API\n+ * Contains initialization APIs and runtime APIs for the Order Restoration\n+ * @{\n+ */\n+\n+/** Order Restoration properties */\n+\n+/**\n+ * Create a new Order Point Record option\n+ */\n+#define OPR_OPT_CREATE 0x1\n+/**\n+ * Retire an existing Order Point Record option\n+ */\n+#define OPR_OPT_RETIRE 0x2\n+\n+/**\n+ * struct opr_cfg - Structure representing OPR configuration\n+ * @oprrws: Order point record (OPR) restoration window size (0 to 5)\n+ *\t\t\t0 - Window size is 32 frames.\n+ *\t\t\t1 - Window size is 64 frames.\n+ *\t\t\t2 - Window size is 128 frames.\n+ *\t\t\t3 - Window size is 256 frames.\n+ *\t\t\t4 - Window size is 512 frames.\n+ *\t\t\t5 - Window size is 1024 frames.\n+ *@oa: OPR auto advance NESN window size (0 disabled, 1 enabled)\n+ *@olws: OPR acceptable late arrival window size (0 to 3)\n+ *\t\t\t0 - Disabled. Late arrivals are always rejected.\n+ *\t\t\t1 - Window size is 32 frames.\n+ *\t\t\t2 - Window size is the same as the OPR restoration\n+ *\t\t\twindow size configured in the OPRRWS field.\n+ *\t\t\t3 - Window size is 8192 frames.\n+ *\t\t\tLate arrivals are always accepted.\n+ *@oeane: Order restoration list (ORL) resource exhaustion\n+ *\t\t\tadvance NESN enable (0 disabled, 1 enabled)\n+ *@oloe: OPR loose ordering enable (0 disabled, 1 enabled)\n+ */\n+struct opr_cfg {\n+\tuint8_t oprrws;\n+\tuint8_t oa;\n+\tuint8_t olws;\n+\tuint8_t oeane;\n+\tuint8_t oloe;\n+};\n+\n+/**\n+ * struct opr_qry - Structure representing OPR configuration\n+ * @enable: Enabled state\n+ * @rip: Retirement In Progress\n+ * @ndsn: Next dispensed sequence number\n+ * @nesn: Next expected sequence number\n+ * @ea_hseq: Early arrival head sequence number\n+ * @hseq_nlis: HSEQ not last in sequence\n+ * @ea_tseq: Early arrival tail sequence number\n+ * @tseq_nlis: TSEQ not last in sequence\n+ * @ea_tptr: Early arrival tail pointer\n+ * @ea_hptr: Early arrival head pointer\n+ * @opr_id: Order Point Record ID\n+ * @opr_vid: Order Point Record Virtual ID\n+ */\n+struct opr_qry {\n+\tchar enable;\n+\tchar rip;\n+\tuint16_t ndsn;\n+\tuint16_t nesn;\n+\tuint16_t ea_hseq;\n+\tchar hseq_nlis;\n+\tuint16_t ea_tseq;\n+\tchar tseq_nlis;\n+\tuint16_t ea_tptr;\n+\tuint16_t ea_hptr;\n+\tuint16_t opr_id;\n+\tuint16_t opr_vid;\n+};\n+\n+#endif /* __FSL_DPOPR_H_ */\ndiff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build\nindex 22a56a6fc..54ca92d0c 100644\n--- a/drivers/bus/fslmc/meson.build\n+++ b/drivers/bus/fslmc/meson.build\n@@ -1,6 +1,8 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright 2018 NXP\n \n+version = 2\n+\n if host_machine.system() != 'linux'\n         build = false\n endif\ndiff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map\nindex b4a881704..8717373dd 100644\n--- a/drivers/bus/fslmc/rte_bus_fslmc_version.map\n+++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map\n@@ -117,3 +117,13 @@ DPDK_18.05 {\n \trte_dpaa2_memsegs;\n \n } DPDK_18.02;\n+\n+DPDK_18.11 {\n+\tglobal:\n+\n+\tdpci_get_link_state;\n+\tdpci_get_opr;\n+\tdpci_get_peer_attributes;\n+\tdpci_set_opr;\n+\n+} DPDK_18.05;\ndiff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile\nindex da3d8f84f..a61be49db 100644\n--- a/drivers/crypto/dpaa2_sec/Makefile\n+++ b/drivers/crypto/dpaa2_sec/Makefile\n@@ -41,7 +41,7 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal\n EXPORT_MAP := rte_pmd_dpaa2_sec_version.map\n \n # library version\n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # library source files\n SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec_dpseci.c\ndiff --git a/drivers/crypto/dpaa2_sec/meson.build b/drivers/crypto/dpaa2_sec/meson.build\nindex 01afc5877..8fa4827ed 100644\n--- a/drivers/crypto/dpaa2_sec/meson.build\n+++ b/drivers/crypto/dpaa2_sec/meson.build\n@@ -1,6 +1,8 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright 2018 NXP\n \n+version = 2\n+\n if host_machine.system() != 'linux'\n         build = false\n endif\ndiff --git a/drivers/event/dpaa2/Makefile b/drivers/event/dpaa2/Makefile\nindex 5e1a63200..3f85dd2be 100644\n--- a/drivers/event/dpaa2/Makefile\n+++ b/drivers/event/dpaa2/Makefile\n@@ -27,7 +27,7 @@ CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc\n # versioning export map\n EXPORT_MAP := rte_pmd_dpaa2_event_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # depends on fslmc bus which uses experimental API\n CFLAGS += -DALLOW_EXPERIMENTAL_API\ndiff --git a/drivers/event/dpaa2/meson.build b/drivers/event/dpaa2/meson.build\nindex de7a46155..c46b39e9d 100644\n--- a/drivers/event/dpaa2/meson.build\n+++ b/drivers/event/dpaa2/meson.build\n@@ -1,6 +1,8 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright 2018 NXP\n \n+version = 2\n+\n if host_machine.system() != 'linux'\n \tbuild = false\n endif\ndiff --git a/drivers/mempool/dpaa2/Makefile b/drivers/mempool/dpaa2/Makefile\nindex 9e4c87d79..4996a2cd1 100644\n--- a/drivers/mempool/dpaa2/Makefile\n+++ b/drivers/mempool/dpaa2/Makefile\n@@ -19,7 +19,7 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal\n EXPORT_MAP := rte_mempool_dpaa2_version.map\n \n # Lbrary version\n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # depends on fslmc bus which uses experimental API\n CFLAGS += -DALLOW_EXPERIMENTAL_API\ndiff --git a/drivers/mempool/dpaa2/meson.build b/drivers/mempool/dpaa2/meson.build\nindex 90bab6069..6b6ead617 100644\n--- a/drivers/mempool/dpaa2/meson.build\n+++ b/drivers/mempool/dpaa2/meson.build\n@@ -1,6 +1,8 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright 2018 NXP\n \n+version = 2\n+\n if host_machine.system() != 'linux'\n         build = false\n endif\ndiff --git a/drivers/net/dpaa2/Makefile b/drivers/net/dpaa2/Makefile\nindex 9b0b14331..1d46f7f25 100644\n--- a/drivers/net/dpaa2/Makefile\n+++ b/drivers/net/dpaa2/Makefile\n@@ -25,7 +25,7 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal\n EXPORT_MAP := rte_pmd_dpaa2_version.map\n \n # library version\n-LIBABIVER := 1\n+LIBABIVER := 2\n \n # depends on fslmc bus which uses experimental API\n CFLAGS += -DALLOW_EXPERIMENTAL_API\ndiff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build\nindex 213f0d72f..b34595258 100644\n--- a/drivers/net/dpaa2/meson.build\n+++ b/drivers/net/dpaa2/meson.build\n@@ -1,6 +1,8 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright 2018 NXP\n \n+version = 2\n+\n if host_machine.system() != 'linux'\n         build = false\n endif\ndiff --git a/drivers/raw/dpaa2_cmdif/Makefile b/drivers/raw/dpaa2_cmdif/Makefile\nindex 9b863dda2..0dbe5c821 100644\n--- a/drivers/raw/dpaa2_cmdif/Makefile\n+++ b/drivers/raw/dpaa2_cmdif/Makefile\n@@ -24,7 +24,7 @@ LDLIBS += -lrte_rawdev\n \n EXPORT_MAP := rte_pmd_dpaa2_cmdif_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n #\n # all source are stored in SRCS-y\ndiff --git a/drivers/raw/dpaa2_cmdif/meson.build b/drivers/raw/dpaa2_cmdif/meson.build\nindex 1d146872e..37bb24a1b 100644\n--- a/drivers/raw/dpaa2_cmdif/meson.build\n+++ b/drivers/raw/dpaa2_cmdif/meson.build\n@@ -1,6 +1,8 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright 2018 NXP\n \n+version = 2\n+\n build = dpdk_conf.has('RTE_LIBRTE_DPAA2_MEMPOOL')\n deps += ['rawdev', 'mempool_dpaa2', 'bus_vdev']\n sources = files('dpaa2_cmdif.c')\ndiff --git a/drivers/raw/dpaa2_qdma/Makefile b/drivers/raw/dpaa2_qdma/Makefile\nindex d88809ead..645220772 100644\n--- a/drivers/raw/dpaa2_qdma/Makefile\n+++ b/drivers/raw/dpaa2_qdma/Makefile\n@@ -25,7 +25,7 @@ LDLIBS += -lrte_ring\n \n EXPORT_MAP := rte_pmd_dpaa2_qdma_version.map\n \n-LIBABIVER := 1\n+LIBABIVER := 2\n \n #\n # all source are stored in SRCS-y\ndiff --git a/drivers/raw/dpaa2_qdma/dpaa2_qdma.c b/drivers/raw/dpaa2_qdma/dpaa2_qdma.c\nindex 2787d3028..44503331e 100644\n--- a/drivers/raw/dpaa2_qdma/dpaa2_qdma.c\n+++ b/drivers/raw/dpaa2_qdma/dpaa2_qdma.c\n@@ -805,7 +805,7 @@ dpaa2_dpdmai_dev_uninit(struct rte_rawdev *rawdev)\n \t\tDPAA2_QDMA_ERR(\"dmdmai disable failed\");\n \n \t/* Set up the DQRR storage for Rx */\n-\tfor (i = 0; i < DPDMAI_PRIO_NUM; i++) {\n+\tfor (i = 0; i < dpdmai_dev->num_queues; i++) {\n \t\tstruct dpaa2_queue *rxq = &(dpdmai_dev->rx_queue[i]);\n \n \t\tif (rxq->q_storage) {\n@@ -856,17 +856,17 @@ dpaa2_dpdmai_dev_init(struct rte_rawdev *rawdev, int dpdmai_id)\n \t\t\t       ret);\n \t\tgoto init_err;\n \t}\n-\tdpdmai_dev->num_queues = attr.num_of_priorities;\n+\tdpdmai_dev->num_queues = attr.num_of_queues;\n \n \t/* Set up Rx Queues */\n-\tfor (i = 0; i < attr.num_of_priorities; i++) {\n+\tfor (i = 0; i < dpdmai_dev->num_queues; i++) {\n \t\tstruct dpaa2_queue *rxq;\n \n \t\tmemset(&rx_queue_cfg, 0, sizeof(struct dpdmai_rx_queue_cfg));\n \t\tret = dpdmai_set_rx_queue(&dpdmai_dev->dpdmai,\n \t\t\t\t\t  CMD_PRI_LOW,\n \t\t\t\t\t  dpdmai_dev->token,\n-\t\t\t\t\t  i, &rx_queue_cfg);\n+\t\t\t\t\t  i, 0, &rx_queue_cfg);\n \t\tif (ret) {\n \t\t\tDPAA2_QDMA_ERR(\"Setting Rx queue failed with err: %d\",\n \t\t\t\t       ret);\n@@ -893,9 +893,9 @@ dpaa2_dpdmai_dev_init(struct rte_rawdev *rawdev, int dpdmai_id)\n \t}\n \n \t/* Get Rx and Tx queues FQID's */\n-\tfor (i = 0; i < DPDMAI_PRIO_NUM; i++) {\n+\tfor (i = 0; i < dpdmai_dev->num_queues; i++) {\n \t\tret = dpdmai_get_rx_queue(&dpdmai_dev->dpdmai, CMD_PRI_LOW,\n-\t\t\t\t\t  dpdmai_dev->token, i, &rx_attr);\n+\t\t\t\t\t  dpdmai_dev->token, i, 0, &rx_attr);\n \t\tif (ret) {\n \t\t\tDPAA2_QDMA_ERR(\"Reading device failed with err: %d\",\n \t\t\t\t       ret);\n@@ -904,7 +904,7 @@ dpaa2_dpdmai_dev_init(struct rte_rawdev *rawdev, int dpdmai_id)\n \t\tdpdmai_dev->rx_queue[i].fqid = rx_attr.fqid;\n \n \t\tret = dpdmai_get_tx_queue(&dpdmai_dev->dpdmai, CMD_PRI_LOW,\n-\t\t\t\t\t  dpdmai_dev->token, i, &tx_attr);\n+\t\t\t\t\t  dpdmai_dev->token, i, 0, &tx_attr);\n \t\tif (ret) {\n \t\t\tDPAA2_QDMA_ERR(\"Reading device failed with err: %d\",\n \t\t\t\t       ret);\ndiff --git a/drivers/raw/dpaa2_qdma/dpaa2_qdma.h b/drivers/raw/dpaa2_qdma/dpaa2_qdma.h\nindex c6a057806..0cbe90255 100644\n--- a/drivers/raw/dpaa2_qdma/dpaa2_qdma.h\n+++ b/drivers/raw/dpaa2_qdma/dpaa2_qdma.h\n@@ -11,6 +11,8 @@ struct qdma_io_meta;\n #define DPAA2_QDMA_MAX_FLE 3\n #define DPAA2_QDMA_MAX_SDD 2\n \n+#define DPAA2_DPDMAI_MAX_QUEUES\t8\n+\n /** FLE pool size: 3 Frame list + 2 source/destination descriptor */\n #define QDMA_FLE_POOL_SIZE (sizeof(struct qdma_io_meta) + \\\n \t\tsizeof(struct qbman_fle) * DPAA2_QDMA_MAX_FLE + \\\n@@ -142,9 +144,9 @@ struct dpaa2_dpdmai_dev {\n \t/** Number of queue in this DPDMAI device */\n \tuint8_t num_queues;\n \t/** RX queues */\n-\tstruct dpaa2_queue rx_queue[DPDMAI_PRIO_NUM];\n+\tstruct dpaa2_queue rx_queue[DPAA2_DPDMAI_MAX_QUEUES];\n \t/** TX queues */\n-\tstruct dpaa2_queue tx_queue[DPDMAI_PRIO_NUM];\n+\tstruct dpaa2_queue tx_queue[DPAA2_DPDMAI_MAX_QUEUES];\n };\n \n #endif /* __DPAA2_QDMA_H__ */\ndiff --git a/drivers/raw/dpaa2_qdma/meson.build b/drivers/raw/dpaa2_qdma/meson.build\nindex b6a081f11..2a4b69c16 100644\n--- a/drivers/raw/dpaa2_qdma/meson.build\n+++ b/drivers/raw/dpaa2_qdma/meson.build\n@@ -1,6 +1,8 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright 2018 NXP\n \n+version = 2\n+\n build = dpdk_conf.has('RTE_LIBRTE_DPAA2_MEMPOOL')\n deps += ['rawdev', 'mempool_dpaa2', 'ring']\n sources = files('dpaa2_qdma.c')\n",
    "prefixes": [
        "v2",
        "03/15"
    ]
}