History log of /freebsd/sys/kern/kern_cpu.c (Results 101 – 117 of 117)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 5f363934 18-Aug-2005 Hajimu UMEMOTO <ume@FreeBSD.org>

don't forget to update curr_priority. even when frequency is
not changed, priority may be changed.


# 961f7f91 16-Aug-2005 Hajimu UMEMOTO <ume@FreeBSD.org>

Save cpu level only when priority is greater than PRIO_USER
to make CPUFREQ_SET(NULL, prio) work.
TODO: implement saved_level as stack.

Reviewed by: njl


# da8a77c1 11-Aug-2005 Nate Lawson <njl@FreeBSD.org>

The "lowest" sysctl setting makes more sense as the lowest one to use, so
discard all levels less than this setting, not less than/equal to.

MFC after: 1 day


Revision tags: release/5.4.0_cvs, release/5.4.0
# 8d913481 10-Apr-2005 Nate Lawson <njl@FreeBSD.org>

Add debugging prints to all the methods in case there are problems with
managing levels. This can be enabled with the debug.cpufreq.verbose
tunable and sysctl.


# 71ab130c 31-Mar-2005 Nate Lawson <njl@FreeBSD.org>

Add a check for cpufreq_unregister() being called with no cpufreq device
active. Note that the logic indicates this should not be possible so
generate a warning if this ever happens.

Found by: Cove

Add a check for cpufreq_unregister() being called with no cpufreq device
active. Note that the logic indicates this should not be possible so
generate a warning if this ever happens.

Found by: Coverity Prevent (via sam)

show more ...


# 789f03ce 27-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Add locking to handle multiple threads getting/setting frequencies at the
same time. We use an sx lock and serialize the cpufreq device's
get/set/levels methods.


# b070969b 26-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Allow users to reject levels below a given frequency (in MHz) via the
debug.cpufreq.lowest tunable and sysctl. Some systems seem to have problems
with the lowest frequencies so setting this prevents

Allow users to reject levels below a given frequency (in MHz) via the
debug.cpufreq.lowest tunable and sysctl. Some systems seem to have problems
with the lowest frequencies so setting this prevents them from being
available or used.

show more ...


# d269386a 24-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Bump the maximum number of levels to 64 and add warning messages about
what to do to fix reduced functionality if the number of levels is too low.


# e959a70b 20-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Add the "freq_settings" sysctl to each device that registers with cpufreq
so their individual settings can be seen separately for debugging.


# e94a0c1a 18-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Introduce a new method, cpufreq_drv_type(), that returns the type of the
driver. This used to be handled by cpufreq_drv_settings() but it's
useful to get the type/flags separately from getting the s

Introduce a new method, cpufreq_drv_type(), that returns the type of the
driver. This used to be handled by cpufreq_drv_settings() but it's
useful to get the type/flags separately from getting the settings.
(For example, you don't have to pass an array of cf_setting just to find
the driver type.)

Use this new method in our in-tree drivers to detect reliably if acpi_perf
is present and owns the hardware. This simplifies logic in drivers as well
as fixing a bug introduced in my last commit where too many drivers attached.

show more ...


# 67c8649f 15-Feb-2005 Nate Lawson <njl@FreeBSD.org>

When dealing with systems with no absolute drivers attached, only calibrate
the rate for the 100% state once. Afterwards, use that value for deriving
states. This should fix the problem where the c

When dealing with systems with no absolute drivers attached, only calibrate
the rate for the 100% state once. Afterwards, use that value for deriving
states. This should fix the problem where the calibrated frequency was
different once a switch was done, giving a different set of levels each
time. Also, properly search for the right cpufreqX device when detaching.

show more ...


# 1196826a 15-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Bind to the driver's parent cpu before switching, for both absolute and
relative drivers. Remove some extraneous KASSERTs since NULL pointers
will be found when they're used right afterwards.


# 5f0afa04 14-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Implement priorities. This allows a driver (say, for cooling purposes) to
override the current freq level temporarily and restore it when the
higher priority condition is past. Note that only the f

Implement priorities. This allows a driver (say, for cooling purposes) to
override the current freq level temporarily and restore it when the
higher priority condition is past. Note that only the first overridden
value is saved. Callers pass NULL to CPUFREQ_SET to restore the saved
level. Priorities are not yet used so this commit should have no effect.

show more ...


# e22cd41c 13-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Add support for the CPUFREQ_FLAG_INFO_ONLY flag. Devices that report this
are not added to the list(s) of available settings. However, other drivers
can call the CPUFREQ_DRV_SETTINGS() method on th

Add support for the CPUFREQ_FLAG_INFO_ONLY flag. Devices that report this
are not added to the list(s) of available settings. However, other drivers
can call the CPUFREQ_DRV_SETTINGS() method on those devices directly to
get info about available settings.

Update the acpi_perf(4) driver to use this flag in the presence of
"functional fixed hardware." Thus, future drivers like Powernow can
query acpi_perf for platform info but perform frequency transitions
themselves.

show more ...


# 0325089d 13-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Set levels on all CPUs and attach a cpufreq device to each one. Sysctl
on dev.cpu.0 will affect all of the CPUs together. In the future,
independent control will be supported but this is good enoug

Set levels on all CPUs and attach a cpufreq device to each one. Sysctl
on dev.cpu.0 will affect all of the CPUs together. In the future,
independent control will be supported but this is good enough for now.
Check that the timecounter isn't TSC before switching (from Colin Percival.)

show more ...


# 88c9b54c 06-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Add support for relative cpufreq drivers. Such drivers modulate clock
frequency as a percentage of the base rate and do not change the base
rate directly. The cpufreq framework combines these with

Add support for relative cpufreq drivers. Such drivers modulate clock
frequency as a percentage of the base rate and do not change the base
rate directly. The cpufreq framework combines these with absolute drivers
to produce synthesized levels made of one or more settings.

show more ...


# 73347b07 04-Feb-2005 Nate Lawson <njl@FreeBSD.org>

Add the cpufreq framework. This code manages multiple drivers and presents
a unified kernel and user interface for controlling cpu frequencies.


12345