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 Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A4C5AC0502A for ; Wed, 31 Aug 2022 06:31:02 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6AC3E849C4; Wed, 31 Aug 2022 08:31:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="T3YXDJBC"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EBA9484994; Wed, 31 Aug 2022 08:30:58 +0200 (CEST) Received: from mail-vk1-xa33.google.com (mail-vk1-xa33.google.com [IPv6:2607:f8b0:4864:20::a33]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1540D849C4 for ; Wed, 31 Aug 2022 08:30:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=mibodhi@gmail.com Received: by mail-vk1-xa33.google.com with SMTP id 134so6288160vkz.11 for ; Tue, 30 Aug 2022 23:30:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=A/mYdrTPLjDPPqLIhL7P3blj9XWkiRp/mfbGL+GgXmk=; b=T3YXDJBCBuT9r7UeGYbXqXANykQgm+cMB5YOlf+HyxK5QfSGxfV7UQFf3wiaWkRvYc jAchqElsdGkS7pIXhoiKK2v0Nl3VEiX1K8urMfKFVJHH8rSHWbNX4iGJoOHRBS/pCbB0 WsnI+U8R/h5X5MDaYDqhkCTixftCeCFSGxdhD87FozHBXtppMlM+IvAytExPG1EGxPuf yhhEzeVJsD1Myl/lCiczECX6eEH0JXFFNjLcQChxX3+Amm9n9sNyZN9i4PmgemXHqgc0 5tjA8F7PLzxPUCdkfnJYpnsrV6lq+iZKKg3WiwlDu2Xi9m1UoW6M543QWiD0QpRiyAII d+Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=A/mYdrTPLjDPPqLIhL7P3blj9XWkiRp/mfbGL+GgXmk=; b=x884cjfIKNcpyPwHZGkF0sP/tNAXhJdOxaHVl27xSe8UxAqHg3ZhMlaj0BW+ACaLT+ PkN5svDJfqdIim2jjMbeCyOT3OjMcu8d5xnZsXDl+uXC98rRAco1DRlMFL1+sgikXIdF N8gj3tPEjezY6Yc2newPKDqPi3zmmTQcSYMiAe2Io8DnQODIsHCapOhTWxRVET5+l59L 7bC1loa01v5wI9PFS5vd/0P7Xm4nlyYsrz9JeYt00dmhrQk2K6AymBafO0PNLJUy5G5r bpvzLK1szAvlo9KJpkPvNz1vCeZ0P0jkolaq1ORyXDKz7MOmd17+hoSgp6xcrXCprAV0 yC5A== X-Gm-Message-State: ACgBeo3OUwZ4EYgzk+r81wM3VFeUfnEGcGYODZNvLufZAKPvZnwXh7Tk q9JKYnclj/HPndAzd+ULUgAQ80ZILZmTz7wHdDM= X-Google-Smtp-Source: AA6agR6CSpZJeZLupLjqqBX+EOzkeE6FMpPMcVLaz4GB0OAs5hC29J8y7dHal7RgBB/divoeGHZVW0rsW98MWFB992o= X-Received: by 2002:a1f:32c9:0:b0:377:afb0:23c3 with SMTP id y192-20020a1f32c9000000b00377afb023c3mr5995314vky.6.1661927454715; Tue, 30 Aug 2022 23:30:54 -0700 (PDT) MIME-Version: 1.0 References: <20220830115317.410812-1-sr@denx.de> <282eefe1-58d4-89cd-f940-2428bdd42b59@denx.de> In-Reply-To: From: Tony Dinh Date: Tue, 30 Aug 2022 23:30:43 -0700 Message-ID: Subject: Re: [PATCH 0/6] Enable CONFIG_TIMER for all Kirwood / MVEBU boards To: Stefan Roese Cc: U-Boot Mailing List , =?UTF-8?Q?Pali_Roh=C3=A1r?= , Michael Walle Content-Type: text/plain; charset="UTF-8" X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean Hi Stefan, On Tue, Aug 30, 2022 at 10:08 PM Stefan Roese wrote: > > Hi Tony, > > On 31.08.22 07:02, Stefan Roese wrote: > > Hi Tony, > > > > On 31.08.22 00:15, Tony Dinh wrote: > >> Hi Stefan, > >> > >> On Tue, Aug 30, 2022 at 4:53 AM Stefan Roese wrote: > >>> > >>> This patchset enhaces the recently added Orion Timer driver to support > >>> all other Kirkwood & 32bit MVEBU Armada platforms. Additionally, this > >>> timer support is then enabled per default for those platforms, so that > >>> the board config files don't need to be changed. Also necessary is > >>> some dts hacking, so that the timer DT node is available in early > >>> U-Boot stages. > >>> > >>> I've successfully tested this patchset on an Armada XP board. Additional > >>> test on other boards and platforms are very welcome and necessary. > >> > >> I've run some tests with the following 2 Kirkwood boards: Cloud > >> Engines Pogo V4 88F6192 (with CONFIG_DM_RTC and CONFIG_RTC_EMULATION), > >> and Marvell Sheevaplug 88F6281 (with CONFIG_DM_RTC and CONFIG_RTC_MV). > >> > >> It seems that it was either frozen or the timer did not expire at some > >> subsequent sleep commands. Sometime it happened at 2nd command, some > >> time at a later sleep command. For example, > >> > >> === Pogo V4 (the 1st sleep command works correctly at 10 seconds on my > >> stopwatch) > >> > >> U-Boot 2022.10-rc3-00048-g66ccd87a9c-dirty (Aug 30 2022 - 13:38:24 -0700) > >> Pogoplug V4 > >> > >> Hit any key to stop autoboot: 0 > >> Pogo_V4> sleep 10 > >> Pogo_V4> sleep 31.5 > >> > > > > Does the cmd interface support fractial numbers? Please test again with > > 31 or other integral numbers. > > > >> === Sheevaplug (RTC battery is old, so the date was not updated, but > >> the clock seems OK) > >> > >> U-Boot 2022.10-rc3-00048-g66ccd87a9c-dirty (Aug 30 2022 - 14:14:24 -0700) > >> Marvell-Sheevaplug > >> Hit any key to stop autoboot: 0 > >> => date > >> Date: 2000-01-01 (Saturday) Time: 0:02:55 > >> => sleep 10 > >> => date > >> Date: 2000-01-01 (Saturday) Time: 0:03:18 > >> => sleep 10 > >> => sleep 20.1 > >> > >> > >> Please let me know what I can do (i.e. perhaps running a debug patch). > > > > Please see above. I assume that the fractional numbers result in very > > long numbers internally, which result in a frozen / hanging system. > > I just tested fractional numbers on another board and hey, it just > works. Learned something new. So we seem to have a problem here. Let > me see, if I can find something. I've added debug printfs and possibly tracked down this issue. Seems like in the 2nd call to sleep, get_timer(0) did not reset the start number. cmd/sleep.c static int do_sleep(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { ulong start = get_timer(0); "do_sleep got a timer start = 2015" is the 1st call to sleep 5. "do_sleep got a timer start = 16304" is the 2nd call to sleep 10. Pogo_V4> sleep 5 do_sleep got a timer start = 2015 do_sleep delay = 5000 do_sleep delay = 5000 do_sleep sleeping... do_sleep start 2015 curent 100 do_sleep start 2015 curent 200 do_sleep start 2015 curent 300 do_sleep start 2015 curent 4900 do_sleep end of sleep ... current = 5000 Pogo_V4> Pogo_V4> sleep 10 do_sleep got a timer start = 16304 do_sleep delay = 10000 do_sleep delay = 10000 do_sleep sleeping... So somewhere in the DM timer, "start" got accumulated. I think each get_timer(0) should be a different timer instance. It looks like the same timer instance is used again and again, causing the "start "to grow bigger, and at one point it might just overflow. Thanks, Tony > Thanks, > Stefan