CPU: bring min frequency back & code optimizations

This commit is contained in:
李通洲
2024-03-14 18:45:08 +08:00
parent 7c54dcba69
commit 2e201eaaf7
6 changed files with 42 additions and 24 deletions
+2 -3
View File
@@ -53,15 +53,13 @@ static const char* detectFrequency(FFCPUResult* cpu)
if (ffCfDictGetData(properties, CFSTR("voltage-states1-sram"), 0, 4, (uint8_t*) &eMin, NULL) != NULL) // eCore
return "\"voltage-states1-sram\" in \"pmgr\" is not found";
cpu->frequencyBase = (pMin < eMin ? pMin : eMin) / (1000.0 * 1000 * 1000);
cpu->frequencyMin = (pMin < eMin ? pMin : eMin) / (1000.0 * 1000 * 1000);
if (pCoreLength >= 8)
{
ffCfDictGetData(properties, CFSTR("voltage-states5-sram"), pCoreLength - 8, 4, (uint8_t*) &aMax, NULL);
cpu->frequencyMax = aMax / (1000.0 * 1000 * 1000);
}
else
cpu->frequencyMax = 0.0;
return NULL;
}
@@ -69,6 +67,7 @@ static const char* detectFrequency(FFCPUResult* cpu)
static const char* detectFrequency(FFCPUResult* cpu)
{
cpu->frequencyBase = ffSysctlGetInt64("hw.cpufrequency", 0) / 1000.0 / 1000.0 / 1000.0;
cpu->frequencyMin = ffSysctlGetInt64("hw.cpufrequency_min", 0) / 1000.0 / 1000.0 / 1000.0;
cpu->frequencyMax = ffSysctlGetInt64("hw.cpufrequency_max", 0);
if(cpu->frequencyMax > 0.0)
cpu->frequencyMax /= 1000.0 * 1000.0 * 1000.0;