From patchwork Sun Dec 27 13:23:28 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Noam Camus X-Patchwork-Id: 561159 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 ED2B8140CE3 for ; Mon, 28 Dec 2015 00:29:11 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aDBNm-00010i-GU; Sun, 27 Dec 2015 13:29:10 +0000 Received: from mail-db5eur01on0046.outbound.protection.outlook.com ([104.47.2.46] helo=EUR01-DB5-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aDBNk-0000zA-Ht for linux-snps-arc@lists.infradead.org; Sun, 27 Dec 2015 13:29:09 +0000 Received: from AM3PR02CA0019.eurprd02.prod.outlook.com (10.242.240.19) by DB4PR02MB0333.eurprd02.prod.outlook.com (10.242.221.139) with Microsoft SMTP Server (TLS) id 15.1.361.13; Sun, 27 Dec 2015 13:28:45 +0000 Received: from DB3FFO11FD022.protection.gbl (2a01:111:f400:7e04::169) by AM3PR02CA0019.outlook.office365.com (2a01:111:e400:8800::19) with Microsoft SMTP Server (TLS) id 15.1.361.13 via Frontend Transport; Sun, 27 Dec 2015 13:28:45 +0000 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; linaro.org; dkim=none (message not signed) header.d=none; linaro.org; dmarc=none action=none header.from=ezchip.com; Received-SPF: Fail (protection.outlook.com: domain of ezchip.com does not designate 212.179.42.66 as permitted sender) receiver=protection.outlook.com; client-ip=212.179.42.66; helo=ezex10.ezchip.com; Received: from ezex10.ezchip.com (212.179.42.66) by DB3FFO11FD022.mail.protection.outlook.com (10.47.217.53) with Microsoft SMTP Server (TLS) id 15.1.355.15 via Frontend Transport; Sun, 27 Dec 2015 13:28:44 +0000 Received: from localhost.localdomain (10.1.3.132) by ezex10.ezchip.com (10.1.1.4) with Microsoft SMTP Server (TLS) id 14.3.224.2; Sun, 27 Dec 2015 15:28:21 +0200 From: Noam Camus To: Subject: [PATCH v5 09/20] ARC: IRQ: use device tree to get timer device configuration Date: Sun, 27 Dec 2015 15:23:28 +0200 Message-ID: <1451222619-3610-10-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1451222619-3610-1-git-send-email-noamc@ezchip.com> References: <1451222619-3610-1-git-send-email-noamc@ezchip.com> MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-22026.007 X-TM-AS-Result: No--2.158200-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; DB3FFO11FD022; 1:Q+j8de9pYUSU4r3VEvGgS/RAsgZkIljO4NbY/oYX5SwAJTzTFK+gQFNNKFxHZ8eIt7LLjBtGww9ccDxKhVQrI4OHcbq56uGcDjXbh/pnMGdvuCp96JEhHpyk3N7t6XdX8nXKqCGeKj4khrRbXmyEMC4hWXS/SvCmFYTzBC2RRqePjJOyWUGnT0dPcBPSV+LT5n4CEM1+T2wrnJUijccTzy2UD0QvVabycdF6X+pCs6+vMs25wgmtkPTYzKi6qhLUd0beMzkpEwBKdC4lb9+0xkz9KP3WYX1WB1aPj+bJGRkdXAs5ipGDbOHHzoX7E6puMlNg2IEcMU7PkByTrmNizQCwdG8qRuqQwT5ED5ZLtM4rg/h4udNbgEm9Bp3jBIydvYQyob21X5iiMgv/Y01moH+pqybnGt3E6f9+G9smaYY= X-Forefront-Antispam-Report: CIP:212.179.42.66; CTRY:IL; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(36756003)(87936001)(11100500001)(85426001)(19580395003)(105606002)(49486002)(5003940100001)(104016004)(19580405001)(50466002)(5008740100001)(2950100001)(77096005)(86362001)(47776003)(33646002)(106466001)(50226001)(48376002)(6806005)(76176999)(50986999)(5001970100001)(586003)(4001430100002)(107886002)(110136002)(1220700001)(1096002)(189998001)(2351001)(92566002)(229853001); DIR:OUT; SFP:1101; SCL:1; SRVR:DB4PR02MB0333; H:ezex10.ezchip.com; FPR:; SPF:Fail; PTR:ezmail.ezchip.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; DB4PR02MB0333; 2:JskROMa3QrHa5UkXdr0BzF+zdWS96BgMjzeZmOIlBYGMuNISmOSxPHAeb+8etrrx3Hj0h/b8d2OJfyVHfUQCpiz9/DM/dJqwUDUA0imWQaHBeUuV8c3e5TfHmxJ9MpnvEgKD5Kh5RNIn+1U2uYHW0Q==; 3:dzNMFzO70c+0GQN3lUGY/5e+prkTnTY661Q01f5wbYEVgPL52A4pLcNhK4yhNKJW/IeF9lHLcK1+mzp6niYEa/I2jBECn9HOgvQ0vn+oih2tec1xpiLtjLnNApn6U2h6tQjaSeiafqDbiViLladaLMg2IUpohPzczxxfgvMYlg7rkWKovWB2B52pcD9dSE4yBx6ta6Yw9wFoxBA6omngl4g1aqT8MOmDtmzcJR5Abls=; 25:H1s9GcFBp1L/zjuUZchL/OigYlZbrZ+xoTIx/su9H+90ygFoBQVAczCOV0Io7e1TtlWF7RYhFbOKfCAual4iWWKdZ1+gAbE9b+Yo1EKiE4xropF3ozZuvW88i8470fsxt8NB5OTRXcKTxvzrpqpJBMe9yiMfxVhBRbHTkEMD2FgxYS1IUr11Z8WcLx+qFcFxR+S+/lAMxjT7u4wY1x2z15k9Rw6xfWehftzJMSNbSiSH580gT2CyBopaNXyNKL363yRsCXFD70dqpj3yqVvz1w==; 20:yAJQJy5kjmV2k4NsOSkIxR/33S1J7Z/82tVwiLcnXpD5rKFA6fT8Cjw64hKL7rdr7tcHUm7bff3tpf2AVTuQW76Gvi4zfTfD2WJDXMEiQgDnJZofdnKj7k/ZJB1LD3cQHq/Viv20kldYVhvbnw7NwcilfO8RGE7OM7VtuaOF7Hg= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB0333; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(10201501046)(3002001); SRVR:DB4PR02MB0333; BCL:0; PCL:0; RULEID:; SRVR:DB4PR02MB0333; X-Microsoft-Exchange-Diagnostics: 1; DB4PR02MB0333; 4:v91iNvNdy5guSdJ5QL6vF/t20zq4+/HgSWyrl0ScoVO75yoXheJIHMlJPJYA5Waq57YEOG+QfYg57pbv2iI+DR8VQWc7r20Ctzy06WvuCoHf7PX4HH+uU10x3Ow+T7FnwjriAc5C0xFsmz6XhKe4JsfF5nFSLa0ZJcgRUSW6AEt88cEwoWsIhNa4EFkegyVSi6uuav1etbmoKXdrX4CvO9QiyO9dUs0Z7442H8ZqWesVFq85HO0bq33TR1gZcK5Wx6NuXS4lD5mnMEeMUQdCD9QXXJ4ul4JGxuZKJQWIMVhzi1a4twbeXNkFFDtGbcqE/FuN7Oy4MoR8Skt6rDr72p0igkoJI9zk0+a1KEZcFxJ3W16TZey59oR2QGtpWkwLliVMQtwTyFDkMDC9nDZvUhIlGn0FnhS+hfcSXfTPtVozej6wkMGG5WvnLUUORxpc X-Forefront-PRVS: 0803A0241F X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB4PR02MB0333; 23:jGdR9uT+87jyG+2erOI+Uk6Qervi0nG3m5s9j6rSx?= =?us-ascii?Q?cHVSNoLUf4Xflt0HS8WwZC1WDAwZJjY3k6PR/X+kYszkMH6a/jn7pcXQ8+cq?= =?us-ascii?Q?kC/eW/NEIekIJ4qAEqbKUPuI2E0mLjOFq67yAsH1DarTMzq0Q62ZBPXhm4F5?= =?us-ascii?Q?x/WCnfXmO365kbxISqNkF0Sbv+2BkR1k0RjorpzrPKGyYQGju0Fo3r4eNYjf?= =?us-ascii?Q?FY1cQkqOtcRUCWRYnfjYwcvlBrcn9hFuXNUJ2YRco1jTxjaiitW0V4YFHoJ2?= =?us-ascii?Q?q2d4vN38dIgf0+xdHwDQCTcSG6LCfmtybNjsmJdj8O8cuQPJEhZ24ugEHpRg?= =?us-ascii?Q?UAWmmPXWR+1QeoOpXlGAHf+tjA6GFrQgx0xfe/JUmKzN+3Ry8CCLl+aWKMWX?= =?us-ascii?Q?4i2UQ4zBmPH+XFUqeRNcyk9Na14q7xck+0XRUyYC5V6L75rpUooD9nd75zex?= =?us-ascii?Q?m24178DJ0UtC+HN7NzprwDyo9ls5w6Fr3ebNNQlVs1CBTbRc03JPxcl/oqdW?= =?us-ascii?Q?s3mM3rVxpcFNMEgIuugMH+b8MySlDyjPRHDz0yFh1+LeoDSYGzFgqVUkVeQx?= =?us-ascii?Q?jC1jFmuAGH0pYuLpSzcDg1RKT0SaZLpDw+Ks+qWqN89TtOzMIILCF1nz8+EO?= =?us-ascii?Q?OmRXtE4R6zTeF6XhgW+oAc+jjc6Jixm0wBrhBzBmVfMHuEiiWZEJDSZwvlZW?= =?us-ascii?Q?2OnOsybOZY90dviU4MjglSgT4ZUPSOiEs5Lwxj7SnjFIhKHR8RhmT/XJ+oVN?= =?us-ascii?Q?ayivJKidw7orxC4nRzqxSrIImPeduBVy32v0PG3NvNkVvjBQByniVuzoswzI?= =?us-ascii?Q?iIUClSuvOOMv+S3bZsP4RDXbuGSXkblGoRwrn4XnAiH9SgT/Vb8KOehDAFFo?= =?us-ascii?Q?+wJcrT+8CQ/w4LRBxLEGQ/0AIFAH9BIFl/RTOg7P/1DVy7GAwz4d9WE7uhT9?= =?us-ascii?Q?ItrE0svCGtRzULPDb5t+p+GaFCn0It5oD5cnn8QcqJb2c5JVqFZDMirloOAW?= =?us-ascii?Q?sp1Lui2U7KJBqlqSmywNLZdim33GW+KY0No3QrULi4wW2m85hkaMSrKoZHpV?= =?us-ascii?Q?zd0AWOu452NN5LYjZwjvqpgIf5ZkzpAnkIZx4Rofru6iapqCA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DB4PR02MB0333; 5:tubwJlHwaZNZ2H3M3TNn+RTiM5vDMYC2IMPrN9ZfmEzmroEoZ2Z0QKuTcsQjGmfF9Y9oUA833PhHojF+g3cdLgY5UXlrlKC/VzBdiGm+/iNJJMGw7ulXlBCbHxxGXWMaZyxbUgCnjxdsy3y81LhIQw==; 24:O7fwKTUPP6+wMP8/THBidJJ4UxTb7q6kbO+MBcrGn2rkkBBAchUFhr0gInNFfqTQz+gLH1evcKTX++pSdNgSxxVDddIRzt1KtPZa17tMHKI= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Dec 2015 13:28:44.3124 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3; Ip=[212.179.42.66]; Helo=[ezex10.ezchip.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR02MB0333 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151227_052908_912073_3EFAA635 X-CRM114-Status: UNSURE ( 9.47 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -1.9 (-) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-1.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [104.47.2.46 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H4 RBL: Very Good reputation (+4) [104.47.2.46 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.0 RCVD_IN_MSPIKE_WL Mailspike good senders 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: marc.zyngier@arm.com, cmetcalf@ezchip.com, daniel.lezcano@linaro.org, Noam Camus , linux-kernel@vger.kernel.org Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org From: Noam Camus We've designated: TIMER0 for events (clockevents) TIMER1 for free running (clocksource) Till now timer configuration was done on arch/arc/kernel/time.c with constant values. This commit add device tree support so we can do this work at dedicated clocksource driver which parse the DT blob. Such driver will get clocksource rate as well as interrupt line from DT and use them for setting clocksourcse and clockevents. Note that lately called of_clk_init() is moved before we call clocksource_probe() since at that time device from DT need a "provider" (clocks) which will be available only after we call to of_clk_init(). Signed-off-by: Noam Camus Acked-by: Vineet Gupta --- arch/arc/kernel/setup.c | 1 - arch/arc/kernel/smp.c | 2 ++ arch/arc/kernel/time.c | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletions(-) diff --git a/arch/arc/kernel/setup.c b/arch/arc/kernel/setup.c index e1b8744..4681e9c 100644 --- a/arch/arc/kernel/setup.c +++ b/arch/arc/kernel/setup.c @@ -433,7 +433,6 @@ void __init setup_arch(char **cmdline_p) static int __init customize_machine(void) { - of_clk_init(NULL); /* * Traverses flattened DeviceTree - registering platform devices * (if any) complete with their resources diff --git a/arch/arc/kernel/smp.c b/arch/arc/kernel/smp.c index 2cfe135..ec6a5c1 100644 --- a/arch/arc/kernel/smp.c +++ b/arch/arc/kernel/smp.c @@ -138,7 +138,9 @@ void start_kernel_secondary(void) pr_info("## CPU%u LIVE ##: Executing Code...\n", cpu); +#ifndef CONFIG_CLKSRC_OF arc_local_timer_setup(); +#endif local_irq_enable(); preempt_disable(); diff --git a/arch/arc/kernel/time.c b/arch/arc/kernel/time.c index dfad287..be6dd9e 100644 --- a/arch/arc/kernel/time.c +++ b/arch/arc/kernel/time.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -283,6 +284,13 @@ void __init time_init(void) */ clocksource_register_hz(&arc_counter, arc_get_core_freq()); +#ifdef CONFIG_COMMON_CLK + of_clk_init(NULL); +#endif +#ifdef CONFIG_CLKSRC_OF + clocksource_probe(); +#else /* sets up the periodic event timer */ arc_local_timer_setup(); +#endif }