Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751647AbcJCHsk (ORCPT ); Mon, 3 Oct 2016 03:48:40 -0400 Received: from mail-lf0-f41.google.com ([209.85.215.41]:36119 "EHLO mail-lf0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750890AbcJCHsd (ORCPT ); Mon, 3 Oct 2016 03:48:33 -0400 Date: Mon, 3 Oct 2016 09:48:25 +0200 From: Krzysztof Kozlowski To: Olof Johansson Cc: Krzysztof Kozlowski , Arnd Bergmann , Kevin Hilman , "arm@kernel.org" , Krzysztof Kozlowski , Kukjin Kim , "linux-arm-kernel@lists.infradead.org" , "linux-samsung-soc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Bartlomiej Zolnierkiewicz , Javier Martinez Canillas , Daniel Lezcano Subject: Re: [GIT PULL 1/3] ARM: soc: exynos: Drivers for v4.9 Message-ID: <20161003074825.GA2724@kozik-lap> References: <1474216788-17282-1-git-send-email-krzk@kernel.org> <1474216788-17282-2-git-send-email-krzk@kernel.org> <2663426.T8oUku18qe@wuerfel> <20160919155302.GA4447@kozik-book> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2584 Lines: 54 On Sun, Oct 02, 2016 at 05:25:07PM -0700, Olof Johansson wrote: > On Mon, Sep 19, 2016 at 8:53 AM, Krzysztof Kozlowski wrote: > > On Mon, Sep 19, 2016 at 05:02:40PM +0200, Arnd Bergmann wrote: > >> On Sunday, September 18, 2016 6:39:46 PM CEST Krzysztof Kozlowski wrote: > >> > Samsung drivers/soc update for v4.9: > >> > 1. Allow compile testing of exynos-mct clocksource driver on ARM64. > >> > 2. Document Exynos5433 PMU compatible (already used by clkout driver and more > >> > will be coming soon). > >> > >> Pulled into next/drivers, thanks > >> > >> Just for my understanding: why do we need the exynos-mct driver on ARM64 > >> but not the delay-timer portion of it? > > > > I think we want all of it but Doug's optimization 3252a646aa2c > > ("clocksource: exynos_mct: Only use 32-bits where possible") is not > > ARM64 friendly. One way of dealing with it would be to prepare two > > versions of exynos4_read_current_timer(). One reading only lower 32-bit > > value for ARMv7 and second (slow) reading lower and upper for ARMv8. > > > >> > >> Is there an advantage in using MCT over the architected timer on these > >> chips? If so, should we also have a way to use it as the delay timer? > > > > No, there is no real advantage... except that the SoC has some > > interesting "characteristics"... The timers are tightly coupled. Very > > tightly. I spent a lot of time and failed to boot my ARMv8 board without > > some MCT magic. > > What kind of magic is that? Most notably: the arch timer starts when MCT forward running counter starts. Without kicking MCT, the arch timer seems to be frozen. > I can understand that needing the MCT for > some system-level timer functionality might be true (wakeups, etc), > but for system timesource avoiding the MMIO timer and using the arch > ones is a substantial performance improvement for gettimeofday() and > friends. > > There was extensive discussion last year over using arch timers on > 5420/5422, and it fizzled out with vague comments about something not > working right between A15/A7 on b.L. hardware. I'm presuming whatever > implementation details of that SoC has since been fixed on later chips > (including v8). Any chance you can confirm? It'd be very nice to leave > MCT behind on v8 as a system time source. Unfortunately, I cannot confirm this, at least on Exynos5433 (ARMv8). I played with arch and MCT timers on it and failed to get the arch-timer-only setup working. I did not have access to newer Exynos designs (Exynos 7) so I do not know how it works there. Best regards, Krzysztof