From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757286AbcJMVeO (ORCPT ); Thu, 13 Oct 2016 17:34:14 -0400 Received: from mail-db5eur01on0089.outbound.protection.outlook.com ([104.47.2.89]:19567 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757106AbcJMVdp (ORCPT ); Thu, 13 Oct 2016 17:33:45 -0400 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; From: Noam Camus To: , CC: , , , , Noam Camus Subject: [PATCH 1/3] soc: Support for NPS HW scheduling Date: Thu, 13 Oct 2016 17:52:28 +0300 Message-ID: <1476370350-3853-2-git-send-email-noamca@mellanox.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1476370350-3853-1-git-send-email-noamca@mellanox.com> References: <1476370350-3853-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--18.113600-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No 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)(19580405001)(77096005)(2906002)(49486002)(50226002)(2950100002)(87936001)(19580395003)(4326007)(36756003)(4001430100002)(47776003)(86362001)(48376002)(33646002)(81166006)(626004)(11100500001)(50466002)(586003)(81156014)(8676002)(7846002)(189998001)(106466001)(8936002)(5660300001)(229853001)(5001770100001)(76176999)(5003940100001)(356003)(107886002)(50986999)(92566002)(305945005);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR05MB1292;H:mtlcas13.mtl.com;FPR:;SPF:Pass;PTR:mail13.mellanox.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM1FFO11FD016;1:9caS/S78KZZ46XJnLP0Rv5FDUZv6Xy/wUVxQJdc9DlwsvsVSfgFT/Dg8E5ZPgF2RhhL+mDHbcdHlAdgLRfSGV1COm9r/WHs4cwi95iqgigfbh+bkjDdmPvAtOlx7BTglVI00by6MnkV1jaJ5foJka8l0E2aiy4LyM3F3wrHyPVMB8d6GXAzgLN5sNq1ohNK0ablMDY/iTA3PP5QZROXGULfy+cgE889uxH12cb1KnJhfZIr/gEB9wV7DjSZarQM2Wk9HDCMCi5slVnbqgpyDBR5122nkr0QfgrNCqSf7Y6348ntPFpNVhZvYMhXYLkzMJnXr1ejTZxtNu9eYRYZm65WLH8EwpBlYfJotP0I9tMEDLDI784YJjpth0/DQY8rKaLX2hJ9S7Z/MGiMXb1Lomd1B1Bkb0/8zYnHl0wuQjOWADRjcdfnYGYpTaISGwi5Fy/GZ7Mgz+hQvdteH+vsOKdNXbFIZdfEPml4y1dVyh4SQzQg1y4Y8LaagdSdGDbUnAmyVwfAW27BwPPeTgqUPth3gZ/yodpzqePCvlN4pb72DKU66TRF3Ay05HMvMt2Eb X-MS-Office365-Filtering-Correlation-Id: 4836e518-5a46-4421-2718-08d3f378ba19 X-Microsoft-Exchange-Diagnostics: 1;HE1PR05MB1292;2:DQ7PcJ8mm0hnuJhJgzwqeu/YKLC4mXP3kE+BAD7ZemN6upqfEa5DFhrUoJ5f9juIkVdr/L8tEm8SAcpkcuoJJHyKJ4Q/lRm6OQN10wT4VOonLfMS8rNb0J9akggHaSrRm3qIemmvG4nSe5ZEAE2HvRccJ3v0mbWGcvrH+i0/8TUlJtAyBJ0OW5qjcD0M/9sTIoSza2MJ567Y2tuxV1q9Qw==;3:4DHp4RDGBhZcEFI7XgtGJc5CPfSfuSfbxpEr9jha/e2a6gLS8im8M8WvgwUdi4df4IH1vBLSQZFHtgP7zk/A8xXfG1GDs6smMKma4QQDrnTrYbKuVOdKd8cvyJhQOZuc4wrG9VsJYskIfSlr4cJIfrcK7k9DWPtw/CsGw6vtEPfEB/BsyBD08EkC5TdsiFNM9b5fPhlxnh04b2SfAhxpv08UpyFNx2CICvxuizNKE6OBE0eTjRpEGslUsGmHP+BRKl2v80nLwJUjRd4+uzGDUs1ExQxscCWdh5e11dKKP/k=;25:PNnXLWEgosla7kLX8xxveVkGeHKs6OzQwRDXbvsodrWw4fOcPRqIWSb0ZSIWoY3rmtnn/JeXZl97J/eutwqkCgDWiQlfnWI+QtSJZVev2u8cBX29od2uHZb7CAcR0jkHfvqgpjAB6aZ7JggX2B8Kl+XL6ff5cAKHj4uLmfxqA5H+g6zx6Yffo0ZEym/teseePF0Ecb1EJ8UPWI52uvlGGWX+xWrBu3kuJuCgRfOSnHut6zNlhSW3ReqW//iB9z0LCvJijawoq4uwSizP4784Dv83E/XSEAJNZWr/wDT/HiKEZ97wpSnEVU3zkZPlwblc91DDLIU/LFoTK+CGYQ/5psEs1nTSLeO7NuSEipCG9AM81IXoozrAPJWvbvYUJ+WxtB8lVBoLMo9XyB/tYcc/aKgCWUWedKZzICCTYf7n7IxeOMvRBQ1PxpzQEh22xNR2 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:HE1PR05MB1292; X-Microsoft-Exchange-Diagnostics: 1;HE1PR05MB1292;31:/C32g8PJPNOtPoxSB+Uc74k09KHZoWD8NbnulRd7yC7LvrHyRP1yUSDIV3/20p3kqGcG+rtD0h+GSa+B3YUrNEpWjDFKZ9ngrSNnlHyJnZQDVdQYi+ESl6ufmDNTeT9jB+PDdCxJYAp0ErTBr+LngviygQSuITG4MkJPqD59yL2jqg09EVS3c1SKI5jdWoewel1Y10Z87QcMmLERRlrESBFffyuiCBVMAcMAJaNLPB2vnqknKEO944c3kmhRosMN9wn5By0F79EHd0k1wgJCYw==;20:B7n0kyDGRkz3UktLrWohu7/EpR3/xk8aXOBd0wpTGpyCghRiyFrLzoCuj/E548To8cWpeGnnsDWTESiUHvmjbXGnX05gBOhhKUHvYdNBFg5ELW1C7/JHg0+tN4NytyNz5itwnwZPZn2RcYhsxCcgR1UYFzXw9LbHtyhtnnImDxjz38pnn5KmblQBvxWyDLRajvfw15G9L4UI4XLrGJ0f7wPdScL6tc8kdmyqvHYkpoj8oDDvqCtMJToHIdQpgUfKU9O7GG9iVFoALYluK/N1oIS4WuPUrxq0fog3VkXY89JjOH8th0zW73AErMunOFi4x1LLOvwzFNu/4V+EOuKkSqLbRgjZbdwa3XGal3TCBr1ybFt9NQK+cTadJm/F34Ant2dTRo6Dacdw94IbbM+9ZJj6ZxZMjHuTrt7aYRPNSftVqu0sDPJLf6JMB2gXNofidKUmLelxQhheC0SaqEdLBR6b2xHpYGCSOStz3V+a7rQ2MlUiitmKrTpBR5CBhk7I X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(13016025)(13018025)(3002001)(10201501046)(6055026);SRVR:HE1PR05MB1292;BCL:0;PCL:0;RULEID:;SRVR:HE1PR05MB1292; X-Microsoft-Exchange-Diagnostics: 1;HE1PR05MB1292;4:TGBiPdCMIrv1ouI2bZ572kY1TWvHe7Qv54gcauO3LRm2ik6QpUu8cwfdz+urTPPeWKTrI78Vb3Br7UnNhGP07Eg7qFNgmmlCJgKXAql0dvk3/bH0NBs3CJi6NCYiAYZcheRQL5gYzcuNseH+ZxLcMsGT0y90RRKoSbcmzZ6qrG8F8Fi0hkBpqJNP1EaSacaRtYyL7i07FSU9UekTiIRsAOpqAMJt/VVIt6DX4NBydSo0runMuswhLtSSLvxubcql0qcsKpWzocGQQn3B2ezD/gci52VCxzMWg3/zSO+j+OUxm0UV9d2E07l7uok7xpD+2Hl1hpekTWiI4HQre4HfR0lM1zg1tzTkgY0jYq8p3ZGooSoAzHNWTJyGQLN4+6Gq8pOUN7J324G7y1Ts0UzUWeNPhhtgSUEGPh3ICEpoO7XA9cGB9evc/6wcs9lCa7RjzpuTTuSqRXMzEAXdIvMY2g== X-Forefront-PRVS: 0094E3478A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR05MB1292;23:uzfLEM4H6w2qB0QtjvC46ZIxi3JX3mBfQxzCHVxEw?= =?us-ascii?Q?DrIwNdufDuzGI2WutW/mZSbt6vyzqAGodhmcfNSz0japugIXX/u9G7BMTZns?= =?us-ascii?Q?ImvJkNqIsmKMApRbVhFLYJz9bYglf9bF5AmJgzcbakrzF0MQctI1wixdA2WU?= =?us-ascii?Q?UHCrPDychniiHRm0xoAZMn/w5e0pY9RBPLiM7d+mHdwxYuciRmuFNQuqoEp2?= =?us-ascii?Q?+ekXlQpVB587+E3KsGIxFz9mzjspPm1Sns4aKR/8a9Ibc1cJ85DAXMEKJ1wr?= =?us-ascii?Q?BWnQMVXzZbb6rwA0PUX4Fn6vaJOiGDj885sIr0HhqSB35oYYfm50uOfI3KEF?= =?us-ascii?Q?cCb7tYpw4mQj0ra7kQOBPGMWN8+mmvlHRtHpjPsf6WEAjeWibqBq4jgIZI7S?= =?us-ascii?Q?o2u/61A6zFgcryR86RP5p8eJ7yruX7P4JyAzLNG1jl3mZdbysKggCEUA8dze?= =?us-ascii?Q?2tvJEd8MIZN3SMPm9bOwTJXi2rBQB4u2cwnPUW8EVwxF4Jzj4DaYbyGDWdmp?= =?us-ascii?Q?8rcbpxXC281vuj6JQ6NyfXQk4P0ycHRCIeEu+6yon5PboZlqW/XlP3Gy0Yoc?= =?us-ascii?Q?g2hi1SicKs1Cp/5yqsFlgBxIjxL12V6VLBS9Q2YPtc412puxEUFghc8mEkOw?= =?us-ascii?Q?c9+dOXXLNPKycHpIhIwxKVVrkKRK7F+Iv4KkQBp2EGNKI/7G4lj3e2YMd8h4?= =?us-ascii?Q?5iu2dX4dYuV4IsgBGxw63tuW4miT3iX0kL79GWB6EE5pGskxOsm5IZyWNZhW?= =?us-ascii?Q?VQMGLohR7SxlVPZ8OIFaYRWHtornDvLc0QQMaWhfJ82i5g5yGMHYHvitAzfL?= =?us-ascii?Q?U+EZTFXP2tp2r/LszIOIZdPQNLaG1w7xhM5PczJVqJgBHrQgA1hE6TusiDf3?= =?us-ascii?Q?GVxvfKviqe1pF7qhrBmjk5TowGKhceQbPt6/LS0C628K0cDmn0z8CDIob5M2?= =?us-ascii?Q?d39HjMcnIz8mEGpu3ehrRH+YzbuBo70kTUZJITnfGeU+I1mVEixkbGmsRiI+?= =?us-ascii?Q?bXpz65AjvEwYwYeL6UPd48NTg7ZFuAKBCO+x7zQwiCPcPuIEgE2IbbIvjhIS?= =?us-ascii?Q?7Amtz+3ruIKRcMlOYk9M7ofv4jWuiBTofqrGvCpXAecqfTe0A=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR05MB1292;6:1uV1ig2yqoE5TQr/5JM8Q8wKqTql2mXvvhM9GITlJ6LTS8I8RXxxGOrgoik1OfhutOLVOHQ7nuqdISHnTXQSEBO3XwDJjZRYJsW/r5BBmFPFsr/2VVDRKSMUAoZNcevZtDfu1wX8LprOZxZuUH3Tv8i7Obl8TQEBQg5FN6fWY6UrktWM7pnb1OSbS/EdmCmyb3xWstCu2BdlUWwVQSpl6S2nzaYWhKcijY5n8krEj98StSTgcl5RiXx0W5bk9iKn4S2b0q4lskthaW56R/OzLl5q75nqKq4gu+Ee/hmwjvzVjLQVtffsH3aHKLeXSHls3azxCSu9sfQpLbXilTFtN/X+FMWK2aAq9+/Owzf2aGA=;5:34Z2EE9R9bwALaq6Oa1fGuLgqLDW8RFMSeWsMKhHdMJ076Th0/SEQ+JSjLDG6EE1gRtsbU/44XCgp/GSnVC9kHdZxXuyH2PEIOlAkp4/bzALFUlEKulRNrH3bFxb4m+fgUKb996iilK7kaNBblBiug==;24:1vRqFod0tyFTdii0hGZK2Tp5pkL8VvSFga763XPWwHxvnaHLl5LZd2xDHMIziR6rQCWB7Iic34OjPZY6oMEoJgDaWomUJUubJYbAawm6N5I= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR05MB1292;7:aA9wsu+E0EVhKS+f5qj6e41kPY/KOfZwsm4Ob8yIyZLiGd9nubc60+9cwYkPwVMdYlW5TAP8tuCzNr99l/N3qhD4vsmU91EFWCXLd2daFLqE6O8yDaYligmsIjvETkn3Fx6Fsk4u9Yl4w3Eo930Te8wptt0yC4VwVAVxnQqUadyohI5nsXtoIAbvk8Zdg9SyMpjsZ5eSS4TFrBgXPe5H9Owjj2K7QXlHXgqj3f31W443bZlHZfx5jJf2/A05mXj0aFSFW8cUikmhV82FQPmjI7KTLoaXK/9XGcRXJX0hGZjrMOs6BW651uh+AZSX93SrdyO+/2L7Xfn8b7krEduDAiUTrgS+LOhirPIR2ShABKY= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2016 14:53:43.1647 (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: HE1PR05MB1292 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Noam Camus This header file is for NPS400 SoC. It includes macros for save/restore of HW scheduling. Control is done by writing core functional registers. This code was moved from arc/plat-eznps so it can be used from driver/clocksourec/, available only for CONFIG_EZNPS_MTM_EXT. Signed-off-by: Noam Camus --- include/soc/nps/mtm.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) create mode 100644 include/soc/nps/mtm.h diff --git a/include/soc/nps/mtm.h b/include/soc/nps/mtm.h new file mode 100644 index 0000000..9327010 --- /dev/null +++ b/include/soc/nps/mtm.h @@ -0,0 +1,61 @@ +/* + * 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 + +#define DEFINE_SCHD_FLAG(type, name) type name + +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 1/3] soc: Support for NPS HW scheduling Date: Thu, 13 Oct 2016 17:52:28 +0300 Message-ID: <1476370350-3853-2-git-send-email-noamca@mellanox.com> References: <1476370350-3853-1-git-send-email-noamca@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1476370350-3853-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 Cc: daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, 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 header file is for NPS400 SoC. It includes macros for save/restore of HW scheduling. Control is done by writing core functional registers. This code was moved from arc/plat-eznps so it can be used from driver/clocksourec/, available only for CONFIG_EZNPS_MTM_EXT. Signed-off-by: Noam Camus --- include/soc/nps/mtm.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) create mode 100644 include/soc/nps/mtm.h diff --git a/include/soc/nps/mtm.h b/include/soc/nps/mtm.h new file mode 100644 index 0000000..9327010 --- /dev/null +++ b/include/soc/nps/mtm.h @@ -0,0 +1,61 @@ +/* + * 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 + +#define DEFINE_SCHD_FLAG(type, name) type name + +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