From patchwork Tue Feb 7 15:43:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurentiu Tudor X-Patchwork-Id: 9560457 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6C9596047A for ; Tue, 7 Feb 2017 15:45:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5A0B328451 for ; Tue, 7 Feb 2017 15:45:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4E94628454; Tue, 7 Feb 2017 15:45:53 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00 autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B26E228451 for ; Tue, 7 Feb 2017 15:45:51 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cb7xk-0007pL-KS; Tue, 07 Feb 2017 15:45:48 +0000 Received: from mail-sn1nam01on0063.outbound.protection.outlook.com ([104.47.32.63] helo=NAM01-SN1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cb7wX-0005CR-60 for linux-arm-kernel@lists.infradead.org; Tue, 07 Feb 2017 15:44:43 +0000 Received: from BY2PR03CA078.namprd03.prod.outlook.com (10.141.249.51) by DM2PR0301MB0734.namprd03.prod.outlook.com (10.160.97.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16; Tue, 7 Feb 2017 15:44:09 +0000 Received: from BN1BFFO11FD030.protection.gbl (2a01:111:f400:7c10::1:185) by BY2PR03CA078.outlook.office365.com (2a01:111:e400:2c5d::51) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16 via Frontend Transport; Tue, 7 Feb 2017 15:44:09 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD030.mail.protection.outlook.com (10.58.144.93) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.888.7 via Frontend Transport; Tue, 7 Feb 2017 15:44:08 +0000 Received: from rhuath.am.freescale.net (rhuath.am.freescale.net [10.81.117.102]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v17Fi5WM029897; Tue, 7 Feb 2017 08:44:07 -0700 From: To: Subject: [PATCH v3 10/10] staging: fsl-mc: dprc: drop unused APIs Date: Tue, 7 Feb 2017 09:43:53 -0600 Message-ID: <20170207154353.20691-11-laurentiu.tudor@nxp.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170207154353.20691-1-laurentiu.tudor@nxp.com> References: <20170207154353.20691-1-laurentiu.tudor@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131309558487640621; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(7916002)(39400400002)(39450400003)(39860400002)(39850400002)(39410400002)(39380400002)(39840400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(2351001)(626004)(5660300001)(189998001)(4326007)(2906002)(36756003)(6666003)(2950100002)(6916009)(305945005)(356003)(38730400002)(77096006)(2876002)(97736004)(110136004)(5890100001)(5003940100001)(50986999)(76176999)(8656002)(86152003)(54906002)(7416002)(53946003)(105606002)(92566002)(1076002)(85426001)(106466001)(53936002)(47776003)(50226002)(8936002)(68736007)(8676002)(81166006)(81156014)(50466002)(86362001)(48376002)(104016004)(33646002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0734; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD030; 1:SaLQydepzUD24eSB0OWaRmI409FRxTIm3u4NOpFl2xeqvlqNIICL2LHRfY7f6f+awYAhODzyVuZSiHT19VqZTLhTbWzrx8z7AYFvAdALs14/ftmU7MIERsg58+HUptqcaNK2qyejbcFYYSfjYajEDZUkbZrjcyJ0Ybm1fOa5EtrVlhZdronvLy/hPn1O47zeG3pSzS/5iYpWqxAhe2uaFaZ4UwVvGLkFchyitlqvoalx0ba0uyHFZlyZXDLE/byZzb0yBbCkYaQd0yYzh3S2cA6Frs93h+a4/idlEcKgBRi5FtV1D4X3r9q6u80sm9w/gfnES7UudRpdPC90+9KMEMe9Ts4RX8gijfRLnltMKi3XolMGc7hUYXMrrW/siJijpy7l2TQS3bMRmGQtI6tGqpcl1YZGLD5P2Pf6ABeM6SgX6eaVLnBFOoA7nGESHfJYitGcJe0x+tUeY8X0ac93PncFQIS3PmGzeF6/dSfbaDWGM2ZCubjj6JmxUdRNwpQc7m89VWrReyd94BKoKkAj8DVONmnSPZFk6tGrZyen/utMM7aAmKpx1rlD6uxS517isYTE++oOQnnJijP9/u2wgW6GUATnUwAdM7OeqyUEzYJCv7LQEpLcBRuC8tp2f2rd7ihme1s5c2P/wGaGoVl5Uv7/9/f6pRsTujbwi3Z1DhJsAtrYoPYtYZEGusqvvx0D6+V0vetTsMAqYMwtjPMxriKkynmJP+7gHgmrHNzZptUwxJ1vzpPraOABQ0LenfJUYwmjGP0119VC33+B4w+iCw== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: f7c0746e-0cc2-4d1e-ea2d-08d44f7027bb X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM2PR0301MB0734; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0734; 3:KTFRRTHiXEhLpFBXqSqfGVNso/l+KbFpM/8l5IvJxxzseMrlrILRL0afkajR3fjUdi3lKHboumym38XwM+cj+cvteieTYBDZjRvraBQjQGw5pRTV4UxRZodE24ztWpB+JeSJefQI7MI6TTi9uL7z2bWA4AYjUfP6iWu3BFfEdWNz0OYPRQkNaKhR6HQyfN9F5p+LYPGm96Emkw2ccsqTcAvHZvdmO427sl1jXXoN+vueJlUWBk1mabuCRfep113Z9pDow5F5VPUPBb2b7N++tn3cCoYCmzWXjFCgtqiwoeStBu/LC1JzIlooWzVt6ffbIBKqmtwCx7CFltdm9tsQ+U72vYRxp9usHBf46Ab/LCrxY8J3C1pxg5nR51ni5Mu/; 25:x4VqIz4WSwjkD900JkJFA/vj4Q4VY+g/pku71HDdSPGstuuQlhVDwbv/LT2soyjI3yQfsNVgTQhc2Yby1Pcug2+l+p4EPi3Clr6I8azD+0pSX1vBBns4Sb2gJVzoCFqL7Qpp5iK1Ws+/CaX4AiiPFVbBTbZiO1YBgtMWMXC9RSCglkyQ9DOoytNotn0W3AlAJ6ognTgbmigZNHTK2hwY4YItvTH9QoqEL8mg2oxOf7wxo4RFfWstc81H8AXpBrZ5bbZ1LThVHMKr8P8YLOij92V/gqYdWY4mkDhCVSxHmkh+iISgyeBr0E+bs5LvqfDfHDlUAsepTZ9pUQx19VpTEB4XOuhXHGFRHofYs9AmWHzmMNuWZZhYfYQW1TgIx6O4wI9mFNvk1wWC0VxHP42rNEgd54YxQ1V1u6n5OZG+5xnZPBIBv5x3MHiNRVEVYR0pmbUwMOTuM+UCLj1bbS+pWA== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0734; 31:RUeV0G1IU3dQoBrbUkhWKN4lHzftfq66Aeoawx3/yYsEFxApu8IAI6QNY4W63dgF1GdPVMHjxWGpaWyF3MIyA8dlRpRLS40tv41o/YYkrluHJL2/oCKdOebjhCmS8fdgiVVL2XwxxjKJPHoVDZGVCvCOJLGNSl8AktEMUOXLVC3XM3X94VDqJQD6OykpuC26+CkMuSC786DwazAITLebghXhSlD6tRB0EAAJ07I0uii0RoHkw2NHpJHY45Cy58UqDZtKg+hsqozOpKoN3i/tGe3HWMmcAMBfrU7VCZxvzxs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(275809806118684)(21532816269658); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(8121501046)(13017025)(2017020603029)(13018025)(13023025)(13024025)(5005006)(13015025)(20170203043)(10201501046)(3002001)(6055026)(6096035)(20161123559025)(20161123556025)(20161123563025)(20161123565025)(20161123561025); SRVR:DM2PR0301MB0734; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0734; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0734; 4:ud7vJVbUA/BtIwwmm3ya518KFsTcshjyJMH0S5qIYoQJ9hI4f3lsZK5W9gJa8yPJPB/lKrn0buXnymGb5vfC/y7iEGYE/bL688DSfMayyyVqH0kTZNqvYBt+cOuSgOEDRMQlTPbU8s4FDV8houRUyBU1AvAjpj+B6xqa4BJKBLsDMaK2+EnfnsUG9hQXGy5KAJUjy+FkDMh2AwOjd05fbnexisGg4LHAYNVYiE6nsyNu5mevncaUKp9zoOROuFzIkOsN0SQMtUGzY701vH2rotEwKKe9kTjYlfob7SLoTqgkpiMT/HUpn8PMuOFwVY+g5ASYZ+m3F2Lf/1uFp7sB/OqA4ebP4jvTKTP92OrEnYFes1w9VxP8o49MNRXkBolnPSgsN/NxMzubWvXVlagNRrVssQvqfCJW0Osiawm6JbQxJZuQj1bdrR2MmHGoNBXiio2OWb3dNNiBVRFp9RS9c4/hgFWh+kIHUwFjVzm3esDMVVSw8dr9IxYYEasGSCn6IDmMC8M4z6/R4kKfUa0BTQPXIuXZwFqtzdR4tcNl7x2w7A/nR8kaI+yzCRwnr83Q4aYv1JJnkjvORyh75DI7CKqJkHJqXxA3rKUo1f++BdBohuXDcqRfarKgF+tA/ONhHtsnBvm6p0tSeLL4appp6eVYba1cF1VzFUrI3G82Mlc9izddXyzbwaX7E2c+kMXg9NZI7jR3VmFaUw5Y1WLf/FELSNrPOOZ+uBU2xMvzy3JFrCmPpTVKjfd3K6fQI1dJB1Kcb080pbtPU3mZA3FNH5Uk+a3reF4/FrfQbPOsI/EjgGxovW050w60UA59qU2bvFalNKHWmQ3oPc/jstjhwMW9aya1jhNcC1t8+kz8QFVynYp1lXu+mTrBLXlXh1TA X-Forefront-PRVS: 0211965D06 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0734; 23:gxyGszWX0A9RMKisafGcJB8z8GCr68fWEmPTHil?= =?us-ascii?Q?rDGSm+v0TSc2zfC7pexxPwwWgd93/+3NafBOF/2ymJyl1DVYQMnXGiiry3tx?= =?us-ascii?Q?pCshGX1YTylf9KaAXFLKuIyBlnuGueXTiyZBgESdXR3zfIfmbG7fyWqrcZsh?= =?us-ascii?Q?yqMCD+YdgeLmdlBXXHnVv/jZI3flkZfnihVTj4Ai0R7E1F0Lo7PNryFbhc+x?= =?us-ascii?Q?JjBh/oAbzQiIcdq02fslXxiPUivnB7tq8K3dijJ05jFMHwQECQ3gHcSTTavZ?= =?us-ascii?Q?GMyyJaE+4kw/aTqHkveOf4bYYjJrcmgV1p9++wBLWkaYzVk95tOFn1Wl2R4o?= =?us-ascii?Q?AcnpDQhO5HsDhQLUMrw96aUCp8rcijXnoVFVHEcbMo00dbvyWoZs7IbAHFfj?= =?us-ascii?Q?1x3Ym/7j96kpKndjrHzYcC5cN4knSIjd6rGi+n/ppxmfRKJxmPY0mYNoTI6s?= =?us-ascii?Q?Oosdl5I76RLCr7jQliN3Anbmr4fu8W5zgrmLF+QsRZF7YeUp/41TttXh5e+J?= =?us-ascii?Q?+vII9j9CGmSHFy2CHCuHrbVxcnB1tsp3NTc9iJAmKOFOriGVGMmPVh8ijgmK?= =?us-ascii?Q?xhE1XotGLaI7Dsp1psajcDHQuFRx8UqEYpTKCgLYqTK82LonrpPTYqHWM8f9?= =?us-ascii?Q?x6//kd/sn/89kWUnvc/22oLuz8Diz/Gp5ZQRPsyyzqavbW7yo0QBIxHX+SsG?= =?us-ascii?Q?aeZhMREZ/sLVzbPJfKsxDc+L32ADgoXgw5Uy1THEJTAOJ+XIZLB+LiD3WsJe?= =?us-ascii?Q?zuaeRBXbYvCMsbJ8+qzRh2OOIQiRZW2tdTfBiVQ5ggNCDv42ppmupXiwMdPj?= =?us-ascii?Q?8jDTs7CWBcXqGPy/a2LG0N7jb0Uw6sh5xPKHu8CQRMF8B4oPtBbrjY37TM8Y?= =?us-ascii?Q?V5BtVp3U7xqFWd67d9c5U2yB+c/3LTp3AaPAXQMDDzDFrBaX29ZP1br6/WQW?= =?us-ascii?Q?Xf47vgRgsFTeay6X6YyPPQAkE5SV+YXSzobtQtfPrVtPVvmc4KAVuYLc56vR?= =?us-ascii?Q?Sn010BQTl9YFtIZtfQ7RK8Hp10e++3fmecin7qvQQuBBQIdYBFctUsJfkzgc?= =?us-ascii?Q?gPliuJu4ZBSSXIsJCYDgWb0Q/n7QUdEPobu47ivxM8KXmF/3B2fN1GVzycDL?= =?us-ascii?Q?GGqcU0wY0BYVbBQXOMPG7HhoFwVPOhsm3sArAWCd00+seHMFbCS8uluUyCZf?= =?us-ascii?Q?bxLJIR9zqMMI91TSKq0WsgtD618eKdZ6m/I2Mi7ORmNp1qYRTIE84MBKpJM3?= =?us-ascii?Q?snvCGKwMefqETOf14AoZjLYcphjyfwUY5RVOpn7Tpnrg5GQL+ndKNV7BzQ3+?= =?us-ascii?Q?b/BFN69TwcJAo40ImuZGTCNk/Y0dxEvbmDCgeWjNfUP+cEwi4FiYnf+Yvvkq?= =?us-ascii?Q?D3Ml0UkP/w+ssZ6SumnsntayIfg70NTFR9ZkBWpLV22ilXsko1FxURLNp5GB?= =?us-ascii?Q?nG4CUkVtxhisMpj1ZXfB7lWaP1PqhBM0=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0734; 6:H7OTwNEJlTKQoSkSFGj7DDR/z+gvO242gG5EUWtLszL9IMVvs1zvERj3xA5tjjmVR1EefQ/9+bbihFCEB+t/MnbVWPwauyPrhsscswFowGz9TxZHAck36dr3v8OPyceXejFHpzgYo8jAxCJWsSxXqBcPPH+mmlVj31Ex7S2jIa0t1h9G/7Xlif9K2Aa/6jkgPDjaPFgQ9VtdqGEB/OE0yH9FxNkUTmKaKyEUL50kpz58aiv93Fze4uFt1z0UKakUJjqtWmq9tmsfGHnVrZ/3n3evPzktIe5UnCXR36Fd2/gV90XXcEOLR97sdNU7jwjoRLAV+zhaX9z1Iw5Qe0297MkLdlrDR9becVGGUf6USaJbdAIucsHTxq1/2XNbLfG2VK8lT92jKelRo1uUoBP9oGOwm/xt/ot3IWpv3OMsOgU=; 5:BnQJUqCCSpcwOrbSmL1BM6O3a84lp8jUGaaFTn1sEuw2Mot3ZA72vuS5bcJJp3UWxwQGA4WOVEFTLalaff+vTpCkmiUA2EvesZsGwnpXYIidZpGSvM2j/cTzJC7ExNxztSwpncb3n5Q5JnlJXD+Gnifp8aO2IVnkGypPwHsJSpPHw8w8XdQ8ksM3MC3WV57R; 24:r1quFIYD+M9Oyr7Kuo+PVIxlm0v6e+rgYteevB/Zy4hRXN4h5IIJWDfK8VXnpcbYTBHnBewLL0dqWwuJ1slS7GpRNufT9CMtSia6KnylvQ4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0734; 7:lPGI4Hg0/2zZWuTpWGufvTS2Y9Jne1IUdAWh7Famx21+vCQ2An8YwBa4SMqDuVi/xAx6+baR0Ra3RxzvxHbTrvHbHkaErmXADBVTZEI393nEAykJeffNzjtncJgZArtfG84W9ylcMkod/xtvtJ9GqRy9qAeFH8I1t2MP5UZ1KXfC1CaMuGSHZAijCvrkdodV+JC5XG20EzHstWFDwCvGwuY4UVD5Ng85R08/7b0Jnzb1wke4Lyiv+IkZyM6NuOolewAfs8XCZtIyE9fCjAVJV79DYfe+961j1BoHUOrlVRmhvs7Pw/dCObeO1xuCpY4KHVJUvoY8A9b6ZfMuZtrqw7dzJMp4MxxIRaIuFys3ksTddFzu0ncXWxlzobQyCVPARHT+VDPtdU3uXvFG0j7OWPt5XauVJ2bJdldL60hST8JAnsto3c5pwttsxN819aIZ/hy8c/4SqRq/DDNXLPU48OVXxb3UBOgBNdCsj0hOH0P1dzR7TytdUHiS21BdXsc8y4fQueOfTYJDZ8VWJVMQIQ== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Feb 2017 15:44:08.4832 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0734 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170207_074433_564307_B9F6078F X-CRM114-Status: GOOD ( 13.43 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, arnd@arndb.de, ruxandra.radulescu@nxp.com, roy.pledge@nxp.com, linux-kernel@vger.kernel.org, agraf@suse.de, catalin.horghidan@nxp.com, linux-arm-kernel@lists.infradead.org, ioana.ciornei@nxp.com, leoyang.li@nxp.com, bharat.bhushan@nxp.com, stuart.yoder@nxp.com, Laurentiu Tudor Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Laurentiu Tudor Leave only APIs that area actually used in the bus driver. The patch is mostly mechanical, with a couple exceptions: - getters/setters were not removed even if only one of them is being used - versioning API was also left in place They will be added back on an as-needed basis. Signed-off-by: Laurentiu Tudor --- v3: - drop uneeded new line drivers/staging/fsl-mc/bus/dprc-cmd.h | 18 - drivers/staging/fsl-mc/bus/dprc.c | 666 ---------------------------------- drivers/staging/fsl-mc/include/dprc.h | 243 ------------- 3 files changed, 927 deletions(-) diff --git a/drivers/staging/fsl-mc/bus/dprc-cmd.h b/drivers/staging/fsl-mc/bus/dprc-cmd.h index 588b8ca..e9fdca4 100644 --- a/drivers/staging/fsl-mc/bus/dprc-cmd.h +++ b/drivers/staging/fsl-mc/bus/dprc-cmd.h @@ -53,11 +53,9 @@ /* Command IDs */ #define DPRC_CMDID_CLOSE DPRC_CMD(0x800) #define DPRC_CMDID_OPEN DPRC_CMD(0x805) -#define DPRC_CMDID_CREATE DPRC_CMD(0x905) #define DPRC_CMDID_GET_API_VERSION DPRC_CMD(0xa05) #define DPRC_CMDID_GET_ATTR DPRC_CMD(0x004) -#define DPRC_CMDID_RESET_CONT DPRC_CMD(0x005) #define DPRC_CMDID_SET_IRQ DPRC_CMD(0x010) #define DPRC_CMDID_GET_IRQ DPRC_CMD(0x011) @@ -68,29 +66,13 @@ #define DPRC_CMDID_GET_IRQ_STATUS DPRC_CMD(0x016) #define DPRC_CMDID_CLEAR_IRQ_STATUS DPRC_CMD(0x017) -#define DPRC_CMDID_CREATE_CONT DPRC_CMD(0x151) -#define DPRC_CMDID_DESTROY_CONT DPRC_CMD(0x152) #define DPRC_CMDID_GET_CONT_ID DPRC_CMD(0x830) -#define DPRC_CMDID_SET_RES_QUOTA DPRC_CMD(0x155) -#define DPRC_CMDID_GET_RES_QUOTA DPRC_CMD(0x156) -#define DPRC_CMDID_ASSIGN DPRC_CMD(0x157) -#define DPRC_CMDID_UNASSIGN DPRC_CMD(0x158) #define DPRC_CMDID_GET_OBJ_COUNT DPRC_CMD(0x159) #define DPRC_CMDID_GET_OBJ DPRC_CMD(0x15A) #define DPRC_CMDID_GET_RES_COUNT DPRC_CMD(0x15B) -#define DPRC_CMDID_GET_RES_IDS DPRC_CMD(0x15C) #define DPRC_CMDID_GET_OBJ_REG DPRC_CMD(0x15E) #define DPRC_CMDID_SET_OBJ_IRQ DPRC_CMD(0x15F) #define DPRC_CMDID_GET_OBJ_IRQ DPRC_CMD(0x160) -#define DPRC_CMDID_SET_OBJ_LABEL DPRC_CMD(0x161) -#define DPRC_CMDID_GET_OBJ_DESC DPRC_CMD(0x162) - -#define DPRC_CMDID_CONNECT DPRC_CMD(0x167) -#define DPRC_CMDID_DISCONNECT DPRC_CMD(0x168) -#define DPRC_CMDID_GET_POOL DPRC_CMD(0x169) -#define DPRC_CMDID_GET_POOL_COUNT DPRC_CMD(0x16A) - -#define DPRC_CMDID_GET_CONNECTION DPRC_CMD(0x16C) struct dprc_cmd_open { __le32 container_id; diff --git a/drivers/staging/fsl-mc/bus/dprc.c b/drivers/staging/fsl-mc/bus/dprc.c index 572edd4..fcf7b47 100644 --- a/drivers/staging/fsl-mc/bus/dprc.c +++ b/drivers/staging/fsl-mc/bus/dprc.c @@ -100,133 +100,6 @@ int dprc_close(struct fsl_mc_io *mc_io, EXPORT_SYMBOL(dprc_close); /** - * dprc_create_container() - Create child container - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @cfg: Child container configuration - * @child_container_id: Returned child container ID - * @child_portal_offset: Returned child portal offset from MC portal base - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_create_container(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - struct dprc_cfg *cfg, - int *child_container_id, - u64 *child_portal_offset) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_create_container *cmd_params; - struct dprc_rsp_create_container *rsp_params; - int err; - - /* prepare command */ - cmd_params = (struct dprc_cmd_create_container *)cmd.params; - cmd_params->options = cpu_to_le32(cfg->options); - cmd_params->icid = cpu_to_le16(cfg->icid); - cmd_params->portal_id = cpu_to_le32(cfg->portal_id); - strncpy(cmd_params->label, cfg->label, 16); - cmd_params->label[15] = '\0'; - - cmd.header = mc_encode_cmd_header(DPRC_CMDID_CREATE_CONT, - cmd_flags, token); - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dprc_rsp_create_container *)cmd.params; - *child_container_id = le32_to_cpu(rsp_params->child_container_id); - *child_portal_offset = le64_to_cpu(rsp_params->child_portal_addr); - - return 0; -} - -/** - * dprc_destroy_container() - Destroy child container. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @child_container_id: ID of the container to destroy - * - * This function terminates the child container, so following this call the - * child container ID becomes invalid. - * - * Notes: - * - All resources and objects of the destroyed container are returned to the - * parent container or destroyed if were created be the destroyed container. - * - This function destroy all the child containers of the specified - * container prior to destroying the container itself. - * - * warning: Only the parent container is allowed to destroy a child policy - * Container 0 can't be destroyed - * - * Return: '0' on Success; Error code otherwise. - * - */ -int dprc_destroy_container(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_destroy_container *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_DESTROY_CONT, - cmd_flags, token); - cmd_params = (struct dprc_cmd_destroy_container *)cmd.params; - cmd_params->child_container_id = cpu_to_le32(child_container_id); - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dprc_reset_container - Reset child container. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @child_container_id: ID of the container to reset - * - * In case a software context crashes or becomes non-responsive, the parent - * may wish to reset its resources container before the software context is - * restarted. - * - * This routine informs all objects assigned to the child container that the - * container is being reset, so they may perform any cleanup operations that are - * needed. All objects handles that were owned by the child container shall be - * closed. - * - * Note that such request may be submitted even if the child software context - * has not crashed, but the resulting object cleanup operations will not be - * aware of that. - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_reset_container(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_reset_container *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_RESET_CONT, - cmd_flags, token); - cmd_params = (struct dprc_cmd_reset_container *)cmd.params; - cmd_params->child_container_id = cpu_to_le32(child_container_id); - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** * dprc_get_irq() - Get IRQ information from the DPRC. * @mc_io: Pointer to MC portal's I/O object * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -570,277 +443,6 @@ int dprc_get_attributes(struct fsl_mc_io *mc_io, } /** - * dprc_set_res_quota() - Set allocation policy for a specific resource/object - * type in a child container - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @child_container_id: ID of the child container - * @type: Resource/object type - * @quota: Sets the maximum number of resources of the selected type - * that the child container is allowed to allocate from its parent; - * when quota is set to -1, the policy is the same as container's - * general policy. - * - * Allocation policy determines whether or not a container may allocate - * resources from its parent. Each container has a 'global' allocation policy - * that is set when the container is created. - * - * This function sets allocation policy for a specific resource type. - * The default policy for all resource types matches the container's 'global' - * allocation policy. - * - * Return: '0' on Success; Error code otherwise. - * - * @warning Only the parent container is allowed to change a child policy. - */ -int dprc_set_res_quota(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id, - char *type, - u16 quota) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_set_res_quota *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_SET_RES_QUOTA, - cmd_flags, token); - cmd_params = (struct dprc_cmd_set_res_quota *)cmd.params; - cmd_params->child_container_id = cpu_to_le32(child_container_id); - cmd_params->quota = cpu_to_le16(quota); - strncpy(cmd_params->type, type, 16); - cmd_params->type[15] = '\0'; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dprc_get_res_quota() - Gets the allocation policy of a specific - * resource/object type in a child container - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @child_container_id; ID of the child container - * @type: resource/object type - * @quota: Returnes the maximum number of resources of the selected type - * that the child container is allowed to allocate from the parent; - * when quota is set to -1, the policy is the same as container's - * general policy. - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_get_res_quota(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id, - char *type, - u16 *quota) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_get_res_quota *cmd_params; - struct dprc_rsp_get_res_quota *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_RES_QUOTA, - cmd_flags, token); - cmd_params = (struct dprc_cmd_get_res_quota *)cmd.params; - cmd_params->child_container_id = cpu_to_le32(child_container_id); - strncpy(cmd_params->type, type, 16); - cmd_params->type[15] = '\0'; - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dprc_rsp_get_res_quota *)cmd.params; - *quota = le16_to_cpu(rsp_params->quota); - - return 0; -} - -/** - * dprc_assign() - Assigns objects or resource to a child container. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @container_id: ID of the child container - * @res_req: Describes the type and amount of resources to - * assign to the given container - * - * Assignment is usually done by a parent (this DPRC) to one of its child - * containers. - * - * According to the DPRC allocation policy, the assigned resources may be taken - * (allocated) from the container's ancestors, if not enough resources are - * available in the container itself. - * - * The type of assignment depends on the dprc_res_req options, as follows: - * - DPRC_RES_REQ_OPT_EXPLICIT: indicates that assigned resources should have - * the explicit base ID specified at the id_base_align field of res_req. - * - DPRC_RES_REQ_OPT_ALIGNED: indicates that the assigned resources should be - * aligned to the value given at id_base_align field of res_req. - * - DPRC_RES_REQ_OPT_PLUGGED: Relevant only for object assignment, - * and indicates that the object must be set to the plugged state. - * - * A container may use this function with its own ID in order to change a - * object state to plugged or unplugged. - * - * If IRQ information has been set in the child DPRC, it will signal an - * interrupt following every change in its object assignment. - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_assign(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int container_id, - struct dprc_res_req *res_req) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_assign *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_ASSIGN, - cmd_flags, token); - cmd_params = (struct dprc_cmd_assign *)cmd.params; - cmd_params->container_id = cpu_to_le32(container_id); - cmd_params->options = cpu_to_le32(res_req->options); - cmd_params->num = cpu_to_le32(res_req->num); - cmd_params->id_base_align = cpu_to_le32(res_req->id_base_align); - strncpy(cmd_params->type, res_req->type, 16); - cmd_params->type[15] = '\0'; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dprc_unassign() - Un-assigns objects or resources from a child container - * and moves them into this (parent) DPRC. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @child_container_id: ID of the child container - * @res_req: Describes the type and amount of resources to un-assign from - * the child container - * - * Un-assignment of objects can succeed only if the object is not in the - * plugged or opened state. - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_unassign(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id, - struct dprc_res_req *res_req) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_unassign *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_UNASSIGN, - cmd_flags, - token); - cmd_params = (struct dprc_cmd_unassign *)cmd.params; - cmd_params->child_container_id = cpu_to_le32(child_container_id); - cmd_params->options = cpu_to_le32(res_req->options); - cmd_params->num = cpu_to_le32(res_req->num); - cmd_params->id_base_align = cpu_to_le32(res_req->id_base_align); - strncpy(cmd_params->type, res_req->type, 16); - cmd_params->type[15] = '\0'; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dprc_get_pool_count() - Get the number of dprc's pools - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @mc_io: Pointer to MC portal's I/O object - * @token: Token of DPRC object - * @pool_count: Returned number of resource pools in the dprc - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_get_pool_count(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int *pool_count) -{ - struct mc_command cmd = { 0 }; - struct dprc_rsp_get_pool_count *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_POOL_COUNT, - cmd_flags, token); - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dprc_rsp_get_pool_count *)cmd.params; - *pool_count = le32_to_cpu(rsp_params->pool_count); - - return 0; -} - -/** - * dprc_get_pool() - Get the type (string) of a certain dprc's pool - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @pool_index; Index of the pool to be queried (< pool_count) - * @type: The type of the pool - * - * The pool types retrieved one by one by incrementing - * pool_index up to (not including) the value of pool_count returned - * from dprc_get_pool_count(). dprc_get_pool_count() must - * be called prior to dprc_get_pool(). - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_get_pool(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int pool_index, - char *type) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_get_pool *cmd_params; - struct dprc_rsp_get_pool *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_POOL, - cmd_flags, - token); - cmd_params = (struct dprc_cmd_get_pool *)cmd.params; - cmd_params->pool_index = cpu_to_le32(pool_index); - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dprc_rsp_get_pool *)cmd.params; - strncpy(type, rsp_params->type, 16); - type[15] = '\0'; - - return 0; -} - -/** * dprc_get_obj_count() - Obtains the number of objects in the DPRC * @mc_io: Pointer to MC portal's I/O object * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -932,64 +534,6 @@ int dprc_get_obj(struct fsl_mc_io *mc_io, EXPORT_SYMBOL(dprc_get_obj); /** - * dprc_get_obj_desc() - Get object descriptor. - * - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @obj_type: The type of the object to get its descriptor. - * @obj_id: The id of the object to get its descriptor - * @obj_desc: The returned descriptor to fill and return to the user - * - * Return: '0' on Success; Error code otherwise. - * - */ -int dprc_get_obj_desc(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - char *obj_type, - int obj_id, - struct dprc_obj_desc *obj_desc) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_get_obj_desc *cmd_params; - struct dprc_rsp_get_obj_desc *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_OBJ_DESC, - cmd_flags, - token); - cmd_params = (struct dprc_cmd_get_obj_desc *)cmd.params; - cmd_params->obj_id = cpu_to_le32(obj_id); - strncpy(cmd_params->type, obj_type, 16); - cmd_params->type[15] = '\0'; - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dprc_rsp_get_obj_desc *)cmd.params; - obj_desc->id = le32_to_cpu(rsp_params->id); - obj_desc->vendor = le16_to_cpu(rsp_params->vendor); - obj_desc->irq_count = rsp_params->irq_count; - obj_desc->region_count = rsp_params->region_count; - obj_desc->state = le32_to_cpu(rsp_params->state); - obj_desc->ver_major = le16_to_cpu(rsp_params->version_major); - obj_desc->ver_minor = le16_to_cpu(rsp_params->version_minor); - obj_desc->flags = le16_to_cpu(rsp_params->flags); - strncpy(obj_desc->type, rsp_params->type, 16); - obj_desc->type[15] = '\0'; - strncpy(obj_desc->label, rsp_params->label, 16); - obj_desc->label[15] = '\0'; - - return 0; -} -EXPORT_SYMBOL(dprc_get_obj_desc); - -/** * dprc_set_obj_irq() - Set IRQ information for object to trigger an interrupt. * @mc_io: Pointer to MC portal's I/O object * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -1128,52 +672,6 @@ int dprc_get_res_count(struct fsl_mc_io *mc_io, EXPORT_SYMBOL(dprc_get_res_count); /** - * dprc_get_res_ids() - Obtains IDs of free resources in the container - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @type: pool type - * @range_desc: range descriptor - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_get_res_ids(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - char *type, - struct dprc_res_ids_range_desc *range_desc) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_get_res_ids *cmd_params; - struct dprc_rsp_get_res_ids *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_RES_IDS, - cmd_flags, token); - cmd_params = (struct dprc_cmd_get_res_ids *)cmd.params; - cmd_params->iter_status = range_desc->iter_status; - cmd_params->base_id = cpu_to_le32(range_desc->base_id); - cmd_params->last_id = cpu_to_le32(range_desc->last_id); - strncpy(cmd_params->type, type, 16); - cmd_params->type[15] = '\0'; - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dprc_rsp_get_res_ids *)cmd.params; - range_desc->iter_status = rsp_params->iter_status; - range_desc->base_id = le32_to_cpu(rsp_params->base_id); - range_desc->last_id = le32_to_cpu(rsp_params->last_id); - - return 0; -} -EXPORT_SYMBOL(dprc_get_res_ids); - -/** * dprc_get_obj_region() - Get region information for a specified object. * @mc_io: Pointer to MC portal's I/O object * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -1222,170 +720,6 @@ int dprc_get_obj_region(struct fsl_mc_io *mc_io, EXPORT_SYMBOL(dprc_get_obj_region); /** - * dprc_set_obj_label() - Set object label. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @obj_type: Object's type - * @obj_id: Object's ID - * @label: The required label. The maximum length is 16 chars. - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_set_obj_label(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - char *obj_type, - int obj_id, - char *label) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_set_obj_label *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_SET_OBJ_LABEL, - cmd_flags, - token); - cmd_params = (struct dprc_cmd_set_obj_label *)cmd.params; - cmd_params->obj_id = cpu_to_le32(obj_id); - strncpy(cmd_params->label, label, 16); - cmd_params->label[15] = '\0'; - strncpy(cmd_params->obj_type, obj_type, 16); - cmd_params->obj_type[15] = '\0'; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} -EXPORT_SYMBOL(dprc_set_obj_label); - -/** - * dprc_connect() - Connect two endpoints to create a network link between them - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @endpoint1: Endpoint 1 configuration parameters - * @endpoint2: Endpoint 2 configuration parameters - * @cfg: Connection configuration. The connection configuration is ignored for - * connections made to DPMAC objects, where rate is retrieved from the - * MAC configuration. - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_connect(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - const struct dprc_endpoint *endpoint1, - const struct dprc_endpoint *endpoint2, - const struct dprc_connection_cfg *cfg) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_connect *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_CONNECT, - cmd_flags, - token); - cmd_params = (struct dprc_cmd_connect *)cmd.params; - cmd_params->ep1_id = cpu_to_le32(endpoint1->id); - cmd_params->ep1_interface_id = cpu_to_le32(endpoint1->if_id); - cmd_params->ep2_id = cpu_to_le32(endpoint2->id); - cmd_params->ep2_interface_id = cpu_to_le32(endpoint2->if_id); - strncpy(cmd_params->ep1_type, endpoint1->type, 16); - cmd_params->ep1_type[15] = '\0'; - cmd_params->max_rate = cpu_to_le32(cfg->max_rate); - cmd_params->committed_rate = cpu_to_le32(cfg->committed_rate); - strncpy(cmd_params->ep2_type, endpoint2->type, 16); - cmd_params->ep2_type[15] = '\0'; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dprc_disconnect() - Disconnect one endpoint to remove its network connection - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @endpoint: Endpoint configuration parameters - * - * Return: '0' on Success; Error code otherwise. - */ -int dprc_disconnect(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - const struct dprc_endpoint *endpoint) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_disconnect *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_DISCONNECT, - cmd_flags, - token); - cmd_params = (struct dprc_cmd_disconnect *)cmd.params; - cmd_params->id = cpu_to_le32(endpoint->id); - cmd_params->interface_id = cpu_to_le32(endpoint->if_id); - strncpy(cmd_params->type, endpoint->type, 16); - cmd_params->type[15] = '\0'; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dprc_get_connection() - Get connected endpoint and link status if connection - * exists. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPRC object - * @endpoint1: Endpoint 1 configuration parameters - * @endpoint2: Returned endpoint 2 configuration parameters - * @state: Returned link state: - * 1 - link is up; - * 0 - link is down; - * -1 - no connection (endpoint2 information is irrelevant) - * - * Return: '0' on Success; -ENAVAIL if connection does not exist. - */ -int dprc_get_connection(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - const struct dprc_endpoint *endpoint1, - struct dprc_endpoint *endpoint2, - int *state) -{ - struct mc_command cmd = { 0 }; - struct dprc_cmd_get_connection *cmd_params; - struct dprc_rsp_get_connection *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPRC_CMDID_GET_CONNECTION, - cmd_flags, - token); - cmd_params = (struct dprc_cmd_get_connection *)cmd.params; - cmd_params->ep1_id = cpu_to_le32(endpoint1->id); - cmd_params->ep1_interface_id = cpu_to_le32(endpoint1->if_id); - strncpy(cmd_params->ep1_type, endpoint1->type, 16); - cmd_params->ep1_type[15] = '\0'; - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dprc_rsp_get_connection *)cmd.params; - endpoint2->id = le32_to_cpu(rsp_params->ep2_id); - endpoint2->if_id = le32_to_cpu(rsp_params->ep2_interface_id); - strncpy(endpoint2->type, rsp_params->ep2_type, 16); - endpoint2->type[15] = '\0'; - *state = le32_to_cpu(rsp_params->state); - - return 0; -} - -/** * dprc_get_api_version - Get Data Path Resource Container API version * @mc_io: Pointer to Mc portal's I/O object * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' diff --git a/drivers/staging/fsl-mc/include/dprc.h b/drivers/staging/fsl-mc/include/dprc.h index f9ea769..dc985cc 100644 --- a/drivers/staging/fsl-mc/include/dprc.h +++ b/drivers/staging/fsl-mc/include/dprc.h @@ -42,20 +42,6 @@ struct fsl_mc_io; -/** - * Set this value as the icid value in dprc_cfg structure when creating a - * container, in case the ICID is not selected by the user and should be - * allocated by the DPRC from the pool of ICIDs. - */ -#define DPRC_GET_ICID_FROM_POOL (u16)(~(0)) - -/** - * Set this value as the portal_id value in dprc_cfg structure when creating a - * container, in case the portal ID is not specifically selected by the - * user and should be allocated by the DPRC from the pool of portal ids. - */ -#define DPRC_GET_PORTAL_ID_FROM_POOL (int)(~(0)) - int dprc_open(struct fsl_mc_io *mc_io, u32 cmd_flags, int container_id, @@ -65,79 +51,6 @@ int dprc_close(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token); -/** - * Container general options - * - * These options may be selected at container creation by the container creator - * and can be retrieved using dprc_get_attributes() - */ - -/* - * Spawn Policy Option allowed - Indicates that the new container is allowed - * to spawn and have its own child containers. - */ -#define DPRC_CFG_OPT_SPAWN_ALLOWED 0x00000001 - -/* - * General Container allocation policy - Indicates that the new container is - * allowed to allocate requested resources from its parent container; if not - * set, the container is only allowed to use resources in its own pools; Note - * that this is a container's global policy, but the parent container may - * override it and set specific quota per resource type. - */ -#define DPRC_CFG_OPT_ALLOC_ALLOWED 0x00000002 - -/* - * Object initialization allowed - software context associated with this - * container is allowed to invoke object initialization operations. - */ -#define DPRC_CFG_OPT_OBJ_CREATE_ALLOWED 0x00000004 - -/* - * Topology change allowed - software context associated with this - * container is allowed to invoke topology operations, such as attach/detach - * of network objects. - */ -#define DPRC_CFG_OPT_TOPOLOGY_CHANGES_ALLOWED 0x00000008 - -/* AIOP - Indicates that container belongs to AIOP. */ -#define DPRC_CFG_OPT_AIOP 0x00000020 - -/* IRQ Config - Indicates that the container allowed to configure its IRQs. */ -#define DPRC_CFG_OPT_IRQ_CFG_ALLOWED 0x00000040 - -/** - * struct dprc_cfg - Container configuration options - * @icid: Container's ICID; if set to 'DPRC_GET_ICID_FROM_POOL', a free - * ICID value is allocated by the DPRC - * @portal_id: Portal ID; if set to 'DPRC_GET_PORTAL_ID_FROM_POOL', a free - * portal ID is allocated by the DPRC - * @options: Combination of 'DPRC_CFG_OPT_' options - * @label: Object's label - */ -struct dprc_cfg { - u16 icid; - int portal_id; - u64 options; - char label[16]; -}; - -int dprc_create_container(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - struct dprc_cfg *cfg, - int *child_container_id, - u64 *child_portal_offset); - -int dprc_destroy_container(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id); - -int dprc_reset_container(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id); /* IRQ */ @@ -252,90 +165,6 @@ int dprc_get_attributes(struct fsl_mc_io *mc_io, u16 token, struct dprc_attributes *attributes); -int dprc_set_res_quota(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id, - char *type, - u16 quota); - -int dprc_get_res_quota(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id, - char *type, - u16 *quota); - -/* Resource request options */ - -/* - * Explicit resource ID request - The requested objects/resources - * are explicit and sequential (in case of resources). - * The base ID is given at res_req at base_align field - */ -#define DPRC_RES_REQ_OPT_EXPLICIT 0x00000001 - -/* - * Aligned resources request - Relevant only for resources - * request (and not objects). Indicates that resources base ID should be - * sequential and aligned to the value given at dprc_res_req base_align field - */ -#define DPRC_RES_REQ_OPT_ALIGNED 0x00000002 - -/* - * Plugged Flag - Relevant only for object assignment request. - * Indicates that after all objects assigned. An interrupt will be invoked at - * the relevant GPP. The assigned object will be marked as plugged. - * plugged objects can't be assigned from their container - */ -#define DPRC_RES_REQ_OPT_PLUGGED 0x00000004 - -/** - * struct dprc_res_req - Resource request descriptor, to be used in assignment - * or un-assignment of resources and objects. - * @type: Resource/object type: Represent as a NULL terminated string. - * This string may received by using dprc_get_pool() to get resource - * type and dprc_get_obj() to get object type; - * Note: it is not possible to assign/un-assign DPRC objects - * @num: Number of resources - * @options: Request options: combination of DPRC_RES_REQ_OPT_ options - * @id_base_align: In case of explicit assignment (DPRC_RES_REQ_OPT_EXPLICIT - * is set at option), this field represents the required base ID - * for resource allocation; In case of aligned assignment - * (DPRC_RES_REQ_OPT_ALIGNED is set at option), this field - * indicates the required alignment for the resource ID(s) - - * use 0 if there is no alignment or explicit ID requirements - */ -struct dprc_res_req { - char type[16]; - u32 num; - u32 options; - int id_base_align; -}; - -int dprc_assign(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int container_id, - struct dprc_res_req *res_req); - -int dprc_unassign(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int child_container_id, - struct dprc_res_req *res_req); - -int dprc_get_pool_count(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int *pool_count); - -int dprc_get_pool(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - int pool_index, - char *type); - int dprc_get_obj_count(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token, @@ -430,27 +259,6 @@ enum dprc_iter_status { DPRC_ITER_STATUS_LAST = 2 }; -/** - * struct dprc_res_ids_range_desc - Resource ID range descriptor - * @base_id: Base resource ID of this range - * @last_id: Last resource ID of this range - * @iter_status: Iteration status - should be set to DPRC_ITER_STATUS_FIRST at - * first iteration; while the returned marker is DPRC_ITER_STATUS_MORE, - * additional iterations are needed, until the returned marker is - * DPRC_ITER_STATUS_LAST - */ -struct dprc_res_ids_range_desc { - int base_id; - int last_id; - enum dprc_iter_status iter_status; -}; - -int dprc_get_res_ids(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - char *type, - struct dprc_res_ids_range_desc *range_desc); - /* Region flags */ /* Cacheable - Indicates that region should be mapped as cacheable */ #define DPRC_REGION_CACHEABLE 0x00000001 @@ -490,57 +298,6 @@ int dprc_get_obj_region(struct fsl_mc_io *mc_io, u8 region_index, struct dprc_region_desc *region_desc); -int dprc_set_obj_label(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - char *obj_type, - int obj_id, - char *label); - -/** - * struct dprc_endpoint - Endpoint description for link connect/disconnect - * operations - * @type: Endpoint object type: NULL terminated string - * @id: Endpoint object ID - * @if_id: Interface ID; should be set for endpoints with multiple - * interfaces ("dpsw", "dpdmux"); for others, always set to 0 - */ -struct dprc_endpoint { - char type[16]; - int id; - int if_id; -}; - -/** - * struct dprc_connection_cfg - Connection configuration. - * Used for virtual connections only - * @committed_rate: Committed rate (Mbits/s) - * @max_rate: Maximum rate (Mbits/s) - */ -struct dprc_connection_cfg { - u32 committed_rate; - u32 max_rate; -}; - -int dprc_connect(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - const struct dprc_endpoint *endpoint1, - const struct dprc_endpoint *endpoint2, - const struct dprc_connection_cfg *cfg); - -int dprc_disconnect(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - const struct dprc_endpoint *endpoint); - -int dprc_get_connection(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - const struct dprc_endpoint *endpoint1, - struct dprc_endpoint *endpoint2, - int *state); - int dprc_get_api_version(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 *major_ver,