From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933571AbcKMK6S (ORCPT ); Sun, 13 Nov 2016 05:58:18 -0500 Received: from mail-db5eur01on0088.outbound.protection.outlook.com ([104.47.2.88]:17120 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933121AbcKMK6O (ORCPT ); Sun, 13 Nov 2016 05:58:14 -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:1612;Count:21 From: Noam Camus To: , , CC: , , , Noam Camus Subject: [PATCH v5 1/3] soc: Support for NPS HW scheduling Date: Sun, 13 Nov 2016 09:24:30 +0200 Message-ID: <1479021872-14237-2-git-send-email-noamca@mellanox.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1479021872-14237-1-git-send-email-noamca@mellanox.com> References: <1479021872-14237-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)(336003)(199003)(189002)(4001430100002)(626004)(86362001)(33646002)(189998001)(5660300001)(586003)(107886002)(5001770100001)(8936002)(356003)(305945005)(7846002)(106466001)(8676002)(5003940100001)(50226002)(2906002)(81156014)(81166006)(4326007)(36756003)(50986999)(49486002)(76176999)(47776003)(6666003)(77096005)(48376002)(92566002)(87936001)(50466002)(2950100002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0501MB2472;H:mtlcas13.mtl.com;FPR:;SPF:Pass;PTR:mail13.mellanox.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM1FFO11FD008;1:AvoQ+nRIereJaUK4JO0MlPSfFsnEHxcANIqLeqff3FVb03UyQ1O8Rm5hY1F0AwpPDG14/QPCrFYXBIsKUTbK36hDz3bCAh1bFYBxXs+At9HxMBqz+etHr/YQgm8mfKEzRE0uz3bJy/naC+BcANqH8EvMDAoraIjQR4weQHRXlzbLh/OYqY/JKkltF602kAOKyuYfIFbqH714h+Fj27uFxjQXOr3EChUUp6hF3n++O2ftys1BzDh5rRCOB96gnl5uxP4lrrBJ2kKvhBWrlCRij2J1DkfHUCFJVT+lIkqp3ZMsYDhVgtB0uxUF5cXMlebHaODL88hQ5h5sQSotRoN4rz53nJY629VMUiWLH3AYDqM5qLP6FQdKOhEwQkIyD+FjV4fgakhWOMKnHHbqKOt3wpTa1TRVCak+Vu2eZ2/+CdHpgGSG0pMJNMu877Q/Lk73VnM5m9KSlEP5VizFy2RT3/oGKn8t/hy/uw6w16gPFUcZtXnZJb7Pv63RuJdF3fmFJ+w8HFFC29309SJtOpEBKOeUvJaXSh2gdSBfVzgzGYGMS2vjJYQkB/AyGOveUIE2FfWEPBGNsUogUny+QA+TTg== X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2472;2:c0n6PlPodtO3bNN2wJvfDbq+icETVjd74qHRv1XoVfQrVbMA7LFd9y7Su3Q3vsi/JhsUabMy3ZCyhVXm5hg4TtvcX/QpSNrJfKPul/y3e84mypzMkE/NBzESC/HpK7ndoPGBs9SeSD3e0ufvDKEuDY8DYGIayyi4Gt8rHxZsiU8=;3:rMyezHMpreqTE2kVj3YOUdUmBaDjEWuAeCszaLQxfERNnhzSeMWzc8x8gke7XANpzXSI86jNnCnOH47aBXeYix7XJ/rMEtNEGr3i++YQBaIrGuK0n9L4/DsWJfYIle5ptVjlcSe86ebI5JGKx36qJA+slT9lc2cWQQGKCM/IcGsgpjLECTIZcT/ngA8lP9IpMa5WkPZGPgC13QzcbIHxob78YTGrVlOAVffRxx4NhZ20pacMhsi0msMYJls5AKtv0PTH2knenIf+Y3vAeFhDNVPYB0qS4lKnF4vN8KNH7MA=;25:n8x2eK8btUDIufqHeTrjMD66X72QnKQmyeKtGu21RVCbu0/BlhbiEybll6uFOQOaHX+hukfw/MfBIoElEbmyR7ieecQAKD9pa1rNALjxfpuOXb0f2izI6TrgYupNKH0t4/bufMlRnkmscxn9Bs62HiBnVCtJRyYpNmX0d0A4+wT+WuYTpGi+fG0Xtuveq2Tg4qQt1WTKziASd4tpg7lwxt/PWQ0kuKClBbb5fbq+vYm+9y7bGntd9mhlitHebBROEUA0sY44SSRP23cEENPKGZQrJT3bS6jklx5dYF+NU1D5ksM2gVCKdO3//wJwEhxvKYNapSpqs19NHW4rqc0WnuZYVLLubtpR9ds8jRIU+/mGAcRV1uGzUdfvrrYQGFR4qbIjb1KMn11ApT5mQpFzvkgVqfco2A/6EiLsJrDEqBzmPHW1Neu7R0SZIC6Q1ysP X-MS-Office365-Filtering-Correlation-Id: bdb69a41-ff02-4cc9-659a-08d40b9621e3 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:DB6PR0501MB2472; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2472;31:/ZNz/eUmGcF+z1mGaWl9ofEWGvGwyUJrSKj1SCeNtpu9SSR3lmcUxrpHPThDRa6Ul3qtV0mSTmUvz58ZkHc6rYezYusKyuj5KK6niJFqJw2TaJG9IAkdpjwQW5kjUvDawGNOKkd/RxAfJubj02jnTfhJWXXFlg0kWXWNYsJEXljEoAetVtcmipm01dc+iGms0IUgbtDgqPSwGPOXS/uNHrQCa3LE3jHSNtzW4sRGBsOrpsQcKcB3xgIoazcS/MBS;20:vr+m7NaRp9Zief2UQLoJeCVi31IhDxv2nWijn5OawYne5m/gkYTzJ6rG+sCEXP5uXU64L/Krcs3XntlFwhUC2V5cRR4QuWihqMoNMf6/HSUEY7TiASQfVgxgaFay3RUFcg8/A66fGDjjkP/7d3y6SSJ9Qupc2sHdkUzNQEDDXTAUUcgDGKVDFD67TO0ENhSaqMBXE31Wsji+YU9arK/1/A/tqSoPaIguOzPnMKaHdRSKdgsFQDSZwm/v+B3k2MMIREnANCDPPkyAadmf565KmIztCIEMRk9zeSAtvNQpWZxenr+Gygw4BeLmBQp9pb+cSKOw7tTxpPukAIUuGz4cKtmHL9pxOczDIjsQ1/tr6gKE+rkHNos5wlY3SFXvlNJoZVkOUXczgyU8/3Le1gM8XSGIXNgXH6jxqnt0j5IpOrf057pT3zCdYuE+iWx/kbJfnDd5wrDeakv9CzPnnzWQ0rmLna+h4BK/YmawTthSmh3h6ri3WL2O0v3jA2FPxVZn X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(13016025)(13018025)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:DB6PR0501MB2472;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0501MB2472; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2472;4:ieEm77PPTopUp8VpcZdCLu2OVVyjSiY5QSBi1lMN7jd34LOuVnsOHny7NDZTw5Q3dJdf893se1EVyJ1ALqgXRzQQC1iJZAA0wqAxTeuYkICHcKuwt9k5n1k0MKLM+4E+PUMpmG9yATgv0hG6Rbj/Kgj8UMY2jzaNc/eqMAc4Wjqew4VeVMzd2L5/tieaWeJ4hdVp6vrKqneCzStoe1TEwLrxiyIh2J+e7wB7Gn55pIqBL01LpYj4p21u5TGfc5F8W+iQ7V+PB9ZQsOMk5YIzkcMnou0Q5ABnVoa6z74Gt4od+FpDRUVVcHQAls6Qkn4tfk7IFBlsdfJNADscz3SWtHNenPgs5ZapR+OhwQhtjqNNvPEZo6KDhuFtDhRE7lpZ45tqOqU96zxNKO6G9M7xvzLxMMPU75uNyuYm+55eTGlspldZjzvrDCtI+RircwgIpIcKAZK350zVN0rgPNwK7w== X-Forefront-PRVS: 012570D5A0 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0501MB2472;23:zKcKn/16hgdwd/OjrDGh7a6kY49CJqdGAx74Kg8?= =?us-ascii?Q?AiU8ddg7+ipXoLOIyC5fZeS7P+af0OtWnmGfqqZUeo+rGb7alHa3jbqB2mg0?= =?us-ascii?Q?afFASapuuMVPnGYTjibKeXphkPRlzF/afLf4JpBRYNdX9HRPSYetwxSUM/F3?= =?us-ascii?Q?gMzPK+247hoAaT0R1StrLB0ZAcR4NW+f7qu/cqsl6iYbzTRKqtc006sCMHKR?= =?us-ascii?Q?mgcy6oeIoDyzJqoUksH+hRXtTwqni9YUmL4XWUIN1IP45IoSohKDKmn2imt6?= =?us-ascii?Q?3S+nzkuTgPDbhz9ZtNq7YjnZu+Oer4qRZYzNp3e4gywgkq0r9u6jIQvddyHw?= =?us-ascii?Q?fYYGRrtjYfAIPsYGupGcmB4PQWCqogW3A7Webt23WSZT62UH+TTQMvYUoHBg?= =?us-ascii?Q?Tu0JlSSIGmKWksRZokMUjokJ4Z5L1sDuqGgPx+7krPta2rS9u1O/kqqBhPj/?= =?us-ascii?Q?K7DMeVcBDfTWu6z7eJSkxHyHOS6jMO/THrCfzWi9hh9/U2JMOWv+A4KVVelW?= =?us-ascii?Q?Q44XanwhTIlQUmUneUPkXKmI/okR4wtLXngXYyHhP2Esa7WMsI4q1G2u6DWn?= =?us-ascii?Q?GHQhXrFcpS6V8FTelRVuottVsm8Nf8HyTDM+YWeSH6FcYTiGUjLUdk3PqidU?= =?us-ascii?Q?wcwo1zkjfvlYpFHX+yCPeJDejRyoCPw4UIa4h3N2STwiGNjhq12jJRWsRwTy?= =?us-ascii?Q?OJgtAEfQMyyRF6Ey73v9yIaoNBuTzoMR9rlkymysXKepG+JcTTEcnNmulQB7?= =?us-ascii?Q?ev4g1GryO9sc5UBqQYxyAcLraoMxwwwuGSxUVauUOW3dV54qkE5HATEXK48f?= =?us-ascii?Q?c2ZW+REw6bg5PwhYmjZYQWtJk9peGfTe7dkG9JI4uRyyg/AG4niu2IhjRcNM?= =?us-ascii?Q?UOdW3uGQyamBwc7Ey/7HMl8K+a16mWBqnlJL4EJU3MEFhckeDgHJYvl5yt9K?= =?us-ascii?Q?Hz7yqUcvhUNKpjJpQXr9dOEhkOWZ48xn8RyX7L5yHc+1JnjAB0u1Rqu4ORV/?= =?us-ascii?Q?sYNL34DPt1/9yB/0GoTUu/4+r?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2472;6:TX/H7WWNWJbc5DnNf+jwq64qIhgZmxol9/t8YS+/Yn83ipnsjVI3nI0SOeA1A8tZUAToZ0v+hWpkIfrneXd5czd5736/OVuOkLIaSPS8+GdPFlN3GD155F/nZSwKchnUa3uqFuDOotyt6uYwqH3v9gpY9oeehbzljNqm5r5SSJtETJk5Fp+1eBzhygacf7EeDJMjKsctPo46ZpL2SXtxxeHhot2CcZLUL/ZJLhLIcYA0F0tW/rnrb5lB+6CDVckGNoTvvhrMPIjjypH8gLAwrdJzusismfTfeaWBab6F1rsxfG+WsAjI90qc6cV3GoaXRvtrIe5R5Ee9r1KR4UG0JzaQjy4P1/ICEVeEud5fsbQ=;5:+6lgWAs/x56YyvGCYEhnKvPyMwK8ikOoQYdEk357FZwc0lQs+tX/tX2A3FTEwtmEVinxN1uSFE8c+qL3OycI3PrmpoR4fa6cnjZnuc8khg4aYqYKdvPHgvXjMDscdB9SH7ys9oDyc4UXolEE0gNwiw==;24:GL4aTLuOMv+KL0dDhwUNklVeB6qjvNqSTD855jy5xjFrwO52Flz87Vj3e75TawzsKrVJnwimHKP/64+/758avXa1ui/m6Epjx+jAQx8PIJE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0501MB2472;7:lUN5RfNxaME5EVUHYP2TPsmktwfcVr/5I26Hk0bDnLCE6hP9Zd5lksNHBIx/ZF/s2uNz2RlxGTdWi1+IHaZ6s9p4+whAKs23yiBCVwp2BzmpPl3CsI1C+dS30jhdpAhgYnKwSV0a4+09WEtqGhoMJmI1tQlFJNzsTakPs3Dr4xgyrYcOorYFZdhUm1WoAzc2gIgBEnjoOdp8QZ3gxhSiksSDq3m3KvrtyYGAXWjJ+jlEcTxYSn+aiCKQnG/djRjR/UZAv7sAALEL3T4VAHNS8kXNuPsmWCT56Md6+sOOCHeEamtThlHQcOJfnGLYkuoIKL3lsjKvL8pq8rk7P3Au8krpjVn4DQZNsvWDKDjOKOA= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2016 07:24:40.5917 (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: DB6PR0501MB2472 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 v5 1/3] soc: Support for NPS HW scheduling Date: Sun, 13 Nov 2016 09:24:30 +0200 Message-ID: <1479021872-14237-2-git-send-email-noamca@mellanox.com> References: <1479021872-14237-1-git-send-email-noamca@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1479021872-14237-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