From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CA066C468C6 for ; Thu, 19 Jul 2018 12:47:30 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 873AF20684 for ; Thu, 19 Jul 2018 12:47:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="v9mfReIw" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 873AF20684 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=ti.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731556AbeGSNa2 (ORCPT ); Thu, 19 Jul 2018 09:30:28 -0400 Received: from fllv0015.ext.ti.com ([198.47.19.141]:44522 "EHLO fllv0015.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727421AbeGSNa1 (ORCPT ); Thu, 19 Jul 2018 09:30:27 -0400 Received: from dflxv15.itg.ti.com ([128.247.5.124]) by fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id w6JCkxqn077989; Thu, 19 Jul 2018 07:46:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1532004419; bh=xWWB8MFZbYdEyaPgMlWj3nDM3Qjwd6YFZKx72XoeV38=; h=Subject:To:CC:References:From:Date:In-Reply-To; b=v9mfReIwejI764+qOyNm6OBPEAfFLHtlPAB+k5YFUXcfoE9urRkyh0ITtE+74lpjo njcZMMgAV1vkMKvjGr3VYUO+ug9uAKnBuP52j2OEr9llMPV8j1NjnYpl0S6ORBcqTx 9BDJ4J/2V1hDKjolFvSpKSnJ8FyEW7TNkxLlUgks= Received: from DFLE104.ent.ti.com (dfle104.ent.ti.com [10.64.6.25]) by dflxv15.itg.ti.com (8.14.3/8.13.8) with ESMTP id w6JCkxtC024468; Thu, 19 Jul 2018 07:46:59 -0500 Received: from DFLE111.ent.ti.com (10.64.6.32) by DFLE104.ent.ti.com (10.64.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Thu, 19 Jul 2018 07:46:59 -0500 Received: from dlep32.itg.ti.com (157.170.170.100) by DFLE111.ent.ti.com (10.64.6.32) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1466.3 via Frontend Transport; Thu, 19 Jul 2018 07:46:59 -0500 Received: from [172.24.191.45] (ileax41-snat.itg.ti.com [10.172.224.153]) by dlep32.itg.ti.com (8.14.3/8.13.8) with ESMTP id w6JCkuXe012240; Thu, 19 Jul 2018 07:46:57 -0500 Subject: Re: [PATCH v4 1/4] rtc: omap: Cut down the shutdown time from 2 seconds to 1 sec To: Johan Hovold CC: , , , , , References: <1531372060-10532-1-git-send-email-j-keerthy@ti.com> <1531372060-10532-2-git-send-email-j-keerthy@ti.com> <20180719100229.GQ10204@localhost> <20180719123617.GV10204@localhost> From: Keerthy Message-ID: Date: Thu, 19 Jul 2018 18:16:56 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20180719123617.GV10204@localhost> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thursday 19 July 2018 06:06 PM, Johan Hovold wrote: > On Thu, Jul 19, 2018 at 05:52:17PM +0530, Keerthy wrote: >> On Thursday 19 July 2018 05:23 PM, Keerthy wrote: >>> On Thursday 19 July 2018 03:32 PM, Johan Hovold wrote: >>>> On Thu, Jul 12, 2018 at 10:37:37AM +0530, Keerthy wrote: > >>>>> @@ -470,6 +476,9 @@ static void omap_rtc_power_off(void) >>>>> val = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG); >>>>> rtc_writel(rtc, OMAP_RTC_INTERRUPTS_REG, >>>>> val | OMAP_RTC_INTERRUPTS_IT_ALARM2); > >>>>> + /* Our calculations started right before the rollover, try again */ > >>>>> + if (seconds != rtc_read(omap_rtc_power_off_rtc, OMAP_RTC_SECONDS_REG)) >>>>> + goto again; >>>> >>>> Here the alarm may have gone off as part of the roll over, in which case >>>> you shouldn't retry. >>> >>> Ex: We programmed at Sec = 2 and we expect ALARM2 to fire at sec = 3. >>> >>> In the event of Roll over before setting the >>> OMAP_RTC_INTERRUPTS_IT_ALARM2 bit in the OMAP_RTC_INTERRUPTS_REG will we >>> not miss the ALARM2 event? Then poweroff would fail right? > > Right, that would fail. > >>> Hence the attempt to retry the next second. This sequence would begin >>> right at the beginning of a new second and we expect the full sequence >>> to get over without having to retry again. >>> >>> Hope i am clear. > > Yes, sure, but my point is that could end up retrying also after the > alarm has fired correctly (e.g. due to latencies in turning of the > power)> > It may be enough to check OMAP_RTC_STATUS_REG before retrying. Ah okay. Yes this makes sense. I will use the status to retry. > >> I tried to program the interrupt for the same second on the hardware and >> it does not fire. So to take care of roll over corner case one attempt >> to retry is needed. > > Yes, that's expected. > > Thanks, > Johan >