Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/20445/?format=api
http://patches.dpdk.org/api/patches/20445/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/1487205586-6785-5-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": "<1487205586-6785-5-git-send-email-hemant.agrawal@nxp.com>", "list_archive_url": "https://inbox.dpdk.org/dev/1487205586-6785-5-git-send-email-hemant.agrawal@nxp.com", "date": "2017-02-16T00:39:03", "name": "[dpdk-dev,PATCHv7,04/47] bus/fslmc: introducing fsl-mc bus driver", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "80f42ee7f5b8413ab4fcd9ca844a95f1c75e6939", "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/1487205586-6785-5-git-send-email-hemant.agrawal@nxp.com/mbox/", "series": [], "comments": "http://patches.dpdk.org/api/patches/20445/comments/", "check": "success", "checks": "http://patches.dpdk.org/api/patches/20445/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 282F2D4A4;\n\tWed, 15 Feb 2017 20:06:34 +0100 (CET)", "from NAM01-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam01on0088.outbound.protection.outlook.com [104.47.32.88])\n\tby dpdk.org (Postfix) with ESMTP id 9E9C52BA4\n\tfor <dev@dpdk.org>; Wed, 15 Feb 2017 20:06:01 +0100 (CET)", "from BN6PR03CA0065.namprd03.prod.outlook.com (10.173.137.27) by\n\tBN1PR0301MB0721.namprd03.prod.outlook.com (10.160.78.140) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.888.16; Wed, 15 Feb 2017 19:05:59 +0000", "from BY2FFO11FD006.protection.gbl (2a01:111:f400:7c0c::195) by\n\tBN6PR03CA0065.outlook.office365.com (2603:10b6:404:4c::27) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16 via\n\tFrontend Transport; Wed, 15 Feb 2017 19:05:58 +0000", "from tx30smr01.am.freescale.net (192.88.168.50) by\n\tBY2FFO11FD006.mail.protection.outlook.com (10.1.14.127) with\n\tMicrosoft SMTP Server (version=TLS1_0,\n\tcipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.904.16\n\tvia Frontend Transport; Wed, 15 Feb 2017 19:05:58 +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\tv1FJ5fLY020023; Wed, 15 Feb 2017 12:05:55 -0700" ], "Authentication-Results": "spf=fail (sender IP is 192.88.168.50)\n\tsmtp.mailfrom=nxp.com; caviumnetworks.com;\n\tdkim=none (message not signed)\n\theader.d=none;caviumnetworks.com; dmarc=fail action=none\n\theader.from=nxp.com; caviumnetworks.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>", "Date": "Thu, 16 Feb 2017 06:09:03 +0530", "Message-ID": "<1487205586-6785-5-git-send-email-hemant.agrawal@nxp.com>", "X-Mailer": "git-send-email 1.9.1", "In-Reply-To": "<1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com>", "References": "<1485172803-17288-1-git-send-email-hemant.agrawal@nxp.com>\n\t<1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com>", "X-EOPAttributedMessage": "0", "X-Matching-Connectors": "131316591583794254;\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)(39410400002)(39380400002)(39860400002)(39400400002)(39850400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(68736007)(54906002)(189998001)(33646002)(4326007)(8656002)(48376002)(575784001)(77096006)(356003)(47776003)(106466001)(2351001)(86362001)(8676002)(305945005)(50466002)(5660300001)(38730400002)(105606002)(53936002)(110136004)(5003940100001)(50226002)(36756003)(92566002)(8936002)(104016004)(6916009)(81166006)(626004)(6666003)(50986999)(2950100002)(97736004)(389900002)(76176999)(85426001)(2906002)(81156014);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR0301MB0721;\n\tH:tx30smr01.am.freescale.net; \n\tFPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; ", "X-Microsoft-Exchange-Diagnostics": [ "1; BY2FFO11FD006;\n\t1:+vP9T3UT8nz5MsB7Qr6T//CjBEuilWgjie6mwMWxUI+FFfhLYoltCQe7u9Y1LNJQhrqtM9pcrPX5C7fJzEHXcObDyb2WaAz9vZd1ESTp3sDw7wG1in7j6rPsssbzs1yWFcuEl1SPAVOYS75Ey7KvaYsmleoPN6HN3hYLly2Dc4MUG+mqqBNhb7P4aanIhS9SmRRWsA97jpqhojWixWO7R7YjoVrEidbDXLuxTugZwgsSyC/vHm3Km6x007ToWGEQOlHhDcGxeWItHDu5/Z/ckKqa7Rco3JcRZxHFf+rfatoj42Ozt+pfqGUioVZzFHg0wql3YRNkbPsRYOP9OzesMwtD02FniT3R6X4ZaPOGxDBxyG56DJcvvwOmwGqUd82230rnCnfGbIVyt5W4/b5nB+XsaJ4hkYaXduUk3OEHFYuaRakg3hd4ROOTt8FYIfEabvK1VEacNQ5xgOOJeJo1OxCgplleotJ/0e8Kd9TKC53CZpO6vtmdKI2YiE785y5NXSMgZWY50ZwN9VywmHPCXq4jYxwGLM8RXfkjv0pwo3Lc+OoZgJAAqGnLMxqd2wzOjwUcqaeTwz57TmBkCVVos4askD9j3fpJIksbn8/1n6lwEa1Yq0EorCfHvOwn9Iwm0sdHAaCqAFUG8EQNBiiF4A==", "1; BN1PR0301MB0721;\n\t3:RgVzGFjNVrKITl7C8woUr0I2NyBkn8iXaAkkOYxINlnn6t3sDjMao/myO6YFUlADC6+wFLMLrziZMGC/ojppCYaybjUd2j6k9YGbPeD0GRPruPm5GugMCnWerZnQW4vM3UT2ZtOResbdy+yJaaTfj53XxsxoWtmHTWwulgSWb2D1BJ6U8AhEfXAus3V/j4BlMijN6ByVuO/zNGrdlIIwxWIohkft0DSBcRh+KDfIzbp0kxCC/NZmeMvRKzTl1wH3InNiDfqOby6ijhlELTt3+x94Wg4qFvNboiLclzLTKzqMIB+QIFIiif0xigCnCTEoPwvATJxXZVBL08AAW9UjA24oLjHQ++J+RNlNUwNRKJ/L9j15Y1/kWm1/mliSHVs/;\n\t25:D3z+CPlj0pVy5ZyRmh+WSfMK9l2ZSe9yxhSMebZn8/eUmmebGMJM1J6zsXfNPtxgiX0AuL/vxhv/Gh+aFYFrzJYriqVMk7zHdaiQdoD73lfCo61v942nlks5gvrVG/tUKm5MTrYxDg77v473UH0Zq3sdEbRgWNdSi+6uxNzsm04xhLKOdZGL2aNQy2b115UF6OZShW6XMTAm6lHoDEQxXjvvY+CZzM+rgROLjI23EFX2OOobDKrBGSYNLEF9n73Ct92jk9CKMf27BcVnSUEpfHhvB9vBqgSZpSMmvmXzfPPmyCdhPTK3jEE9Kqp/hCPd0qB+afIVeXwYx4z+gKtT9HphkmvM0RT9zVwMVTh953DID4DZZFdcp4jZmKGpy0sVZeqPwhRc5sVQdUoeIBPaVfO9u67renwV6EngJAv827x6rucAoingiuQZ16UIBDJ1eUHCT03mNcgPHZLrH4Qisw==", "1; BN1PR0301MB0721;\n\t31:KtLpiL5/Bsq2FHfaNYoLc33p1SUHS4+STk2uhuenW3ct3U/jgc4Xpr/dUIMKz3gpGwHaijS7XwaPkXTpNkbegJYRuNx6W2H7qISXjj14wWk6mzyRXRzzTfHrcYmGpjWAQWljCc4ItyJFO0HRTkY0mrAP6wYwmr0xJjotd9xj2BtNRBpu8H3VEZ7Ah6XQXbKGMetEz9gqoAnMIAwU8ZblhR7CyOlnU55kvVh0Hx8JPLKozc6GGIyo/zxCZLH8AbN2rGjyxp+IStWdDkCGSAImfQ==", "1; BN1PR0301MB0721;\n\t4:8/ZLboriXmVg7qC1O+qFpE3LnknxJ3YUBnRiuflBCBxeJodcpaE3um3RbLwqBi6ujQclI1+nfblDrngAelVxfHHuiAXeONdRnzOIBRsuRRbqZwsVCA2evffQ6ycXWThlfqYY9/sWrUF0IZaf4Be04GF4MNFGuF/XxquZFufRpMAVsweDL0jNIxVeFHCHXP8uNLc2Ps27x+INDCNNKXiUj1ZLT3X7oygORCRumL05fO7fa4Vs3BiH1NeE7gtibxzLgckKbqB/M4+C9NkXTQc0H9elER2wIy/PyamWBt6BJwqzilCv9al9dgALIX94LwpMVZTiXCZiKVsVAZZEa8iJQFc9TLHlA4QSQmB8yHItVbna15z6kFPbTTFWaU6XvboQxTgf8WECvDEcmr/Nr7moTBqv2gbs2xTnwENGWOHkTEBR8TiSV9WW5IYzErNQDPhoCAC2gk3VqyHyMcjxpodIrPA3MDZ1jFLLl5cGXDxjD/UErb2aPjEbhOVuved/pv5gqkC2zV19DbdbztYDNR+m64WtwefS+NfTczpBHhc38hbKmHzHvLFob2nvvmhBpDlPFHsj8CsAR/XO5CyQVExMrJHy/tqvSOpsfDoELrZ5QK0wvnyMOQSguM5MIgP9k2fRBC9gSEs+jk85GWEzFh5A+qSnF9q9/E2mSCK1kj6uHb7JIYAH+UScxyH/297niugMr0S2IlAEJUHVVIaPeG8gBN5qGAhAH4rnDs1XzXkhGIqb66/Iyuigd0gktVePasMj", "=?us-ascii?Q?1; BN1PR0301MB0721;\n\t23:KueSwlSJ116XikWhGuaPQX+SpX9s984ize8VB1A?=\n\ta9f1qZjY/t4qyEoE9rg02zC27AEbusTvBT3w0tKl/Uctm1KFVwtz/vEaVRGFRVP2CUdQG7tSirMBwlcSGQFVdIoWPIRYge32qsUieI+n+CMhb2A05JqArZT/HFSvGIyvnZ3loGrgmw83aFVBHJj7hQx5b8v+4cGWUGngKSiDzK3kUeYRCNmbf0oycT1xMLtFUwRZHvxkghAhwCN7XRg1OBMeFQD2DMowisGLh2FugfDV24YJkHnQxasbF1Io2PjYYz4xTPcY4FB/Wy0ppTnpZ6ZvgTHlWQeRmM5xHAHkayLZl29x0Pxhjx3bOlnNpYel8q9WjzN1rk7NFFoY4lSkT76CDIHkKgD66y//w4q4/uS/m/ygrsV8JnG64oWiM1PHuIz25ZLYZjC4nEe5prW9T91nIcL2/OGKDuKB2F9M2a5KhB5S5sixIaOWjimqM13bbb0FahMsCeR1dlL4rHPoMPU3xr1y9v5jZkf1y4jPZalFEn457YZJ4am+IHqXyEJJgniL5CpVMgWc5KywgzUhpIMjG1t93PR4blFXLwsW6ve4oGQOMjRKVs0iBKjTliN0SerP+3adi59Ig6zKZ3Tne0FG0m3pgtIJfTbE9UZvrH8jXwzfjtcq19vqSi2pXucuuDgqclQBzCWbIBx4DoeEoTiZcUtfSONrfBgcDwzdxrRvvaYrQ3a8wTHSF/sHGyZ9C6SZIBR39o7HW89NR+v0gAurpN3PKW17zzWmcooATY1+Pab6brMHzgRgYR1v9ewcrASw+gRuMY1kYrYj/2rLor7JnylkHg7Gr1Ig3RSHwR+37cnInYFN0nBPuw2r9QitY/b5kTlpOF2Qy5HhEKDowoVGvRfoPVnvytrZmjahB9qeTafpny2/ML+uu3VPXJRjj5UYd7wSw0hDoq7necjhD9pAN2HJv6/Q/3r3HRSUyd4R11q6CNXulpDy+s0ezjCRIhnXRj2RJbnFfW26GnFS0qf/aQeilGvpfFon7xHByIcJWwg0UgvtCFUl5DR3QVvrX2AFOIae6XfLlcX91CaZrRUtZsXSxabo5y2Sn6n9W6CGLzuiUWDqTd/qf8NNoyuEdZiEbQY3zMn+3jP7ZwL8/Qv9rJHE+CyN1EP9Wd71/dBg/wGBVJzpi+fhyDfQQxlRm3R3qlyRtSLPtNykEMN9yrLEiK3fGXssKZc6kOWLxwMIVLj4jzu4m8r4HsebXW4fTpWTrxM7VzO0yiUnhRYhnYaPitf7CC/pF9FbE+GdA58qMK7o9JciwCQG1Q20IKHULl3d+93NsFa+Q25nIf+jeydXr8DclF7n7tA23FnBL36h+DA==", "1; BN1PR0301MB0721;\n\t6:CBKA617fUo41X5tOjlUnvzN+mmoy29Pll6+K/LmQF3YCF0SpViXIc1dUTVnijA7y4rP4gWp/0WlHqTAyDDZe/Twq9ryHEYdnwwScJX0bg8Nb74ReVZcePV8/Gqigl0otitbIWanTTZIBJqSK3CaykgHl1IR3dHGpnL+qr0cxcT8sqjLRTgYlTYFSd3BLrJKIm3Wgrgm/VqcHP9wF2xIukoz9yjNdAvv2DmBXN7xk1TI2vtF4y3hidU3EPyeLVLVb99qo1SgRWbDnUbc/NtcoZpsAjgwA8y8Ia6Uaco6piB6jBla9RrVLSwQufh9tOmORojsqecHKEKXPpTgWAFr8X1poFIwUyGHBguiyHz/zUGqdWGR65aHbzqJgDuxIYIBKQiQZSxOfioGb14aM78sS4IWfKY0kbr+yFFI8a5Mpid0=;\n\t5:r5EOyQez1oZqYL5tXs/Cehsfc0Lb3+IEkI1LHcUkTNFwzOf5DNhEGfxNrX7TJnQFEMXVM1dI6rZDMF2CYh7IYE/cn8vz6FSdaNIyKjsksWdqExvU5GHsA//ttXdVfbwJpCfYHfLsnbAsGXbxkC5sVchScf4azdDy1PAgUJ01Vdu5QaJgJ9zYZtwvB7e/RzWD;\n\t24:5dKz/zb6H+agK4Nqj0DhT8iotFmbKW+ebtnbKdbfxjwIfwRWFjh9w0B8MeQPIUkVrX9BJzkFAMKUUIuuLw1TxmXtAkDeF72sXct3+JnTkMU=", "1; BN1PR0301MB0721;\n\t7:ZOV7dM3qV4CtkL+42Tvwvpi4WPbpL8w7BXAcTnM2PlcjelS6OA+OT3fLGEVVoP9nlcr+pXVCJLp4czgwkOjb0STvZfOBQT67DT5Led5LxOQ7/1X8Jl+1dfjLT0Fqso4x3kzR+ucOZ9bjQ0gZvoZqI5XuWjZ7HbGcdqcOZqBvkW+kvhGpKUoqUxa0A6CItj5lccva9W7mWLZzOEv2tBoG5OXA6MQh5EHS8FL4dXN+dw3BEtaynpFfx+B7mhgkyWLcPzlJ7gnyUlqJe2Z13sHv8OOxDrrh8Brr/NXxn5pcnpiScTfZeOkBhU6ooEbC745+COXkfPp71ZLImf2AICvfBg==" ], "MIME-Version": "1.0", "Content-Type": "text/plain", "X-MS-Office365-Filtering-Correlation-Id": "42cd18d7-0d95-41b8-944e-08d455d5acee", "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:BN1PR0301MB0721; ", "X-Microsoft-Antispam-PRVS": "<BN1PR0301MB0721DE5539DF53877D14A87B895B0@BN1PR0301MB0721.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)(13017025)(13018025)(13023025)(13015025)(13024025)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6096035)(20161123565025)(20161123556025)(20161123561025)(20161123559025)(20161123563025);\n\tSRVR:BN1PR0301MB0721; BCL:0; PCL:0; RULEID:(400006);\n\tSRVR:BN1PR0301MB0721; ", "X-Forefront-PRVS": "021975AE46", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "15 Feb 2017 19:05:58.1922\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": "BN1PR0301MB0721", "Subject": "[dpdk-dev] [PATCHv7 04/47] 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 | 8 +-\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, 394 insertions(+), 1 deletion(-)\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 7ec5683..c151546 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -358,6 +358,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 71a4fcb..d162228 100644\n--- a/config/common_base\n+++ b/config/common_base\n@@ -287,6 +287,11 @@ 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+#\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 66df54c..365ae5a 100644\n--- a/config/defconfig_arm64-dpaa2-linuxapp-gcc\n+++ b/config/defconfig_arm64-dpaa2-linuxapp-gcc\n@@ -1,6 +1,7 @@\n # BSD LICENSE\n #\n-# Copyright(c) 2016 Freescale Semiconductor, Inc. All rights reserved.\n+# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.\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@@ -40,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", "PATCHv7", "04/47" ] }{ "id": 20445, "url": "