From patchwork Thu Aug 13 11:14:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amit Tomer X-Patchwork-Id: 11712411 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F2A2313B1 for ; Thu, 13 Aug 2020 11:18:29 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CA27420715 for ; Thu, 13 Aug 2020 11:18:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="fL7ez5xB"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ey719sZn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CA27420715 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.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=TNuIgc301uITwwpJrMZIubVf1ayPrvVHGLsHF6tWw8o=; b=fL7ez5xBMcxYmuZWWuui2JBI/+ O3DtC7oz7EJMvA9EXsjqvmdXZ0ESAXh6L9mxQZIEpQKP20y8VQVW7XUwc9z66Vyd5CT42YF9mHDBP c4AXyZhECEurgY5Cr7y7MWxnACmUX7R9AgRgzDUUaS1J23OngonrGbPkr0doh8Y3+QxspJsiTNT/S ByIAhW6HEei3NRp8z2MJNGACxtbRzwhTtooQ8zcrsX7DzbP3xFIlBdwanL1glJlqNkeKm8G8n68s9 aa2eYiyclO1QZH6AtlWmFrpC4hFwpBEvITpWVs+X+m0b3px5K98elLhO3KbcmSgL5nxbH136YPw0S xwzpI4Uw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6BDw-0000zi-V0; Thu, 13 Aug 2020 11:16:44 +0000 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6BDu-0000zI-PS for linux-arm-kernel@lists.infradead.org; Thu, 13 Aug 2020 11:16:43 +0000 Received: by mail-pj1-x1041.google.com with SMTP id mw10so2616056pjb.2 for ; Thu, 13 Aug 2020 04:16:40 -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=LyVunrfnEItB+vDQ3FaJOfAC5LEvc4r9beaYcx2gG0w=; b=ey719sZnGwm8SdppzE8aE97WOqSouKD+bRw9ir4kW5jLHESXaV7x2WLVyWfK/FCMnl I6elWCfkxvwddWk14nJz867E/uNi5tPtNJZzHNW3g8MYrL2mVN5n9RuJtq2rsTgjOm5r uGdxSoDRNz325gCC7+rYLCfHo2d9XbR2whFISvfONTeX3ij7c9kzGOuEcBsvbV7rXUt6 NvfEZLkyYglTlJ46gJVmJLW2vBKzAF+rlnSH/udd5/7pyS4iJP1HJ+s/OOrKaKRUZQwN jm1fpTYEXqZWoSKtNHH0p3XTYVK+3P+QsyZqtgjQfLEJtJxiOEdonsFdIhrEOzep7ixo 51cQ== 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=LyVunrfnEItB+vDQ3FaJOfAC5LEvc4r9beaYcx2gG0w=; b=IPpqd2cwNVcBYSdPl0TeZzsjugBC6ASXhU3ZSOknV+WfmSgaBotai6E9WxEq+AGQj7 h1egrCSfEKKFWg4cGWnF/yMhQ37/HrBbi3bkFPYHjYPsI078gdaKm3d+dRhRXpUzhFbI MxT12QF8uXqkZqovib6rHXqRkHJ00b6N7vH2ics7dWxLlKXgFohLnvSShpu4z0oyZEBO lgL5n6C9G0sTYfskxiqUH4ORx3JQNpnWsgxn6z2yGLF+3+FkTG6rfGe6ojI4YBlQK9l7 b8U/GNwJ51uSUO0AVPiDv48LejQrQqYKbi31qkAKJM1cVCOjW4ughjfKbOjvnIkYbtSv PZQw== X-Gm-Message-State: AOAM533h5oU7bq2QFZVSV7/0ErOQetGXRVf7wIBFI6CG+my4en8EuuFt TZerGxOdsVV0aexGHCBS0yQ= X-Google-Smtp-Source: ABdhPJycmYirrdd958Nwtaow7mof0XVqcJK9vnmdCnc4T5qUHFlDLRq/LCyi5moVn7e3Gkx3oRELiw== X-Received: by 2002:a17:90a:8589:: with SMTP id m9mr4664652pjn.109.1597317399003; Thu, 13 Aug 2020 04:16:39 -0700 (PDT) Received: from localhost.localdomain ([223.190.42.244]) by smtp.gmail.com with ESMTPSA id e29sm5689965pfj.92.2020.08.13.04.16.36 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Aug 2020 04:16:38 -0700 (PDT) From: Amit Singh Tomar To: andre.przywara@arm.com, linus.walleij@linaro.org, alexandre.belloni@bootlin.com Subject: [PATCH] rtc: pl031: enable rtc alarm interrupt again Date: Thu, 13 Aug 2020 16:44:28 +0530 Message-Id: <1597317268-19537-1-git-send-email-amittomer25@gmail.com> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200813_071642_864847_6642E68D X-CRM114-Status: GOOD ( 17.39 ) X-Spam-Score: 0.1 (/) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (0.1 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [2607:f8b0:4864:20:0:0:0:1041 listed in] [list.dnswl.org] 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit [amittomer25[at]gmail.com] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider [amittomer25[at]gmail.com] -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 -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-rtc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Amit Singh Tomar MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org After commit c8ff5841a90b ("rtc: pl031: switch to rtc_time64_to_tm/ rtc_tm_to_time64"), it has been observed the rtc alarm interrupt is no more registered, and due to this waking up the system (using rtc alarm interrupt) from suspend state is no longer possible. Besides this, we get broken output from "hwclock". root@localhost:~# hwclock hwclock: select() to /dev/rtc to wait for clock tick timed out: No such file or directory This is due to the fact that call to pl031_alarm_irq_enable(dev, alarm->enabled) is removed (from pl031_set_alarm()) in commit c8ff5841a90b, and alarm interrupt never gets enabled. This commit fixes it by re-introduces the missing pl031_alarm_irq_enable(dev, alarm->enabled). Fixes: c8ff5841a90b ("rtc: pl031: switch to rtc_time64_to_tm/rtc_tm_to_time64") Signed-off-by: Amit Singh Tomar --- This patch is tested on QEMU ARM64 TCG guest Without this patch: root@localhost:~# echo +10 > /sys/class/rtc/rtc0/wakealarm && sleep 10 && cat /proc/interrupts | grep pl031 39: 0 0 GICv2 34 Level rtc-pl031 With this patch: root@localhost:~# echo +10 > /sys/class/rtc/rtc0/wakealarm && sleep 10 && cat /proc/interrupts | grep pl031 39: 1 0 GICv2 34 Level rtc-pl031 root@localhost:~# hwclock Thu Aug 13 11:00:06 2020 -1.009351 seconds root@localhost:~# echo +30 > /sys/class/rtc/rtc0/wakealarm root@localhost:~# echo -n mem > /sys/power/state root@localhost:~# hwclock -r Thu Aug 13 08:59:14 2020 -1.010357 seconds --- drivers/rtc/rtc-pl031.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c index 40d7450a1ce4..c6b89273feba 100644 --- a/drivers/rtc/rtc-pl031.c +++ b/drivers/rtc/rtc-pl031.c @@ -275,6 +275,7 @@ static int pl031_set_alarm(struct device *dev, struct rtc_wkalrm *alarm) struct pl031_local *ldata = dev_get_drvdata(dev); writel(rtc_tm_to_time64(&alarm->time), ldata->base + RTC_MR); + pl031_alarm_irq_enable(dev, alarm->enabled); return 0; }