Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/19875/?format=api
http://patches.dpdk.org/api/patches/19875/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1485172803-17288-4-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": "<1485172803-17288-4-git-send-email-hemant.agrawal@nxp.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1485172803-17288-4-git-send-email-hemant.agrawal@nxp.com", "date": "2017-01-23T11:59:33", "name": "[dpdk-dev,PATCHv6,03/33] bus/fslmc: introducing fsl-mc bus driver", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": true, "hash": "dbaf3f48a4072342ce48facb51697a1a6d4c50fc", "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/1485172803-17288-4-git-send-email-hemant.agrawal@nxp.com/mbox/", "series": [], "comments": "http://patches.dpdk.org/api/patches/19875/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/19875/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 E2CE269C6;\n\tMon, 23 Jan 2017 13:00:49 +0100 (CET)", "from NAM03-CO1-obe.outbound.protection.outlook.com\n\t(mail-co1nam03on0049.outbound.protection.outlook.com [104.47.40.49])\n\tby dpdk.org (Postfix) with ESMTP id 911172C6E\n\tfor <dev@dpdk.org>; Mon, 23 Jan 2017 13:00:25 +0100 (CET)", "from BN3PR0301CA0027.namprd03.prod.outlook.com (10.160.180.165) by\n\tSN1PR0301MB1583.namprd03.prod.outlook.com (10.162.130.17) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.860.13; Mon, 23 Jan 2017 12:00:23 +0000", "from BN1BFFO11FD025.protection.gbl (2a01:111:f400:7c10::1:125) by\n\tBN3PR0301CA0027.outlook.office365.com (2a01:111:e400:4000::37)\n\twith Microsoft 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; Mon, 23 Jan 2017 12:00:23 +0000", "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBN1BFFO11FD025.mail.protection.outlook.com (10.58.144.88) 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; Mon, 23 Jan 2017 12:00:22 +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\tv0NC07eR019311; Mon, 23 Jan 2017 05:00:20 -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": "Mon, 23 Jan 2017 17:29:33 +0530", "Message-ID": "<1485172803-17288-4-git-send-email-hemant.agrawal@nxp.com>", "X-Mailer": "git-send-email 1.9.1", "In-Reply-To": "<1485172803-17288-1-git-send-email-hemant.agrawal@nxp.com>", "References": "<1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com>\n\t<1485172803-17288-1-git-send-email-hemant.agrawal@nxp.com>", "X-EOPAttributedMessage": "0", "X-Matching-Connectors": "131296464227701996;\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)(39840400002)(39380400002)(39400400002)(39410400002)(39860400002)(39850400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(8936002)(305945005)(50226002)(36756003)(53936002)(356003)(4326007)(5660300001)(2351001)(68736007)(105606002)(85426001)(8676002)(106466001)(54906002)(8656002)(48376002)(50466002)(110136003)(626004)(77096006)(97736004)(38730400001)(6916009)(76176999)(6666003)(47776003)(2906002)(50986999)(92566002)(81156014)(86362001)(81166006)(5003940100001)(189998001)(575784001)(2950100002)(33646002)(104016004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR0301MB1583;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ", "X-Microsoft-Exchange-Diagnostics": [ "1; BN1BFFO11FD025;\n\t1:MFzbzv1wyHt3TWR20TRI0t0DWVrG9rqblPrvDrB+DsKkltUMr0REAvvcfyN9hidBDbxIyvOyPioC1sG4oAsAYVi1R3LdxvMPHyGtlOv1ZF4VUVXdgCFV3nxsP6LMwYGJ1WxeQpAFJ+QQMJFbarnFEyUSpgBnYdEfj40b+1QV0rS/r6Ou86sxAqFy5BvD71xRf830/8AMoz/O7ACtgZeneKh5eilO3lRJLYjWNi+Nbzu3XAkvK7kPzLzTFoRcszpyNwqjNIWxmGg8rAYz5tPGu7AS+YiF/H/sKTI6S1DM/YTTOPeKr80AftGsjpRBOZsexLHVFG4WF1vTs1RCqbCnaimHE4T64TiqGH6z5kSOkkoBU2HIoFh5FCXop2suYTgVSaClfO31jpt7se11yayMrcizv4EMu3BkSRstYkFvQpZPjNZQoFR7eegZCmPigruIHXVNtZ5pWOPdXDzkeivxE9Qs1/esW2Z5Tp/c/gr6E6bYVK+ptyHQjieQTQYsd55lB1RwJnM4QjFBCj3JC/32kQiT76pTjP162Ws20K54PvbDqnpmRTLu1Fi20vbhCkk8enHW5H/JEaZKUp/5h+k2zPLOTgDNId9apABsPL+fmHmlg2h71qdmwlsjSFg4RIg+vpdt2U9U9HPVeoHsh2iwyhoc1AbQ8eknl2UZPu1SuHARWMdqO474CsTQl/2Zj2w6arguI7MkodxW9LDPbnhFFdSqpFVYc2ucWPLXzVEWLV0kzOQs/g9RFZAykgqK90zv", "1; SN1PR0301MB1583;\n\t3:jJOzWtX3tvdI/Ij7bQXlcUx8tiATl9wfIGK035VkCtpXqpHAuTxWnU95NpC/YKh06c4Xc+TtEEmzmxRY3fSmlYGuX2M3J4DKptUBeIDXRKApBE7DzYQOnVfYFyxEjGklxuLFKyfS8aFKt3iVdfcZvi1An15j9fazInDKG2dNiG5DkFKoHdPO1me6BlcR57HAmoj/pFS9SFlZw2tTjnMCI4hixDL8bhzWGjmXpfL6T4LAwYNQX9Z5n7y/BdW/tLV6RhIz0JarJsA5SmA9UVhsY+BZ3O1VONQJLJEybh4qwJ8K3SxHyGsGyfIC1uS0ihVi2+4bBX6Jv/kXEpnGdIY1G9Q+em8j4xtpNAiABIfpn8s+MO0axa+CGEpaIrWhjzFH", "1; SN1PR0301MB1583;\n\t25:5tT2jo2jAuYxxZxUCRSkuLdfYrhWaw/O8A+oCheaxcmxNEtj7kt7HOT4i+7gbxheX4M4ayLssskZwMHdrP34qTdQR8f9HIb1iPoRqJC5OnVZQ/brfdkmqIKBJxwvFrzBgtpBx0UDoYDMLpgRyRWtzBaUFoSBGNmEMdWcjWNio30X1g2mmyRIv8fegyOOBt6lNmKR0NQBCOynPMtuWx5d/+XlqU4UoOx5qirED9mfJGEXaHqvXiGuwhlmbvyvLBYcTsixuDJTn0zuJs4p4sxIaskWnw8GTWOWWHStZLcJf5SNzfdfeSELrDSrlWQR17cotbbrXYFtYUh6nXxoobz11un3zxEF16EjgrzHq90z4B5ZFAESE06s/IK5nGfDgDjYXTaHnPFrI0dZLciz0iSKtMd7wa8UtKjv/TsQM/Owx10Lg7rzeIIbObInLNiuRNEqVg3uxofw7llby4zUpuNWIBAxGHFGSzOE9joWcNQNawPplx/VHkWsQ/mspDYyXQApaogoSttAbq1/yoTVEtzxneAoVp76SqorYvYJZiF97bQB4FdW4Rbqv54jHUtAsb2rCfddrq9Bq/SmYhdAj20V8isHPUuV2rupLC2JY5EuLM0z3/JohdbyjAyVo4iQiHfbsubp7yiolQDCEuFY3pQHQIi0TZfomcWVBQCCmg0X02rzxehu5hQyiuq+lI/Qzgcw63acI2duqq46l9EHrj335RGo6GFRRKMLv8DDmaS9f9n2GR7tL2GUOo77BQF3vHDiluHlqAAQp+Vz5Ba8p8BJeJXSBO/tWJYCn3V4XdoEsJ0=", "1; SN1PR0301MB1583;\n\t31:FnRhAq6SF1Q69L7KTC9ceYR9UDW4LqwGWlzOxdKNmCg8DAuvLkzD/MxA80DDbhqy7g0o6FYLCqQfRhvdrecZLG+Aj4QdeV9WAmPTHndsLl2C+FyeMLv+gxxnjAkIMdaFD1K63x2ZhVO1ghg8zjWwhyTfdYvhzTCj85V3VOvKWg2FYyUfbMx7MrVWLQd1elzlrAnAGh6+cpACHZ72mYs1kIQhq5rWSApzSXWEFWiaDO7Q6v/GAU/iF6nS878NJTm7Wesd+NEDPtvKGV0i8c9cmApwbT7FEyMXv3cQW0HEK70=", "1; SN1PR0301MB1583;\n\t4:WFxZtRE08nQJp6ag8nGQ4DJlduiitHOayzHzm3ghnvqw3hmdOLYCyMk8wBrPbGwSANcsdyh1/cJRyTk2vxcIkLIpgjxsN7aDVkrupzMfpvORGci6rS+l7XagC0628EcstuLbvcQ7ySIVTUXsrW6+0d0VS/DBgT6a4QBFr9KVkFkP2i2Lsf+QsKTS+YLqqJWthML/yV9XI94eur0RFN0vyW496rFywBr9UJlZuHv7xkyx+LcD/m+mmMP1PVW2EOqNxAXdMlhfsJAiwTnXd7YRkhjW94tZtCP164U2sE5qNceahsGZeILk5f3wb3ABcTy7MjjurD9OWNfpzvSJppV4lFLFNDoVdbaUZGPCyorxO7xY7SgvAMmMuuy8mW3S7z6D1GnRQ8M+p2y9Bm5zmYfl23U74xiAiqoygS+eZyddxmslka8N2HBNxAUGuG1N/Peyyj6/DwdxX50HmVa1LU4WC5Wl4fddHSs08fCav6u1zD8OknkyusAYT4MyrSRUrW/58HDjmCg0uH4fuuOZ6dlO/hwHPmBCPsqZPWyIHnO4hnzg3F6BNZsHjoWewxcAkfyttiT2NTpn8tdsv2iNX5T42MAK/Ja4Cnd7+Bf+HkVkf2mS4uRkEn16BB4BuzT9fl2uN9G2KaVAhmFFQlxum6dljOFbRlDhL8B+1VIYyUG7qL4MycLocEPRy2Y9qwYakB/aRh7iOjci69WqSCJ/58v7zjnu0h7N55L+RI/VBuTTkTVGckaj6Z40AIsPWRlowmY5", "=?us-ascii?Q?1; SN1PR0301MB1583;\n\t23:kWKTXXOWymkly0rOfiNsuFOfGCQLt2jLjekBCIw?=\n\tTO/447IxNgJSEP0VA2K4u7q9jTOLYpDSrb4t4Mgtk1pzb/IsP65jNEWUde7qvNfKmmSNSVv4xQkweJHo49G+jwZpby8oCoUDlQdKxmPmiqGs8pnGXtaV0rl+UXCp7X8Q2mwnEWrPMaAPHBO01VY/tPaiiX/yjUxbLFr9TolVxF7HRlsRTL7Z6ecYTqouoAYd+7RkzNQcFzUk3nRh4KyySdUpIjNCn2a2VDTgoE6gpqBXxrGclA7EEtk8RjE2X2OBXqKZ1a5jdspjZbSblr6mSlRBp2MqO70WP0HAP+QQNKxdrZvvq3rSzdZ6AxbN+1+KIrD9U8V7isqc0yEFIPb1QM7qwryGe7NW4ZqgyHyTHONK9ScWiOCQ+sxPhHxAS1pCpfRFR3hQhQyYA49xjZ3840s+ro33nyT4TTVxVp8xyhT6EKmpyVaB2kuwVsNy5vcICuzaVeC349dCSA6NasMMmhdAh4HsHvxDV3EXUfGaIF/XCTz2fh9DUrK8l5GqIg+0yayvUvfYohBspHw8/c814/jWD1beXbCD2YNVpCyklvdSD7j28hiPnv8ALM89B2S1wWih5kCp/I1GewEAb5DG60CPDRg9YF4qNTnFBLYhk3BiBCnpCZAnchno47ILh2tLHHALDfTkgjkyVWvaTN+SXD1GX8+3ROqXf+XmDMFo9fpOEcdXjiIkO1iNiQpFsLkRBekuhH8NitucI0YIqk97V7vWi/MaZukER+PG532kPqJ25AJBh2hzGRVlqKgtgHdlrH7Xbuw01W4u5jOCd3TaS/iQHeh+1j7rUabmM9j6oc1oAnornMocdCw6cRamf57kbDKNcTZ4PoYkSguKf2teFklDT/oKQcKXpUiEiPL4gHmPRRZ2v9ThBjsxDkBDGp72qztN2qVCWsztB9+aE8JGjlgeWEGPbUEy+hlO1ECfMbK6SFNjpGE3F7FurNCQr4a9sfAeDd/3CAkpOdW2ZGwccojSMjWQyqmz8pPBPR1z2dXtBcMf7/PiI5Y0HcjHEYIehM0BpneOQkqmBYjKMWSlq1gUJg4PoT417txlSMM4z2k6PaHHRzcUlHfkNPceTulreNO3fXXMPU4GzYhJ+6dzdHcZY8yktNfunc55DhbkjeRltFZKwKjbnPHlWmtdwmCnFwny61r6m1Ra9FQFz6kJkTb567vfKn3boLh/+e5wIaX1QKsysLWmLOhx8bOJ99bDXL7YrEAWEXdj3MWU9GvaKWijpTmsWvPB7Kjxhjqx5zb53jJAFarIUFySJIK5EBGS2AUebbIP1XTnsmFzxQ3ZneFDm", "1; SN1PR0301MB1583;\n\t6:54BWfsf+snpwvd5SyErjYORD1pA6725uYjVRpivS8a7HxdKtiseiqxk+L00bgVKQG5iwTZERya85FTG9QKsspLS1WEqQsgNNyElfSgbc/ljrX7RkKTl/jFIsKNys9bIykp2vLWEZtRapsP/rksOH11xJ5WwFf7q4FG7jL4IJyXHbXTZTYLPRxLpcaYrKXMFNklGa7im2XWWSQkw4890RQL41Gnc6T6Q+bNRK7ed/MBGfSz34gWlJjsp61+AS9h4RbFIer+ztSECTuYhu8p6IPI+RVAnx8hfWF7uuV6WbyIKV2pVHR5gwRUENX4kVaw9/VjGu0raUpnoyzpx756VXQOkeJC5wXUb7USX0ZfIMUJkIiPkC5NwlinbmCUMgbLsNHqf0a92P0G877zXg/KzjDVXZkgRoi5w96htDrEzhCpMn3Ds25D+4xcr+BOhUiXsw;\n\t5:SyR4lbqIQgEPtNBuEUgZePVk8e1b412Eg5hPHI9smh/Jm7XZrzCYP8X/df+QeGZyh0fUkuxP4J0RYTNqYdMILT4uoTho76ctsTI7UgMrCWhvz4CvORJaPvhjqu7umoRGNKxgNWiRnhWA6NfNCdziWgJFEAjAmfw289hxeEZxJ/DnxT4vzhtYpfj8YXgEGY7+;\n\t24:ivna2Zl8p+7z6cSEp9GqTE69Hj+UaRw02csDI4eKf7lkSjY5oDvZhfgAj5Y95X2+x8Mpwpt5NaGcNnsFnoc8h2CLnBZJg3sdqOXrVIoXZpE=", "1; SN1PR0301MB1583;\n\t7:JjaFhpqGBhfBsniLItnj0e+f1zegEYLoaYLMHVIh3BxbAW5jwxt9zptIaHGsvdlYrw0F4+WneOq4ws4aIjgKpqMIvONSCc9ZYJoNHD4v/XA16NRj8Bd2ywI6jD967DSmph+SIZM70Jdh6MQXuHaCjty1yrGmFtzNuArJmm6lf0qLfrM8VQ4hSH0VE0oPGpK7fPTiLXCIIW2pzumbSaCAXdaxLHU9y+b5XP4ackZ/GprYeDtlRteQdWQmGtdxuHPvnfhVHsfc7f4Y4xruItjNwWn3kcTkvTHH7m6Zpm3SIVffqxRlORNDWVbuARdNVUOMe/EbPRGDAi3LjUuPz9zU8YgE/Oa0YYc0sE8w2/S0ULjLts6p6xki8dJOXg0L22dTcK4odgqVc44XXWYdbG+U7Fk/XqbZJWA8x0Y8JtG2KxAWUwhiYdAZ6imoQgb0gmltvZtA4ZYJkwmPju+7t9wxww==" ], "MIME-Version": "1.0", "Content-Type": "text/plain", "X-MS-Office365-Filtering-Correlation-Id": "20f9a7bf-56f3-4ec5-3391-08d443876903", "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:SN1PR0301MB1583; ", "X-Microsoft-Antispam-PRVS": "<SN1PR0301MB158372E98A028F02470E292089720@SN1PR0301MB1583.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)(13023025)(13017025)(13015025)(13024025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123559025)(20161123556025)(20161123563025)(20161123565025);\n\tSRVR:SN1PR0301MB1583; BCL:0; PCL:0; RULEID:(400006);\n\tSRVR:SN1PR0301MB1583; ", "X-Forefront-PRVS": "0196A226D1", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "23 Jan 2017 12:00:22.5674\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": "SN1PR0301MB1583", "Subject": "[dpdk-dev] [PATCHv6 03/33] bus/fslmc: introducing fsl-mc bus driver", "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": "The fslmc bus driver is a rte_bus driver which scans the fsl-mc bus\nfor NXP DPAA2 SoCs.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n MAINTAINERS | 1 +\n config/common_base | 5 +\n config/defconfig_arm64-dpaa2-linuxapp-gcc | 5 +\n drivers/Makefile | 1 +\n drivers/bus/Makefile | 36 +++++++\n drivers/bus/fslmc/Makefile | 52 ++++++++++\n drivers/bus/fslmc/fslmc_bus.c | 125 +++++++++++++++++++++++\n drivers/bus/fslmc/rte_bus_fslmc_version.map | 7 ++\n drivers/bus/fslmc/rte_fslmc.h | 148 ++++++++++++++++++++++++++++\n drivers/common/Makefile | 4 +\n drivers/common/dpaa2/Makefile | 4 +\n drivers/common/dpaa2/qbman/Makefile | 4 +\n 12 files changed, 392 insertions(+)\n create mode 100644 drivers/bus/Makefile\n create mode 100644 drivers/bus/fslmc/Makefile\n create mode 100644 drivers/bus/fslmc/fslmc_bus.c\n create mode 100644 drivers/bus/fslmc/rte_bus_fslmc_version.map\n create mode 100644 drivers/bus/fslmc/rte_fslmc.h", "diff": "diff --git a/MAINTAINERS b/MAINTAINERS\nindex 5ad150d..4a13140 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -356,6 +356,7 @@ F: doc/guides/nics/nfp.rst\n \n NXP dpaa2\n M: Hemant Agrawal <hemant.agrawal@nxp.com>\n+F: drivers/bus/fslmc/\n F: drivers/common/dpaa2/\n \n QLogic bnx2x\ndiff --git a/config/common_base b/config/common_base\nindex 5564d92..bf1de8f 100644\n--- a/config/common_base\n+++ b/config/common_base\n@@ -287,6 +287,11 @@ CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX=n\n CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_DRIVER=n\n CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_MBOX=n\n \n+#\n+# Compile NXP DPAA2 FSL-MC Bus\n+#\n+CONFIG_RTE_LIBRTE_FSLMC_BUS=n\n+\n # Compile burst-oriented VIRTIO PMD driver\n #\n CONFIG_RTE_LIBRTE_VIRTIO_PMD=y\ndiff --git a/config/defconfig_arm64-dpaa2-linuxapp-gcc b/config/defconfig_arm64-dpaa2-linuxapp-gcc\nindex da23bab..365ae5a 100644\n--- a/config/defconfig_arm64-dpaa2-linuxapp-gcc\n+++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc\n@@ -41,3 +41,8 @@ CONFIG_RTE_ARCH_ARM_TUNE=\"cortex-a57+fp+simd\"\n #\n CONFIG_RTE_MAX_LCORE=8\n CONFIG_RTE_MAX_NUMA_NODES=1\n+\n+#\n+# Compile NXP DPAA2 FSL-MC Bus\n+#\n+CONFIG_RTE_LIBRTE_FSLMC_BUS=y\ndiff --git a/drivers/Makefile b/drivers/Makefile\nindex d5580f6..bdae63b 100644\n--- a/drivers/Makefile\n+++ b/drivers/Makefile\n@@ -32,6 +32,7 @@\n include $(RTE_SDK)/mk/rte.vars.mk\n \n DIRS-y += common\n+DIRS-y += bus\n DIRS-y += net\n DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += crypto\n \ndiff --git a/drivers/bus/Makefile b/drivers/bus/Makefile\nnew file mode 100644\nindex 0000000..60e9764\n--- /dev/null\n+++ b/drivers/bus/Makefile\n@@ -0,0 +1,36 @@\n+# BSD LICENSE\n+#\n+# Copyright(c) 2016 NXP. All rights reserved.\n+# All rights reserved.\n+#\n+# Redistribution and use in source and binary forms, with or without\n+# modification, are permitted provided that the following conditions\n+# are met:\n+#\n+# * Redistributions of source code must retain the above copyright\n+# notice, this list of conditions and the following disclaimer.\n+# * Redistributions in binary form must reproduce the above copyright\n+# notice, this list of conditions and the following disclaimer in\n+# the documentation and/or other materials provided with the\n+# distribution.\n+# * Neither the name of NXP nor the names of its\n+# contributors may be used to endorse or promote products derived\n+# from this software without specific prior written permission.\n+#\n+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc\n+\n+include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile\nnew file mode 100644\nindex 0000000..5a0fd61\n--- /dev/null\n+++ b/drivers/bus/fslmc/Makefile\n@@ -0,0 +1,52 @@\n+# BSD LICENSE\n+#\n+# Copyright (c) 2016 NXP. All rights reserved.\n+#\n+# Redistribution and use in source and binary forms, with or without\n+# modification, are permitted provided that the following conditions\n+# are met:\n+#\n+# * Redistributions of source code must retain the above copyright\n+# notice, this list of conditions and the following disclaimer.\n+# * Redistributions in binary form must reproduce the above copyright\n+# notice, this list of conditions and the following disclaimer in\n+# the documentation and/or other materials provided with the\n+# distribution.\n+# * Neither the name of NXP nor the names of its\n+# contributors may be used to endorse or promote products derived\n+# from this software without specific prior written permission.\n+#\n+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+# \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+#\n+# library name\n+#\n+LIB = librte_bus_fslmc.a\n+\n+CFLAGS += -O3\n+CFLAGS += $(WERROR_FLAGS)\n+\n+# versioning export map\n+EXPORT_MAP := rte_bus_fslmc_version.map\n+\n+# library version\n+LIBABIVER := 1\n+\n+SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_bus.c\n+\n+# library dependencies\n+DEPDIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += lib/librte_eal\n+\n+include $(RTE_SDK)/mk/rte.lib.mk\ndiff --git a/drivers/bus/fslmc/fslmc_bus.c b/drivers/bus/fslmc/fslmc_bus.c\nnew file mode 100644\nindex 0000000..8a4f519\n--- /dev/null\n+++ b/drivers/bus/fslmc/fslmc_bus.c\n@@ -0,0 +1,125 @@\n+/*-\n+ * BSD LICENSE\n+ *\n+ * Copyright (c) 2016 NXP. All rights reserved.\n+ *\n+ * Redistribution and use in source and binary forms, with or without\n+ * modification, are permitted provided that the following conditions\n+ * are met:\n+ *\n+ * * Redistributions of source code must retain the above copyright\n+ * notice, this list of conditions and the following disclaimer.\n+ * * Redistributions in binary form must reproduce the above copyright\n+ * notice, this list of conditions and the following disclaimer in\n+ * the documentation and/or other materials provided with the\n+ * distribution.\n+ * * Neither the name of NXP nor the names of its\n+ * contributors may be used to endorse or promote products derived\n+ * from this software without specific prior written permission.\n+ *\n+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#include <string.h>\n+#include <dirent.h>\n+\n+#include <rte_log.h>\n+#include <rte_bus.h>\n+#include <rte_eal_memconfig.h>\n+#include <rte_malloc.h>\n+#include <rte_devargs.h>\n+#include <rte_memcpy.h>\n+#include <rte_ethdev.h>\n+\n+#include \"rte_fslmc.h\"\n+\n+#define FSLMC_BUS_LOG(level, fmt, args...) \\\n+\tRTE_LOG(level, EAL, \"%s(): \" fmt \"\\n\", __func__, ##args)\n+\n+struct rte_fslmc_bus rte_fslmc_bus;\n+\n+static int\n+rte_fslmc_scan(void)\n+{\n+\treturn 0;\n+}\n+\n+static int\n+rte_fslmc_match(struct rte_dpaa2_driver *dpaa2_drv,\n+\t\tstruct rte_dpaa2_device *dpaa2_dev)\n+{\n+\tif (dpaa2_drv->drv_type == dpaa2_dev->dev_type)\n+\t\treturn 0;\n+\n+\treturn 1;\n+}\n+\n+static int\n+rte_fslmc_probe(void)\n+{\n+\tint ret = -1;\n+\tstruct rte_dpaa2_device *dev;\n+\tstruct rte_dpaa2_driver *drv;\n+\n+\tTAILQ_FOREACH(dev, &rte_fslmc_bus.device_list, next) {\n+\t\tTAILQ_FOREACH(drv, &rte_fslmc_bus.driver_list, next) {\n+\t\t\tret = rte_fslmc_match(drv, dev);\n+\t\t\tif (ret)\n+\t\t\t\tcontinue;\n+\n+\t\t\tif (!drv->probe)\n+\t\t\t\tcontinue;\n+\n+\t\t\tret = drv->probe(drv, dev);\n+\t\t\tif (ret)\n+\t\t\t\tFSLMC_BUS_LOG(ERR, \"Unable to probe.\\n\");\n+\t\t\tbreak;\n+\t\t}\n+\t}\n+\treturn ret;\n+}\n+\n+/*register a fslmc bus based dpaa2 driver */\n+void\n+rte_fslmc_driver_register(struct rte_dpaa2_driver *driver)\n+{\n+\tRTE_VERIFY(driver);\n+\n+\tTAILQ_INSERT_TAIL(&rte_fslmc_bus.driver_list, driver, next);\n+\t/* Update Bus references */\n+\tdriver->fslmc_bus = &rte_fslmc_bus;\n+}\n+\n+/*un-register a fslmc bus based dpaa2 driver */\n+void\n+rte_fslmc_driver_unregister(struct rte_dpaa2_driver *driver)\n+{\n+\tstruct rte_fslmc_bus *fslmc_bus;\n+\n+\tfslmc_bus = driver->fslmc_bus;\n+\n+\tTAILQ_REMOVE(&fslmc_bus->driver_list, driver, next);\n+\t/* Update Bus references */\n+\tdriver->fslmc_bus = NULL;\n+}\n+\n+struct rte_fslmc_bus rte_fslmc_bus = {\n+\t.bus = {\n+\t\t.scan = rte_fslmc_scan,\n+\t\t.probe = rte_fslmc_probe,\n+\t},\n+\t.device_list = TAILQ_HEAD_INITIALIZER(rte_fslmc_bus.device_list),\n+\t.driver_list = TAILQ_HEAD_INITIALIZER(rte_fslmc_bus.driver_list),\n+};\n+\n+RTE_REGISTER_BUS(FSLMC_BUS_NAME, rte_fslmc_bus.bus);\ndiff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map\nnew file mode 100644\nindex 0000000..4d525ba\n--- /dev/null\n+++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map\n@@ -0,0 +1,7 @@\n+DPDK_17.02 {\n+\tglobal:\n+ rte_fslmc_driver_register;\n+ rte_fslmc_driver_unregister;\n+\n+\tlocal: *;\n+};\ndiff --git a/drivers/bus/fslmc/rte_fslmc.h b/drivers/bus/fslmc/rte_fslmc.h\nnew file mode 100644\nindex 0000000..040ab95\n--- /dev/null\n+++ b/drivers/bus/fslmc/rte_fslmc.h\n@@ -0,0 +1,148 @@\n+/*-\n+ * BSD LICENSE\n+ *\n+ * Copyright (c) 2016 NXP. All rights reserved.\n+ *\n+ * Redistribution and use in source and binary forms, with or without\n+ * modification, are permitted provided that the following conditions\n+ * are met:\n+ *\n+ * * Redistributions of source code must retain the above copyright\n+ * notice, this list of conditions and the following disclaimer.\n+ * * Redistributions in binary form must reproduce the above copyright\n+ * notice, this list of conditions and the following disclaimer in\n+ * the documentation and/or other materials provided with the\n+ * distribution.\n+ * * Neither the name of NXP nor the names of its\n+ * contributors may be used to endorse or promote products derived\n+ * from this software without specific prior written permission.\n+ *\n+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#ifndef _RTE_FSLMC_H_\n+#define _RTE_FSLMC_H_\n+\n+/**\n+ * @file\n+ *\n+ * RTE FSLMC Bus Interface\n+ */\n+\n+#ifdef __cplusplus\n+extern \"C\" {\n+#endif\n+\n+#include <stdio.h>\n+#include <stdlib.h>\n+#include <limits.h>\n+#include <errno.h>\n+#include <sys/queue.h>\n+#include <stdint.h>\n+#include <inttypes.h>\n+\n+#include <rte_debug.h>\n+#include <rte_interrupts.h>\n+#include <rte_dev.h>\n+#include <rte_bus.h>\n+\n+/** Name of FSLMC Bus */\n+#define FSLMC_BUS_NAME \"FSLMC\"\n+\n+struct rte_dpaa2_driver;\n+\n+/* DPAA2 Device and Driver lists for FSLMC bus */\n+TAILQ_HEAD(rte_fslmc_device_list, rte_dpaa2_device);\n+TAILQ_HEAD(rte_fslmc_driver_list, rte_dpaa2_driver);\n+\n+extern struct rte_fslmc_bus rte_fslmc_bus;\n+\n+/**\n+ * A structure describing a DPAA2 device.\n+ */\n+struct rte_dpaa2_device {\n+\tTAILQ_ENTRY(rte_dpaa2_device) next; /**< Next probed DPAA2 device. */\n+\tstruct rte_device device; /**< Inherit core device */\n+\tunion {\n+\t\tstruct rte_eth_dev *eth_dev; /**< ethernet device */\n+\t\tstruct rte_cryptodev *cryptodev; /**< Crypto Device */\n+\t};\n+\tuint16_t dev_type; /**< Device Type */\n+\tuint16_t object_id; /**< DPAA2 Object ID */\n+\tstruct rte_intr_handle intr_handle; /**< Interrupt handle */\n+\tstruct rte_dpaa2_driver *driver; /**< Associated driver */\n+};\n+\n+typedef int (*rte_dpaa2_probe_t)(struct rte_dpaa2_driver *dpaa2_drv,\n+\t\t\t\t struct rte_dpaa2_device *dpaa2_dev);\n+typedef int (*rte_dpaa2_remove_t)(struct rte_dpaa2_device *dpaa2_dev);\n+\n+/**\n+ * A structure describing a DPAA2 driver.\n+ */\n+struct rte_dpaa2_driver {\n+\tTAILQ_ENTRY(rte_dpaa2_driver) next; /**< Next in list. */\n+\tstruct rte_driver driver; /**< Inherit core driver. */\n+\tstruct rte_fslmc_bus *fslmc_bus; /**< FSLMC bus reference */\n+\tuint32_t drv_flags; /**< Flags for controlling device.*/\n+\tuint16_t drv_type; /**< Driver Type */\n+\trte_dpaa2_probe_t probe;\n+\trte_dpaa2_remove_t remove;\n+};\n+\n+/*\n+ * FSLMC bus\n+ */\n+struct rte_fslmc_bus {\n+\tstruct rte_bus bus; /**< Generic Bus object */\n+\tstruct rte_fslmc_device_list device_list;\n+\t\t\t\t/**< FSLMC DPAA2 Device list */\n+\tstruct rte_fslmc_driver_list driver_list;\n+\t\t\t\t/**< FSLMC DPAA2 Driver list */\n+\tint device_count;\n+\t\t\t\t/**< Optional: Count of devices on bus */\n+};\n+\n+/**\n+ * Register a DPAA2 driver.\n+ *\n+ * @param driver\n+ * A pointer to a rte_dpaa2_driver structure describing the driver\n+ * to be registered.\n+ */\n+void rte_fslmc_driver_register(struct rte_dpaa2_driver *driver);\n+\n+/**\n+ * Unregister a DPAA2 driver.\n+ *\n+ * @param driver\n+ * A pointer to a rte_dpaa2_driver structure describing the driver\n+ * to be unregistered.\n+ */\n+void rte_fslmc_driver_unregister(struct rte_dpaa2_driver *driver);\n+\n+/** Helper for DPAA2 device registration from driver (eth, crypto) instance */\n+#define RTE_PMD_REGISTER_DPAA2(nm, dpaa2_drv) \\\n+RTE_INIT(dpaa2initfn_ ##nm); \\\n+static void dpaa2initfn_ ##nm(void) \\\n+{\\\n+\t(dpaa2_drv).driver.name = RTE_STR(nm);\\\n+\trte_fslmc_driver_register(&dpaa2_drv); \\\n+} \\\n+RTE_PMD_EXPORT_NAME(nm, __COUNTER__)\n+\n+#ifdef __cplusplus\n+}\n+#endif\n+\n+#endif /* _RTE_FSLMC_H_ */\ndiff --git a/drivers/common/Makefile b/drivers/common/Makefile\nindex e5bfecb..cba1134 100644\n--- a/drivers/common/Makefile\n+++ b/drivers/common/Makefile\n@@ -31,6 +31,10 @@\n \n include $(RTE_SDK)/mk/rte.vars.mk\n \n+ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y)\n+CONFIG_RTE_LIBRTE_DPAA2_COMMON = $(CONFIG_RTE_LIBRTE_FSLMC_BUS)\n+endif\n+\n DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_COMMON) += dpaa2\n \n include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/drivers/common/dpaa2/Makefile b/drivers/common/dpaa2/Makefile\nindex 4960ebe..9681729 100644\n--- a/drivers/common/dpaa2/Makefile\n+++ b/drivers/common/dpaa2/Makefile\n@@ -31,6 +31,10 @@\n \n include $(RTE_SDK)/mk/rte.vars.mk\n \n+ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y)\n+CONFIG_RTE_LIBRTE_DPAA2_COMMON = $(CONFIG_RTE_LIBRTE_FSLMC_BUS)\n+endif\n+\n DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_COMMON) += qbman\n \n include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/drivers/common/dpaa2/qbman/Makefile b/drivers/common/dpaa2/qbman/Makefile\nindex 5e64d23..7ac1ba7 100644\n--- a/drivers/common/dpaa2/qbman/Makefile\n+++ b/drivers/common/dpaa2/qbman/Makefile\n@@ -36,6 +36,10 @@ include $(RTE_SDK)/mk/rte.vars.mk\n #\n LIB = librte_common_dpaa2_qbman.a\n \n+ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y)\n+CONFIG_RTE_LIBRTE_DPAA2_COMMON = $(CONFIG_RTE_LIBRTE_FSLMC_BUS)\n+endif\n+\n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n \n", "prefixes": [ "dpdk-dev", "PATCHv6", "03/33" ] }{ "id": 19875, "url": "