• Viresh Kumar's avatar
    cpufreq: Make sure CPU is running on a freq from freq-table · d3916691
    Viresh Kumar authored
    Sometimes boot loaders set CPU frequency to a value outside of frequency table
    present with cpufreq core. In such cases CPU might be unstable if it has to run
    on that frequency for long duration of time and so its better to set it to a
    frequency which is specified in freq-table. This also makes cpufreq stats
    inconsistent as cpufreq-stats would fail to register because current frequency
    of CPU isn't found in freq-table.
    
    Because we don't want this change to affect boot process badly, we go for the
    next freq which is >= policy->cur ('cur' must be set by now, otherwise we will
    end up setting freq to lowest of the table as 'cur' is initialized to zero).
    
    In case current frequency doesn't match any frequency from freq-table, we throw
    warnings to user, so that user can get this fixed in their bootloaders or
    freq-tables.
    Reported-by: default avatarCarlos Hernandez <ceh@ti.com>
    Reported-and-tested-by: default avatarNishanth Menon <nm@ti.com>
    Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    d3916691
freq_table.c 7.54 KB