From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966075AbcKOJIA (ORCPT ); Tue, 15 Nov 2016 04:08:00 -0500 Received: from mail-db5eur01on0046.outbound.protection.outlook.com ([104.47.2.46]:48480 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935299AbcKOJHG (ORCPT ); Tue, 15 Nov 2016 04:07:06 -0500 Authentication-Results: spf=pass (sender IP is 193.47.165.134) smtp.mailfrom=mellanox.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=pass action=none header.from=mellanox.com; X-IncomingTopHeaderMarker: OriginalChecksum:;UpperCasedChecksum:;SizeAsReceived:1606;Count:21 From: Noam Camus To: , , CC: , , , Noam Camus Subject: [PATCH v7 1/3] soc: Support for NPS HW scheduling Date: Tue, 15 Nov 2016 10:50:57 +0200 Message-ID: <1479199859-980-2-git-send-email-noamca@mellanox.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1479199859-980-1-git-send-email-noamca@mellanox.com> References: <1479199859-980-1-git-send-email-noamca@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-22520.000 X-TM-AS-Result: No--16.702700-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-IncomingHeaderCount: 21 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:193.47.165.134;IPV:NLI;CTRY:IL;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(189002)(199003)(4326007)(76176999)(81156014)(50986999)(5001770100001)(49486002)(8676002)(87936001)(2906002)(36756003)(106466001)(2950100002)(86362001)(6666003)(77096005)(50226002)(47776003)(92566002)(7846002)(189998001)(81166006)(8936002)(356003)(305945005)(107886002)(33646002)(48376002)(5003940100001)(50466002)(5660300001)(626004)(4001430100002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM5PR0501MB2468;H:mtlcas13.mtl.com;FPR:;SPF:Pass;PTR:mail13.mellanox.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD034;1:bPGtjwg0rhieftj16G80+4fawWVKHCTPt+AZxFJqFNz0qCNXbURhqWiWuDJh3ucqy2s8JD5buQ33oJxpRFjMOEVv6ijp6h+b5jbyr9p0X//vXMdXECZNeZqfZijC2epEnrdQnE2Q393ww1pAHdZwAjOkd8bKZGuct3gUu/RGcsTK2kK2KM6LzQJIqRfJnU6ESKLjjC4uN2CtSNK4LRpGgA1985lHKsx14SCK7uk45BHnJqconCRiY9dNAMmqNKRosV9doMI9OJb1UFfhwBxWQcf4cUk+bOkzomzPlMpxEoNgR9O4SB5lEaRMp+ffWiMzSuxY4YTfAZ+Yt2vxiV3qLfo+DvvfiSbeWKIv1XaPzMHkPH2LkEdEBbIoI2Sv59jTa0O/SJOsBG4HSuxOEEX40VzV2stM+Gn31lJLprTU3/1/+jd9iU6lTMUxbJYlQhdSolkae31aDyrMCDD+ymiGgKCzXaW3OumVIfbXjz/gVk2H4rzsuPLsEI5FWuSUXA1RG1lzvhDF4fcyuSJBLCeqrCLcMtzzbhjbbOTZlu5Wcz7WV0o7xSnRjgSibb6iin10CXw5nFEnMumBNrlu1wTx5w== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0501MB2468;2:Ox/YI2StRCkGqw5yjznOiP8oRiLWcgd7/Z1svtdfvBcFrNDCvhL2ekBfrR0dnFibPxFe7wC1FQptjWo9NMMvzdVAYRAJt9taPjOzeNNRuxmjVAYsrIGaw4LBAOdHS59ZjTMKBdwuuDsCnZQtC5lM6/LXXfIwfabgUkia7tneh/4=;3:8pMG07yMWnryCW3I0DfMkMtuakbp7UbPXyV73ZQ+fBSJcZqbgsdA4saDEtUnsrxvZkhWtJUOWo3y8lB+JxBNzBDQ9buta/Rgxho+Uu2DMyKOMyjE5OVnlwpQvrIz21kUwVlHhOZQtotzXS1wMusbj33CdcotnPGuazhfvIrY37yk01rod7URVRq41MB4G8DaF0B7xURiX9c15GUghjnRdUvRdDarG0GljP460UQSae3Yi4c1TLGkllbQF/9Fsosv30VQ9e1tUKqIGovQkr2RD7MKH6hNYnKYwv1ygpRQstc= X-MS-Office365-Filtering-Correlation-Id: 1c53cb3a-aa08-4f59-d119-08d40d348b41 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:AM5PR0501MB2468; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0501MB2468;25:fjh1RIo0mbI0zLNVe9CJoC4QvPtKPvJ72JRUIHuTmWlBZBlxzzd++BUDKDCIFc88G8W/YlH3imQzQviomUdKjDKw+1QjkYc9wnCt3x+eOj2bLr4SorafnPRQSrlJ0qjL8LrDa1EbtBcSYQQraRbGxJZUyAwk/cKLtyDD65gpj3v22vF9BmhIHv8VD4fEOeXLgtjc3NdcX5wyH7wK7XAKX66MggrT0xDMI4jESSYOf6Kod7RBQFtvdhABEC4O4VW2VP3c0ATOfWhFXiyBSJ7tgg+ZhLRXriwM1bxRfu3h4LCIKw1RuqgDgvL7huxIhiApmotde4GqcUNpPDdagy7r2RIuK6sO7wXDIkw+Jp1zobJfxjnAJ2EvWrHhP5968Nw77yi4EQUaj4c4wIcXaeZvJUHLEGT1lj1HAk/Fe4sV1GRRD3WCotRkQV/zIC7/hgQ2+lPwfMItrb0wxkZu+fHBOQ==;31:kh+M5S3iJp9lzTEung/951TDfcK0gqpscRtHJOk6rFrvB4niSNCiu8CU9wnyDD3a32XUS4ufjI0JpF+5EcU039rNJT8HhQi1SOlRUp9/8nPYwUI5oN7ufWAWa2ZMCPxSOQiFn/S8ySFPoBCMX1VJNRcYsmbEdGMIYu2iVcbswgMNhkW4FgtAZ3LogqtYTxEMxskVbTK5SFi0U65W3Wq1n7+0bTk/tyRlQR6djtuomQSXCxWreeCUsTPPqldd7gC6LkkXmSkUZkUAFifg89u8GCWfP0Xu4YEMo/3mwJlAFUk= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0501MB2468;20:/ivGTe2TpLDSK8O1/6SGVGMrBIIgohqn5+hJk7GA6RCxPbH4NLRSqw6e0U//T07CO5ZqKT7A4heeOEQFxsfNhaZsifMNKdFcAjzlJxZVQ3e4CJFxETFyr5igWdnEmF5nH+9bJdKCEyJdNQOWPH7Hgr1olj7gFWLkhLhRMMoEznU2hyNUWJR/VNbVU39f2OHFQg86N80KNdScniVhZYX3hiDIRi1GsothDQ/euqEQyfV93OnJWhLRQvUOKOj8HB/hCmhdExio/ABUNMAPmr0jZMLtnIS8xfu/0QoRbsWyF++bC1PpBoJGwgNsUkgqvpd2EgzMe4KGJEaMC0LH3INjl94I4LmURj0ALg7EYCP9UMp/tdPE2C3/o8i81N4n3t64C9Gn3BRLfzKrhrUIs7mcU1j1HOC219dxDC/6ik9S1eqXLEkWc+ER3UXK+Sr+yutL9gpgVMRMfJjn4kLhA2dbvwHjgQldcu1lQojuXTnC1fHfWL5Qa9PQw3vkF1EUt5Kf X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6060326)(601004)(2401047)(5005006)(8121501046)(13016025)(13018025)(10201501046)(3002001)(6055026)(6061324);SRVR:AM5PR0501MB2468;BCL:0;PCL:0;RULEID:;SRVR:AM5PR0501MB2468; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0501MB2468;4:jKYTr3hfAs4/mnd8IsQfc85U6dv+K7P2Y7dsDX7ybLoBIosadVfHxBWmmhQ5yyomNLDFmr2hoQXKNtC5iNyT4mrfyaRq/tuRpGMXo+R+pXA1lT+qzGNhkcPp4khOF8vG1oBfPCZarJfmDc7wcDKOAsGmpfB1SmTzaADq7Srw0CcExlX5vI/TSMExWvQLjyBWLvYxdJSQRC8l0dhsfm5h3k333a2YTiiobMTeiYwUa+8dpPl8M4zMVkfNT5F9BTeY+BmxjsgU+MDDK/M/zK8L/257TW71HXlEIa2tmy8hm3MIMcNDJ1xhJWAklOj4q0Et0Sl3QpzUVowwtw0eMgFaxkntpdXLu0VKriiVEz+ayt7nUSCgySGWb37tIuf/YBA7peofnKnRfoYIUaF1aep1H4G3INbZ5Y6RDeUSu2azwe6/dzYTla90LoczQIkhr0TrfQZ1V+zFzt3VkWkJeZxodU02XPKvlJNOOfn88ftVxP8= X-Forefront-PRVS: 012792EC17 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0501MB2468;23:+EKDAhS+V19AlLM5c9RALmk4PVz37mm5tyxplVp?= =?us-ascii?Q?iKUn+4I0XkFTfMhp+Fjed6apMh8ga9lFSg0qzBCwsfJ1nHY3B2QZwTL5tzP5?= =?us-ascii?Q?qnRQlOkpQsL3TAsGxbTdUxXGqWto8mNt3EmnNXi0OL4EU95X69PRt2NJ1BwQ?= =?us-ascii?Q?FWKlBO1ha19GcBjqnL0Ubc1pLxFHCc04Bb3CYgSwv27JLpQGmStQnUEQF2Ii?= =?us-ascii?Q?4V5rFLbwDEjW/Ir2nslCSow8jOh9WJPqasB9B7RClsW79B0xjM4wq0IEL7d4?= =?us-ascii?Q?aDgu+gkqgmEt1q7oO0Vx3UBI3FKYvGS4Kc2VNhfO867xt7nsO10HiOEFzUj0?= =?us-ascii?Q?OE8WrGXKOxVJXKDlbGSqiWGHNUSSqKsrc9/Imw0lUPuA89k+Ix5w0O6EJHdw?= =?us-ascii?Q?I5RI0Vd5LrcQ+MUCSQcuggYsNUI3dmj0QqEgVefeSf5Bb0zk1Yls+iNRMzUC?= =?us-ascii?Q?J4x+n2FlCaHVTuYSDix+/xMS32lRljEruCxLtcRrt0dHF7DspkxbnGc5yJ+Y?= =?us-ascii?Q?AmNnh+S6Fe2qvHKiEH3WKwqZQht3v5/txRm0KayNVoVsCwTDLrZNUfZoCO2R?= =?us-ascii?Q?GmyWr0DEXeyoj2ZnxeyGv6qqJAsqzGZ9u1rpCHS3nr1ZhGntTkOuTnVjJ8ct?= =?us-ascii?Q?TLXTeWDpLp3qL6QmzuEEITKmEJpBOXnhpgR7aI20E/vPiHCoXfehsuMfUgeg?= =?us-ascii?Q?Pz6JTPT/vOBkmVFW+CYfKguPVnIU9bEVWJWW+0sYXBwktAoXQM1Go97dkMUd?= =?us-ascii?Q?/d5laT5Fz2I1vEywomf0z1ROREv4VtQwQIsRwov1sKeRnqVtplpgbaxpQT90?= =?us-ascii?Q?ewm3Od/XSvbJ6BFtDTXDPRG2Kw8R2k2lStJcGJy705kFR/Cj1XxjvJ1EMycZ?= =?us-ascii?Q?twIMAGWNPXsfP/XdKkmbv4oxPXIWod8tnwUSMNkAPZPKYFado92jofPynmNo?= =?us-ascii?Q?CYsKiCZCUSX9wzBUULx9m3sfdbCSLMU/ShRUmNBNcZBksRBurlipAq51hry9?= =?us-ascii?Q?ztGE=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0501MB2468;6:xD8ie127rYtvD3OAnvFUJBwVhGwBpmlp9vX1XuGc1Hy4FJYyvIXtiuX4jWdOgJ/y7xvLO2OTuB9uQCkXZR4IjM5pTzFZTuZEL0yRSwYNSq6PnWJW+WlGcxfFCh5fO7t664LJEDYX7BcTxQ84+mMSOmVcvErbiRmkv2VZ6GI0UfO8HLUQ9WJx/SRBuMRJG5j6UESomPd++r9Cz2Rg9I5SjHyUe0ddsyPKl5uU9dVjQoju0Xg0h9EsjD6VWmGV0wgOUCnCFJY5+6yqmsRDDPqc4US3Vlr5RJTNiW85jz8XkgmPafYN6rrI4QQy3fOQFZTZD0iEQIagmh49QcieYf0JRB4J23OihYcdempBPksBfkFZnrO/U4DC7B6787tTroGB;5:IJuxQXiffGUfUWIGbkIjiRJ05u9GHdMgA0SED0pnLjC00VSevvbWTULfNmtlCN0eqcUs9RcDkt4fXGPfdLMTf0RiH7EVVgo1Uw6wLU71mXrjUktpSf0JwcLreJVVvOHGXbFXF+VdSGKqY3RpvoBwLQ==;24:mWEkmnnvDTz+q1cXfukOVs2SSA5x1AfeRO0QbULUQ8xHMn39L3xYPwOafGKjs2OrsvOwfwhlYsWtBAqF3oxXr2X7aWBq2AZZoeF3tJ9iANc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0501MB2468;7:RenJUJRBAhjylI0FwvCDyQ/Letp99kzZ9xBCz5UIZAsGMka3Zb8mVOslhXSz1ektYl99gsPzy41YgH0G4d2HEN3imB3279m/RYnmGECtjV9WpDQYuZMLlx3RHHQ1IsunMhrOnQEOIrMK5zfbsHV8HgbY+9hEuVcnOVxw7I+E+1Shylj1fEkyAk/7ALp9Qnk0ObDNzYXqxGvczHAzi0JIs/IgkINeQm7I6lyRWUzioAGT5FmYX0J4hfcjU5g8v4cFTMYKtCOrFvSmW7RF2tvr239qBw9en5fmp4ATyN3FG5hhrVHrRAg/H/c7p4qAyslIMr+kiOif/Oi9bgM2sXwP25AHOu0n5bfmLOgvtbOWdwY= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2016 08:51:08.9549 (UTC) X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=a652971c-7d2e-4d9b-a6a4-d149256f461b;Ip=[193.47.165.134];Helo=[mtlcas13.mtl.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0501MB2468 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Noam Camus This new header file is for NPS400 SoC (part of ARC architecture). The header file includes macros for save/restore of HW scheduling. The control of HW scheduling is achieved by writing core registers. This code was moved from arc/plat-eznps so it can be used from drivers/clocksource/, available only for CONFIG_EZNPS_MTM_EXT. Signed-off-by: Noam Camus --- arch/arc/plat-eznps/include/plat/ctop.h | 2 - include/soc/nps/mtm.h | 59 +++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 include/soc/nps/mtm.h diff --git a/arch/arc/plat-eznps/include/plat/ctop.h b/arch/arc/plat-eznps/include/plat/ctop.h index 9d6718c..ee2e32d 100644 --- a/arch/arc/plat-eznps/include/plat/ctop.h +++ b/arch/arc/plat-eznps/include/plat/ctop.h @@ -46,9 +46,7 @@ #define CTOP_AUX_UDMC (CTOP_AUX_BASE + 0x300) /* EZchip core instructions */ -#define CTOP_INST_HWSCHD_OFF_R3 0x3B6F00BF #define CTOP_INST_HWSCHD_OFF_R4 0x3C6F00BF -#define CTOP_INST_HWSCHD_RESTORE_R3 0x3E6F70C3 #define CTOP_INST_HWSCHD_RESTORE_R4 0x3E6F7103 #define CTOP_INST_SCHD_RW 0x3E6F7004 #define CTOP_INST_SCHD_RD 0x3E6F7084 diff --git a/include/soc/nps/mtm.h b/include/soc/nps/mtm.h new file mode 100644 index 0000000..d2f5e7e --- /dev/null +++ b/include/soc/nps/mtm.h @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2016, Mellanox Technologies. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * OpenIB.org BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef SOC_NPS_MTM_H +#define SOC_NPS_MTM_H + +#define CTOP_INST_HWSCHD_OFF_R3 0x3B6F00BF +#define CTOP_INST_HWSCHD_RESTORE_R3 0x3E6F70C3 + +static inline void hw_schd_save(unsigned int *flags) +{ + __asm__ __volatile__( + " .word %1\n" + " st r3,[%0]\n" + : + : "r"(flags), "i"(CTOP_INST_HWSCHD_OFF_R3) + : "r3", "memory"); +} + +static inline void hw_schd_restore(unsigned int flags) +{ + __asm__ __volatile__( + " mov r3, %0\n" + " .word %1\n" + : + : "r"(flags), "i"(CTOP_INST_HWSCHD_RESTORE_R3) + : "r3"); +} + +#endif /* SOC_NPS_MTM_H */ -- 1.7.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Noam Camus Subject: [PATCH v7 1/3] soc: Support for NPS HW scheduling Date: Tue, 15 Nov 2016 10:50:57 +0200 Message-ID: <1479199859-980-2-git-send-email-noamca@mellanox.com> References: <1479199859-980-1-git-send-email-noamca@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1479199859-980-1-git-send-email-noamca-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org Cc: tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Noam Camus List-Id: devicetree@vger.kernel.org From: Noam Camus This new header file is for NPS400 SoC (part of ARC architecture). The header file includes macros for save/restore of HW scheduling. The control of HW scheduling is achieved by writing core registers. This code was moved from arc/plat-eznps so it can be used from drivers/clocksource/, available only for CONFIG_EZNPS_MTM_EXT. Signed-off-by: Noam Camus --- arch/arc/plat-eznps/include/plat/ctop.h | 2 - include/soc/nps/mtm.h | 59 +++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 include/soc/nps/mtm.h diff --git a/arch/arc/plat-eznps/include/plat/ctop.h b/arch/arc/plat-eznps/include/plat/ctop.h index 9d6718c..ee2e32d 100644 --- a/arch/arc/plat-eznps/include/plat/ctop.h +++ b/arch/arc/plat-eznps/include/plat/ctop.h @@ -46,9 +46,7 @@ #define CTOP_AUX_UDMC (CTOP_AUX_BASE + 0x300) /* EZchip core instructions */ -#define CTOP_INST_HWSCHD_OFF_R3 0x3B6F00BF #define CTOP_INST_HWSCHD_OFF_R4 0x3C6F00BF -#define CTOP_INST_HWSCHD_RESTORE_R3 0x3E6F70C3 #define CTOP_INST_HWSCHD_RESTORE_R4 0x3E6F7103 #define CTOP_INST_SCHD_RW 0x3E6F7004 #define CTOP_INST_SCHD_RD 0x3E6F7084 diff --git a/include/soc/nps/mtm.h b/include/soc/nps/mtm.h new file mode 100644 index 0000000..d2f5e7e --- /dev/null +++ b/include/soc/nps/mtm.h @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2016, Mellanox Technologies. All rights reserved. + * + * This software is available to you under a choice of one of two + * licenses. You may choose to be licensed under the terms of the GNU + * General Public License (GPL) Version 2, available from the file + * COPYING in the main directory of this source tree, or the + * OpenIB.org BSD license below: + * + * Redistribution and use in source and binary forms, with or + * without modification, are permitted provided that the following + * conditions are met: + * + * - Redistributions of source code must retain the above + * copyright notice, this list of conditions and the following + * disclaimer. + * + * - Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef SOC_NPS_MTM_H +#define SOC_NPS_MTM_H + +#define CTOP_INST_HWSCHD_OFF_R3 0x3B6F00BF +#define CTOP_INST_HWSCHD_RESTORE_R3 0x3E6F70C3 + +static inline void hw_schd_save(unsigned int *flags) +{ + __asm__ __volatile__( + " .word %1\n" + " st r3,[%0]\n" + : + : "r"(flags), "i"(CTOP_INST_HWSCHD_OFF_R3) + : "r3", "memory"); +} + +static inline void hw_schd_restore(unsigned int flags) +{ + __asm__ __volatile__( + " mov r3, %0\n" + " .word %1\n" + : + : "r"(flags), "i"(CTOP_INST_HWSCHD_RESTORE_R3) + : "r3"); +} + +#endif /* SOC_NPS_MTM_H */ -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html