Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751954AbaK1Oro (ORCPT ); Fri, 28 Nov 2014 09:47:44 -0500 Received: from cam-admin0.cambridge.arm.com ([217.140.96.50]:37114 "EHLO cam-admin0.cambridge.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751588AbaK1Orl (ORCPT ); Fri, 28 Nov 2014 09:47:41 -0500 Date: Fri, 28 Nov 2014 14:46:51 +0000 From: Mark Rutland To: Will Deacon Cc: Catalin Marinas , "andrew@lunn.ch" , "heiko@sntech.de" , "gnomes@lxorguk.ukuu.org.uk" , Chunyan Zhang , "jslaby@suse.cz" , "jason@lakedaemon.net" , "lanqing.liu@spreadtrum.com" , Pawel Moll , "corbet@lwn.net" , "zhang.lyra@gmail.com" , "zhizhou.zhang@spreadtrum.com" , "geng.ren@spreadtrum.com" , "m-karicheri2@ti.com" , "shawn.guo@freescale.com" , "linux-serial@vger.kernel.org" , "grant.likely@linaro.org" , "orsonzhai@gmail.com" , "florian.vaussard@epfl.ch" , "devicetree@vger.kernel.org" , "artagnon@gmail.com" , "arnd@arndb.de" , "ijc+devicetree@hellion.org.uk" , Marc Zyngier , "galak@codeaurora.org" , "hytszk@gmail.com" , "rrichter@cavium.com" , "broonie@kernel.org" , "wei.qiao@spreadtrum.com" , "sprdlinux@freelists.org" , "linux-arm-kernel@lists.infradead.org" , "linux-api@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "robh+dt@kernel.org" , "gregkh@linuxfoundation.org" , "broonie@linaro.org" Subject: Re: [PATCH v3 3/5] arm64: dts: Add support for Spreadtrum SC9836 SoC in dts and Makefile Message-ID: <20141128144650.GK25883@leverpostej> References: <1416917818-10506-1-git-send-email-chunyan.zhang@spreadtrum.com> <1416917818-10506-4-git-send-email-chunyan.zhang@spreadtrum.com> <20141127115042.GE857@leverpostej> <20141127121214.GF11511@e104818-lin.cambridge.arm.com> <20141127134309.GJ857@leverpostej> <20141128142913.GB5393@localhost> <20141128143532.GI25883@leverpostej> <20141128144412.GG7144@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20141128144412.GG7144@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 28, 2014 at 02:44:12PM +0000, Will Deacon wrote: > On Fri, Nov 28, 2014 at 02:35:32PM +0000, Mark Rutland wrote: > > On Fri, Nov 28, 2014 at 02:29:13PM +0000, Catalin Marinas wrote: > > > On Thu, Nov 27, 2014 at 01:43:09PM +0000, Mark Rutland wrote: > > > > On Thu, Nov 27, 2014 at 12:12:15PM +0000, Catalin Marinas wrote: > > > > > On Thu, Nov 27, 2014 at 11:50:43AM +0000, Mark Rutland wrote: > > > > > > On Tue, Nov 25, 2014 at 12:16:56PM +0000, Chunyan Zhang wrote: > > > > > > > + > > > > > > > + timer { > > > > > > > + compatible = "arm,armv8-timer"; > > > > > > > + interrupts = <1 13 0xff01>, > > > > > > > + <1 14 0xff01>, > > > > > > > + <1 11 0xff01>, > > > > > > > + <1 10 0xff01>; > > > > > > > + clock-frequency = <26000000>; > > > > > > > > > > > > Please remove the clock-frequency property. Your FW should initialise > > > > > > CNTFRQ_EL0 on all CPUs (certainly PSCI 0.2 requires that you do this). > > > > > > > > > > Since this comes up regularly, I think we need a dev_warn() in the arch > > > > > timer driver when CONFIG_ARM64. > > > > > > > > I'll ack such a patch ;) > > > > > > How rude would this be? > > > > > > diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c > > > index 2133f9d59d06..aaaf3433ccb9 100644 > > > --- a/drivers/clocksource/arm_arch_timer.c > > > +++ b/drivers/clocksource/arm_arch_timer.c > > > @@ -371,7 +371,8 @@ arch_timer_detect_rate(void __iomem *cntbase, struct device_node *np) > > > return; > > > > > > /* Try to determine the frequency from the device tree or CNTFRQ */ > > > - if (of_property_read_u32(np, "clock-frequency", &arch_timer_rate)) { > > > + if (IS_ENABLED(CONFIG_ARM64) || > > > + of_property_read_u32(np, "clock-frequency", &arch_timer_rate)) { > > > if (cntbase) > > > arch_timer_rate = readl_relaxed(cntbase + CNTFRQ); > > > else > > > > > > > Probably too rude, given it doesn't WARN() the user. > > We override broken hardware ID registers all the time in device-tree without > dumping stack. Why is this any different? Exposure to guests via KVM, and the fact that it's possible to write to the register from EL3. This isn't so much broken HW (which cannot be fixed) as broken FW (which can be fixed). Printing the warning gives people the chance to realise and fix the issue during bringup. Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/