#
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.
|