From patchwork Wed Nov 16 06:31:11 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noam Camus X-Patchwork-Id: 695453 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tJZFJ0d4Vz9syB for ; Wed, 16 Nov 2016 17:32:52 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="kdbA0vq1"; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1c6tm6-0006yx-Go; Wed, 16 Nov 2016 06:32:50 +0000 Received: from mail-eopbgr50058.outbound.protection.outlook.com ([40.107.5.58] helo=EUR03-VE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1c6tm0-0006aF-Ls for linux-snps-arc@lists.infradead.org; Wed, 16 Nov 2016 06:32:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=DJjIK0N/rprWI6pxQwZt7aSVxkNtOILeDXbKnlmYkgE=; b=kdbA0vq1K4d7f9uoqqap7AKNgy63B/bav3lKcC0bSZKu6MtOz/fWgHkL1XpeSCb4ZIxK+wXzg3nOtaaweO95PRwQxjd9hZ1vIDApuliwBxif/A7EIdAeeJVmMosBcTxyONO0SQytOA0h4Q4dqbNY1GsPvu/69imy/iF60fBUE94= Received: from AM4PR0501CA0049.eurprd05.prod.outlook.com (10.172.222.145) by AM2PR05MB1220.eurprd05.prod.outlook.com (10.163.148.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6; Wed, 16 Nov 2016 06:32:20 +0000 Received: from DB3FFO11FD019.protection.gbl (2a01:111:f400:7e04::133) by AM4PR0501CA0049.outlook.office365.com (2603:10a6:200:68::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.721.10 via Frontend Transport; Wed, 16 Nov 2016 06:32:19 +0000 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; Received-SPF: Pass (protection.outlook.com: domain of mellanox.com designates 193.47.165.134 as permitted sender) receiver=protection.outlook.com; client-ip=193.47.165.134; helo=mtlcas13.mtl.com; Received: from mtlcas13.mtl.com (193.47.165.134) by DB3FFO11FD019.mail.protection.outlook.com (10.47.217.50) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.721.5 via Frontend Transport; Wed, 16 Nov 2016 06:32:19 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:1722; Count:21 Received: from MTLCAS13.mtl.com (10.0.8.78) by mtlcas13.mtl.com (10.0.8.78) with Microsoft SMTP Server (TLS) id 15.0.1178.4; Wed, 16 Nov 2016 08:32:18 +0200 Received: from MTLCAS01.mtl.com (10.0.8.71) by MTLCAS13.mtl.com (10.0.8.78) with Microsoft SMTP Server (TLS) id 15.0.1178.4 via Frontend Transport; Wed, 16 Nov 2016 08:32:17 +0200 Received: from ezex10.ezchip.com (10.0.13.1) by MTLCAS01.MTL.COM (10.0.8.71) with Microsoft SMTP Server (TLS) id 14.3.301.0; Wed, 16 Nov 2016 08:32:16 +0200 Received: from localhost.localdomain (10.1.3.58) by ezex10.ezchip.com (10.1.1.4) with Microsoft SMTP Server (TLS) id 14.3.224.2; Wed, 16 Nov 2016 08:32:10 +0200 From: Noam Camus To: , , 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 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 Received-SPF: None (MTLCAS01.mtl.com: noamca@mellanox.com does not designate permitted sender hosts) 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 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20161115_223245_143990_4CBCB8B8 X-CRM114-Status: UNSURE ( 9.79 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.0 (--) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-2.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [40.107.5.58 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [40.107.5.58 listed in wl.mailspike.net] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Noam Camus , Vineet.Gupta1@synopsys.com, Alexey.Brodkin@synopsys.com, linux-kernel@vger.kernel.org, tglx@linutronix.de, linux-snps-arc@lists.infradead.org Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.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 */