get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 28102,
    "url": "https://patches.dpdk.org/api/patches/28102/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20170831032618.7120-3-santosh.shukla@caviumnetworks.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<20170831032618.7120-3-santosh.shukla@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20170831032618.7120-3-santosh.shukla@caviumnetworks.com",
    "date": "2017-08-31T03:26:11",
    "name": "[dpdk-dev,v7,2/9] eal/pci: get iommu class",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "65c8392c8e8344419e0ae729c76b35dc5b3e7099",
    "submitter": {
        "id": 480,
        "url": "https://patches.dpdk.org/api/people/480/?format=api",
        "name": "Santosh Shukla",
        "email": "santosh.shukla@caviumnetworks.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20170831032618.7120-3-santosh.shukla@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/28102/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/28102/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 619203255;\n\tThu, 31 Aug 2017 05:27:10 +0200 (CEST)",
            "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0049.outbound.protection.outlook.com [104.47.36.49])\n\tby dpdk.org (Postfix) with ESMTP id 1D06E2C00\n\tfor <dev@dpdk.org>; Thu, 31 Aug 2017 05:27:07 +0200 (CEST)",
            "from localhost.localdomain (111.93.218.67) by\n\tBN6PR07MB3089.namprd07.prod.outlook.com (10.172.105.7) with Microsoft\n\tSMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.1.1385.9; Thu, 31 Aug 2017 03:27:02 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=vWiMvD1NUzFxE8SHkDvxUN3Z1vJPWlaBEpT7UvZWIlY=;\n\tb=c0lqe4uXuVRgse1svyn9jxFBzHXoByLAUTgWRTSOeijRKEZXyx3g4R/37uYQ+Hh2Rqbk3n6AXcoCIJ/EEFg5MJGi99FUtEYCEc6zq8oow2M54v4QHHDhfUAq9L0OO6NnzXaPL8tpeI2HlxJc9U+T33BgLubrmaDee/saeu6E+ZM=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Santosh.Shukla@cavium.com; ",
        "From": "Santosh Shukla <santosh.shukla@caviumnetworks.com>",
        "To": "dev@dpdk.org",
        "Cc": "thomas@monjalon.net, jerin.jacob@caviumnetworks.com,\n\themant.agrawal@nxp.com, olivier.matz@6wind.com,\n\tmaxime.coquelin@redhat.com, \n\tsergio.gonzalez.monroy@intel.com, bruce.richardson@intel.com,\n\tshreyansh.jain@nxp.com, gaetan.rivet@6wind.com,\n\tanatoly.burakov@intel.com, \n\tstephen@networkplumber.org, aconole@redhat.com,\n\tSantosh Shukla <santosh.shukla@caviumnetworks.com>",
        "Date": "Thu, 31 Aug 2017 03:26:11 +0000",
        "Message-Id": "<20170831032618.7120-3-santosh.shukla@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.13.0",
        "In-Reply-To": "<20170831032618.7120-1-santosh.shukla@caviumnetworks.com>",
        "References": "<20170814161059.6684-1-santosh.shukla@caviumnetworks.com>\n\t<20170831032618.7120-1-santosh.shukla@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[111.93.218.67]",
        "X-ClientProxiedBy": "PN1PR01CA0118.INDPRD01.PROD.OUTLOOK.COM (10.174.144.34) To\n\tBN6PR07MB3089.namprd07.prod.outlook.com (10.172.105.7)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "9b46c25e-fd6b-4094-8d94-08d4f02027bb",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:BN6PR07MB3089; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN6PR07MB3089;\n\t3:dNgksmM6PgqEZX02lq/JmVenih48Fk9iUasbwdcCJLAfazVJP8im/jPGa0ijFeDCPPKN2tY7l0Vk7hIuv8m3OzXx4wpRCaIaRdSr6SecU112VoXRB1sfjFEA+tbPuOIvQZLmKBfE2UEpxfb3wyphZdVERrAKbMWeaZUMFeShX2yrXHBb+DhikjjemrdFggB+XhAvd7q3rrm1gJ1xdsDHFbFMcd30fX2Nu/2dvpZ9Edgn1gi3mr80pzzmjFEnUbBo;\n\t25:UQV2atTdBBEMC5nAj9NT/6mQ/IxQJPoOV3kDUtoVgGCFL8x8QwG7D2laAPoMTwNVfhsy+DVzSGowJPoxZsgDUYBf4tjYSp6Mhg3bJUT0Sqc2uyjPyLQX9fy1GcD3Z3zh9S2DxHgTXNX68USXCC0+csNeFWPU6MdxIjMhYCjUaZRlZYpwLFR8Mavll6c5WfaWcZAyZbRPMHxuzl2bd6S5viG94sSmvyG2kjVXxSWMkRfC9PfztWF4zF8+RyDOumCY/iGAsCTkldN5PJMjgmXNmbApaZvbJNJEBrEBf7Qhg0UUrY2UT3EMMbvpCnLQ5gh1yPvMKzAurWwZlUPTZPGL+g==;\n\t31:JK9lwnY0mIIm3nYuHzsOPCrj/RNij0uWJafuKdz6ni8eHDLtpvN8KplbR0Xiy4bKG9WR8izmk7WfkzftXwyx0driaNqrfJC5n8Mi8OeaWElGCgcH0v53rKSRvK3YtBrXB0Zx8fFJ3BNo0xTc0reuFdF8/Hfdn6efvMD+xFA5kRcAoX1+/6B4ha6ePx5lO2XYepezkfAwHnFISloqOVqqZrTTvftTZJAD54rHi5gGtwY=",
            "1; BN6PR07MB3089;\n\t20:HBrFUIM8/pASLw7pRRWKhiu9Ob1Iu4ZphvFyiPLv3QirRUmroJDamsjHGJi/Ke97t+XwsqT7OisP6TTnEkwBhwjfmgx0gCxnAmxWmbJAsaL7yIkMS62sUoYQhXmgdRehHPT7pr8Pxj9i3zKtogDRk4ZSlhAKL7oxVjI2p00uhcYclI4kRQ7rf9NIusxYfHvsr0BxswMoearxf6ML8pxhyRXfmu6RF5k+hGg/26GSJtIpJIbaPl1uRTBImv7gKedLG2FLBn0vYWTQvXE2EavgAufLgtfuUFo9FL/COS5wAj8zXXihPZuD+3/Mhn08JuvK8+ItJynjUpzmh6ITkCs9NaDzgnURL+qvi5KTRyusEkSKpBUWFjPM6YaPhv7BCtKPNOf9ny1d/EJ/7SaH+NALgISAsvRGCUQvEuVqwHxR7gLZLWVonI6UQb0xYjUl0CJHSe/6HCJURknbMN5g8TfY08c60CiqPft9p3qKEAToU3/is8yA5XoWgQrrWp8lYINVQonK6shszl1JyDrETq/rqSd4tyviuYix2HIEQ8v/nPOnqH0xv4wwXM1DRIhh6zAtUIsMEJ4YlgRwUORuOKdmR+jBYa9tFlb8mH9PL3EHFJ8=;\n\t4:qAUDAJS2vLX5GlgkELaaF4+2Hg/MvzrnbjmG6VoVj6/mxoHukQoFPDM+4JxRxENKlu3Bgx6iNuxyie6oOtCjUAz9o9erxhhAX9wknQXXKnzFfOtjmucaNarPxu6hnGVHASt+saNZFUwsLrNVL+KIpDSoul2EBreKkBoy7W7iOiSkk/QPWZvSumN5mn1MkY2ma8vcU6dQsC2GyZKMat+Yp5S3F8YTFqhP4you/dCWQ2d1bPCtQdGWpJSeuFDKDVSa",
            "=?us-ascii?Q?1; BN6PR07MB3089;\n\t23:MnBgdiQpiA/U7afRbqs8I3A9oIKdlLw65valyqb5j?=\n\tKpdQSlMTGlHf4FBKc5zhGCNXsaLBZxaYkLXyPFXTAuFg/CMHZzbgK0dVVrjQi0Nr6NNBoAaYosCm6uLslkqn6QIGwBC17Kh7VBBOpy2QCwUTIa62NQ4Oh8f+i5i8YCcgyEXJe4VYNa+KbZHxkPMpoTFRVmxEzPCjtrnJ1S5GVYEAWua+sI30xfNOOsQtRbecEFSDE76O7TU1UX9BEoI+d13HxGcu53K2xym/ryk47qFJQePSd3W+FA947ZmmV2tCAXOWDxnPQTQVN0ilaiJ++ckxtK5xhHdU5sfbSA4TNm4YazGOGiZohtpJljXPJpq5k75nZjA4VUEFty/+PPKOUJbvXJDGGeKZRYhnA8/dBUV7oWfMJQo0gXKZ7fFhKyVem2rkSvTHny3Yu4CEzfAW0BeIGKrtvnKbSgpAGFrKwCZwqFhBYAnh7nAAA8TEcq5rc/CCe7m0JaAQvo5BUpaBGybAer9OwxRs3RwSO5dH3HPRQTUbft5WgROlISbFhWZSOIudiXMwMaWNtY+jQ3iTgyj3IyMY9EPKpjK3JJyGQyZvpcNPmrXJuLuWpgTcDFCNSC4z2jZbwXPSIP0DFibhuNH8dw+vNxR6oHJcJEGMdCdVXL62NlfjdhFgcH38u2dICTZs9wZ8y0NfNuPXkcoGvrlkdieqLzEEtAWYKlLAqTE+Hd+MRJCPwhu3/t/mIL0OCuppJQFzSqEE3iDD0pQSlb4VTRLLdjYTGpSp9nFVoim0elaUZEuzC/h42xqYEjy0VTNjIrjxIGKvrgzQprt7GdzSQP8kjMPF8WqCc/XInpE2W2o3NVmY0/Ltzun/gR5kRjXnuIHiO61WsULgnHyl11yEX7NpS0/4Rr+HAiTOphc4LyzOYDQ36nzHYVxAJpKnm+ZYeiRCvjE5atWhUsTcy56By0X8odo7Jouq+9UIc6ATuj84q4HlN6sporPMScdFnMww2gdFxVKx6scDUNw7dMr9xMHPFfz8xBSp8uZYjpfaorbIDgRx/4iMwcFgaDys//xUofdHPiF4rLC/S/F6QEoMzooIDm7o4GHvzdDXheBdL+o3USGYpN2osVCBhJSqv5lzKOP09p6FwmZqNYgaf2ozGwWikPE1byFkzlyLjzdGYF1+iYR/QYfGaYyNeochSRp5NNvkOaK9x28wHFYtSj9Hr410RXy4LOlZ6JnuXtO8g==",
            "1; BN6PR07MB3089;\n\t6:CeGU/IhsdVPrcnkvxe1aMgpOabz5iAgI24J5vQLcX5NTtPMchXEKtjZA4qU+BF/+tHiWNJTDDfWLtn9TUaJjfXeQX/shRbj0DherQpXtBEvI/OGFeFsnAg1NfXs0P3ppGp+9/4gKo87BxZBKrpEvVb3nqmSSacFUGQnoXtLE89eolYzoZmpMTjWuOF/FwetmlLhiAuFAtSgrmA62U8lO1A3h1wCUxt0zuONvY1RvZhVGKouWtFmdT9g2eOy684xcI2vVpCK3huxWNQZGEAd2dN91zngXhTMuWs5wUpFmMTyqsCzJVvHyH1SWcp6TjToTKeD8uTA4gy4XFzJYegRyEg==;\n\t5:YteeY0Nk2exg6phI/aFH62/NC6snM64Q6+Q3YMzo1bf6HKHVa4OrQSa9EY0MHQM3W+rgOuz3x7H8QvbGUajlkUtjZoJZi9e7Eq5c0kzmbRYqCuf+cqkVM8iAApM6u0TCE9NqUQY6ipfTUeWkRSqh8g==;\n\t24:TUE9BGEUcsYUZCUDg1adzwYJX6kwoNsnqGzXnwaHagTT9u6BzkqFLySqVY5rfVmxgktVfm4zmrEUd8XQbnntA6Fu0XvQchQneH+J+uXjIQw=;\n\t7:WAR+lQB+JC5LKftO7OXbp1xe6x2jOb+lckk7dVDst8Eu4LKyLK4aW3t/K8oTJa3m7cV5B1sqjtwlq8IHFTIaGyzpgw0VwLuDzs8yMEeUbWyLjwVKv5zmomc94lyX6iEslK3EnBg6xXSl5Zt9PdeksOKLC6qKHlBSIMNsOJmUSerM/M9JhmihHAaKzAcqKxmkH7MFqnDmg7sfPKdvgLkffrntlZk/gGxEgcKHnwf3fME="
        ],
        "X-MS-TrafficTypeDiagnostic": "BN6PR07MB3089:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<BN6PR07MB308933245B86CF90D32BDE59EA9D0@BN6PR07MB3089.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(6041248)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:BN6PR07MB3089; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:BN6PR07MB3089; ",
        "X-Forefront-PRVS": "04163EF38A",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(6069001)(6009001)(199003)(189002)(81156014)(8936002)(81166006)(8676002)(7736002)(6666003)(5003940100001)(305945005)(2950100002)(7416002)(2906002)(6916009)(42882006)(76176999)(50986999)(101416001)(50226002)(5660300001)(6486002)(6506006)(48376002)(50466002)(72206003)(5890100001)(36756003)(97736004)(478600001)(189998001)(42186005)(2361001)(2351001)(33646002)(106356001)(105586002)(110136004)(107886003)(5009440100003)(8656003)(6512007)(53936002)(4326008)(68736007)(1076002)(6116002)(3846002)(66066001)(47776003)(25786009);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3089; H:localhost.localdomain;\n\tFPR:; \n\tSPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "31 Aug 2017 03:27:02.5464\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN6PR07MB3089",
        "Subject": "[dpdk-dev] [PATCH v7 2/9] eal/pci: get iommu class",
        "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": "Introducing rte_pci_get_iommu_class API which helps to get iommu class\nof PCI device on the bus and returns preferred iova mapping mode for\nPCI bus.\n\nPatch also add rte_pci_get_iommu_class definition for bsdapp,\nin bsdapp case - api returns default iova mode.\n\nSigned-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\nReviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>\n---\nv6 --> v7:\n- squashed v6 series patch [02/12] & [03/12] (Aaron comment).\n\n lib/librte_eal/bsdapp/eal/eal_pci.c           | 10 ++++++++++\n lib/librte_eal/bsdapp/eal/rte_eal_version.map |  1 +\n lib/librte_eal/common/include/rte_bus.h       | 10 ++++++++++\n lib/librte_eal/common/include/rte_pci.h       | 11 +++++++++++\n 4 files changed, 32 insertions(+)",
    "diff": "diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c\nindex 04eacdcc7..e2c252320 100644\n--- a/lib/librte_eal/bsdapp/eal/eal_pci.c\n+++ b/lib/librte_eal/bsdapp/eal/eal_pci.c\n@@ -403,6 +403,16 @@ rte_pci_scan(void)\n \treturn -1;\n }\n \n+/*\n+ * Get iommu class of pci devices on the bus.\n+ */\n+enum rte_iova_mode\n+rte_pci_get_iommu_class(void)\n+{\n+\t/* Supports only RTE_KDRV_NIC_UIO */\n+\treturn RTE_IOVA_PA;\n+}\n+\n int\n pci_update_device(const struct rte_pci_addr *addr)\n {\ndiff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map\nindex c819e3084..1fdcfb460 100644\n--- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map\n+++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map\n@@ -242,5 +242,6 @@ DPDK_17.11 {\n \tglobal:\n \n \trte_pci_match;\n+\trte_pci_get_iommu_class;\n \n } DPDK_17.08;\ndiff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/common/include/rte_bus.h\nindex c79368d3c..9e40687e5 100644\n--- a/lib/librte_eal/common/include/rte_bus.h\n+++ b/lib/librte_eal/common/include/rte_bus.h\n@@ -55,6 +55,16 @@ extern \"C\" {\n /** Double linked list of buses */\n TAILQ_HEAD(rte_bus_list, rte_bus);\n \n+\n+/**\n+ * IOVA mapping mode.\n+ */\n+enum rte_iova_mode {\n+\tRTE_IOVA_DC = 0,\t/* Don't care mode */\n+\tRTE_IOVA_PA = (1 << 0),\n+\tRTE_IOVA_VA = (1 << 1)\n+};\n+\n /**\n  * Bus specific scan for devices attached on the bus.\n  * For each bus object, the scan would be responsible for finding devices and\ndiff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h\nindex eab84c7a4..0e36de093 100644\n--- a/lib/librte_eal/common/include/rte_pci.h\n+++ b/lib/librte_eal/common/include/rte_pci.h\n@@ -381,6 +381,17 @@ int\n rte_pci_match(const struct rte_pci_driver *pci_drv,\n \t      const struct rte_pci_device *pci_dev);\n \n+\n+/**\n+ * Get iommu class of PCI devices on the bus.\n+ * And return their preferred iova mapping mode.\n+ *\n+ * @return\n+ *   - enum rte_iova_mode.\n+ */\n+enum rte_iova_mode\n+rte_pci_get_iommu_class(void);\n+\n /**\n  * Map the PCI device resources in user space virtual memory address\n  *\n",
    "prefixes": [
        "dpdk-dev",
        "v7",
        "2/9"
    ]
}