[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191101215816.GB8724@qmqm.qmqm.pl>
Date: Fri, 1 Nov 2019 22:58:16 +0100
From: Michał Mirosław <mirq-linux@...e.qmqm.pl>
To: Dmitry Osipenko <digetx@...il.com>
Cc: Thierry Reding <thierry.reding@...il.com>,
MyungJoo Ham <myungjoo.ham@...sung.com>,
Kyungmin Park <kyungmin.park@...sung.com>,
Chanwoo Choi <cw00.choi@...sung.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Tomeu Vizoso <tomeu.vizoso@...labora.com>,
Peter Geis <pgwipeout@...il.com>, linux-pm@...r.kernel.org,
linux-tegra@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 17/19] PM / devfreq: tegra30: Support variable polling
interval
On Wed, Oct 30, 2019 at 01:00:17AM +0300, Dmitry Osipenko wrote:
> The ACTMON governor is interrupt-driven and currently hardware's polling
> interval is fixed to 16ms in the driver. Devfreq supports variable polling
> interval by the generic governors, let's re-use the generic interface for
> changing of the polling interval. Now the polling interval can be changed
> dynamically via /sys/class/devfreq/devfreq0/polling_interval.
[...]
> @@ -308,7 +308,7 @@ static unsigned long actmon_device_target_freq(struct tegra_devfreq *tegra,
> unsigned int avg_sustain_coef;
> unsigned long target_freq;
>
> - target_freq = dev->avg_count / ACTMON_SAMPLING_PERIOD;
> + target_freq = dev->avg_count / tegra->devfreq->profile->polling_ms;
> avg_sustain_coef = 100 * 100 / dev->config->boost_up_threshold;
> target_freq = do_percent(target_freq, avg_sustain_coef);
> target_freq += dev->boost_freq;
Noting a comment in patch 13, if this is hot path you could try reciprocal_divide().
Best Regards,
Michał Mirosław
Powered by blists - more mailing lists