get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 77362,
    "url": "http://patches.dpdk.org/api/patches/77362/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200911083520.24020-3-sachin.saxena@oss.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": "<20200911083520.24020-3-sachin.saxena@oss.nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200911083520.24020-3-sachin.saxena@oss.nxp.com",
    "date": "2020-09-11T08:35:14",
    "name": "[v2,2/8] bus/fslmc: run secondary debug app without blocklist devices",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "535179902cc9601c037e3923a5b163fb8bfddba4",
    "submitter": {
        "id": 1782,
        "url": "http://patches.dpdk.org/api/people/1782/?format=api",
        "name": "Sachin Saxena (OSS)",
        "email": "sachin.saxena@oss.nxp.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200911083520.24020-3-sachin.saxena@oss.nxp.com/mbox/",
    "series": [
        {
            "id": 12138,
            "url": "http://patches.dpdk.org/api/series/12138/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12138",
            "date": "2020-09-11T08:35:12",
            "name": "enhancement and fixes for nxp dpaax platform",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/12138/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/77362/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/77362/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 76CA4A04B5;\n\tFri, 11 Sep 2020 10:35:55 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5BC281C116;\n\tFri, 11 Sep 2020 10:35:40 +0200 (CEST)",
            "from EUR03-DB5-obe.outbound.protection.outlook.com\n (mail-eopbgr40070.outbound.protection.outlook.com [40.107.4.70])\n by dpdk.org (Postfix) with ESMTP id B2E0A1C0D8\n for <dev@dpdk.org>; Fri, 11 Sep 2020 10:35:37 +0200 (CEST)",
            "from VI1PR04MB5837.eurprd04.prod.outlook.com (2603:10a6:803:ec::28)\n by VI1PR04MB6973.eurprd04.prod.outlook.com (2603:10a6:803:13d::9)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3370.16; Fri, 11 Sep\n 2020 08:35:37 +0000",
            "from VI1PR04MB5837.eurprd04.prod.outlook.com\n ([fe80::cc01:9fe2:2544:8a4b]) by VI1PR04MB5837.eurprd04.prod.outlook.com\n ([fe80::cc01:9fe2:2544:8a4b%7]) with mapi id 15.20.3348.019; Fri, 11 Sep 2020\n 08:35:36 +0000",
            "from lsv03161.swis.in-blr01.nxp.com (14.142.151.118) by\n SG2PR04CA0178.apcprd04.prod.outlook.com (2603:1096:4:14::16) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id\n 15.20.3370.16 via Frontend Transport; Fri, 11 Sep 2020 08:35:35 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=bwI3dIDhcwnOjOcCdgpMlRVSBh2MCJ/AvtrUjEihYSJriaBP197XpjEaL6vH1BrqNnicwuOvk/kTq0nG57T6elQZ6BXSWPcUCwD4833q/fPvoJyrmP8D32yPWn40peERRlfWLmAzDsY3DbapmKJUf8ChaGmye230Nnr8KG2U+Q5EXt4YDyKcUEzaNPSD/infUQAmJ4d1pGV7ebiexmp9lDw8/CsTn5qc7gy8wyU8shqJYNSIORdlOcFQOfG+Iws2xbd2L3S06pKPGRVlq6vw38zCfMoRqnHoZaj7npxwHIIY5z0WyBHnfZ05PYJ+a1XgfMjQqbf5IfT9RMoIQ5lF2A==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=DhYf9P/m+pT4CvVKKftzKE/DGU8A+VbjMrbRkHzFVrU=;\n b=cdt/2tuI2hr1PzDF3E85IURJgh9pd3LXLjJdbBlC6kvlZ37xRlBiSKMc3wkvcVG/fZvwA8XmmoYTwKIgv+HwQvYzDaDuwsHUdwdojfpCs1PyEQUTSsjWnNzDkDRuJ68Hkl72rE8aQPZ2KQDyH6cr/0Elj74iS87EOLsxwDFioAGLaNIPIBJTMqsTH7+oYKMRZ/wmuI/zCtwQmKHleJK8SZWgKeh7L4rx42DX8p91JIBSl3CqXNnG1Qj47E55gRP/tz2en93ONprfFIANZWuaIX8eAZJlqA7ZTW6eGjc6TjNHZLsjsGgTh2CUMfqvBDIDiwskRqyzdojMP+64Hy84Lg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;\n dkim=pass header.d=oss.nxp.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;\n s=selector2-NXP1-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=DhYf9P/m+pT4CvVKKftzKE/DGU8A+VbjMrbRkHzFVrU=;\n b=iivzqs/zlNsnEWDEXBAQlcnq6jJBPLdUXS5/xwPJ9JTyvr9IqHiQ7+Cc/CzU6W89+pdBTecxr8jGyuPeO2htmdruUIMNsPWvy9TJYDHaFlEtj9dz6nvXsSdbfERrOBmFVyCfM5d+LvJBlvT8wfdLTk9XYyB4C9s2OSHmtNFV/xg=",
        "Authentication-Results": "dpdk.org; dkim=none (message not signed)\n header.d=none;dpdk.org; dmarc=none action=none header.from=oss.nxp.com;",
        "From": "\"Sachin Saxena (OSS)\" <sachin.saxena@oss.nxp.com>",
        "To": "dev@dpdk.org,\n\tferruh.yigit@intel.com",
        "Cc": "Sachin Saxena <sachin.saxena@oss.nxp.com>",
        "Date": "Fri, 11 Sep 2020 14:05:14 +0530",
        "Message-Id": "<20200911083520.24020-3-sachin.saxena@oss.nxp.com>",
        "X-Mailer": [
            "git-send-email 2.28.0",
            "git-send-email 2.28.0"
        ],
        "In-Reply-To": "<20200911083520.24020-1-sachin.saxena@oss.nxp.com>",
        "References": "<20200911083520.24020-1-sachin.saxena@oss.nxp.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "SG2PR04CA0178.apcprd04.prod.outlook.com\n (2603:1096:4:14::16) To VI1PR04MB5837.eurprd04.prod.outlook.com\n (2603:10a6:803:ec::28)",
        "MIME-Version": "1.0",
        "X-MS-Exchange-MessageSentRepresentingType": "1",
        "X-Originating-IP": "[14.142.151.118]",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-MS-Office365-Filtering-Correlation-Id": "a29e05da-fdbe-44b8-aeeb-08d8562da7ef",
        "X-MS-TrafficTypeDiagnostic": "VI1PR04MB6973:",
        "X-MS-Exchange-SharedMailbox-RoutingAgent-Processed": "True",
        "X-MS-Exchange-Transport-Forked": "True",
        "X-Microsoft-Antispam-PRVS": "\n <VI1PR04MB69732C9D08B3CE141026626AA2240@VI1PR04MB6973.eurprd04.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:2582;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n gG5V5QGDq5dNPtTg5qne3jiQQdXiYa2u2jo1GEA1+ctWfaoAmAPP5O9f7rbVPrkhigTNmzpxXosR3lzVCz2N4dDUBUA+ej59t8zdDVgwUQr6ItRcZkPm91k9aaGWLKvrkZbTX37yWZ/mqP/j9B45HiIDh01UVdfDVcLAZeGrpuLiNj+ljx/5seO19It2FBacKOM0bZ3NTXpR9XImxpyONh0laztobZdM6GjIN/vVs8PoEZvWqeYXTnFggjdyIlswQZh+yvxxkffXmHdmtB6QoqNNQviCJgj46PFZnUa+xaIwhflBoqdpS5lmHvDT9DgiOcsLyG3tcol3Ysz98b5oUtAE1UTFgcVPsMxl4xOMEvNmghf9l8j+KcGPOUWxAkN9",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:VI1PR04MB5837.eurprd04.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(4636009)(346002)(376002)(136003)(396003)(39860400002)(366004)(52116002)(86362001)(4326008)(1076003)(66556008)(66946007)(2906002)(66476007)(8936002)(5660300002)(83380400001)(316002)(8676002)(2616005)(956004)(6512007)(16526019)(186003)(6486002)(1006002)(6666004)(26005)(6506007)(478600001)(55236004)(110426005);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData": "\n 8p71zFI43KbV5TNmnSAezzBgEWKC2a5YC1Fv/cgpwQ+kknc6VDv+QF0bxrC3DpycwgiMvwNqOA4ToPfdjymuhJUIgFuFhlkq3yFRJ59QFMErsXkdEM4e0AZ+BRIXmwIkool8rkJfLM7GzkwWHDlfBJnJqLwRlyj8lnfihakRwjQjEnS37KfliTmNMt43sMKDPT93EFEsXr/nIdnA0++C17evDFTv3Gt2cLr0w2ucouVsxgozb9dcat5dnj0ySinbJBk2TdORxYfDQHvrcUOxEz6Feh/A0QZnF8AzHI/yd1s8jiBpXiSgZdyGikMRqKqHcqOkwwgaUDSkRAwdUOIpaGZyAOb01BpL2iC/N2itALgVVcYvVSyDRkqTHkgmaRFVuS2q6T1ttYQHyvk4NU8QXsVIwtW9hJnzFs7sMtvlF71E4SjMJTc1bAHmNNrRE4jxyCYkAuLX+5kHsE09xudm1dmrjzM4p9W7POu026rMakD0bqRk5YhSAnXvQkR/Mk9Kooy0E1cgTQRO98P0YpIuGpiwZoO9hglynuCI1H+s8AqkZfzhisHR4dorYffmT6s5reJ+IkUId2vwM0uZDxabyRQbRFMxS3tDvZ13SkSb1maLqDDbDVIg6i1ZGVa/cT7bLAqOHAhhU8twr0gWvaQOSQ==",
        "X-OriginatorOrg": "oss.nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n a29e05da-fdbe-44b8-aeeb-08d8562da7ef",
        "X-MS-Exchange-CrossTenant-AuthSource": "VI1PR04MB5837.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "11 Sep 2020 08:35:36.8342 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n XHIPjbUnLfQ3dC8t6ttE/TtFvSs3aVc91uBzq7P9H0kGjjmKYViMonbmNhwpDOWRPj/wW6Nm5GHFxjD1M6SFDg==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR04MB6973",
        "Subject": "[dpdk-dev] [PATCH v2 2/8] bus/fslmc: run secondary debug app\n\twithout blocklist devices",
        "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 <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Rohit Raj <rohit.raj@nxp.com>\n\ndpaa2 hw impose limits on some HW access devices like DPMCP(Mnagement\ncontrol Port) and DPIO (HW portal). This causes issue in their usages in\nshared uses in case of multi-process applications. It can overcome by using\nallowlist/blocklist in primary and secondary applications.\nHowever it imposes restrictions on standard debugging apps like\ndpdk-procinfo, which can be used to debug any existing application.\n\nThis patch introduces reserving extra DPMCP and DPIO to be used by\nsecondary process if devices are not blocked previously in primary\napplication.\nThis leaves the last DPMCP and DPIO for the secondary process usages.\n\nSigned-off-by: Rohit Raj <rohit.raj@nxp.com>\nReviewed-by: Sachin Saxena <sachin.saxena@oss.nxp.com>\n---\n drivers/bus/fslmc/fslmc_vfio.c | 66 +++++++++++++++++++++++++++++++---\n 1 file changed, 61 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c\nindex 9134ec552..6dd797632 100644\n--- a/drivers/bus/fslmc/fslmc_vfio.c\n+++ b/drivers/bus/fslmc/fslmc_vfio.c\n@@ -802,10 +802,29 @@ fslmc_vfio_process_group(void)\n \tint ret;\n \tint found_mportal = 0;\n \tstruct rte_dpaa2_device *dev, *dev_temp;\n+\tbool is_dpmcp_in_blocklist = false, is_dpio_in_blocklist = false;\n+\tint dpmcp_count = 0, dpio_count = 0, current_device;\n+\n+\tTAILQ_FOREACH_SAFE(dev, &rte_fslmc_bus.device_list, next, dev_temp) {\n+\t\tif (dev->dev_type == DPAA2_MPORTAL) {\n+\t\t\tdpmcp_count++;\n+\t\t\tif (dev->device.devargs &&\n+\t\t\t    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)\n+\t\t\t\tis_dpmcp_in_blocklist = true;\n+\t\t}\n+\t\tif (dev->dev_type == DPAA2_IO) {\n+\t\t\tdpio_count++;\n+\t\t\tif (dev->device.devargs &&\n+\t\t\t    dev->device.devargs->policy == RTE_DEV_BLACKLISTED)\n+\t\t\t\tis_dpmcp_in_blocklist = true;\n+\t\t}\n+\t}\n \n \t/* Search the MCP as that should be initialized first. */\n+\tcurrent_device = 0;\n \tTAILQ_FOREACH_SAFE(dev, &rte_fslmc_bus.device_list, next, dev_temp) {\n \t\tif (dev->dev_type == DPAA2_MPORTAL) {\n+\t\t\tcurrent_device++;\n \t\t\tif (dev->device.devargs &&\n \t\t\t    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {\n \t\t\t\tDPAA2_BUS_LOG(DEBUG, \"%s Blacklisted, skipping\",\n@@ -815,13 +834,24 @@ fslmc_vfio_process_group(void)\n \t\t\t\tcontinue;\n \t\t\t}\n \n-\t\t\tret = fslmc_process_mcp(dev);\n-\t\t\tif (ret) {\n-\t\t\t\tDPAA2_BUS_ERR(\"Unable to map MC Portal\");\n-\t\t\t\treturn -1;\n+\t\t\tif (rte_eal_process_type() == RTE_PROC_SECONDARY &&\n+\t\t\t    !is_dpmcp_in_blocklist) {\n+\t\t\t\tif (dpmcp_count == 1 ||\n+\t\t\t\t    current_device != dpmcp_count) {\n+\t\t\t\t\tTAILQ_REMOVE(&rte_fslmc_bus.device_list,\n+\t\t\t\t\t\t     dev, next);\n+\t\t\t\t\tcontinue;\n+\t\t\t\t}\n \t\t\t}\n-\t\t\tif (!found_mportal)\n+\n+\t\t\tif (!found_mportal) {\n+\t\t\t\tret = fslmc_process_mcp(dev);\n+\t\t\t\tif (ret) {\n+\t\t\t\t\tDPAA2_BUS_ERR(\"Unable to map MC Portal\");\n+\t\t\t\t\treturn -1;\n+\t\t\t\t}\n \t\t\t\tfound_mportal = 1;\n+\t\t\t}\n \n \t\t\tTAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);\n \t\t\tfree(dev);\n@@ -838,7 +868,10 @@ fslmc_vfio_process_group(void)\n \t\treturn -1;\n \t}\n \n+\tcurrent_device = 0;\n \tTAILQ_FOREACH_SAFE(dev, &rte_fslmc_bus.device_list, next, dev_temp) {\n+\t\tif (dev->dev_type == DPAA2_IO)\n+\t\t\tcurrent_device++;\n \t\tif (dev->device.devargs &&\n \t\t    dev->device.devargs->policy == RTE_DEV_BLACKLISTED) {\n \t\t\tDPAA2_BUS_LOG(DEBUG, \"%s Blacklisted, skipping\",\n@@ -846,6 +879,14 @@ fslmc_vfio_process_group(void)\n \t\t\tTAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);\n \t\t\tcontinue;\n \t\t}\n+\t\tif (rte_eal_process_type() == RTE_PROC_SECONDARY &&\n+\t\t    dev->dev_type != DPAA2_ETH &&\n+\t\t    dev->dev_type != DPAA2_CRYPTO &&\n+\t\t    dev->dev_type != DPAA2_QDMA &&\n+\t\t    dev->dev_type != DPAA2_IO) {\n+\t\t\tTAILQ_REMOVE(&rte_fslmc_bus.device_list, dev, next);\n+\t\t\tcontinue;\n+\t\t}\n \t\tswitch (dev->dev_type) {\n \t\tcase DPAA2_ETH:\n \t\tcase DPAA2_CRYPTO:\n@@ -882,6 +923,21 @@ fslmc_vfio_process_group(void)\n \n \t\t\tbreak;\n \t\tcase DPAA2_IO:\n+\t\t\tif (!is_dpio_in_blocklist && dpio_count > 1) {\n+\t\t\t\tif (rte_eal_process_type() == RTE_PROC_SECONDARY\n+\t\t\t\t    && current_device != dpio_count) {\n+\t\t\t\t\tTAILQ_REMOVE(&rte_fslmc_bus.device_list,\n+\t\t\t\t\t\t     dev, next);\n+\t\t\t\t\tbreak;\n+\t\t\t\t}\n+\t\t\t\tif (rte_eal_process_type() == RTE_PROC_PRIMARY\n+\t\t\t\t    && current_device == dpio_count) {\n+\t\t\t\t\tTAILQ_REMOVE(&rte_fslmc_bus.device_list,\n+\t\t\t\t\t\t     dev, next);\n+\t\t\t\t\tbreak;\n+\t\t\t\t}\n+\t\t\t}\n+\n \t\t\tret = fslmc_process_iodevices(dev);\n \t\t\tif (ret) {\n \t\t\t\tDPAA2_BUS_DEBUG(\"Dev (%s) init failed\",\n",
    "prefixes": [
        "v2",
        "2/8"
    ]
}