Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp2005840imm; Thu, 2 Aug 2018 04:52:49 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcywtCEGIsVkYt7sXk9JYbIfCwITDmo4ZZFhhesFX8PK2DB/474RkLU11BL3Fp2NN4yTgnN X-Received: by 2002:a63:8449:: with SMTP id k70-v6mr2465463pgd.309.1533210769912; Thu, 02 Aug 2018 04:52:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533210769; cv=none; d=google.com; s=arc-20160816; b=HisItv1l0lNx3QUrKKVr8mMdiNFpMaGqu0B6LUrXITI6siQg+5NqumrdxeJ5OrYArU y6x+rjPNbwlVLt989m3pPhFtObQk+5Z+EBLKQPGRfbbc8mBAmO2bFUrDVa80SRtjl+xS Sm9taiIq+NiU7VMuvRr93Ff/HzHy1DZnLOxyofWf2ehWlWnu5HrcSNSa8SKpvICMP8Zb gLEjzFzZ1WYrM5qZbQ9TngD9T3K4SV3tOJTpolf4I32J0nt9qCzMM3+EyophgUGGs6XH hl55/oWDOtCQjmn5WKfuYNE2epCX1Ahpe3b3fHNVNG3ULSR9wRRj1Ih/Tu/rsXyrXibU f4Iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=7mASTYWjWlgnbWE1f5YrO/7yhfBrQ5u+xu1D8oUqScQ=; b=kKg3ks0YPkugUiHAx24COdNy2YLXvV6DdCO7JD3CEpZIiGI2OTrcFBGhvgUh5bk5y6 jcVoAmKVYNsXcLW589ylWZRKj2/Dr9xefURGvAonIyfR1ATGyQWFauQkq67CDHKkpK4Y 7d3jknjyLofufgQNl849esOFeevjSf9gCsGhbUXqV+zVXjqh2A9nHVngpKbuWCLVWp2/ THrMrs+z1bDwEwryEH7ffqXOVs8bVXA685yNuzzyAmkn14HRJVpUsYfN7eXxFnBW8W9A NtYUeocR/Tn4H2jJCjwx4vB8FDMfqax3DdT793Ph615KoREkE3Pco7kJKtnE0iEpYP2a Gygg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=C4n4jory; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o126-v6si1789636pfb.20.2018.08.02.04.52.35; Thu, 02 Aug 2018 04:52:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=C4n4jory; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732478AbeHBNln (ORCPT + 99 others); Thu, 2 Aug 2018 09:41:43 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:39862 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732252AbeHBNln (ORCPT ); Thu, 2 Aug 2018 09:41:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=7mASTYWjWlgnbWE1f5YrO/7yhfBrQ5u+xu1D8oUqScQ=; b=C4n4jory8bnsGxmvXYKPa4wzi e9E6rDvIpdyoxs9WNSpJMaEcBBNNOz4cSSA3KVginIBWDuvV0Yn15gRMZKE3B5CeWOtxjwJC618Ll Y3p5jW9X6sKSGXBhirGcRjMwEPsV7A6GWaMD1ihGrC4jptavra67AnymSXcje0KUJKGjcjKmuOmNc Z9sGRM6HchoczAJUHH/l/Oe5tYAF6RS8vXLjU4U/v2demdiKAVnAZp1BIcC8aV9pd7yuwW7FM6DHZ V1FFQstcJEGZWHPveYcWaS6Zvu/saHXkYr8CL4QmK66b7wtvzpajLQr4G96AGi6r1TjwZqFLyJDQn /LTTnBkBA==; Received: from clnet-p19-102.ikbnet.co.at ([83.175.77.102] helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1flC80-0005Si-9m; Thu, 02 Aug 2018 11:50:49 +0000 From: Christoph Hellwig To: tglx@linutronix.de, palmer@sifive.com, jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org, mark.rutland@arm.com Cc: anup@brainfault.org, atish.patra@wdc.com, devicetree@vger.kernel.org, aou@eecs.berkeley.edu, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, shorne@gmail.com, Palmer Dabbelt Subject: [PATCH 09/11] RISC-V: Support per-hart timebase-frequency Date: Thu, 2 Aug 2018 13:50:06 +0200 Message-Id: <20180802115008.4031-10-hch@lst.de> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180802115008.4031-1-hch@lst.de> References: <20180802115008.4031-1-hch@lst.de> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Palmer Dabbelt Follow the updated DT specs and read the timebase-frequency from the CPU 0 node. Signed-off-by: Palmer Dabbelt [hch: updated changelog] Signed-off-by: Christoph Hellwig --- arch/riscv/kernel/time.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/arch/riscv/kernel/time.c b/arch/riscv/kernel/time.c index 0df9b2cbd645..1bb01dc2d0f1 100644 --- a/arch/riscv/kernel/time.c +++ b/arch/riscv/kernel/time.c @@ -24,17 +24,24 @@ void __init init_clockevent(void) csr_set(sie, SIE_STIE); } -void __init time_init(void) +static long __init timebase_frequency(void) { struct device_node *cpu; u32 prop; cpu = of_find_node_by_path("/cpus"); - if (!cpu || of_property_read_u32(cpu, "timebase-frequency", &prop)) - panic(KERN_WARNING "RISC-V system with no 'timebase-frequency' in DTS\n"); - riscv_timebase = prop; + if (cpu && !of_property_read_u32(cpu, "timebase-frequency", &prop)) + return prop; + cpu = of_find_node_by_path("/cpus/cpu@0"); + if (cpu && !of_property_read_u32(cpu, "timebase-frequency", &prop)) + return prop; - lpj_fine = riscv_timebase / HZ; + panic(KERN_WARNING "RISC-V system with no 'timebase-frequency' in DTS\n"); +} +void __init time_init(void) +{ + riscv_timebase = timebase_frequency(); + lpj_fine = riscv_timebase / HZ; init_clockevent(); } -- 2.18.0