The term CPU Dynamics is introduced in the MSM7630 software with NPA environment. It is also applicable to the MSM8655 and SCMM based products.
It is synonymous to Application Processor DCVS service that is present on non-Android based products of MSM7K and MSM8K. When running Android software, only the modem processor runs CPU Dynamics; the applications processor will continue to use CPUFreq. On non-Android HLOS, both modem and applications processsors may both use CPU Dynamics.
One reason why CPU Dynamics is coined is that term DCVS is used quite loosely and can be ambiguous at times.
DCVS can refer to:
(1) Specific algorithm based service, which wakes up periodically to check for CPU utilization and adjust the CPU speed either upward or downward based on the criteria set by the algorithm.
(2) Frequency and voltage switching mechanism on the AMSS (Modem Processor side). This is traditionally done on demand basis. Each application knows how much CPU or Bus speed it needs and make request using clock regime API (s) to make a minimum level request. No period service that checks for CPU utilization gets involved.
CPU Dynamics refers to the service outlined in (1).
Along with the change in the clock and voltage switching software for the chipsets mentioned above, method to disable Apps DCVS service has changed.
The service requires following parameters:
1. Algorithm used - Enabled, Disabled, Others...
2. Sampling period -- How often to wake up to check for CPU utilization
3. N_lower -- Number of consecutive periods that CPU utilization stays lower than threshold before freq is taken to the lower level
4. N_raise -- Number of consecutive periods that CPU utilization stays above threshold before freq is taken to the higher level
The NV 4393 which was used to specify following values and to enable the service are no longer used on MSM7630/8655. The plan is to not use it in the future products.
The new way to enable/disable CPU Dynamics is by using NV files in EFS for the processor.
To disable CPU Dynamics (Apps DCVS service),
enter "Disabled" to /nv/item_files/CoreCPU/CoreAll/Startup/Algorithm.txt (for all cores for multi-core Apps CPU)
(for single core Apps CPU, this is valid as well)
enter "Disabled" to /nv/item_files/CoreCPU/Core0/Statrup/Algorith.txt (for the first core of multi-core Apps CPU)
enter "Disabled" to /nv/item_files/CoreCPU/Core1/Statrup/Algorith.txt (for the second core of multi-core Apps CPU)
To enable CPU Dynamics, enter "Classic" for algorithm used on 7x00, 7x25, 7x27, 8x50 software.
To change the sampling period,
change /nv/item_files/CoreCpu/Default/Monitor/SamplePeriod.uint file with the desired sampling period in milli-seconds.
Different values can be entered on individual core for multi-core Apps processor.
If the Modem processor supports CPU Dynamics for the build, the NV file listed above can be used to control it.
Demand based modem processor clock and voltage switching still uses NV 3519 as it was in other products.
No comments:
Post a Comment