From patchwork Sun Dec 20 22:28:11 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roman Volkov X-Patchwork-Id: 7892781 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 7A4A3BEEE5 for ; Sun, 20 Dec 2015 22:31:23 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A162D203AE for ; Sun, 20 Dec 2015 22:31:22 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D0213203AB for ; Sun, 20 Dec 2015 22:31:21 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1aAmUN-0000sS-Jq; Sun, 20 Dec 2015 22:30:03 +0000 Received: from smtp23.mail.ru ([94.100.181.178]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1aAmU4-0000cO-Ff for linux-arm-kernel@lists.infradead.org; Sun, 20 Dec 2015 22:29:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail2; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=iZuVjAf43NWpIFGCAqtWYMuzPJUu1AWBTU7FCd+DUas=; b=FmVSN20Jd3xPOomLKGzrX+Bdq0lUhJ1oIJnnnL0QbVEDL3ZO4N070FNxBRHnYTHA4L1TZnWtgzdCyggonrfviegiCSUkwvUU5/F0erhhI1bz9/Da0QeKweGJT/7bOg+DR+IvXEAr9VWwbDz+xYklBsHg8nRE7ablRnpZ9O+vb8c=; Received: from [5.164.215.186] (port=36812 helo=localhost.localdomain) by smtp23.mail.ru with esmtpa (envelope-from ) id 1aAmTk-0004kT-1C; Mon, 21 Dec 2015 01:29:24 +0300 From: Roman Volkov To: Tony Prisk Subject: [PATCH 3/4] clocksource/vt8500: Use MIN_OSCR_DELTA from PXA Date: Mon, 21 Dec 2015 01:28:11 +0300 Message-Id: <1450650492-18996-4-git-send-email-v1ron@mail.ru> X-Mailer: git-send-email 2.6.2 In-Reply-To: <1450650492-18996-1-git-send-email-v1ron@mail.ru> References: <1450650492-18996-1-git-send-email-v1ron@mail.ru> X-Mras: Ok X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151220_142945_100264_BAC8EE92 X-CRM114-Status: UNSURE ( 8.32 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.7 (--) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Gleixner , Daniel Lezcano , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Roman Volkov MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Roman Volkov Since vt8500 and PXA timers are identical, use MIN_OSCR_DELTA from PXA, which is bigger than existing value. It is required to determine the minimum delay which hardware can generate. This commit fixes vt8500 breakage in Linux 4.2 introduced by c6eb3f7 ('hrtimer: Get rid of hrtimer softirq') Signed-off-by: Roman Volkov --- drivers/clocksource/vt8500_timer.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/clocksource/vt8500_timer.c b/drivers/clocksource/vt8500_timer.c index f40ded8..7649852 100644 --- a/drivers/clocksource/vt8500_timer.c +++ b/drivers/clocksource/vt8500_timer.c @@ -51,6 +51,8 @@ #define timer_readl(addr) readl_relaxed(regbase + addr) #define timer_writel(v, addr) writel_relaxed(v, regbase + addr) +#define MIN_OSCR_DELTA 16 + static void __iomem *regbase; static cycle_t vt8500_timer_read(struct clocksource *cs) @@ -78,7 +80,7 @@ static int vt8500_timer_set_next_event(unsigned long cycles, cpu_relax(); timer_writel((unsigned long)alarm, TIMER_MATCH_VAL); - if ((signed)(alarm - clocksource.read(&clocksource)) <= 16) + if ((signed)(alarm - clocksource.read(&clocksource)) <= MIN_OSCR_DELTA) return -ETIME; timer_writel(1, TIMER_IER_VAL); @@ -149,7 +151,7 @@ static void __init vt8500_timer_init(struct device_node *np) pr_err("%s: setup_irq failed for %s\n", __func__, clockevent.name); clockevents_config_and_register(&clockevent, VT8500_TIMER_HZ, - 4, 0xf0000000); + MIN_OSCR_DELTA * 2, 0xf0000000); } CLOCKSOURCE_OF_DECLARE(vt8500, "via,vt8500-timer", vt8500_timer_init);