Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1170436ybi; Fri, 14 Jun 2019 09:46:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqwHEzO74phVlwTOZlHuaWGTeS2aTbPRzvaKMZfc8im+dlrNgF3zVXmEL/hDSa6Z+2L8Tm5c X-Received: by 2002:a62:cdc8:: with SMTP id o191mr30369772pfg.74.1560530776384; Fri, 14 Jun 2019 09:46:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560530776; cv=none; d=google.com; s=arc-20160816; b=cTZcpW3ch8kct40VcN5ycg8/fwt1XSFhUm4FRKP3mfKWfAs3dScTbcnhh9izTc4vFj j22ob0L815vA/Rg0Hig8z1Wa/Ev1xrkeK+tOkGvt3H8u9SKbcYz/sj7qsxeSSIvbJgoq db+mHgsymLtdkRh0RJCkM1Lidw0WqZY0KXZFUiLHOq5MYMh9oCAvfaNvL9b2mXGHucNL gvMYUWRACbcECc81n77OnhW394u23Prx258bn55bnUmedkS1vbyDDMWc/21EKxBtytpC hkX/KpCyw+llezov3A1qRW7E2g6di2d5Q4FRvh1aDA+3ms3PW0Z9ZEGWqa/7cQdntXdR oBZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=Gw/MY9qgeDsiVUyYG0Da4jLf/gn9jRPqLU0qfk6Sj5Q=; b=ZbrlHRwWKwkQdzuatMm06Hu9ayXJbHvN+sznoOoZuarph5gF6qqJWQn0oM7J66cTt4 PKuT3dCyi2REIfCwHBJ1J6wSxlkfV84y77L+rEG6y2HKsTl25j2jA/HAyciXUd/KSXuR EpUB695xac8gAVWVImDCHOHdD8jAIllYqiuWSfYu2W77CUoDy2aUnT2Ug1y+2G24u+V6 K1t49E/ELZcIFU2uBCu4sHQx/87XeWmgDKOC1HUSNNGCxlrdbT6LDEMb57nyolm1Y3jp J2lC+YY/LE4GiaxND4KtUAgzMOMcK4boZ9YWOCWDL4Wak3URyrk3pz+MTHgHsoBemA/n OOFg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JKtf4ik0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a13si3053848pgl.508.2019.06.14.09.46.01; Fri, 14 Jun 2019 09:46:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=JKtf4ik0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726300AbfFNQpx (ORCPT + 99 others); Fri, 14 Jun 2019 12:45:53 -0400 Received: from mail-lf1-f65.google.com ([209.85.167.65]:36120 "EHLO mail-lf1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725846AbfFNQpx (ORCPT ); Fri, 14 Jun 2019 12:45:53 -0400 Received: by mail-lf1-f65.google.com with SMTP id q26so2193788lfc.3; Fri, 14 Jun 2019 09:45:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=Gw/MY9qgeDsiVUyYG0Da4jLf/gn9jRPqLU0qfk6Sj5Q=; b=JKtf4ik0NbeTHSwAa8PoMb/iH5wstiMFSAQunFYk7cnjB9bgV5KUW7Ah3WUaqfhe9P OalXwS/wUotbFM27YlsEFBd4tUzBYXicRvag3cIqEUCNXfd2tZubtzt/JwEnfCT43Xd4 eleGs+wceM9fI+PxzoUfNiOFXp1IqAllWqEg1HPX4bvZMHqMjTkGKaZLYE9TmjSKgQjp Ms5UbG5Ux1Z+SBgqgWSvkWPF+U31fRkiLHKpurUmdTzOhq8w3AgLiHhMgovwJ5kzTELK Lmh0amtVAM11mmWVBc69RPrYpwY28KqKC+F6yBYbhebvPo9KvVwE5P7nMXig83rlGD+r zRsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=Gw/MY9qgeDsiVUyYG0Da4jLf/gn9jRPqLU0qfk6Sj5Q=; b=H/ayDzYTqZKecw8bXV3/uz2Y2GwOH/iMXYfAkqL7hZAlumrDArOerq+slohbcZ+Gk1 zEKjwhUGdwnVWOOxo/kXXnT/wWieWXwBd2Vn3BRwrVBziFzz3S4RYtOFAxFoJ6BC3OvP 2yMyL0YFddKoGqn5AXcJ/auAyIzQmlSQ/LfiWwIK28xDyxYJCZ+6bdY+NWxbVcF9q6G+ 6NDgXGgsFJuJNwqDqZfrL7ejX9qJ19pX2KB4aswmkeEWJBq/b30DP6LjSk4EBeYsD+p3 GxJWh6OZb35yBZiUaXvuxiUyC4vQv6sz4b1IMkn/9NNuUaM8Br/la3xJhMUNl/xm+qyY l82A== X-Gm-Message-State: APjAAAWLdMEE1hfUOfNxCdienK68/uYmdASlm6fyZFQ+Jb+FCHs5Vuow 7FYV/KSjrhN1mQ7gpNU/uFOB2wMB X-Received: by 2002:ac2:4209:: with SMTP id y9mr7701278lfh.83.1560530750347; Fri, 14 Jun 2019 09:45:50 -0700 (PDT) Received: from [192.168.2.145] (ppp91-79-162-197.pppoe.mtu-net.ru. [91.79.162.197]) by smtp.googlemail.com with ESMTPSA id f1sm202518ljf.53.2019.06.14.09.45.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jun 2019 09:45:49 -0700 (PDT) Subject: Re: [PATCH v2 3/6] clocksource/drivers/tegra: Set and use timer's period To: Jon Hunter , Daniel Lezcano , Joseph Lo , Thierry Reding , Peter De Schrijver Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org References: <20190610164400.11830-1-digetx@gmail.com> <20190610164400.11830-4-digetx@gmail.com> From: Dmitry Osipenko Message-ID: <3e941c50-ac62-719e-aac1-7072e9a3bcd0@gmail.com> Date: Fri, 14 Jun 2019 19:45:48 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 14.06.2019 18:48, Jon Hunter пишет: > > On 10/06/2019 17:43, Dmitry Osipenko wrote: >> The of_clk structure has a period field that is set up initially by >> timer_of_clk_init(), that period value need to be adjusted for a case of >> TIMER1-9 that are running at a fixed rate that doesn't match the clock's >> rate. Note that the period value is currently used only by some of the >> clocksource drivers internally and hence this is just a minor cleanup >> change that doesn't fix anything. >> >> Signed-off-by: Dmitry Osipenko >> --- >> drivers/clocksource/timer-tegra.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/clocksource/timer-tegra.c b/drivers/clocksource/timer-tegra.c >> index 810b4e7435cf..646b3530c2d2 100644 >> --- a/drivers/clocksource/timer-tegra.c >> +++ b/drivers/clocksource/timer-tegra.c >> @@ -71,9 +71,9 @@ static int tegra_timer_shutdown(struct clock_event_device *evt) >> static int tegra_timer_set_periodic(struct clock_event_device *evt) >> { >> void __iomem *reg_base = timer_of_base(to_timer_of(evt)); >> + unsigned long period = timer_of_period(to_timer_of(evt)); >> >> - writel_relaxed(TIMER_PTV_EN | TIMER_PTV_PER | >> - ((timer_of_rate(to_timer_of(evt)) / HZ) - 1), >> + writel_relaxed(TIMER_PTV_EN | TIMER_PTV_PER | (period - 1), >> reg_base + TIMER_PTV); >> >> return 0; >> @@ -297,6 +297,7 @@ static int __init tegra_init_timer(struct device_node *np, bool tegra20, >> cpu_to->clkevt.rating = rating; >> cpu_to->clkevt.cpumask = cpumask_of(cpu); >> cpu_to->of_base.base = timer_reg_base + base; >> + cpu_to->of_clk.period = DIV_ROUND_UP(rate, HZ); > > Any reason you made this a round-up? That's what timer_of_clk_init() does, I assume it should be a more correct variant.