From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752059AbdBALpH (ORCPT ); Wed, 1 Feb 2017 06:45:07 -0500 Received: from mail-bn3nam01on0064.outbound.protection.outlook.com ([104.47.33.64]:51367 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751364AbdBALnl (ORCPT ); Wed, 1 Feb 2017 06:43:41 -0500 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; From: To: CC: , , , , , , , , , , , Laurentiu Tudor Subject: [PATCH 7/9] staging: fsl-mc: dpbp: drop unused APIs Date: Wed, 1 Feb 2017 05:43:27 -0600 Message-ID: <20170201114329.21276-8-laurentiu.tudor@nxp.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170201114329.21276-1-laurentiu.tudor@nxp.com> References: <20170201114329.21276-1-laurentiu.tudor@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131304230185110424;(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)(7916002)(336005)(39850400002)(39860400002)(39380400002)(39400400002)(39410400002)(39840400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(45074003)(110136003)(2950100002)(8656002)(1076002)(6666003)(33646002)(85426001)(6916009)(106466001)(356003)(8676002)(305945005)(47776003)(2351001)(86152003)(92566002)(50466002)(105606002)(54906002)(7416002)(81156014)(81166006)(48376002)(77096006)(86362001)(8936002)(38730400001)(68736007)(97736004)(4326007)(50986999)(53936002)(189998001)(36756003)(2906002)(76176999)(2876002)(5003940100001)(50226002)(626004)(104016004)(5660300001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR0301MB1648;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD041;1:fcTOBAal1ubg1zQiVyr8ukBLLDvV5druvCGHIqkdnSyfQRJjasgd9YwMIRwGAnD2HO86rtFCWl/9ZFFnsnkif9KeBFDQVuaFvLG+9cI4YzIQfQHoJusKQ91xOawOYL2ZpQ6yX75dT24YQX7Vi5d0ykbWNRybnxmAJ0Y6wGgNgsmQRU0WG7nQ4IS6c7IfkPIHQt+TX27xwRN1WRqWnFAfgMB/f9zwt7BNW9pnkH3QsnX5l7j51s7Eur+0rAYp9x0jwR2FghBlIJG9MiU5XnQmzGRDG8J9LhVILo1DWwfmOvsgVP+EFn0Fp5FVYSzpjFm6aWCGYKR/GsTEA2SiF30YNKlmXEXswOv9giZdTbo3p1YQKagan0PUfyfmVEijmbOUHruZ0TjNlF/csSwrNYlKq8Tlf8ZVI50tKXQ+kL8dh++nZPi2R3qQTda/L6MpyFs+2pUXRTcUSzAN+u4TUUEKH5udeDA1C+kgJamUbByI05DXt0U5m7MX6GsAIKWmB6IbVTenkXjkBunANC2zFgJzHkbCF60dBt/0LVlNrU2dNzzuUDYeBAektKgsYOYfZOBVDUDxrVB567Hw6F1P0F14wXYGxBdzHKGhWLS8gkhp8GdcBBgjhCNTpKc5xT4N4yR9ECR4/ohPuujomf9lpBXxdNxH9I1VwP6IXoPIDesvjSQUuGOm2rPmsnD02LHBOodJ89QeQoubsgPXtMHLjydhcQ== MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 5c7a1c62-484d-409d-1f38-08d44a979012 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:SN1PR0301MB1648; X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1648;3:bTOITQgKg6l7xYVj6sqRqkNOkuIPjuF7Qyi/ECHmX0+k4e7vjt86RcSlMmkrvUf8IEhCxvr2U3S3bIPVKkjw2QBC8vUnYTp8tz2TqkcliDxy7XOXVRCfTL+X/Nq16hv8pWx8/zwIgSIGCA+oPR4UL/Tiv52uf9PmHIjgjopQWgG7CGDLHJXNtCjKcPAeeRuN/BmueI7hRQgpe5Mu4Xnv4AqTKw0GRXDPpEoivUR8GV13MT8/dxkXj2rcKs9eEtlg16evkntD8QW2efK0l09of4zj8AUZ3+UYfaRv1OBz3eo+JRJUuviLTD4r2beDE+FqRU9gxnA0C5xW/voXvy5YKPDTX87HCDT4cfpuLL/EXNXQgyQUfu58MBfvCcP7ITJ+ X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1648;25:xShpBYbwn47QHjvjow6r35tGmHoYxby6GLkYUufa6S5GcGHiv+zOfMqz3elFWJA4N1R1MKzsXebxSzqjCC5dBoQ91u4FjBQdtojX+l0OGxEPlfR7jGCraTG8mxxbFbJVsBRdB+mInC72grSO8Lah2gz1Whtl18K7zuZTWuv4IVrgCYOyFLynQdv2OlGDdX3ACqPWM3Sh4BAUGh+Uljc+iFBieo4EuZVOmjacaPqRMamkAjirhdsmusewuVB8GcA4MPqJwXv0EIaqOGEJGrIg4LuZ8pADRBE9GHv8Vpao4y/W1RsHNcXjZxu5YBGTBdb8zuyBAC9JVC3jo1R92qjBDaNuSaJzpsaFMr3CniLxmmK7+L3FJjMiE6FO5ekJURM9O767qgSJ7z9ZU0bt1WxuuBsUnQlahZhs89Lu81Xt7TBRg95c/Cspi5sOtBugHvw7wRPFel/zN8DgM7esoJ3roB7EPVMjlGKzW78eP5nPyujeFG9h3knb/CTK8AxtvxFa1EEAKMHk4caoEC77IoZWQ8UU3JWnDJw1VA8u/nSNbV/6KijuLcmdOGO2vWMdbYi0L7T0o7kOT2P9+kxprJ7lOxCOQO9RIMwkg1aypimH6zUWxcdUYGve8Q/jwVJKGEKFFmpfwE6TDc05//YcC8o3z70/Cj9Ck8KkgUUlaMWl6BFLx5EHl6642uR0Ku0qPdCF3dv0zhdYFs7Zl1xCSOY/t0QHH3Kb1C52Ze3Am2UJ4bJLW3ktCOVRCmYq4wfF8jns X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1648;31:B0ZGo4oamZfX+9pO3mFtEZfg+grkVNYYGnjqithOLJi5KxGzR2OqJJhZqig2iAA6NlHndiwYB3G4oqE9Nvm6Tiqg+13uosStjfRMOrhORub+HktZBWHEUlIaPZolz6Cpojbn2XHSs/R4PzquCf7G7yzC4QvxGjoforjN4bk01Iee0G2Bz1mSqxmHCzKOseZdWmnhKXKQfRvBfdbGrZcx2+n3bWGjHKp9OfYAdUbutGlu/N9bsxJHEBH/fRsjDgrYWEydaKnsB87Onuy+EeJag0G21qrPqFcCGPr75TmZQ+M= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(275809806118684); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6095060)(601004)(2401047)(13017025)(13023025)(13024025)(13015025)(13018025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123561025)(20161123563025)(20161123559025)(20161123556025)(20161123565025);SRVR:SN1PR0301MB1648;BCL:0;PCL:0;RULEID:(400006);SRVR:SN1PR0301MB1648; X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1648;4:5gL7Q5yz+rPk+gnqImneZeXusq0zncqv6ItLzJC9dcHVT0qy1NezdJDCaCLdQJ8BUCt2V+qJdoFilRsUCKq+fJFfBerizzG7235qLJhp3nPApxTyquaLbylc/0ZNk9w0iRQkdx3HaHJrxEpXvsBQ/VcHMyp5KQr3e/HzIgPTGtLMCbpCWE3uztqHaisDLyLB5ljjPS5i06zBC/ujnCxqb4y89EUUJWbMrTfZHGhgHSDPveLrlu5R/6jzKmJeORGYMLKq6UbYQGqWPAsllqyPau45gzQUyj+IfkstS3QmMiKammxJMiEIuelv29b00XL9JtFNgqMtEu7hZdc7oGb9atwI+xJiqaJWPcbriiSUgay2W6E9pkswF2ZTrzV92JypMLXSejf8Tdb7ksouDUmwqwci53z8DUi/9aOnIHtfzdnzBEDQ+F7PG45DhKFm3U6u1FGAeAb5TXbOOaTUcKR4GGBhxg5JVYtaamWY+sZO0APUHJ1RdwQv38W+G/OUu9Z99OsYqhYsGrrAKKeesTjkBMEu6mmSPprNiitsg98TplaYz9DXmV3UDEa7YTFaoFIsFsfQbyQ3zI8R80ruBLJYC/15F4ph/dZ0b1DphD/QpGq80ShsLwlARBc6on1yzzNH4ARpxMVT3bItQCLi/IE3bpQQOEqByXMWbXEA3CoktEp26zBnI+zmzRIqzQnED2Og2eUBSTitYyPt8k2WgC4xO6a9MAs+sdTk68kDheCce258g5BJzrUcIVrb4RtcYWlazgKPsENg4qbKkk+q6h+5/Q== X-Forefront-PRVS: 0205EDCD76 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR0301MB1648;23:UgTC/2P3uOPwcHrC9+ByvhEYiwSDy1VtjIUq1pJ?= =?us-ascii?Q?5T6oyA9dZ0QO5b+IOfbk6LimHNGJzo2wjxYvi2is1HgC23Sf/eZ3yBLs6RqI?= =?us-ascii?Q?NriZkOPtRP7l27q65/qpyEaNwuusCFeyFCRcyxzfZlGvpjE/5oMNYB+ViIz1?= =?us-ascii?Q?pkHoBZlbJfEXLrXPgdfiA21SbakWU7OzFkBrRXjgMXznannxLCGCaCMVMhpo?= =?us-ascii?Q?HOXff4U0oK9XiPoK8E1ZGSK+JX0sq10zAtosEncT5b/N5e8SZ2KKxWNi/XcD?= =?us-ascii?Q?ytpJsF1i6lLZvpZkjP+CJfztDIs6X+lxD8XU4gc4egWEGoboCwrvth8meAwv?= =?us-ascii?Q?b8DHYr8rR7T9BYP7VdB+RMxvjgp1hRim60f9LAYiNL6OOUU/1TUF4RlDdAHh?= =?us-ascii?Q?DWfKx6wYT2WHZ6GTLwXwQlS0MNtwl5NbyI9qJe7EC3XDXp66by0Fzy8DNfYO?= =?us-ascii?Q?4RtkMDSo3fzElTJzFGSNrjts/SvProdKqRWnudu/XbAbmhio5ETsbxJuvdeH?= =?us-ascii?Q?a0+cdJVwc9LrboT4OknDiCGjcx0fuRuLJeIGC7uFLn03eg0pGz/FwwgbwTrR?= =?us-ascii?Q?P+tKkbvUbhW+VZsI9zpRdcVx9Y3TJd3zsxSInZH5eMEspucFBZPB8YxGiOsk?= =?us-ascii?Q?Hxl3vQcufZnvIGByTaluDuasMi15lMzE2ZpLFkLGQwG6bEUSBxWQdUeRZqpg?= =?us-ascii?Q?KV7t/gDlFJv7R0yr/lqY3n7u9EvhRGLbox0SUrfH9fbTMC3+JayrkD3RqzvX?= =?us-ascii?Q?O3w+iemVH6OqGU4Yx2yxj7b4dsBqJ43gXRpAxJVhFm0eaQv/1yIjrRVM4J5+?= =?us-ascii?Q?h1u60XAymm2B9Kb3lU57a69NDI2aHXX/6CfVMSwTMXi+Q16lxp0slYfKTtZd?= =?us-ascii?Q?gib81F7WrOhPpGlgdKyfY+hPmXhOW+8uYvCzbVGjGq/lf1dIt03gT5ae5xzB?= =?us-ascii?Q?UzzrIAMnRCz6M6L1NEicbNjBgtJFINnTcXcNRDT5SRBKLY6IG4Stg6rIj+wq?= =?us-ascii?Q?vmpN1WNxisLWV7FfGjLzxZz9ju8F+ZSxcRlnmTM3s1Go06E65gYxqqSFFG0o?= =?us-ascii?Q?d0IzsXlBXoXmVe/aFTu4DG+9t/Ou4d2O1lLjRvjVuPgRpXdhj0TAFAdzeC1F?= =?us-ascii?Q?+uOWsy1B8jgsoHsYE3jnr9Ao97nbC/2vEvNEAH6YJqfONEOEJtCdT8HEIZMB?= =?us-ascii?Q?65/V8ZuIxtNr4FGuSoVo17Rzwcxb21Jr05eI3PxYxClKPEswtwXy1u7fMrU5?= =?us-ascii?Q?W10vC2SFmB3+RCVxK5+p5Om/1TgeCVeMuTqsnDbYMezH35LinksbxUO80d2s?= =?us-ascii?Q?y83+2WLQEriKvqQh5jh1DF5mdVxyYQjGcjp2WSlnFJ3GIQmAIP2mp2bJR59Z?= =?us-ascii?Q?OwpRWkdiEpofD6iQR0ZtMnagsWqlhlFi+sWZQLNmvYwniNbVwLHi+eQ0EeA/?= =?us-ascii?Q?MFQAtgCPwkg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1648;6:QxvfsdZrABLSsdqtiG7MkDmKjx36an+MxzgJtWd8dsb6Ojz7boF/gOmG7gLNDJ5PG7krjg4CVLgev/aoQqRcsGMMon+CtiIkfST7DQRwLQb2H/8TpsiJBULOxG1KMvNDO+6uu0Q0KbVU9bLnXBi0rmtiWTIvzRFN5ZdiuUgrFDnrdjMi2W21AJQNWGEPOzhuZijavCfxKqc8z2k+E5ppoORCMQiD1Kl6NI7lUIawjQvLSp6Bq7bE7ZwxwU6cYXBdkV7jjKOwzrKJKBW0KskjNyLots60nElAqd0WZw27dH/0HQN7qX2OssqwEEvsBavmD/4Ac5+pgRrI/M4Yy/RFVmjepmDQj9mQbNtxp8BuIL+3xy1x8i7WvYMyUHlmk+HbXajtPz5iPfAOm7vOmki75xK6pm2uB5dKTFhOHtvoBuI=;5:IQTuncPDk3tbc03X8nR7XR1hhFi+aaWgQNKngXZ8MadsrHQNFttZds1Uzvnt0rmXLcOtD+DsUvnPnPEtHUCsXfUB44fdGcYM696ipTmlwnprHIYtO53JPzcBLKPqedGPOZcm+iNSslIZqdUwCHpuHo7tBrGHp3uQnJ796vEjX9RHB4jX23z1Dz1keOVdTUlm;24:1LrR32dVei30cv9m0hcEnJ7RsQl3XuuTbvFV3xq484kGEJpiQJXZrube04piwppZwa87hOSAS89oVZ+KdUuJ/tcSPGuq6GW4JngnXllKdZs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1648;7:2sKviU24ShoPYpnLvPDUkHg2YawT2HzLYJgjQF3qu+HB1A+LiOWVODixSCtf3uPAe2qZtfTquYKWGvItmCflXZMHQZyY2U8aDcH+eM5Pt1ho9Z6BRMO0/sYzm6pcyt37HQwP3lSWa8Wyy9Tg7lYC8KZ5s49mSn9F+pCqZBuA4ziWHkar3qjg6D3XX8tsP/FysXHqYMGVWMrc6qSJXXB8KZ04z6BT23YDBrfVjmr4BkvokOTCjKVqYtFL7vxkHm5vGGuzuocpkMNUoBgKlNxrgW/96iSg70JtgolJ+LUS/6iHWlBQKQ/YHEGp1GPTZSV4Vigd4VezoGoksTVfPradbSC0uWIQhd4n1SqAq/l09XZDpfthYpSuRE9cBaMg+zutt1kxyTxsk3b3RYBL4evYl3a8ibNXomjVx6QCWBf39xa+xoj81G87mw2OKOpxWAYZYNrSb8kOMCN3W/0d1uqP5lTYJSOpP0OSZbFzecabV8uTBHdDOYSt2O1syjRVDPuVwa+fQKuvhZe9HbYqXjVuQw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2017 11:43:38.1990 (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: SN1PR0301MB1648 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Laurentiu Tudor Leave only APIs that will be used in upcomming drivers. 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 --- drivers/staging/fsl-mc/bus/dpbp-cmd.h | 116 --------- drivers/staging/fsl-mc/bus/dpbp.c | 449 ---------------------------------- drivers/staging/fsl-mc/include/dpbp.h | 129 ---------- 3 files changed, 694 deletions(-) diff --git a/drivers/staging/fsl-mc/bus/dpbp-cmd.h b/drivers/staging/fsl-mc/bus/dpbp-cmd.h index 7d86539..8aa6545 100644 --- a/drivers/staging/fsl-mc/bus/dpbp-cmd.h +++ b/drivers/staging/fsl-mc/bus/dpbp-cmd.h @@ -45,8 +45,6 @@ /* Command IDs */ #define DPBP_CMDID_CLOSE DPBP_CMD(0x800) #define DPBP_CMDID_OPEN DPBP_CMD(0x804) -#define DPBP_CMDID_CREATE DPBP_CMD(0x904) -#define DPBP_CMDID_DESTROY DPBP_CMD(0x984) #define DPBP_CMDID_GET_API_VERSION DPBP_CMD(0xa04) #define DPBP_CMDID_ENABLE DPBP_CMD(0x002) @@ -55,18 +53,6 @@ #define DPBP_CMDID_RESET DPBP_CMD(0x005) #define DPBP_CMDID_IS_ENABLED DPBP_CMD(0x006) -#define DPBP_CMDID_SET_IRQ DPBP_CMD(0x010) -#define DPBP_CMDID_GET_IRQ DPBP_CMD(0x011) -#define DPBP_CMDID_SET_IRQ_ENABLE DPBP_CMD(0x012) -#define DPBP_CMDID_GET_IRQ_ENABLE DPBP_CMD(0x013) -#define DPBP_CMDID_SET_IRQ_MASK DPBP_CMD(0x014) -#define DPBP_CMDID_GET_IRQ_MASK DPBP_CMD(0x015) -#define DPBP_CMDID_GET_IRQ_STATUS DPBP_CMD(0x016) -#define DPBP_CMDID_CLEAR_IRQ_STATUS DPBP_CMD(0x017) - -#define DPBP_CMDID_SET_NOTIFICATIONS DPBP_CMD(0x01b0) -#define DPBP_CMDID_GET_NOTIFICATIONS DPBP_CMD(0x01b1) - struct dpbp_cmd_open { __le32 dpbp_id; }; @@ -81,76 +67,6 @@ struct dpbp_rsp_is_enabled { u8 enabled; }; -struct dpbp_cmd_set_irq { - /* cmd word 0 */ - u8 irq_index; - u8 pad[3]; - __le32 irq_val; - /* cmd word 1 */ - __le64 irq_addr; - /* cmd word 2 */ - __le32 irq_num; -}; - -struct dpbp_cmd_get_irq { - __le32 pad; - u8 irq_index; -}; - -struct dpbp_rsp_get_irq { - /* response word 0 */ - __le32 irq_val; - __le32 pad; - /* response word 1 */ - __le64 irq_addr; - /* response word 2 */ - __le32 irq_num; - __le32 type; -}; - -struct dpbp_cmd_set_irq_enable { - u8 enable; - u8 pad[3]; - u8 irq_index; -}; - -struct dpbp_cmd_get_irq_enable { - __le32 pad; - u8 irq_index; -}; - -struct dpbp_rsp_get_irq_enable { - u8 enabled; -}; - -struct dpbp_cmd_set_irq_mask { - __le32 mask; - u8 irq_index; -}; - -struct dpbp_cmd_get_irq_mask { - __le32 pad; - u8 irq_index; -}; - -struct dpbp_rsp_get_irq_mask { - __le32 mask; -}; - -struct dpbp_cmd_get_irq_status { - __le32 status; - u8 irq_index; -}; - -struct dpbp_rsp_get_irq_status { - __le32 status; -}; - -struct dpbp_cmd_clear_irq_status { - __le32 status; - u8 irq_index; -}; - struct dpbp_rsp_get_attributes { /* response word 0 */ __le16 pad; @@ -161,36 +77,4 @@ struct dpbp_rsp_get_attributes { __le16 version_minor; }; -struct dpbp_cmd_set_notifications { - /* cmd word 0 */ - __le32 depletion_entry; - __le32 depletion_exit; - /* cmd word 1 */ - __le32 surplus_entry; - __le32 surplus_exit; - /* cmd word 2 */ - __le16 options; - __le16 pad[3]; - /* cmd word 3 */ - __le64 message_ctx; - /* cmd word 4 */ - __le64 message_iova; -}; - -struct dpbp_rsp_get_notifications { - /* response word 0 */ - __le32 depletion_entry; - __le32 depletion_exit; - /* response word 1 */ - __le32 surplus_entry; - __le32 surplus_exit; - /* response word 2 */ - __le16 options; - __le16 pad[3]; - /* response word 3 */ - __le64 message_ctx; - /* response word 4 */ - __le64 message_iova; -}; - #endif /* _FSL_DPBP_CMD_H */ diff --git a/drivers/staging/fsl-mc/bus/dpbp.c b/drivers/staging/fsl-mc/bus/dpbp.c index cf4782f..1fa7257 100644 --- a/drivers/staging/fsl-mc/bus/dpbp.c +++ b/drivers/staging/fsl-mc/bus/dpbp.c @@ -106,77 +106,6 @@ int dpbp_close(struct fsl_mc_io *mc_io, EXPORT_SYMBOL(dpbp_close); /** - * dpbp_create() - Create the DPBP object. - * @mc_io: Pointer to MC portal's I/O object - * @dprc_token: Parent container token; '0' for default container - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @cfg: Configuration structure - * @obj_id: Returned object id; use in subsequent API calls - * - * Create the DPBP object, allocate required resources and - * perform required initialization. - * - * This function accepts an authentication token of a parent - * container that this object should be assigned to and returns - * an object id. This object_id will be used in all subsequent calls to - * this specific object. - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_create(struct fsl_mc_io *mc_io, - u16 dprc_token, - u32 cmd_flags, - const struct dpbp_cfg *cfg, - u32 *obj_id) -{ - struct mc_command cmd = { 0 }; - int err; - - (void)(cfg); /* unused */ - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_CREATE, - cmd_flags, dprc_token); - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - *obj_id = mc_cmd_read_object_id(&cmd); - - return 0; -} - -/** - * dpbp_destroy() - Destroy the DPBP object and release all its resources. - * @mc_io: Pointer to MC portal's I/O object - * @dprc_token: Parent container token; '0' for default container - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @obj_id: ID of DPBP object - * - * Return: '0' on Success; error code otherwise. - */ -int dpbp_destroy(struct fsl_mc_io *mc_io, - u16 dprc_token, - u32 cmd_flags, - u32 obj_id) -{ - struct dpbp_cmd_destroy *cmd_params; - struct mc_command cmd = { 0 }; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_DESTROY, - cmd_flags, dprc_token); - cmd_params = (struct dpbp_cmd_destroy *)cmd.params; - cmd_params->object_id = cpu_to_le32(obj_id); - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** * dpbp_enable() - Enable the DPBP. * @mc_io: Pointer to MC portal's I/O object * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' @@ -278,310 +207,6 @@ int dpbp_reset(struct fsl_mc_io *mc_io, } /** - * dpbp_set_irq() - Set IRQ information for the DPBP 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_' - * @token: Token of DPBP object - * @irq_index: Identifies the interrupt index to configure - * @irq_cfg: IRQ configuration - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_set_irq(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - struct dpbp_irq_cfg *irq_cfg) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_set_irq *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_SET_IRQ, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_set_irq *)cmd.params; - cmd_params->irq_index = irq_index; - cmd_params->irq_val = cpu_to_le32(irq_cfg->val); - cmd_params->irq_addr = cpu_to_le64(irq_cfg->addr); - cmd_params->irq_num = cpu_to_le32(irq_cfg->irq_num); - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dpbp_get_irq() - Get IRQ information from the DPBP. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @irq_index: The interrupt index to configure - * @type: Interrupt type: 0 represents message interrupt - * type (both irq_addr and irq_val are valid) - * @irq_cfg: IRQ attributes - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_get_irq(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - int *type, - struct dpbp_irq_cfg *irq_cfg) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_get_irq *cmd_params; - struct dpbp_rsp_get_irq *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_GET_IRQ, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_get_irq *)cmd.params; - cmd_params->irq_index = irq_index; - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dpbp_rsp_get_irq *)cmd.params; - irq_cfg->val = le32_to_cpu(rsp_params->irq_val); - irq_cfg->addr = le64_to_cpu(rsp_params->irq_addr); - irq_cfg->irq_num = le32_to_cpu(rsp_params->irq_num); - *type = le32_to_cpu(rsp_params->type); - - return 0; -} - -/** - * dpbp_set_irq_enable() - Set overall interrupt state. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @irq_index: The interrupt index to configure - * @en: Interrupt state - enable = 1, disable = 0 - * - * Allows GPP software to control when interrupts are generated. - * Each interrupt can have up to 32 causes. The enable/disable control's the - * overall interrupt state. if the interrupt is disabled no causes will cause - * an interrupt. - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_set_irq_enable(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u8 en) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_set_irq_enable *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_SET_IRQ_ENABLE, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_set_irq_enable *)cmd.params; - cmd_params->enable = en & DPBP_ENABLE; - cmd_params->irq_index = irq_index; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dpbp_get_irq_enable() - Get overall interrupt state - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @irq_index: The interrupt index to configure - * @en: Returned interrupt state - enable = 1, disable = 0 - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_get_irq_enable(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u8 *en) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_get_irq_enable *cmd_params; - struct dpbp_rsp_get_irq_enable *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_GET_IRQ_ENABLE, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_get_irq_enable *)cmd.params; - cmd_params->irq_index = irq_index; - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dpbp_rsp_get_irq_enable *)cmd.params; - *en = rsp_params->enabled & DPBP_ENABLE; - return 0; -} - -/** - * dpbp_set_irq_mask() - Set interrupt mask. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @irq_index: The interrupt index to configure - * @mask: Event mask to trigger interrupt; - * each bit: - * 0 = ignore event - * 1 = consider event for asserting IRQ - * - * Every interrupt can have up to 32 causes and the interrupt model supports - * masking/unmasking each cause independently - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_set_irq_mask(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u32 mask) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_set_irq_mask *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_SET_IRQ_MASK, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_set_irq_mask *)cmd.params; - cmd_params->mask = cpu_to_le32(mask); - cmd_params->irq_index = irq_index; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dpbp_get_irq_mask() - Get interrupt mask. - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @irq_index: The interrupt index to configure - * @mask: Returned event mask to trigger interrupt - * - * Every interrupt can have up to 32 causes and the interrupt model supports - * masking/unmasking each cause independently - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_get_irq_mask(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u32 *mask) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_get_irq_mask *cmd_params; - struct dpbp_rsp_get_irq_mask *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_GET_IRQ_MASK, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_get_irq_mask *)cmd.params; - cmd_params->irq_index = irq_index; - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dpbp_rsp_get_irq_mask *)cmd.params; - *mask = le32_to_cpu(rsp_params->mask); - - return 0; -} - -/** - * dpbp_get_irq_status() - Get the current status of any pending interrupts. - * - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @irq_index: The interrupt index to configure - * @status: Returned interrupts status - one bit per cause: - * 0 = no interrupt pending - * 1 = interrupt pending - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_get_irq_status(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u32 *status) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_get_irq_status *cmd_params; - struct dpbp_rsp_get_irq_status *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_GET_IRQ_STATUS, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_get_irq_status *)cmd.params; - cmd_params->status = cpu_to_le32(*status); - cmd_params->irq_index = irq_index; - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dpbp_rsp_get_irq_status *)cmd.params; - *status = le32_to_cpu(rsp_params->status); - - return 0; -} - -/** - * dpbp_clear_irq_status() - Clear a pending interrupt's status - * - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @irq_index: The interrupt index to configure - * @status: Bits to clear (W1C) - one bit per cause: - * 0 = don't change - * 1 = clear status bit - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_clear_irq_status(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u32 status) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_clear_irq_status *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_CLEAR_IRQ_STATUS, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_clear_irq_status *)cmd.params; - cmd_params->status = cpu_to_le32(status); - cmd_params->irq_index = irq_index; - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** * dpbp_get_attributes - Retrieve DPBP attributes. * * @mc_io: Pointer to MC portal's I/O object @@ -619,80 +244,6 @@ int dpbp_get_attributes(struct fsl_mc_io *mc_io, EXPORT_SYMBOL(dpbp_get_attributes); /** - * dpbp_set_notifications() - Set notifications towards software - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @cfg: notifications configuration - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_set_notifications(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - struct dpbp_notification_cfg *cfg) -{ - struct mc_command cmd = { 0 }; - struct dpbp_cmd_set_notifications *cmd_params; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_SET_NOTIFICATIONS, - cmd_flags, token); - cmd_params = (struct dpbp_cmd_set_notifications *)cmd.params; - cmd_params->depletion_entry = cpu_to_le32(cfg->depletion_entry); - cmd_params->depletion_exit = cpu_to_le32(cfg->depletion_exit); - cmd_params->surplus_entry = cpu_to_le32(cfg->surplus_entry); - cmd_params->surplus_exit = cpu_to_le32(cfg->surplus_exit); - cmd_params->options = cpu_to_le16(cfg->options); - cmd_params->message_ctx = cpu_to_le64(cfg->message_ctx); - cmd_params->message_iova = cpu_to_le64(cfg->message_iova); - - /* send command to mc*/ - return mc_send_command(mc_io, &cmd); -} - -/** - * dpbp_get_notifications() - Get the notifications configuration - * @mc_io: Pointer to MC portal's I/O object - * @cmd_flags: Command flags; one or more of 'MC_CMD_FLAG_' - * @token: Token of DPBP object - * @cfg: notifications configuration - * - * Return: '0' on Success; Error code otherwise. - */ -int dpbp_get_notifications(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - struct dpbp_notification_cfg *cfg) -{ - struct mc_command cmd = { 0 }; - struct dpbp_rsp_get_notifications *rsp_params; - int err; - - /* prepare command */ - cmd.header = mc_encode_cmd_header(DPBP_CMDID_GET_NOTIFICATIONS, - cmd_flags, - token); - - /* send command to mc*/ - err = mc_send_command(mc_io, &cmd); - if (err) - return err; - - /* retrieve response parameters */ - rsp_params = (struct dpbp_rsp_get_notifications *)cmd.params; - cfg->depletion_entry = le32_to_cpu(rsp_params->depletion_entry); - cfg->depletion_exit = le32_to_cpu(rsp_params->depletion_exit); - cfg->surplus_entry = le32_to_cpu(rsp_params->surplus_entry); - cfg->surplus_exit = le32_to_cpu(rsp_params->surplus_exit); - cfg->options = le16_to_cpu(rsp_params->options); - cfg->message_ctx = le64_to_cpu(rsp_params->message_ctx); - cfg->message_iova = le64_to_cpu(rsp_params->message_iova); - - return 0; -} - -/** * dpbp_get_api_version - Get Data Path Buffer Pool 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/dpbp.h b/drivers/staging/fsl-mc/include/dpbp.h index bf34b1e..e9e04cc 100644 --- a/drivers/staging/fsl-mc/include/dpbp.h +++ b/drivers/staging/fsl-mc/include/dpbp.h @@ -49,25 +49,6 @@ int dpbp_close(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token); -/** - * struct dpbp_cfg - Structure representing DPBP configuration - * @options: place holder - */ -struct dpbp_cfg { - u32 options; -}; - -int dpbp_create(struct fsl_mc_io *mc_io, - u16 dprc_token, - u32 cmd_flags, - const struct dpbp_cfg *cfg, - u32 *obj_id); - -int dpbp_destroy(struct fsl_mc_io *mc_io, - u16 dprc_token, - u32 cmd_flags, - u32 obj_id); - int dpbp_enable(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 token); @@ -86,67 +67,6 @@ int dpbp_reset(struct fsl_mc_io *mc_io, u16 token); /** - * struct dpbp_irq_cfg - IRQ configuration - * @addr: Address that must be written to signal a message-based interrupt - * @val: Value to write into irq_addr address - * @irq_num: A user defined number associated with this IRQ - */ -struct dpbp_irq_cfg { - u64 addr; - u32 val; - int irq_num; -}; - -int dpbp_set_irq(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - struct dpbp_irq_cfg *irq_cfg); - -int dpbp_get_irq(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - int *type, - struct dpbp_irq_cfg *irq_cfg); - -int dpbp_set_irq_enable(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u8 en); - -int dpbp_get_irq_enable(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u8 *en); - -int dpbp_set_irq_mask(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u32 mask); - -int dpbp_get_irq_mask(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u32 *mask); - -int dpbp_get_irq_status(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u32 *status); - -int dpbp_clear_irq_status(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - u8 irq_index, - u32 status); - -/** * struct dpbp_attr - Structure representing DPBP attributes * @id: DPBP object ID * @bpid: Hardware buffer pool ID; should be used as an argument in @@ -162,58 +82,9 @@ int dpbp_get_attributes(struct fsl_mc_io *mc_io, u16 token, struct dpbp_attr *attr); -/** - * DPBP notifications options - */ - -/** - * BPSCN write will attempt to allocate into a cache (coherent write) - */ -#define DPBP_NOTIF_OPT_COHERENT_WRITE 0x00000001 - -/** - * struct dpbp_notification_cfg - Structure representing DPBP notifications - * towards software - * @depletion_entry: below this threshold the pool is "depleted"; - * set it to '0' to disable it - * @depletion_exit: greater than or equal to this threshold the pool exit its - * "depleted" state - * @surplus_entry: above this threshold the pool is in "surplus" state; - * set it to '0' to disable it - * @surplus_exit: less than or equal to this threshold the pool exit its - * "surplus" state - * @message_iova: MUST be given if either 'depletion_entry' or 'surplus_entry' - * is not '0' (enable); I/O virtual address (must be in DMA-able memory), - * must be 16B aligned. - * @message_ctx: The context that will be part of the BPSCN message and will - * be written to 'message_iova' - * @options: Mask of available options; use 'DPBP_NOTIF_OPT_' values - */ -struct dpbp_notification_cfg { - u32 depletion_entry; - u32 depletion_exit; - u32 surplus_entry; - u32 surplus_exit; - u64 message_iova; - u64 message_ctx; - u16 options; -}; - -int dpbp_set_notifications(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - struct dpbp_notification_cfg *cfg); - -int dpbp_get_notifications(struct fsl_mc_io *mc_io, - u32 cmd_flags, - u16 token, - struct dpbp_notification_cfg *cfg); - int dpbp_get_api_version(struct fsl_mc_io *mc_io, u32 cmd_flags, u16 *major_ver, u16 *minor_ver); -/** @} */ - #endif /* __FSL_DPBP_H */ -- 1.8.3.1