Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754875AbcJMP2K (ORCPT ); Thu, 13 Oct 2016 11:28:10 -0400 Received: from mail-db5eur01on0070.outbound.protection.outlook.com ([104.47.2.70]:64864 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754535AbcJMP2B (ORCPT ); Thu, 13 Oct 2016 11:28:01 -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 0/3] Add clockevet for timer-nps driver to NPS400 SoC Date: Thu, 13 Oct 2016 17:52:27 +0300 Message-ID: <1476370350-3853-1-git-send-email-noamca@mellanox.com> X-Mailer: git-send-email 1.7.1 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--7.214700-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)(189002)(199003)(107886002)(81166006)(77096005)(8936002)(50986999)(189998001)(86362001)(305945005)(11100500001)(50226002)(4001430100002)(626004)(50466002)(5003940100001)(33646002)(586003)(2906002)(229853001)(5001770100001)(87936001)(5660300001)(92566002)(19580395003)(49486002)(7846002)(6666003)(356003)(81156014)(4326007)(47776003)(106466001)(48376002)(19580405001)(8676002)(36756003);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR05MB1282;H:mtlcas13.mtl.com;FPR:;SPF:Pass;PTR:mail13.mellanox.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;AM1FFO11FD016;1:54FVaWR4nVGidydLPBmfKKo7jdyLLGstVfbYFX05qw+RyzzRmZcLQgZud4XjAjlTiwKQYy3va04k/agqfBWApC1FUzCbveFVZHrCmKHDJfUG/+YVEhcXxFEqZOwo1soNdKBqKdq4m0xYkJkh4w1XpKM18AHSQlR6UG5mqOs+Fn0Z7b8PJNGzmeT9t1+g9fgz+cVg/rSv7B3nUzIa0vw3klN9vg1zBYxSBFkHzxo9M+cDFNHUwq501uepsFddKKVO5Bl86RpE8h2rQwvVr7m5NrxCfKfRCrq1vgUKEwtwqib3K62TrzloodOF6VG2IIT7EFuNoeEVraKTAkEZUv1fi+iesnrqc/cNvzFZgs9Hwpq28LyrbWAQIKbxM4s1522sRb1r5NWtK0kcuZeHXyh6uJE9GIN+QH0ZsaTLnzZwgPO9xbxsvqcGcX+bjiv0SNXXRvJZd9m36TL3TMiKn31kICdTCZQhAxj0wq2jScJLYDwdEGoH6wc8I770gVjyPIgVPRHBNiEl2flu6m/Pt6XeYoxRSBOMfog2sgokWhhtW/6v4yd/40JsRtzSj8lGy1oD X-MS-Office365-Filtering-Correlation-Id: 152cf70c-213d-44bf-7082-08d3f378b94c X-Microsoft-Exchange-Diagnostics: 1;AM3PR05MB1282;2:75eekQ79v5PynFYFgH4Hk/LYuqxo5BMTTB3zsgCMVh92868BKMF8pWHhSGoEXR8gf81pEKNyzht7tSEQVcBnSlRUPdLP6wN7VWkLNWnMA8fxsi4pIiYA2XZIwy+YSF42Q2TH0fs+lJQGonSFsgnm2A0ecb6R3DHvjtrceOUJ4QrZvJQnGyOfTr4vKDiNdGNX/UKrfl/E3hVYYF6b1egmDg==;3:KlwvX2/jvPEYH9gY2LpddexsrmIx0iXRtErfTuc+s8wuVmeVDqdebw7u7v/HzPcjDO9spjGZIiDlu/+f3bGJUyv43Sf24BF8cX2c90tWTjZ+UYlibgSeb555+GskVcDes3rvrfXmxf34DkOEeANbiZXg+PGH4Z1VVAJ8ed1VtsLElITHF/UmD6xuFy1rxecp/p6tJu1tQW6/pvlk/hLeMN+cGg+ZqifK0vYmkMf/lsIlTQ1SAmVg/NDfHPgMdVsmf9yDMzLSXfSL2k73+I/qYuZ3hkOZGIRSVrnMiBErk3U= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:AM3PR05MB1282; X-Microsoft-Exchange-Diagnostics: 1;AM3PR05MB1282;25:VkJtaqRKuy+O01cQTd2+MRVYpjOO20y8KSCQaR3bYSkKDVh5LrvP6Nk3q3K9ndpYSCKL9EfuR1EpoNnrXjeyCEN+aXpg/pp7AQeFKLvXJtzLDH4PKAQoqa2Q4NUyJB5cg1TJ24RJg9NEaRVtD4Onu+2XVxYn2edArkN2eXv+aI0Mw2vbz7nnW0yTIYK4jZmaEg+Ko2XimVdUjrpmY3wT5da+Tx4hy0fC0mzdZGdraNAoCsB/ISKMwxsU/UFKW45+UuGhASORZDY4X57wdK9zVj9rt1WNThlf16UddwhehyvnQwH0/k8u+fJ7/qVSiOA0xtT0Od0nP/cvsLNfpIC+XujuYNHIdH4MsNWxjXvYvLk5cYM5+mdJZAi0u8ccSxAkmeQcCQ7hXco71TRHcDVIZb1yW2OYMvBvx3XrsegNX21M5Orm5vc2y1YJJ9GjETWuj3e4W1KaELMoHhUmAIC2kYFXz46LfcoqWZyXOzlwohj3feqVEtIZpESM6AZJQqhBghLS6y3h2qLHRwB/5DfajOwRzT1k4aepAlSDe6PO4W6VtV8CUvrnbwihpWlMLz+jWP/qk3cowcsImfimQi93IlIp3lv6ZFXRXRnlHaP3y3rt60IGmo7lDad+hwhAWgDxuzBR41Q5tr7xaJ14SY7yfZvskg94vPBjYemHkDaxXIxEVmFu1cwC7AK8amN9DXxSOHVUhTQWsYLIIcQdnlVuqewACcg60I0WJYAv1E5pcjalCnO72KoczIravVvzf8KHhH/5LyHNeSo9r2Lx1iu0R4U46f/tggAKxxTNe/BBdeI= X-Microsoft-Exchange-Diagnostics: 1;AM3PR05MB1282;31:Mg6+dZVzEm6BPqVda4YaXkF/cPLhvoIgQ6r7PxS6YJSRUQeaQD+o38g92i2ny7ln5WUK25kEzbyuTfe2uLlFCh5ls/hYF9P8FpFi09ifqWo3HvCc6fHm9h8kZ2yppuUSw0QEp//XRIMckx79rigyCZD3XCTK1FgpysRrMDnpXXt3rtGYfiPOA76nZqdtO82elpeKXzvjShSACmdsIHRXDEeGA8bPoau59kbvNlQYwInABUAiMIVgvUEDuvCKUBvq;20:pBMEFPNfoseMOsK64NyGt5ATC3qh3zEjtx9A23lqbErKmyqtogykVQ27pUBVqU708L+tGf0thBQK6FswwLbnWT8B+KJTYfBIxxZuw6DCgTrTei9/NCce2rKlu+9WNR7W5iXDNU4BOvIh21mFoAJzD7Fbxusndn9Rp4pOWbmy1tLl8JjJxDpsKPxM2LzdQCldgMx18jJBOeVFfr53QKmOuty7XSqTm+sK08VOrpZRCJu96L2Vj4d+8UrEFcBOWzYgX3f2/5AVXYaSqel/PHeXpOjaeJ6aRpoGuhGJmPFvvDydUMLnzeMTLalnLRuj2U10OEqjkCkZhwJ81dZzhgp/9Q1h+Dr0qnmhH5Er3HmuizMT38x5VOFubBaliG1faffIGxfRcnuw1Zr4orfLynseiRvOfGmQg7I4s5PVZpAJyID0uVh1xprx39WLqfnWA6oJqKXXcp6O4MsmhA3vRfuz+8nhh8oSvd/z5VYb2Ny/DD4R5Nhpgmnu6sQ7jo0NcNV1 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)(8121501046)(5005006)(13018025)(3002001)(10201501046)(6055026);SRVR:AM3PR05MB1282;BCL:0;PCL:0;RULEID:;SRVR:AM3PR05MB1282; X-Microsoft-Exchange-Diagnostics: 1;AM3PR05MB1282;4:fXntFQiJTE5LI5IyKeCth7eRJcJwOFvvJRJvAQRJU1WasC3RqvEawTl610I21IGkjju2knXYb2I0sVNgqlcIqwRc69EHvaI5BpGyXECSunE6a4T8f2Z1GN5xDdUP8KtFPfNzdEHuIKLZFCxwHgA5d6bDwYAeYehralB9NHRl16JxNOgNXda46LTscP905nCfXQ3wkt62VefsM25CL+c2abF47GekDEaO5A7ioEopbRrqkWXbFH3zV2nhuxerBVE1YlOKPGCbaqc4esp4MSJPxCuZj4QQE3Z6zkLzWeBnWYmXidqhkwKmVuiJldL0xIsWqsYN1GiFyog+xZXIqSdXgaT3w06n2ETbFwogt+kyvh+EHvZRQ0Lbuc/WeEHVl68Wid42dtZjnwOxUKTmOCfRMaADmsIkKwntGypeZm5+EW/TYGwi4gkqzEoOG06OvAW+EpD381AI+/CZh1n7J5puXg== X-Forefront-PRVS: 0094E3478A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM3PR05MB1282;23:PqhclFn0A8LarOptydmpdpNEtOaRY2jZwnnHWzQuE?= =?us-ascii?Q?CUE7uPl6yaZEKaOKoT6NyUg1m+wbCoU5OShaZZ7HnyXTiTkEj/zlZXGDIVuS?= =?us-ascii?Q?sPID6TP+J5OcooA7dD954hWKXA4UujiyXh5qF3/2zfrYha4noyLu4mVAK1zy?= =?us-ascii?Q?aY7A/GHyuKyRlSjsWL+yaQAhvmYtXnJ+G9T1h1gejgwUJsQuObcYwxdPn/nn?= =?us-ascii?Q?7zT+CmsDju3rpqBKUGRyo9d9o3UvFSW7Fc+d8+M5ZP88dx41u/Bg/LKD3wLA?= =?us-ascii?Q?LCFF/eXe76OWLpJTXoxmQNMWxCbOCSqyL0//9Tn6FZJVX7vtZLhuLKB3QSH1?= =?us-ascii?Q?gI6Avom9r+kAqcEK3zNQi89dlltUMV/bwiXMUG9qv5cPyT+2Zo/p/93NnrJ5?= =?us-ascii?Q?W28AyI0xV4Jo+Bb60IVK636H0pQZouREs0pKlbRiwnLQ3XMcDzX2w87Jb6dl?= =?us-ascii?Q?kR5ZFertgLIqFI+5F2Jq1zyf64Czgq4b7mcUf5zRcExD6zBIZZrkkMeo5OYR?= =?us-ascii?Q?WKV6vQLtSwZuonrzGujeFQIa+jJaF00/bXqSbuicyn8p99/SX5UdK/LISbnT?= =?us-ascii?Q?C0qONoDkH7AUfgFN/IgFjy7hOju6oliv8VpC2JAqAOFtJZ+I/AOuTBK76XxH?= =?us-ascii?Q?wxYLun2ZhBQLvdP0OoEyF/RmmV9ggYfJm8Xn7rh2hy2Uo1n8KwwyypJkAPGY?= =?us-ascii?Q?ECWes01pB6t+tVP+BnvygjEgLN2PcfUnzyiB9NXbXXlaL8jKUW6hNM3KofrE?= =?us-ascii?Q?MM1p9QRvM0vElp+Y21mH7aIfGNrl7/GgdhYnRcmy0cGzcBSsX6yrpjri2iZj?= =?us-ascii?Q?cLMd4nlaYZyslUHr+izDcPcCoWHwlJXKHdQDgiGyReUWN2s2KAWEZ2XxqcZF?= =?us-ascii?Q?xlM5zN3RMIm0602FcmGN1MTs+JKHCvgPHesZrti1Q/mScylavKQhW7MMuJzE?= =?us-ascii?Q?0SW1PE59rxgCO/OkIHaQb72PtYsL1EALtbj62DAfPMeUg+LkweiDwt0xOO0J?= =?us-ascii?Q?AMWM2clAxkZapzM80BkEfnxMjb6u7oL9M1VnHvbah/VKwXOhT+ySXK7VoP1S?= =?us-ascii?Q?HvEY0g=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM3PR05MB1282;6:nDug6pGY9KglYX0oYdbkqKHcEpd6YfHb9DlP9nqmDd6l2beIxGuHVFTKOHf3Vm06xiE2JbZFbtEhqTbKz7iNWaTxYzPoKVjTDPRmkOAO6mS01moB+FXLVQ7IoYYK6gWe/kKercUHgTXqZmS+cKntYHCcYZhn7JNiQnH8ZKxmqDigb8OnVKAew3BnRv74wwdaygZmyd0Mufe1FUjiI2z/7JAs6+9sGIgy2vyF5BmQP2FapB7doLP2xyOw8RgLE4ip1pstV4giHfE3+dBPjHENMkivaOz20QyrVhRqVeT4MCNE3QAFo1YjSI6dQgMg4jdRDkdSDWBClIf4xgn+Uj8b+5Nis1rKBjy9oQd0Mqqam2E=;5:RDjhpy17HGb/KUJzXPjzmR6tXnRljtqJa04xO8Pal9p/rpS5H6p7A8KE9SpBo7HuuPutdmIYxKGb9PkLmK4rGI6QqG3MVSCTz4Ubc/4w1+IjBw1sphlPtrKR/awZxaqGmBsYSoJqEnEgUcHTqG0h1UUgl6mkK3OYNxK1nHlW5a8=;24:d3XFCCROX49+x9EmkDhoPQ3xzv+tmZ1wWqWA9gELhzNaUQJiQZhmK4hE3wnTZMDA0tpQn7CElcVxjBvksfA/jViIh8NzgzmMejR2qTbkWl4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM3PR05MB1282;7:7jNRta+Er1Z7NT2q5+RBgn4UonNRlRsZi6bp4GOwnMSCht3qdZvXUpcww57qihnUI+Obft/YpxpeMNJXUzWstbeMqZSr0I79szquvUoW5uqOzaTARq3tTsSy+OaUyGCRjGKULKQnY7EvqZ9EVDU8jh4HM95sTymKqjv8GD/LS/T8PdV+ORzZI3FEv8bwW44b5eqVOq9bVICJzA+t12aml50t4f+NVSOSsEzcuStcMwsUtBKg2YASoaGixkX2De3rR6tqkr7DlomERE+Azx7Zzd979gINu1TH9gjOupTTPC4rHl8zsSrbYOtWDDWygI5O4YpMuyCg/c5I5oRy1btmUQsr/Bw6egq+C++ER565bX8= X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2016 14:53:41.8075 (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: AM3PR05MB1282 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1861 Lines: 38 From: Noam Camus In first version of this driver we supported clocksource for the NPS400. The support for clockevent was taken from Synopsys ARC timer driver. This was good for working with our simulator of NPS400. However in NPS400 ASIC the timers behave differently than simulation. The timers in ASIC are shared between all threads whithin a core and hence need different driver to support this behaviour. The idea of this design is that we got 16 HW threads per core each represented at bimask in a shared register in this core. So when thread wants that next clockevent expiration will produce timer interrupt to itself the correspondance bit in this register should be set. So theoretically if all 16 bits are set then all HW threads will get timer interrupt on next expiration of timer 0. Note that we use Synopsys ARC design naming convention for the timers where: timer0 is used for clockevents timer1 is used for clocksource. Noam Camus (3): soc: Support for NPS HW scheduling ARC: [plat-eznps] remove macros for timer0 TSI clocksource: Add clockevent support to NPS400 driver .../bindings/timer/ezchip,nps400-timer.txt | 15 -- .../bindings/timer/ezchip,nps400-timer0.txt | 17 ++ .../bindings/timer/ezchip,nps400-timer1.txt | 15 ++ arch/arc/plat-eznps/include/plat/ctop.h | 2 - drivers/clocksource/timer-nps.c | 239 +++++++++++++++++++- include/soc/nps/mtm.h | 61 +++++ 6 files changed, 322 insertions(+), 27 deletions(-) delete mode 100644 Documentation/devicetree/bindings/timer/ezchip,nps400-timer.txt create mode 100644 Documentation/devicetree/bindings/timer/ezchip,nps400-timer0.txt create mode 100644 Documentation/devicetree/bindings/timer/ezchip,nps400-timer1.txt create mode 100644 include/soc/nps/mtm.h