get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 77346,
    "url": "http://patches.dpdk.org/api/patches/77346/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200911075911.3214-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": "<20200911075911.3214-3-sachin.saxena@oss.nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200911075911.3214-3-sachin.saxena@oss.nxp.com",
    "date": "2020-09-11T07:59:05",
    "name": "[v1,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/20200911075911.3214-3-sachin.saxena@oss.nxp.com/mbox/",
    "series": [
        {
            "id": 12135,
            "url": "http://patches.dpdk.org/api/series/12135/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=12135",
            "date": "2020-09-11T07:59:03",
            "name": "enhancements and fixes for nxp dpaax platform",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/12135/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/77346/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/77346/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 53FD7A04B5;\n\tFri, 11 Sep 2020 09:59:45 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id B857D1C0D9;\n\tFri, 11 Sep 2020 09:59:31 +0200 (CEST)",
            "from EUR05-DB8-obe.outbound.protection.outlook.com\n (mail-db8eur05on2041.outbound.protection.outlook.com [40.107.20.41])\n by dpdk.org (Postfix) with ESMTP id C62921C0CA\n for <dev@dpdk.org>; Fri, 11 Sep 2020 09:59:29 +0200 (CEST)",
            "from VI1PR04MB5837.eurprd04.prod.outlook.com (2603:10a6:803:ec::28)\n by VI1PR04MB4878.eurprd04.prod.outlook.com (2603:10a6:803:5b::24)\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 07:59:28 +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 07:59:28 +0000",
            "from lsv03161.swis.in-blr01.nxp.com (14.142.151.118) by\n SG2PR06CA0136.apcprd06.prod.outlook.com (2603:1096:1:1f::14) 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 07:59:27 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=JECn08ttsrEUMB6BMQD+pLMu2zopZ2ZVXqtWoeo9nW2oAmYm2FvMXKMML1Vb7f4xqYPvRKoukeIFPIvMode4IzdtYhlqeFlMBbpRA7YMPkz0yzKm8ClHVKQ9dfHyrLNXw6guTeLiPLpzmwOsLZ+HUBt11bHtH5bTp+cpzmwO577EzPYNuWl03U0Yir6l/rwPXGyNFGDONfd/bAMTvRPN1QMbTbbWRjKX1f20dILgjjSrc++ByVthklE2M7QfnxgR+VgD7ORINJRN3x9GxUGmp11Bv0apBxc9IlGiQue3V3bckJy6y74tLWiM2B7hlRfjR5gCKUTRPcotHw6y46Ls/A==",
        "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=DTRk317NzV7Kx+Afg1SW59Cg2+OeJHWiOPDsUMAsGgvDY53Xj8Pyfzuy908mPjzzB4KqYcQuqWc9i51DzWwFJEH+pyhC0F84o0u2PNPp1kFdAIS6nxQyMXtNnWOCv8jQ42AkdzRnwMPBgEHYZ0a4c/jat6TGEGVvfHh2jZdtECasZYX5y8gMh2FUjjT5KRHktJosO0qPm+IClbGIIqHPNe5ti/WN4t/CeZMlSeFP476TySfvFYQYlrOtVRZmKL7ahvYDqLoQneAFbV/lZ4Vz2t68bMAG0ogWNw70F4dP1v8TMYcGP2B5Ocu7W9/qqjZ+xlj3W1i9v3WPcE/9oqW7DQ==",
        "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=lLrKQb+HGxuZNUWtsLhW6Oy//ej1DovpiQHRROcb8xA4WfZ0g14gLLqYJxdfnXh1yni/Nq4CCVPW77KMuOZ9ALbT/nZq4+d9rOLh8QY6e88eT9fyAv/ef9Q4jc3TJB3EzP0zvcB8MOHtYrPdBMcfQoEL2DPCebqAWHQHchMDAeU=",
        "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 13:29:05 +0530",
        "Message-Id": "<20200911075911.3214-3-sachin.saxena@oss.nxp.com>",
        "X-Mailer": [
            "git-send-email 2.28.0",
            "git-send-email 2.28.0"
        ],
        "In-Reply-To": "<20200911075911.3214-1-sachin.saxena@oss.nxp.com>",
        "References": "<20200911075911.3214-1-sachin.saxena@oss.nxp.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "SG2PR06CA0136.apcprd06.prod.outlook.com\n (2603:1096:1:1f::14) 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": "bd976fdf-b361-4a9c-5a01-08d856289baa",
        "X-MS-TrafficTypeDiagnostic": "VI1PR04MB4878:",
        "X-MS-Exchange-SharedMailbox-RoutingAgent-Processed": "True",
        "X-MS-Exchange-Transport-Forked": "True",
        "X-Microsoft-Antispam-PRVS": "\n <VI1PR04MB4878EAB76B56AFBF3F77F8EFA2240@VI1PR04MB4878.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 9IfDUU6Ul7gvSsOtbhvFEBsVf28qepCHr45zaJp1407TIMScQuIgdmkCcwOHLhnYyuBDY8RpYRLFW0GjCO4F55gf3aBd9iwHWnN+FBN8Tbe6/OVTJFFiiYHAqeTbReou002H7TYZ6ccubQb0kgrARhJWFMJM7I+ABGzmR2dancd8VI9MMQypU2pOAlvcZnrEllQtKBI2lr2XcKQTANxey/pyMYwst+0R3HihVDFqa9KjaXxJ5rXaV62hrOahY+K5TVc5vycXooJJDK6k8mkuNK1rrtOkteZ6H7qHbIyNZyzVgYtSfVmOV6HktA3q7l5UDjHgH5oGNqVJmXVgu2RaThTIMdswQgtMYEdbpKJMygI8weEl05goJtcP0stqL75L",
        "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)(376002)(136003)(346002)(366004)(39860400002)(396003)(2906002)(8676002)(66946007)(66476007)(66556008)(956004)(2616005)(5660300002)(6506007)(6512007)(4326008)(52116002)(8936002)(186003)(86362001)(478600001)(16526019)(26005)(1076003)(6666004)(1006002)(83380400001)(316002)(6486002)(55236004)(110426005);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData": "\n Xr9/OcfsHY3ma6cQETsNd95oMGOHnBS9mUGJHu08zYSYSfPQcoVL2gMwYeE7cPKLN3lQqYGmaOFMq1zq//DDVQP0rwd3J1GKl8ivvdaJuJCE+KzKjgScB8prWqv34vjVQR63tbsV+juSLUhZ+jmICR51Z7YvxnnAO5tvRyPkjg6wN6aWK5cw13H9Lo2pUK4MoqrU6RS1TBFkNoinkw+FnODOAMZ1iQuZwPyw2QrhgyOT1iJPMJRkhLpiha/0hGZvWYdOEXwwoIoLQkzL6PYqRU+0PPpruvNHbYftDTbFakz0v2+Qlgr1tXXDWDCTMSL0yBd2n2OnYo+04DpnCYG132V3iSThK/aLjw97SrTU9s4cssNpZ+nqlZWgKGngQeRZS5YdILBUxAvedlbqF69aHvS++aWmqB5D7CNchN2fVpAQS50FnYhlBZzbKKn3726nBUcqpArfBBGKopL147XgswQW5+dZY3jhr6XfJPMm3RLnJaGSQYrfedRRutQMcvhYAJyEsM98iIrmjJN8g/jsXxgJHU7lQhg2HnKtVewiH/eJsBn/0WlvCX2IhFKyoXNndWjF8snm0GOwdwyUwvCz0+2jvHl9w5TVCspiuvSG0j9zhOwsnNru89Ibstrw5YlSLF5i49M11wcYU+f5zQjSnw==",
        "X-OriginatorOrg": "oss.nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n bd976fdf-b361-4a9c-5a01-08d856289baa",
        "X-MS-Exchange-CrossTenant-AuthSource": "VI1PR04MB5837.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "11 Sep 2020 07:59:28.7685 (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 Adv34oBlIh8lU5GdvVDSuwLRH4BLlGNMz8Zu2IaccyOWjHinUmsnw7IDby2z0PGGF7vJZCsByLdrf00P0U5fQw==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR04MB4878",
        "Subject": "[dpdk-dev] [PATCH v1 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": [
        "v1",
        "2/8"
    ]
}