APM is utilized for setting system performance profiles; including clocks for CPU, GPU, and memory.
apm
ISession
| Cmd |
Name |
Notes
|
| 0 |
GetPerformanceConfiguration |
Takes u32 PerformanceMode
|
| 1 |
SetPerformanceConfiguration |
Takes u32 PerformanceMode, u32 PerformanceConfiguration
|
PerformanceMode
| Value |
Name
|
| 0 |
Handheld
|
| 1 |
Docked
|
PerformanceConfiguration
| Value |
Name
|
| 0x10000 |
Docked profiles
|
| 0x10001 |
|
| 0x10002 |
|
| 0x20000 |
Handheld profiles
|
| 0x20001 |
|
| 0x20002 |
|
| 0x20003 |
|
| 0x20004 |
|
| 0x20005 |
|
| 0x20006 |
|
| 0x92220007 |
Unknown profiles
|
| 0x92220008 |
|
The lower 16 bits seem to loosely indicate relative profile performance, with higher values being slower. Unknown profiles can be applied in handheld mode (these may be ultra-low-power modes).
apm:p
apm:sys