Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp633404pxv; Thu, 15 Jul 2021 12:03:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyY1Lnepj1QlWu5otchzXUgEZXUq2EuU1YslKR/lfDr3BGuNOc3QtomPh8q0dTJyJAKcfCk X-Received: by 2002:a17:906:4103:: with SMTP id j3mr7036391ejk.526.1626375789820; Thu, 15 Jul 2021 12:03:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626375789; cv=none; d=google.com; s=arc-20160816; b=ffbK+CZIBVPOVe4LO/H47Yu3KqGjrNHXftDE4WCAK/R9FOjOMTR9lxQX/QqopZkBvT RthrukKVITnvU54WuL9rWETj4oDOa2zyQpE0wCHsV9gSYvMR6M9b8o7IpZq0HWKjFAoV o+f0Ge7hrQ714EjCsGystIRuX9C63XxLjiY2AVPCPxFRSdLSQFd84tQ/3NS46qZgo5w6 HLMgR6sd/CKdJOK5qcOBVXtWJ3Ef7vu1vWs7YnNuy5N1V57xtBJIJ0Wj7RTn+eyV8i2j iDDnlXt+yK09sddZvRgvjCJ9WfrYGt+BuOaF0lJnRFm49enhWPdo2b5vg+nnGw7DD33g VY9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=4kgSgkH5F8lVse69i2WYfIm3qtImIsK5JJiMyww3ims=; b=bicSWC/2rzNGEy+VVunsur4f3qQzHMYivMV4wXXBExUkhHVJBCW34fe2o5ZZIYKpSV Q/wA9ek6lH8unODzrZGE4ZKP5aHIm6kx44KFm7EntxC5Gsb/6aHExW9ZyfMdRYaTNSvr Hc0MSCSK3SZgXQpnpDJs2SFU0O/MVOOksq0kZZh2Od1HyLtVhpkK+mMQHK5sUiwaKEve HJqmV6Ma/ubauqAaTSVYBDYsPE6oWJLtjm1nUDXSgbK4Hf14jD0cSYy4BUlqU2jwhLfL 3yYwNDnddUO6kbjZF8Jz8ONyE/itdY6j6ZOYyI+jzRJoDstV0RF+3x2JmeZEEMCmYyV2 wdMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=iyuiTOsR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bh4si9872637ejb.56.2021.07.15.12.02.45; Thu, 15 Jul 2021 12:03:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=iyuiTOsR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242170AbhGOTDa (ORCPT + 99 others); Thu, 15 Jul 2021 15:03:30 -0400 Received: from mail.kernel.org ([198.145.29.99]:59262 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242383AbhGOSzH (ORCPT ); Thu, 15 Jul 2021 14:55:07 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1EB40613CA; Thu, 15 Jul 2021 18:52:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626375132; bh=c9EGxwS9gjmZCWVO88d9ScpV/GD7O5F8EUpe4LvpiQ4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iyuiTOsR+GuDwpaQIdcTkljO2+I3SmDZdKw3iNKBRlLCEDyGTGqK3QpoT9TheR1wb Y1gIiPL6cpsvbdHK/RdulBfSNZU5/c2Sf6xP6+PPEDsxYIJPu8VuT9vzHeNbBFhOP3 gT6IhGTWV7MmOux+JAa7XwbQZQ1LtT3DBED+pISg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Roman Stratiienko , Samuel Holland , Daniel Lezcano Subject: [PATCH 5.10 173/215] clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround Date: Thu, 15 Jul 2021 20:39:05 +0200 Message-Id: <20210715182630.103365088@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210715182558.381078833@linuxfoundation.org> References: <20210715182558.381078833@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Samuel Holland commit 8b33dfe0ba1c84c1aab2456590b38195837f1e6e upstream. Bad counter reads are experienced sometimes when bit 10 or greater rolls over. Originally, testing showed that at least 10 lower bits would be set to the same value during these bad reads. However, some users still reported time skips. Wider testing revealed that on some chips, occasionally only the lowest 9 bits would read as the anomalous value. During these reads (which still happen only when bit 10), bit 9 would read as the correct value. Reduce the mask by one bit to cover these cases as well. Cc: stable@vger.kernel.org Fixes: c950ca8c35ee ("clocksource/drivers/arch_timer: Workaround for Allwinner A64 timer instability") Reported-by: Roman Stratiienko Signed-off-by: Samuel Holland Signed-off-by: Daniel Lezcano Link: https://lore.kernel.org/r/20210515021439.55316-1-samuel@sholland.org Signed-off-by: Greg Kroah-Hartman --- drivers/clocksource/arm_arch_timer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/clocksource/arm_arch_timer.c +++ b/drivers/clocksource/arm_arch_timer.c @@ -352,7 +352,7 @@ static u64 notrace arm64_858921_read_cnt do { \ _val = read_sysreg(reg); \ _retries--; \ - } while (((_val + 1) & GENMASK(9, 0)) <= 1 && _retries); \ + } while (((_val + 1) & GENMASK(8, 0)) <= 1 && _retries); \ \ WARN_ON_ONCE(!_retries); \ _val; \