Messages in this thread | | | Date | Fri, 1 Nov 2019 22:58:16 +0100 | From | Michał Mirosław <> | 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
| |