From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751125AbbJELNs (ORCPT ); Mon, 5 Oct 2015 07:13:48 -0400 Received: from muru.com ([72.249.23.125]:55940 "EHLO muru.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750768AbbJELNq (ORCPT ); Mon, 5 Oct 2015 07:13:46 -0400 Date: Mon, 5 Oct 2015 04:13:41 -0700 From: Tony Lindgren To: Arnd Bergmann Cc: Daniel Lezcano , linux-arm-kernel@lists.infradead.org, balbi@ti.com, Alexandre Courbot , Stephen Warren , Linux Kernel Mailing List , Thierry Reding , linux-tegra@vger.kernel.org, tglx@linutronix.de, Linux OMAP Mailing List Subject: Re: [RFC/PATCH 00/11] arm: omap: counter32k rework Message-ID: <20151005111341.GY23801@atomide.com> References: <1443559446-26969-1-git-send-email-balbi@ti.com> <560DAFC5.50003@linaro.org> <20151005105554.GV23801@atomide.com> <9068678.D8T0aRhgnK@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9068678.D8T0aRhgnK@wuerfel> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Arnd Bergmann [151005 04:08]: > On Monday 05 October 2015 03:55:55 Tony Lindgren wrote: > > * Daniel Lezcano [151001 15:16]: > > > On 09/30/2015 04:49 PM, Arnd Bergmann wrote: > > > >On Wednesday 30 September 2015 16:42:21 Arnd Bergmann wrote: > > > >> > > > >>TEGRA folks: the tegra_read_persistent_clock() implementation apparently > > > >>predates the Tegra RTC driver and I wonder if they actually do the > > > >>right thing in combination. Could it be that the wall time forwards > > > >>twice as fast as it should during resume when the RTC driver is loaded? > > > >>Could it be that we can simply remove tegra_read_persistent_clock() > > > >>and the register_persistent_clock() infrastructure? > > > >> > > > > > > > >I found the 'sleeptime_injected' variable now, which takes care of > > > >forwarding the clock by the correct amount. > > > > > > > >I also found the CLOCK_SOURCE_SUSPEND_NONSTOP flag next to it, which > > > >should let us use the counter32k driver to provide the correct > > > >time during suspend without the omap_read_persistent_clock() function. > > > >We should be able to just delete that code. > > > > > > > >If we decide to also delete the tegra_read_persistent_clock() > > > >function, we can remove the registration too. > > > > > > > > > +1 > > > > We could maybe have read_persistent_clock() just check for the > > CLOCK_SOURCE_SUSPEND_NONSTOP flag? > > timekeeping_resume() already ignores the persistent clock values if > the clocksource has this set. Do you mean we should additionally > not call the read_persistent_clock() function at all to safe a > few cycles reading that value? Hmm no I mean if we have CLOCK_SOURCE_SUSPEND_NONSTOP we can automatically make read_persistent_clock() use that if nothing else got registered. > How expensive is the function? Usually the persistent clock is on some interconnect, so it is way slower compared to a local timer. It doubt it makes a difference in timekeeping_resume() though :) Regards, Tony