get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 19803,
    "url": "http://patches.dpdk.org/api/patches/19803/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1484832240-2048-35-git-send-email-hemant.agrawal@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": "<1484832240-2048-35-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1484832240-2048-35-git-send-email-hemant.agrawal@nxp.com",
    "date": "2017-01-19T13:23:59",
    "name": "[dpdk-dev,PATCHv5,32/33] bus/fslmc: add support for dmamap to ARM SMMU",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d4be62700a9b37c0dc8b9650d39b326f67c129bd",
    "submitter": {
        "id": 477,
        "url": "http://patches.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1484832240-2048-35-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/19803/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/19803/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 D428AFA50;\n\tThu, 19 Jan 2017 14:26:34 +0100 (CET)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0088.outbound.protection.outlook.com [104.47.41.88])\n\tby dpdk.org (Postfix) with ESMTP id 33C67F94D\n\tfor <dev@dpdk.org>; Thu, 19 Jan 2017 14:26:03 +0100 (CET)",
            "from DM2PR03CA0039.namprd03.prod.outlook.com (10.141.96.38) by\n\tCY1PR0301MB0748.namprd03.prod.outlook.com (10.160.159.154) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12;\n\tThu, 19 Jan 2017 13:26:00 +0000",
            "from BN1BFFO11FD010.protection.gbl (2a01:111:f400:7c10::1:152) by\n\tDM2PR03CA0039.outlook.office365.com (2a01:111:e400:2428::38) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13 via\n\tFrontend Transport; Thu, 19 Jan 2017 13:26:00 +0000",
            "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBN1BFFO11FD010.mail.protection.outlook.com (10.58.144.73) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8\n\tvia Frontend Transport; Thu, 19 Jan 2017 13:25:57 +0000",
            "from bf-netperf1.idc ([10.232.134.28])\n\tby tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id\n\tv0JDO4fA015351; Thu, 19 Jan 2017 06:25:55 -0700"
        ],
        "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)\n\theader.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com;\n\tnxp.com; \n\tdkim=none (message not signed) header.d=none;",
        "Received-SPF": "Fail (protection.outlook.com: domain of nxp.com does not\n\tdesignate 192.88.168.50 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;",
        "From": "Hemant Agrawal <hemant.agrawal@nxp.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<thomas.monjalon@6wind.com>, <bruce.richardson@intel.com>,\n\t<shreyansh.jain@nxp.com>, <john.mcnamara@intel.com>,\n\t<ferruh.yigit@intel.com>, <jerin.jacob@caviumnetworks.com>,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "Date": "Thu, 19 Jan 2017 18:53:59 +0530",
        "Message-ID": "<1484832240-2048-35-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com>",
        "References": "<1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com>\n\t<1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com>",
        "X-EOPAttributedMessage": "0",
        "X-Matching-Connectors": "131293059596687959;\n\t(91ab9b29-cfa4-454e-5278-08d120cd25b8); ()",
        "X-Forefront-Antispam-Report": "CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;\n\tSFV:NSPM;\n\tSFS:(10009020)(6009001)(7916002)(336005)(39850400002)(39410400002)(39380400002)(39840400002)(39450400003)(39860400002)(39400400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(105606002)(106466001)(50986999)(5003940100001)(85426001)(356003)(110136003)(38730400001)(2351001)(47776003)(92566002)(104016004)(626004)(76176999)(54906002)(33646002)(77096006)(68736007)(50466002)(8656002)(86362001)(36756003)(6916009)(81156014)(305945005)(2950100002)(8936002)(8676002)(4326007)(5660300001)(81166006)(97736004)(50226002)(189998001)(2906002)(53936002)(48376002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0748;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN1BFFO11FD010;\n\t1:wcbIyNJ9DfuJQqBhcmrXsRkEis7NdvbqNnxajmoi/KDcbeX7/5RXyOlUcSoE/n2BNSkTXtCJEcIFeZTL035fLS4t+eetFjfuZqe9rZFx1i+eBBj8uPWUThkj5f5O621jcoeDUXhd/nsh/K1BxkGO4Knw1r5VE2ymRGzLR2xH3zNm1u0OhN5MBXOS9UuS4wamZzj8Dx+1TrQ78Sj3XIVQWSZHtB2+fEKKG1vm7IaDKGZql5+yYo3CjRV8unMaKc5905CQLT5wUwr6AJCsLWMcQDUZzVBrJBakJKwvKXVWjHJrbUZNHw2GmWrbfSBd6xBgPEo0YFIRT9jKyWy7QQykS0SNXsMC5bt1VgMWtuuJG8vsrMZEjaKadhFZqQjC4xRnjTFUL+/roe904Jj+DnVwmv9SAr4yaPJoaGdJhXK1ZvCNisqN/neB7OVvqLHlBGOLRrFW2NA2eMkgxo+QxImf4HNzrBvB9TooNPF97+O7m39WoRRdDGfBZRLCHMSmGNvvpgbPSpbV/p5QnslDZMlZHstiS+oOcehXrYGPVcy/L52dDjVT3EheHtfXhi4tTgiox5SIFnvw6gHFvne4gDFMg/xifXjncn1Fs/CyhHG2Q9db68uo9JutCW8IrctTNGbqGjnrzm7cbtII2IyzBpWjViD3vZuALQIrEAUG2C0NEgdoTDZNj3iYpK6JcEGYKtEAhin3kuoL3flYdaLN/FdWoH+72JQvb/0Oi7Ru1Ihiu0zupH424sMSrWXGxICAsETM",
            "1; CY1PR0301MB0748;\n\t3:8Tf7U1vHU8DeH2C9p5PGWBm9B2FBfjl1zxJsWkNcrsCG1iN4RvE+VNRCzyjdKT78Byu3uQDcXnN+NjNgKo0YHXrawhvuA6teA/NtxM5FAPze9sV5HJOUAvVcXi6WSjvFN3+vvbUOphDFqOO1jQi3wF6e5aoooFEW50TosGNlamQNJmTgWcJ8M76vXmb3Cw3eh1r9A9CvLJLoxlUIwdz2EIameoN/OKlXW7iEJbCsBK1WXMqjFAOFBP2j/SYwrumG3vSySD/bkKD3yW7YC7isB0bewSIDN1KpfUVIJeVPbKfJuUsUtkgj7lW24ffdiY+qC/LtTwwK4ioYXaJEBWt4B2lfDWqdvv//RTpkoIZWbbBVnv9n20O4koS5StK58GDC",
            "1; CY1PR0301MB0748;\n\t25:ougCoCJWfkZDeQTfPO+JglamimkQEsLYcp6n5Bpj7a0VAiDTNZpMu5uW0yCCnLhKnUpXIWF5Xa6g467GtMc/ElgOOk4qmuNWlHgusV2QcBQzIVh6LHAnwSOH5XIp9nDU2TiGATL8SGIkBo90pwbu+fAuhiIs5wGMek1rssanf8P0dFnfgQ1idFej8Sndb8sGSDm4NOAYVcM+/t1FkZiPHCextlrO/eINluVtitsl6KmQNLTC8QYie/HEyOyvdebsKYAN372XvSmbVr4CdEQXucB5g7x8ArZheEIxyhnXsYjIpytjW6MbLYcRaf+NVHrUhQwG3VATLKpwT7qn8U8mcAU18wwVs/HaaNfdcG0R2JKDFBQhYtnGmad8mdqFd1rx7MWltHPYqL3X0IMWnwXm1ABdeHmUFxrTY3hkhTsTMHq49+Duq8onWoct4uXxI/l21QtiSCLTjZIIeydEWHI9Pl+3RFoPvVKdFx2muVZ8On8H2V51zBaKA++8HsAYBF3q3I6E3e7BbqX62/GEn0L0CESNQB2j8SjUxgzKf21LhpYPMO+4dXRXMod+s29jX4UyE/KDZkMneLbiBZGigCRnCTXtcGjYG7TWZeJsJ7MVMkI6SsrzkSc/D0k30HwjJMaVDYwf4lxQi8Q0o4oYTRhVl3mamJ63eWmoLR9t9QHKZInP91Y2t0wSqs1aBZKbF7mn+x3sooOSb8SAw6B8AL4g0Zd/0XYTgft7cSQtdlyGKNvtvPzPe/Z0hw49kNUfqeOgOyppCZ5yfSaaq/2Vxomzyw==",
            "1; CY1PR0301MB0748;\n\t31:iB4/F6wOPCPyJuirc0b0Ul2T6cfvYQKv/ScsYd2yBYbhqY9FuDENsgug4pvic9Zce9zlLFDE7cbl3u0QktO3R5vzsuE++AnmnVlJa/WsIaD/Ef5liuXU4FFcJyeiNcm3wpG93g22MsPhFAj3xVQbGWhCHvM67JPhGHkwvTa04APpQ7hJS+z63Ch3T5LxIFXKRbZA6Q0w8774+QqW6xvUSi2B3cZuans2+loe+m9vg8AOGT4F4Jb9jIrYrn4uGFOZHjtd1g4B2EW0MzyK47reiiio7+GuFpZDzW/qtQ2w7uo=",
            "1; CY1PR0301MB0748;\n\t4:j0TOZKqTr0Gh8Fuw1PH0Sjw8gsTqbRlN0Ty1ia2a46R5BAtqs6jUlvpBcUwzQX14KNZBc+R/vsfclDh2hAuCLfd4oNgGTtmsThiGrwHi13DF0CrB+KuqW6/wYwgP7hvixDVvE69goNM5uIIzD+5rzzVT/h335aBbxnCzkem1tcMAZ6R6cR8H0yTsyYLK14XKj91RxFV1DEep/b9X6Uri85u+KV4BJNFnsY+UkvwcWxOPHtws8FBEJKRB+/6k6elihVAoAnawjL5sK0BVIdHi0ZdgRB0nSdfybdpsMIha3DkGybs6Tnxh+tyarECC6d0SB7fNWVqS9yWjdcbG7XFtNymbwDhFYuepwjjtuHOyXdNG85D4gAK78JfRY0jLZRsQdi6IIvSRTLtvQq0NE40B71hS0WmMCCDieRhFYjnMmH+MNwMmZengaEp4xoJMpRCtKSVzM1LyBwhOa3bcistu/LlA6au2NexdFbpCJ4j5/70TWiBZ3L+Ekp6Bf+Zm4pSwWa08kowa1kYOBcnwq4FkAY7afsfsX2nZo25hKtdvHLWHHa/CpnY4QSxJ2RWBcASPUmZkPfiANfW1aT5b99uCLWueH/4Vb9lLEibzQCZ4Xo/NhUKQnMIZwhMLAIq7syI+ThH2hk5E0NrNKye9rr/OBM5Cp/LAneK2xxz0miFDYLQGPaF+gEvK+KXw5ZjTuDYtOUC55QDvWXJ6JIRtRv1drvDnXSdK7rNzrarrMT3urcIhxQJRo6+XXCYwdon7D+jk",
            "=?us-ascii?Q?1; CY1PR0301MB0748;\n\t23:xeASBfv0y1rkgqkWckzx2dv3MpabKy4UsmSpjkG?=\n\tdr5OhZaD9b7A+yO7X6YB1BPWHc5sNdRmg90DI9DSCkOLxb8uMZFVIz2lR3paQVy9hdg+gekYO/QQxRl6E5sKxSm0vevfAY+mv6stGRSTU6/wZNXGeDvF/+PvLmWd/GYbY83cM+PTkexJz2ESdsQHGRr989fioO2jVd+WRSh0bFCyvfEvRV2YvO8DsW4AAMX/jXKnq3uwDqyKWeHFSV9mPdc4/2J4DPGGqVOkmQhCnEeWO63wVShFGoYfYe/PVjOjk7k489pGrCxdaFoAUK/yQOcw3MvheEWahLqKgpwdoAA8qtMeSbSlWhB6RQ0E6mEo37yS3BhgsFf6SEUR+emZrBqhQtfvxEoXynnKGwOmXofbY5EiIkp0Dq9qoEr1Hv6QqswRt+R55Gx2P7V4sC4K+P/bBJ7oFZSsQ9Cz17hPKejJ5hNd7Fz84Hn6gbuxJaMWHh2bC53Ub6nr5dbSWBAb7MWpl8b5SkdnjVt/qrPp2kwW+lejkcT4HDgpY0epP5tGEbgzUFhFVideTjVIvo5rPQiLtcdpojdvQkSAz8AJDjAKn82D7TthyCHnlXxZBuHJc2URry4zLXFE9HM1FDY6GYAFuoLp1ZWeQUoME+HZfR70Fckc+qD9RDN4K/04xvXBrAZbeUIdVRtbCMKRjdYuFImRr5Qm/+GIVutM5t9PQ7ujhSCM3ueHisONtqi1cMAFCeldOiZRPDHnDrxBfkKXDzgQ0QlNrr1FHZhrSZVZFD3r/gFubkJ+RkkNerqa/TnWGrKr9ckQtgEl8zIpwTgevNfKCpWYTm5GKgyzsYXXCMxhLhAxIaMoJOY3ByIWCsbM7TDKM/DgqTwXrCJ8Q4O1KrCOF4MmhxdDoQGufY+IEHLuUyMSct8q8K2dlotAwZD1pnFwweJM3FWNlwYGyOE8zqSDGEuOtI7bpxZ2fudPVDnHMHW5u7qDXs6d/OGxkL89Mi3+VqsoSRC8f7OG/lY+g6tmf07bQdIjo5BA218xBiI4H4NmxAHdGptHq9KXb8zRgxF3gs+EUwfALEtgp05so0wL7jhdbiUoNp7f1jWhzCy/9z9ff/9WCzzH6CrKvy5LDsX1RyVo021IruWIusgRvnXvp+Q0qny9ZdPgeHTQkD9zNOLsME4Ej3itWIyfwe5AzTdMbPrLrfRw7WmVYHX/Ru0Gb7ip7M+YpvZ+wBzYQbfcDee1/W0lHPrZs6bsjLXCdvIc5H7H4OIh4XKkLX0JGMC0G7V8RYQyQbkakmCxP3jyiZg==",
            "1; CY1PR0301MB0748;\n\t6:UPN11MGN7aXr4gFqeLonSeOGJwFNW/oXPtKSp8rS+9/ZaKGwqu3zctACDOfWOlb1n3vSCRIVQX8plRfq5zcL6qbD4djDLZ1Zp5LO2wRmSJsZiRlNfVi//MWckZJ719ubos4yt4NH4yZmRMRSA5V2qT4Wgv/th52UU9p31aewyWRSr5XGR0tyDtg8/jQkLxUebYJ35lNN7pZjspYdtyVKNGyx5hLB9JvelPd48vdCdY82LN2+EuCoCecIYhRCbh5HITuyfAurt62zVSuNALUPsxyPZyj1SHqKTk44WTKHXgBW1gycsH3JKl8X9OiOdUMZF1GMYmFfzjfwjtZEVvkmig7fo6eHMuawimfOiI/vaCwaEC1Lf+AvOECQmDpEDL/JCZW+VMXTVVWYCLpqYfJ7O24fath3liKZTj3KuiZtg7hTrH1+z5l1bp1DCN0va8O/;\n\t5:KvDfcm1JImvm+9s5vaatTYh94M33HWZdyezXlcQK98bJbktl3Z6XFy0ran1tapy2LvDndHHFMdj3fYCmj+IzXj1v4a088r3UqYjHll6IFQflvBF1gHYnBk+pPiDuptVZVbc6aK9NmFMdTmh9J72UjyakjISHkvvfuPtYNPS+BoHLHLE0IAX1EtLyEuqJkyUF;\n\t24:tO/6ylNLXsvfXB6n3DgLhc/NQpmUO5e++Agj3TbmCDhAp6gQDxggD0Rfg+9NQ5ZsFBonLDFNryH0MRdwty7FLmj7ElDLt+E8qnxG1BqwrOA=",
            "1; CY1PR0301MB0748;\n\t7:QQZk18v3lQzPTS/XzeTyoqh7Piu31DMd+mRYb922g0W+A5M2Ug+YMVFecmDGbhYh7mxK8P5MxPIQMfGBpINz6VB3V8nzFIWogyYWkPIGEW7o8Z0eaVd9m7LR0kmCpbIir4N0JznRjA7ecKVIJ5XmoIiB2aTMkzfw6gXCsDH8kftGUO4SvMzKUY2OduFV/kFA2eoPKqA9wleHLtkgDhLSEjOY1wA/VUQTDTOWnfXwy6kQoBkrs8nKeVoco/xmtJelg0kbFviEejMMaVNDoh8BZZ0p2lYK43/sL9eHe2FSSk1nc2XDRqAJ4wH5H13OaVu00euw61MoaC3bbwvNoEhug3l4KG+ZGzXqfnaqiM2lGrsCo4F6a0eCF+hKzu6WLO3bOY+Yqa55mRCzULZcX/CDniZ+gfnVsRnKG0YD1T/hFeCbi/OCJfoFw1shoLuwSiBrUNRphDoHmDh6ol7qpUzubA=="
        ],
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-MS-Office365-Filtering-Correlation-Id": "19460cf8-b2cd-4c95-b8fb-08d4406eb530",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:CY1PR0301MB0748; ",
        "X-Microsoft-Antispam-PRVS": "<CY1PR0301MB07486D937D882D60745DE2D3897E0@CY1PR0301MB0748.namprd03.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6095060)(601004)(2401047)(13015025)(13017025)(13023025)(13018025)(13024025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123565025)(20161123563025)(20161123556025)(20161123561025)(20161123559025);\n\tSRVR:CY1PR0301MB0748; BCL:0; PCL:0; RULEID:(400006);\n\tSRVR:CY1PR0301MB0748; ",
        "X-Forefront-PRVS": "0192E812EC",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Jan 2017 13:25:57.9996\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Id": "5afe0b00-7697-4969-b663-5eab37d5f47e",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e;\n\tIp=[192.88.168.50]; \n\tHelo=[tx30smr01.am.freescale.net]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CY1PR0301MB0748",
        "Subject": "[dpdk-dev] [PATCHv5 32/33] bus/fslmc: add support for dmamap to ARM\n\tSMMU",
        "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": "Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n drivers/bus/fslmc/fslmc_vfio.c                 | 96 ++++++++++++++++++++++++++\n drivers/bus/fslmc/fslmc_vfio.h                 |  1 +\n drivers/bus/fslmc/rte_pmd_fslmcbus_version.map |  1 +\n drivers/net/dpaa2/dpaa2_ethdev.c               |  2 +\n 4 files changed, 100 insertions(+)",
    "diff": "diff --git a/drivers/bus/fslmc/fslmc_vfio.c b/drivers/bus/fslmc/fslmc_vfio.c\nindex 2bfd7fd..bea32b5 100644\n--- a/drivers/bus/fslmc/fslmc_vfio.c\n+++ b/drivers/bus/fslmc/fslmc_vfio.c\n@@ -76,8 +76,10 @@\n static struct fslmc_vfio_group vfio_groups[VFIO_MAX_GRP];\n static struct fslmc_vfio_container vfio_containers[VFIO_MAX_CONTAINERS];\n static int container_device_fd;\n+static uint32_t *msi_intr_vaddr;\n void *(*mcp_ptr_list);\n static uint32_t mcp_id;\n+static int is_dma_done;\n \n static int vfio_connect_container(struct fslmc_vfio_group *vfio_group)\n {\n@@ -147,6 +149,35 @@ static int vfio_connect_container(struct fslmc_vfio_group *vfio_group)\n \treturn 0;\n }\n \n+static int vfio_map_irq_region(struct fslmc_vfio_group *group)\n+{\n+\tint ret;\n+\tunsigned long *vaddr = NULL;\n+\tstruct vfio_iommu_type1_dma_map map = {\n+\t\t.argsz = sizeof(map),\n+\t\t.flags = VFIO_DMA_MAP_FLAG_READ | VFIO_DMA_MAP_FLAG_WRITE,\n+\t\t.vaddr = 0x6030000,\n+\t\t.iova = 0x6030000,\n+\t\t.size = 0x1000,\n+\t};\n+\n+\tvaddr = (unsigned long *)mmap(NULL, 0x1000, PROT_WRITE |\n+\t\tPROT_READ, MAP_SHARED, container_device_fd, 0x6030000);\n+\tif (vaddr == MAP_FAILED) {\n+\t\tFSLMC_VFIO_LOG(ERR, \"Unable to map region (errno = %d)\", errno);\n+\t\treturn -errno;\n+\t}\n+\n+\tmsi_intr_vaddr = (uint32_t *)((char *)(vaddr) + 64);\n+\tmap.vaddr = (unsigned long)vaddr;\n+\tret = ioctl(group->container->fd, VFIO_IOMMU_MAP_DMA, &map);\n+\tif (ret == 0)\n+\t\treturn 0;\n+\n+\tFSLMC_VFIO_LOG(ERR, \"VFIO_IOMMU_MAP_DMA fails (errno = %d)\", errno);\n+\treturn -errno;\n+}\n+\n int vfio_dmamap_mem_region(uint64_t vaddr,\n \t\t\t   uint64_t iova,\n \t\t\t   uint64_t size)\n@@ -170,6 +201,71 @@ int vfio_dmamap_mem_region(uint64_t vaddr,\n \treturn 0;\n }\n \n+int fslmc_vfio_dmamap(void)\n+{\n+\tint ret;\n+\tstruct fslmc_vfio_group *group;\n+\tstruct vfio_iommu_type1_dma_map dma_map = {\n+\t\t.argsz = sizeof(struct vfio_iommu_type1_dma_map),\n+\t\t.flags = VFIO_DMA_MAP_FLAG_READ | VFIO_DMA_MAP_FLAG_WRITE,\n+\t};\n+\n+\tint i;\n+\tconst struct rte_memseg *memseg;\n+\n+\tif (is_dma_done)\n+\t\treturn 0;\n+\tis_dma_done = 1;\n+\n+\tfor (i = 0; i < RTE_MAX_MEMSEG; i++) {\n+\t\tmemseg = rte_eal_get_physmem_layout();\n+\t\tif (memseg == NULL) {\n+\t\t\tFSLMC_VFIO_LOG(ERR, \"Cannot get physical layout.\");\n+\t\t\treturn -ENODEV;\n+\t\t}\n+\n+\t\tif (memseg[i].addr == NULL && memseg[i].len == 0)\n+\t\t\tbreak;\n+\n+\t\tdma_map.size = memseg[i].len;\n+\t\tdma_map.vaddr = memseg[i].addr_64;\n+#ifdef RTE_LIBRTE_DPAA2_USE_PHYS_IOVA\n+\t\tdma_map.iova = memseg[i].phys_addr;\n+#else\n+\t\tdma_map.iova = dma_map.vaddr;\n+#endif\n+\n+\t\t/* SET DMA MAP for IOMMU */\n+\t\tgroup = &vfio_groups[0];\n+\n+\t\tif (!group->container) {\n+\t\t\tFSLMC_VFIO_LOG(ERR, \"Container is not connected \");\n+\t\t\treturn -1;\n+\t\t}\n+\n+\t\tFSLMC_VFIO_LOG(DEBUG, \"-->Initial SHM Virtual ADDR %llX\",\n+\t\t\t     dma_map.vaddr);\n+\t\tFSLMC_VFIO_LOG(DEBUG, \"-----> DMA size 0x%llX\\n\", dma_map.size);\n+\t\tret = ioctl(group->container->fd, VFIO_IOMMU_MAP_DMA,\n+\t\t\t    &dma_map);\n+\t\tif (ret) {\n+\t\t\tFSLMC_VFIO_LOG(ERR, \"VFIO_IOMMU_MAP_DMA API\"\n+\t\t\t\t       \"(errno = %d)\", errno);\n+\t\t\treturn ret;\n+\t\t}\n+\t\tFSLMC_VFIO_LOG(DEBUG, \"-----> dma_map.vaddr = 0x%llX\",\n+\t\t\t     dma_map.vaddr);\n+\t}\n+\n+\t/* TODO - This is a W.A. as VFIO currently does not add the mapping of\n+\t * the interrupt region to SMMU. This should be removed once the\n+\t * support is added in the Kernel.\n+\t */\n+\tvfio_map_irq_region(group);\n+\n+\treturn 0;\n+}\n+\n static int64_t vfio_map_mcp_obj(struct fslmc_vfio_group *group, char *mcp_obj)\n {\n \tint64_t v_addr = (int64_t)MAP_FAILED;\ndiff --git a/drivers/bus/fslmc/fslmc_vfio.h b/drivers/bus/fslmc/fslmc_vfio.h\nindex 80c6869..7d562d3 100644\n--- a/drivers/bus/fslmc/fslmc_vfio.h\n+++ b/drivers/bus/fslmc/fslmc_vfio.h\n@@ -70,6 +70,7 @@ int vfio_dmamap_mem_region(\n \n int fslmc_vfio_setup_group(void);\n int fslmc_vfio_process_group(void);\n+int fslmc_vfio_dmamap(void);\n \n /* create dpio device */\n int dpaa2_create_dpio_device(struct fslmc_vfio_device *vdev,\ndiff --git a/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map b/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map\nindex 6937ad0..17befc7 100644\n--- a/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map\n+++ b/drivers/bus/fslmc/rte_pmd_fslmcbus_version.map\n@@ -49,6 +49,7 @@ DPDK_17.02 {\n         dpseci_open;\n         dpseci_reset;\n         dpseci_set_rx_queue;\n+        fslmc_vfio_dmamap;\n         mcp_ptr_list;\n         per_lcore__dpaa2_io;\n         rte_fslmc_driver_register;\ndiff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c\nindex 2cf395f..183b5b1 100644\n--- a/drivers/net/dpaa2/dpaa2_ethdev.c\n+++ b/drivers/net/dpaa2/dpaa2_ethdev.c\n@@ -911,6 +911,8 @@ void dpaa2_dev_stats_reset(struct rte_eth_dev *dev)\n \n \teth_dev->rx_pkt_burst = dpaa2_dev_rx;\n \teth_dev->tx_pkt_burst = dpaa2_dev_tx;\n+\tfslmc_vfio_dmamap();\n+\n \treturn 0;\n }\n \n",
    "prefixes": [
        "dpdk-dev",
        "PATCHv5",
        "32/33"
    ]
}