From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752651AbcKPGrL (ORCPT ); Wed, 16 Nov 2016 01:47:11 -0500 Received: from mail-db5eur01on0054.outbound.protection.outlook.com ([104.47.2.54]:9645 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751245AbcKPGrJ (ORCPT ); Wed, 16 Nov 2016 01:47:09 -0500 Authentication-Results: spf=pass (sender IP is 193.47.165.134) smtp.mailfrom=mellanox.com; lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=pass action=none header.from=mellanox.com; X-IncomingTopHeaderMarker: OriginalChecksum:;UpperCasedChecksum:;SizeAsReceived:1722;Count:21 From: Noam Camus To: , , CC: , , , , , , Noam Camus Subject: [RESEND PATCH v7 1/3] soc: Support for NPS HW scheduling Date: Wed, 16 Nov 2016 08:31:11 +0200 Message-ID: <1479277873-18994-2-git-send-email-noamca@mellanox.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1479277873-18994-1-git-send-email-noamca@mellanox.com> References: <1479277873-18994-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)(199003)(189002)(626004)(5660300001)(107886002)(81166006)(8936002)(189998001)(76176999)(81156014)(5001770100001)(50986999)(2950100002)(87936001)(4326007)(77096005)(4001430100002)(49486002)(92566002)(305945005)(47776003)(356003)(5003940100001)(7846002)(36756003)(33646002)(50226002)(8676002)(86362001)(50466002)(106466001)(48376002)(2906002)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM2PR05MB1220;H:mtlcas13.mtl.com;FPR:;SPF:Pass;PTR:mail13.mellanox.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD019;1:Pvbj8Qr+jv47zxusPuDXKoiHjQWVAVBvuAo2hqBdTf975IWDsKZtwXvTg/ILuaNHDdkXs51tZFmat8r8+2GX1dEHVwsmXvMuSpl6U/EfJfzi0+NbC7EdGmT9zrfa68C4xvjPJ5yOfqkaTDOC5YLrL6k5/BPPEGJ10ESpSXNk+aBzEZhlH8OshbcGfg1DS46Z+rrK7EoUXZ31MmhJs3AU2axVx4sizLnjhmPNOPiNYoqZNH9g53qcObArk0d5kLi+errrrgXxQUA6PhT7DYqXicOwW2TPHxIfwX+XxeQ20bRH8+1Ahwmllj13yzDG77oWPmhUY4ZQskXlRSNyfFX2WAsSpJkhBp76Cc2Op5CCgx1SiwIV5upFryMjhjK0APEkxNl28Tlo3Vj0id7YNdgfmLyc6fpajA/r5+In6HrpyLHZG8kP/D+WiCqVQ1xSG5UB4+2NypsD+lFYFwVWPjeqUTq06F4AwdPV2X4xeTyUMjDP1+WMx4ZmcAbMoOvgWM5jLRbv7vmVhni6yWGQA2zH6Pg3R7g6qchKK94mREv7JuQtV6iKaSImhZ0rtydTezL/guCO9HTxRmvExa1r+oNCTg== X-Microsoft-Exchange-Diagnostics: 1;AM2PR05MB1220;2:jZtxIEvEwhvMu8lJ2O4o0Q763E4A9TLasOweLgQrPio8XrLehlG4midD0x0kM23cNQC8/Nm9QU4rAYqMCMZjb2eQ//3UX2TcOIT/d+8qBzjLtV8j7R21s/YMBDRtmSpwEXoxFWIBTF8MssW/Yp5WH7EsTY+ZFDjqbLh/b4qsl0Q=;3:w6FbuCwTknyjkjyQIxZUyd9lrpTmhVIsuiyl62OWyjkX8vK/Rn5o+5tAgvPzx0KA7EcuJZ9Nf6p00KuvJPOHlc9iXg4HF241+jJ0EGEFLaLZgvaSWmY5nelVxYPFCN4dUx3nbLCGd8ioOXp2q5h7PZHZwALWGTA0WaGlenp0YLDIxjjcdycvItXIbRXcYZFn74W+CP9Efhj4E2HLjz/dyIEij5n1p7lp4Pp4kDX1eVxof8cBTdvwevr/71vDrOT5BRyOlwzIlrL6hL+LXFt+K3IcxR5W8+6ypGNghvq2Aw0= X-MS-Office365-Filtering-Correlation-Id: c0331c1e-4de5-4374-256e-08d40dea50b6 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(8251501002);SRVR:AM2PR05MB1220; X-Microsoft-Exchange-Diagnostics: 1;AM2PR05MB1220;25:keiE9GpsOVBj3i7SJgttv00jI49EUB8wMumP7MReAWBnJ+wktSh9JFNn60IT3XVSIpBV/sb1jGsKdXES4Ci+5LgKGa70HjX1KahahyRF2r0vvSrf+2SbDDHbV9k6KQfKbpIXatE9i3unfFqaU5QaRBGOKO7gYND8R5QNBQ+qG8pIAUQO/SQ7lU/79eCsdJRvPtYBh0ILRER4IgXtHznglw/2pEv5fpSr8Ewtg1qG5kJF5soy9j5VUy/1it41TQRd9QXlKHH5hf3ek/uOdu9cKbgXF1SKzoEn4lo4bGM8qGKGfn4O0Ume8J4yewmxLE8tbcO2q2caXAboQ7KpU+i4JEHtNVkLX25CWKkXfb+Db9UiTfBYNWxa4ti/VnvDNs6mAdDdGh4/3Lk2pZD2duNE/gUw4Po4sc6PVJxsErxPuFD1zfA59g4bjo34ln1NL9q6q+4lYwmKrubs5Rg6JycSHA==;31:TD06ZKNeL7NrP35vn30070coFeBLNq5GHlHE86cHdaCR/kkkZzJ0UQSxU2Uy/H8uqRX88vN9xKjbDIPWosdDdQYDo80I+Nb0TS7zg9P0+EsjFNxr6GHwq+lRksqF0tzISbVZky0YbhEV+lyQwU7HwC/hmE1b3LDA1HZYDVXyioSkRaEiYGbrfaG4uf02eyUiH1bE2qnaL7qJCOwec99Ecf+IM4c0ewv7pG2lftqBSnrVACP/G9hYf9qyXuHvhdkZyXN4eDwWeYbobBytfb3nsg== X-Microsoft-Exchange-Diagnostics: 1;AM2PR05MB1220;20:cnVcXaE7CSp2hnYLRiSNHVxbZJYYEbsbhAUSEG401zYVLc1vJ6Bv54mmZlImt64d1rV3TgL937HX1yYSEMBojX5xqGRjj5jGDzyaQv71QZSER8nNkuXD3Ap/aa72a42j099ubbRmCR+D1dma9GAdSYXUkqO7qEuMlrHu6fjowKgClab/c6Y/RVQKb5YgLv3xKxL5l8epmq4h5Ob66lKBrp3st6EVJx5p8RNqypD0C99zZGbJ/qWC2eSSBOj8aCHjEMdv/ZNIz/vYw3/ZhipYzinQ5rL2I7t4Ky98X1D2yPyCcee//L+YILKVw87ABnjzEg1OmbDmJxKzc6fLk/4oXMmncuzDn4gxNgUtRNnqvCWG8DsoT5zQfacF7IBMDnXB7lGpTKztAzU7FTQ+/dCB2vsOAuMn1CWrxfzkFm39+ZoqpUcgAoHMV2DaQQxC81TcyNqRX5JVMpi3nvObtowuF5fvDgUwA4JaPZv5ESI6/gfkPW+27QNt+sfpjUGj4ru0 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6060326)(6040277)(601004)(2401047)(13018025)(5005006)(13016025)(8121501046)(10201501046)(3002001)(6055026)(6061324)(6041219);SRVR:AM2PR05MB1220;BCL:0;PCL:0;RULEID:;SRVR:AM2PR05MB1220; X-Microsoft-Exchange-Diagnostics: 1;AM2PR05MB1220;4:Fo2544vGOFkCQLSjLQxGe65Q2ZwWPorT5gkaSCQ5pUj6YoRvbbNSaznX+ZVGS3Mjgu9suqv9boMBs2BqwXRgAyW3M8wWuZRkea1ZY89y8aiH6vNswgCrwp4SU6W9/XTNj6Odk6amvA00GnTUhhID/ohRg52zbc3UM6EY6FAcDvymCfjtafD5BuwFpQ0jVigsh3jJlQmgjGL7I9JX9wi8CafbailYOLJSQsqsRZquKKJHmknc6H1YyW9BSOhrJMUwpv4KAYac6x/2HUNLKdQyGGXj6Z4CZ84OMwYauxC5EyCIigPOTS023ljQV2IWuT7F7SFr2dxLdAZYYeySF+ufZqw6gr3H7DxYhuvKpd4uzRax3gESu+DZnF6RkyY/GlfpRuKzqfzMNa6fGUq+BL8mWNKNc2lKmgBSMZxdCBmSWR1C4ls+DFrOzl2OO7J/8tQdPR1gU5c6Hd5OIt9OtQQX6ye3PdpKRf17Jmzcxfnesx/pQ+tDIrq/39vnpRQzNU7CCx8BqotLlffJrsBbl1Gc7g== X-Forefront-PRVS: 01283822F8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM2PR05MB1220;23:1tg+m+evDT31CPcjtYUhn2GuhF+praLY5LrNl9JjA?= =?us-ascii?Q?eeyebcBJM46fp5pbtKsBjuhlBGAYqM7w+mD2JC1bCmmXwzTbaeqv40905Sba?= =?us-ascii?Q?a7AvgAgxvXD2rL4sKn5ikOPPONiSTQgcezuKhBFLWbLFut+DkrLkWnQVdqZ0?= =?us-ascii?Q?hwhR2gma5o9EW3yhQAaxWRQl7KekR6VYFfb5IbA7LMQQvPmkOKrWU23zuSR2?= =?us-ascii?Q?v1hcfdno0AquknjIkjNDYPhX5jLcw2xjjOeiPDJs9IVj3RW72Bid0MfuWUav?= =?us-ascii?Q?FbU+dB/umvhHyamtMmrQe8p4nNYfzUHPQD3vRMOIDfqVfH3ttM+TkP8Dj4WD?= =?us-ascii?Q?wUDlBl0k+qBuKy52KrDc2gqdutNPooRAVe66TZ+dzOcSbLI5RRy3Lid2lB+k?= =?us-ascii?Q?H7jknn7TwhRm+QcxzpRtbu/oodTxR4nF2jo6tbrrngfbG26H3oP21Q5+WRZD?= =?us-ascii?Q?ljBMvXiLvktG1qzXoXYKjDMZFZWdmJiGWaxO0/aAZxSi5igLGo07Zh8a+cpR?= =?us-ascii?Q?f8TUkvrHJxKAE360+Ai5x6DSRt6Oailo0XONkUEXq/nT0vfumz1ayePB1Lvt?= =?us-ascii?Q?Lb1qNlJyT0agPtL1AlxOvWwURkXZKwB0661IYupwQ+mTc2c4/HBNdQZis1Bx?= =?us-ascii?Q?olnFKZVKO3GVQz9rS36XmWPN3172oQfWIhfXeTHdDu6JAN1wdJ9ofcQTrzDn?= =?us-ascii?Q?aGutZACV8XAtjMKeGIcmapL+btuaHoiO27LMncqfzUsfdDNcRjqc4v517gQ9?= =?us-ascii?Q?bhkt+R9XCYC61BS96V993N0D8fbZmd8K2KsULqVuKbXtcs+Fk4ypMY6n994d?= =?us-ascii?Q?4KZnnJBIR86E1hX/kYvtDYDeBZErmwncqXqYA+eEI3O7V9ZmHrsjZuptp8Jw?= =?us-ascii?Q?OPvOEu+0CkhdABFuJKHCwnafRb011PZ5yluekiqMLyMS858mv3TjtvxxuTyb?= =?us-ascii?Q?oRqK/JFCgrAXKoBl5GTG2riIDQ0sAqBI5ANAsoxJVzTfQefDmPvDgEHQ2QlX?= =?us-ascii?Q?aU=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM2PR05MB1220;6:TEv7hIMQ3DM2YlxqfRuze9T6NL5AAXHcPuxi3zVy6sdXTwBBK8+uUjUICz5qQu7/3jm/CsItQQEPXidWxU0TOlatLuGhw6BnmBbc4rzcv9S55G9NgRwliZGRWyKKUhsCRuFW9EC2q6dlWaf3Bj0XfghV+OUvuXF2FK3zcpv7WJ22V1KQT9vqMN9wWPZZcuI45P+DSuJlhBC/C6E3LiELWqVPfgg6O8gAeClXBrg3czArGkmdmTYKgIKxfFYY76V16BCCUqoqUFmrF0e08aNN3KgrDMMRdfW6L4Z5bFbe6LO7GFJXJE4mkB5vUXdwMXFpj4VM+Ja6LFS2ytZzIfazcRw15DaNWrNiidey6OjeQGWmQlIFluQnyy2LVnmkSDVy;5:53LkQu6BsqFYf+W9KQAvC5LOpz3vQvGNpc17x9UK8ogqwYADVY6jbXEGBJiAvNRjuRQQFyNz3kMqp8vIomYzcYJKiUcm0HT79E+Pho3PHtoyq/3hhkuTe69Zmt0roM7r+kuANHyvJrS2BcYoBbYi1w==;24:tV16xxOcUGt9TuO43DuIDBnBRKNPnZFdaX1VdHvCtcXeOKaTB7sljD1C9AajooU08UKVUMyfDKM9JXWfHb5DgOQuhiNB4esXQ4hCCtVk6xM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM2PR05MB1220;7:UJrt2gkYv7uBNAv8YYx6SYpLRpjznIU6h+MTZFy+sNvE4BvWNZodF+zoteAutyJekKNdo+HjHAdX4pl7twX5oxynNQZB5muvRauL9XBL3nHMwtEJxBLS7Uk/6Eg1vZrQEtjJIEuneMOvpFzfLgNN3C15PYUxWpC+r5fuwApnKh90W7XSKljTqIs6WjRBTzeorA6GIZcBTuU8l31/RDycUPzc6j6ET2dtbcYC6mNQWJpFRCH2Gj2ZeG9DFfuKXbai2P9Y/Beh5/TN0EFMu+UDY6B1plNzqsAqVsnb7yCBg8I0e0gHVlRJXdkM4wKyiaSDoKaGZiTHeoAAMD7hRutGLw0IYFoLE3gYLhQDuPx1i5g= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2016 06:32:19.0897 (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: AM2PR05MB1220 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 Acked-by: Daniel Lezcano --- 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