From patchwork Thu Apr 27 13:14:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: frederikj@gmail.com X-Patchwork-Id: 756023 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wDHWH5wTqz9sN8 for ; Thu, 27 Apr 2017 23:15:39 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tuh3WNjD"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="c1TXMIzs"; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=+bn/Ir0MrBGxUai08wWHnU6t3C31ta+xd3iEsvWy9Fw=; b=tuh 3WNjDzQYUHX9D8jZxQV6RZcHNBTkImNym8Cdl01IATOl1uYl468zVFWE9U9V3kQFweJ4CpjJ94Nm+ mzfQaRIvznIXBGXTszpkOGGbkp8EnTKKfi/FPVTtkDr0QsU2NkDcmxLPwKXavXngE7um9NeTmq5k3 ck3XeZxOLCgbwyNxqTqM+WH/37hf8xBcGG1wdFxxe75DCbl4+EiZla8RTZ6Oy6UmWwNxIPlG/kcF5 Ptwrmwl1A6erReQYqEd69u65frPU2WmBzheu9VibCK3P3KxjvEVnQFiTGy0ZXNIYmeSu4vdwVfXml 0RGjGQzShSuly4fh/tl9mKNgRKtQC6A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1d3jGk-000469-4n; Thu, 27 Apr 2017 13:15:38 +0000 Received: from mail-wr0-x241.google.com ([2a00:1450:400c:c0c::241]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1d3jGQ-0002Kt-0p for linux-arm-kernel@lists.infradead.org; Thu, 27 Apr 2017 13:15:20 +0000 Received: by mail-wr0-x241.google.com with SMTP id w50so3765118wrc.0 for ; Thu, 27 Apr 2017 06:14:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=N2n3WG80K0eOvhjT+wBIpviMNW/J/ROpMk8vjw813Lg=; b=c1TXMIzsBNaP+ihfDk1PlAiqTT60Pz8KV+YTdbighmCeN1A5ENPR7F5mscXN+zlLoM gdSF0QIYkg3MenNaFJI78+NyiGXFxHDidD0Y1TlVzGwbQBTYrt1E2pvz9w8jj4IOIZXm /5UcYzJbJ/uhtWEfNfEZl8HhUkb4HIbsg+pxgcpTp5IdjiHAZCvZKXzhkUR62NYK/wLq cmLR62E5fMkHvguhrge7XcEZkQ1wOcmzBzz3Brf0wpVEF3Mq59PBSsEKfdXnnVCfhvRU gDxBLwBadi3q4oquP6SpAg1ydYfu34UW6hxDB+7Aidt26wkjOXZUj0Hd8flkrIXR8hWx 9dMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=N2n3WG80K0eOvhjT+wBIpviMNW/J/ROpMk8vjw813Lg=; b=kNOrsarCRNsQF9Pmf1eQPD8WDRcVJ6u9MCTgsesXsgxNsoUD9BsltrYgZM8e1yQ0fG DxvrHVJwyIHrtqWNXnVAAt1mLdChXFZ2gPVtX9wl9UuVl2NRr+SB7H5LI9P3LYFE1iFo UVJ3jU3fMdh5zHbV/QIkaNqLTB/Zpkq/+DoMJcfQwuDr+w176PPGf9n09bHy0N4Yx9rM EPqD+4O+JhA0NsTizKBBNyowtgb/1pg7VYtnvZUNfUZcI53o+xQ58ri/fBsa4LxYXdCP 6zRkMs6+5A2o4pGkRFM1oaHLr8+sZyxkSrc/Ni+bphkl88yONwxGB1gpRl7e6QL74pmE 9WBA== X-Gm-Message-State: AN3rC/70f7Tz3CjJWJh6szog4ULTmBFf8noTI11GTgxCFdRodaL41Opg D/ODvjd1Xmk9Pg== X-Received: by 10.223.157.11 with SMTP id k11mr3501131wre.71.1493298895587; Thu, 27 Apr 2017 06:14:55 -0700 (PDT) Received: from john-XPS-15-9530.3Shape.local ([79.171.146.4]) by smtp.gmail.com with ESMTPSA id o20sm2571972wro.61.2017.04.27.06.14.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 27 Apr 2017 06:14:54 -0700 (PDT) From: frederikj@gmail.com X-Google-Original-From: Frederik.juul@3shape.com To: linux-arm-kernel@lists.infradead.org, shawnguo@kernel.org, fabio.estevam@nxp.com, kernel@pengutronix.de Subject: [PATCH] IMX: Rearm watchdog after loading value for restart Date: Thu, 27 Apr 2017 15:14:34 +0200 Message-Id: <20170427131434.17085-1-Frederik.juul@3shape.com> X-Mailer: git-send-email 2.11.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170427_061518_436518_9A8A9ADA X-CRM114-Status: UNSURE ( 8.81 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.0 (--) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (-2.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [2a00:1450:400c:c0c:0:0:0:241 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (frederikj[at]gmail.com) -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Frederik Juul MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org When calling the restart function the watchdog is activated and the WDOG timeout field is set to 0. This gives a reset time of 500 ms, which is consistent with the following delay. However this new time is not loaded into the WDOG until the WDOG service routine is run (see IMX6SXRM section 70.5.1.1 "Servicing WDOG to reload the counter"). Not reloading the counter could result in a random delay up to 128 seconds before the system restarts, depending on the previous value of the WDOG timeout field and when it has last been serviced. That bug is fixed with this patch. Signed-off-by: Frederik Juul --- linux/arch/arm/mach-imx/system.c.orig 2017-04-20 10:41:33.207558297 +0200 +++ linux/arch/arm/mach-imx/system.c 2017-04-27 14:27:19.225474885 +0200 @@ -32,6 +32,8 @@ #include "common.h" #include "hardware.h" +#define IMX_WATCHDOG_SERVICE_REGISTER 2 + static void __iomem *wdog_base; static struct clk *wdog_clk; static int wcr_enable = (1 << 2); @@ -59,6 +61,10 @@ void mxc_restart(enum reboot_mode mode, imx_writew(wcr_enable, wdog_base); imx_writew(wcr_enable, wdog_base); + /* Rearm WDOG to load 500ms value */ + imx_writew(0x5555, wdog_base+IMX_WATCHDOG_SERVICE_REGISTER); + imx_writew(0xaaaa, wdog_base+IMX_WATCHDOG_SERVICE_REGISTER); + /* wait for reset to assert... */ mdelay(500);