Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932864AbbLGU2a (ORCPT ); Mon, 7 Dec 2015 15:28:30 -0500 Received: from mail-wm0-f48.google.com ([74.125.82.48]:36460 "EHLO mail-wm0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932690AbbLGU22 (ORCPT ); Mon, 7 Dec 2015 15:28:28 -0500 MIME-Version: 1.0 In-Reply-To: <5664F837.607@rock-chips.com> References: <1449107584-3192-1-git-send-email-jwerner@chromium.org> <5664E1CF.8030406@rock-chips.com> <5664F837.607@rock-chips.com> Date: Mon, 7 Dec 2015 12:28:27 -0800 X-Google-Sender-Auth: 38T6xKPEAUUcNjp8UoE22nF-30k Message-ID: Subject: Re: [PATCH] RTC: RK808: Work around hardware bug on November 31st From: Julius Werner To: Chris Zhong Cc: Doug Anderson , Julius Werner , Andrew Morton , Alessandro Zummo , Sonny Rao , Heiko Stuebner , "linux-kernel@vger.kernel.org" , rtc-linux@googlegroups.com Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2471 Lines: 49 > I was presuming that alarms were never set at power off time unless > power off happened due to an exceptional case. AKA: normal Linux > shutdown disables all alarms. Hmm... maybe I misunderstand how this works. Are alarms never used to wake from S5? (It doesn't seem to work on my HiSense Chromebook right now, but maybe that's just an artifact of our board design? I'm pretty sure I've seen S5-wakes work on other platforms... I doubt that RK808 is intrinsically incapable of that, it just depends on how you hook it up.) > RK808 has a shadowed register for saving a "frozen" RTC time. > When we setting "GET_TIME" to 1, the time will save in this shadowed > register. So if we do not set the "GET_TIME", we always get the last > time. > > read the old time before "get_time", and then read the time again for new > time. If the old time earlier than 12.1 && new time later than 12.1, we should > +1 day for the correct rtc time. Unfortunately, this doesn't work through S5 if system firmware also accesses the RTC and transitions GET_TIME on boot (which it does on Chromebooks). We could fix this for coreboot, but it's probably still a bad idea to rely on it since Linux should be as firmware-agnostic as possible. > I'm pretty certain that we need to handle correcting the alarm. > Setting an alarm for 10 seconds from now and getting the alarm firing > 1 day and 10 seconds from now seems like a pretty huge problem, at > least for any system that relies on the RTC alarm a lot. That pretty > much means that we need some way to identify problematic devices. > ...so I think if we have no revision register then we should either > assume all rk808 devices have this problem (and hope and pray that > Rockchip gives us a way to ID things if they ever add a fix) or come > up with some other type of solution (probe one time when the clock is > presumably wrong and store something somewhere in rk808 to indicate > that we've already probed) > Once we have to fix the alarm, handling S3 seems like it will be not > much more work. Agreed, scheduling alarms in the future is also an important point. So I guess I'll update the patch to fix alarm scheduling and S3 as well, and we'll just ignore S5 as infeasible? -- 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/