If "bios limit" reports the highest available scaling frequency
while running plugged in and the lowest available scaling frequency
when unplugged as in running on battery it is not the culprit.
Just run "watch -n1 "cat
/sys/devices/system/cpu/cpu*/cpufreq/bios_limit"" and
plug/unplug/plug on your laptop and the frequency should change from
highest to lowest to highest again.
If it does not change frequency on battery or on AC or at specific
temp or with a specific AC adapter you need to
upgraded your bios to the latest for your manufacturer and search
for SpeedStep, CPU frequency, P-state or power management related
options ( often there are some knobs there that need to be set to
"performance" ) in the bios and try changing it.
If turning all the bios knobs from "power save" or similar to
"performance" or similar does not change the bios_limit you can
override it by adding "processor.ignore_ppc=1"
to the kernel line in grub or
run "echo 1 > /sys/module/processor/parameters/ignore_ppc" to
tweak it during runtime however be aware that there must be a reason
why the vendor/OEM is limiting your frequency in the first place.
If "bios_limit" is not the cause for this start by trying the latest
kernel versions for .35 .36 and .37 in koji and see if it's fixed in
any of them if not you will need to file a bug report and make sure
the kernel is compiled with
CPU_FREQ_DEBUG=y and you boot with "cpufreq.debug=7" or run "echo
7 > /sys/module/cpufreq/parameters/debug" to tweak it
during runtime and then attach "dmesg > dmesg.txt" along
with the output from "for x in
/sys/devices/system/cpu/cpu0/cpufreq/*;do echo $x;cat $x;done
&& for x in
/sys/devices/system/cpu/cpu0/cpufreq/ondemand/*;do echo $x;cat
$x;done" to your report which should provide the maintainer with
sufficient info to start working on your report.
Also take a look at various commands that come with the
cpufrequtils package like cpufreq-info etc..