sysclk: fully fix lite bug and add minimal mode
This commit is contained in:
@@ -40,13 +40,12 @@ typedef enum
|
|||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
HorizonOCConsoleType_Unknown = 0, ///< Invalid Model
|
HorizonOCConsoleType_Icosa = 0,
|
||||||
HorizonOCConsoleType_V1 = 1, ///< Erista Model
|
HorizonOCConsoleType_Copper,
|
||||||
HorizonOCConsoleType_UnreleasedErista = 2, ///< Erista "Simulation" Model
|
HorizonOCConsoleType_Hoag,
|
||||||
HorizonOCConsoleType_V2 = 3, ///< Mariko Model
|
HorizonOCConsoleType_Iowa,
|
||||||
HorizonOCConsoleType_Lite = 4, ///< Mariko Lite Model
|
HorizonOCConsoleType_Calcio,
|
||||||
HorizonOCConsoleType_UnreleasedMariko = 5, ///< Mariko "Simulation" Model
|
HorizonOCConsoleType_Aula,
|
||||||
HorizonOCConsoleType_OLED = 6, ///< Mariko OLED Model
|
|
||||||
HorizonOCConsoleType_EnumMax,
|
HorizonOCConsoleType_EnumMax,
|
||||||
} HorizonOCConsoleType;
|
} HorizonOCConsoleType;
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ TARGET_VERSION := $(APP_VERSION)
|
|||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
# options for code generation
|
# options for code generation
|
||||||
#---------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------
|
||||||
DEFINES := -DDISABLE_IPC -DTARGET="\"$(TARGET)\"" -DTARGET_VERSION="\"$(TARGET_VERSION)\"" -DIS_MINIMAL="\"$(IS_MINIMAL)\""
|
DEFINES := -DDISABLE_IPC -DTARGET="\"$(TARGET)\"" -DTARGET_VERSION="\"$(TARGET_VERSION)\"" -DIS_MINIMAL=$(IS_MINIMAL)
|
||||||
|
|
||||||
ARCH := -march=armv8-a+crc+crypto -mtune=cortex-a57 -mtp=soft -fPIE
|
ARCH := -march=armv8-a+crc+crypto -mtune=cortex-a57 -mtp=soft -fPIE
|
||||||
|
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ void AppProfileGui::addProfileUI(SysClkProfile profile)
|
|||||||
this->addModuleListItem(profile, SysClkModule_CPU);
|
this->addModuleListItem(profile, SysClkModule_CPU);
|
||||||
this->addModuleListItem(profile, SysClkModule_GPU);
|
this->addModuleListItem(profile, SysClkModule_GPU);
|
||||||
this->addModuleListItem(profile, SysClkModule_MEM);
|
this->addModuleListItem(profile, SysClkModule_MEM);
|
||||||
#ifndef IS_MINIMAL
|
#if IS_MINIMAL == 0
|
||||||
if(!IsHoag()) {
|
if(!IsHoag()) {
|
||||||
if(profile != SysClkProfile_Docked)
|
if(profile != SysClkProfile_Docked)
|
||||||
this->addModuleListItemValue(profile, HorizonOCModule_Display, "Display", 40, 72, 1, " Hz", 1, 0);
|
this->addModuleListItemValue(profile, HorizonOCModule_Display, "Display", 40, 72, 1, " Hz", 1, 0);
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ void GlobalOverrideGui::listUI()
|
|||||||
this->addModuleListItem(SysClkModule_CPU);
|
this->addModuleListItem(SysClkModule_CPU);
|
||||||
this->addModuleListItem(SysClkModule_GPU);
|
this->addModuleListItem(SysClkModule_GPU);
|
||||||
this->addModuleListItem(SysClkModule_MEM);
|
this->addModuleListItem(SysClkModule_MEM);
|
||||||
#ifndef IS_MINIMAL
|
#if IS_MINIMAL == 0
|
||||||
if(!IsHoag())
|
if(!IsHoag())
|
||||||
this->addModuleListItemValue(HorizonOCModule_Display, "Display", 40, 72, 1, " Hz", 1, 0);
|
this->addModuleListItemValue(HorizonOCModule_Display, "Display", 40, 72, 1, " Hz", 1, 0);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ void MainGui::listUI()
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
this->listElement->addItem(miscItem);
|
this->listElement->addItem(miscItem);
|
||||||
#ifndef IS_MINIMAL
|
#if IS_MINIMAL == 0
|
||||||
tsl::elm::ListItem* infoItem = new tsl::elm::ListItem("Information");
|
tsl::elm::ListItem* infoItem = new tsl::elm::ListItem("Information");
|
||||||
infoItem->setClickListener([this](u64 keys) {
|
infoItem->setClickListener([this](u64 keys) {
|
||||||
if((keys & HidNpadButton_A) == HidNpadButton_A && this->context)
|
if((keys & HidNpadButton_A) == HidNpadButton_A && this->context)
|
||||||
|
|||||||
@@ -24,10 +24,9 @@
|
|||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <notification.h>
|
#include <notification.h>
|
||||||
#ifdef IS_MINIMAL
|
#if IS_MINIMAL == 0
|
||||||
#warning "Minimal compilation"
|
#pragma message("Compiling with full features")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
class RamSubmenuGui;
|
class RamSubmenuGui;
|
||||||
class RamTimingsSubmenuGui;
|
class RamTimingsSubmenuGui;
|
||||||
class RamLatenciesSubmenuGui;
|
class RamLatenciesSubmenuGui;
|
||||||
@@ -267,47 +266,49 @@ void MiscGui::listUI()
|
|||||||
|
|
||||||
addConfigToggle(HocClkConfigValue_UncappedClocks, nullptr);
|
addConfigToggle(HocClkConfigValue_UncappedClocks, nullptr);
|
||||||
addConfigToggle(HocClkConfigValue_OverwriteBoostMode, nullptr);
|
addConfigToggle(HocClkConfigValue_OverwriteBoostMode, nullptr);
|
||||||
#ifndef IS_MINIMAL
|
#if IS_MINIMAL == 0
|
||||||
addConfigToggle(HocClkConfigValue_FixCpuVoltBug, nullptr);
|
addConfigToggle(HocClkConfigValue_FixCpuVoltBug, nullptr);
|
||||||
#endif
|
#endif
|
||||||
addConfigToggle(HocClkConfigValue_ThermalThrottle, nullptr);
|
addConfigToggle(HocClkConfigValue_ThermalThrottle, nullptr);
|
||||||
addConfigToggle(HocClkConfigValue_HandheldTDP, nullptr);
|
addConfigToggle(HocClkConfigValue_HandheldTDP, nullptr);
|
||||||
|
addConfigToggle(HocClkConfigValue_EnforceBoardLimit, nullptr);
|
||||||
|
|
||||||
std::map<uint32_t, std::string> labels_pwr_r = {
|
#if IS_MINIMAL == 0
|
||||||
{8600, "Official Rating"}
|
std::map<uint32_t, std::string> labels_pwr_r = {
|
||||||
};
|
{8600, "Official Rating"}
|
||||||
std::map<uint32_t, std::string> labels_pwr_l = {
|
};
|
||||||
{6400, "Official Rating"}
|
std::map<uint32_t, std::string> labels_pwr_l = {
|
||||||
};
|
{6400, "Official Rating"}
|
||||||
|
};
|
||||||
|
ValueThresholds tdpThresholds(8600, 9500);
|
||||||
|
addConfigButton(
|
||||||
|
HocClkConfigValue_HandheldTDPLimit,
|
||||||
|
"TDP Threshold",
|
||||||
|
ValueRange(5000, 10000, 100, "mW", 1),
|
||||||
|
"Power",
|
||||||
|
&tdpThresholds,
|
||||||
|
labels_pwr_r
|
||||||
|
);
|
||||||
|
|
||||||
ValueThresholds tdpThresholds(8600, 9500);
|
ValueThresholds tdpThresholdsLite(6400, 7500);
|
||||||
addConfigButton(
|
addConfigButton(
|
||||||
HocClkConfigValue_HandheldTDPLimit,
|
HocClkConfigValue_LiteTDPLimit,
|
||||||
"TDP Threshold",
|
"Lite TDP Threshold",
|
||||||
ValueRange(5000, 10000, 100, "mW", 1),
|
ValueRange(4000, 8000, 100, "mW", 1),
|
||||||
"Power",
|
"Power",
|
||||||
&tdpThresholds,
|
&tdpThresholdsLite,
|
||||||
labels_pwr_r
|
labels_pwr_l
|
||||||
);
|
);
|
||||||
|
|
||||||
ValueThresholds tdpThresholdsLite(6400, 7500);
|
ValueThresholds throttleThresholds(70, 80);
|
||||||
addConfigButton(
|
addConfigButton(
|
||||||
HocClkConfigValue_LiteTDPLimit,
|
HocClkConfigValue_ThermalThrottleThreshold,
|
||||||
"Lite TDP Threshold",
|
"Thermal Throttle Limit",
|
||||||
ValueRange(4000, 8000, 100, "mW", 1),
|
ValueRange(50, 85, 1, "°C", 1),
|
||||||
"Power",
|
"Temp",
|
||||||
&tdpThresholdsLite,
|
&throttleThresholds
|
||||||
labels_pwr_l
|
);
|
||||||
);
|
#endif
|
||||||
|
|
||||||
ValueThresholds throttleThresholds(70, 80);
|
|
||||||
addConfigButton(
|
|
||||||
HocClkConfigValue_ThermalThrottleThreshold,
|
|
||||||
"Thermal Throttle Limit",
|
|
||||||
ValueRange(50, 85, 1, "°C", 1),
|
|
||||||
"Temp",
|
|
||||||
&throttleThresholds
|
|
||||||
);
|
|
||||||
|
|
||||||
if(IsMariko()) {
|
if(IsMariko()) {
|
||||||
addFreqButton(HocClkConfigValue_MarikoMaxCpuClock, nullptr, SysClkModule_CPU, cpu_freq_label_m);
|
addFreqButton(HocClkConfigValue_MarikoMaxCpuClock, nullptr, SysClkModule_CPU, cpu_freq_label_m);
|
||||||
@@ -361,7 +362,7 @@ void MiscGui::listUI()
|
|||||||
});
|
});
|
||||||
this->listElement->addItem(gpuSubmenu);
|
this->listElement->addItem(gpuSubmenu);
|
||||||
|
|
||||||
#ifndef IS_MINIMAL
|
#if IS_MINIMAL == 0
|
||||||
this->listElement->addItem(new tsl::elm::CategoryHeader("Experimental"));
|
this->listElement->addItem(new tsl::elm::CategoryHeader("Experimental"));
|
||||||
std::vector<NamedValue> chargerCurrents = {
|
std::vector<NamedValue> chargerCurrents = {
|
||||||
NamedValue("Disabled", 0),
|
NamedValue("Disabled", 0),
|
||||||
@@ -607,7 +608,7 @@ protected:
|
|||||||
addConfigButton(KipConfigValue_t6_tRTW, "t6 tRTW", ValueRange(0, 10, 1, "", 1), "tRTW", &thresholdsDisabled, {}, {}, false);
|
addConfigButton(KipConfigValue_t6_tRTW, "t6 tRTW", ValueRange(0, 10, 1, "", 1), "tRTW", &thresholdsDisabled, {}, {}, false);
|
||||||
addConfigButton(KipConfigValue_t7_tWTR, "t7 tWTR", ValueRange(0, 10, 1, "", 1), "tWTR", &thresholdsDisabled, {}, {}, false);
|
addConfigButton(KipConfigValue_t7_tWTR, "t7 tWTR", ValueRange(0, 10, 1, "", 1), "tWTR", &thresholdsDisabled, {}, {}, false);
|
||||||
addConfigButton(KipConfigValue_t8_tREFI, "t8 tREFI", ValueRange(0, 6, 1, "", 1), "tREFI", &thresholdsDisabled, {}, {}, false);
|
addConfigButton(KipConfigValue_t8_tREFI, "t8 tREFI", ValueRange(0, 6, 1, "", 1), "tREFI", &thresholdsDisabled, {}, {}, false);
|
||||||
|
#if IS_MINIMAL == 0
|
||||||
this->listElement->addItem(new tsl::elm::CategoryHeader("Experimental"));
|
this->listElement->addItem(new tsl::elm::CategoryHeader("Experimental"));
|
||||||
|
|
||||||
tsl::elm::ListItem* emcUpdBtn = new tsl::elm::ListItem("Update RAM Timings");
|
tsl::elm::ListItem* emcUpdBtn = new tsl::elm::ListItem("Update RAM Timings");
|
||||||
@@ -634,6 +635,7 @@ protected:
|
|||||||
});
|
});
|
||||||
warningText->setBoundaries(0, 0, tsl::cfg::FramebufferWidth, 150);
|
warningText->setBoundaries(0, 0, tsl::cfg::FramebufferWidth, 150);
|
||||||
this->listElement->addItem(warningText);
|
this->listElement->addItem(warningText);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -771,7 +773,7 @@ protected:
|
|||||||
);
|
);
|
||||||
|
|
||||||
std::vector<NamedValue> maxClkOptions = {
|
std::vector<NamedValue> maxClkOptions = {
|
||||||
NamedValue("1963MHz", 1963000),
|
// NamedValue("1963MHz", 1963000),
|
||||||
NamedValue("2397MHz", 2397000),
|
NamedValue("2397MHz", 2397000),
|
||||||
NamedValue("2499MHz", 2499000),
|
NamedValue("2499MHz", 2499000),
|
||||||
NamedValue("2601MHz", 2601000),
|
NamedValue("2601MHz", 2601000),
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ uint32_t GPU_Load_u = 0, fd = 0;
|
|||||||
BatteryChargeInfo info;
|
BatteryChargeInfo info;
|
||||||
|
|
||||||
static SysClkSocType g_socType = SysClkSocType_Erista;
|
static SysClkSocType g_socType = SysClkSocType_Erista;
|
||||||
static HorizonOCConsoleType g_consoleType = HorizonOCConsoleType_Unknown;
|
static HorizonOCConsoleType g_consoleType = HorizonOCConsoleType_Iowa;
|
||||||
|
|
||||||
std::atomic<uint64_t> idletick0{systemtickfrequency};
|
std::atomic<uint64_t> idletick0{systemtickfrequency};
|
||||||
std::atomic<uint64_t> idletick1{systemtickfrequency};
|
std::atomic<uint64_t> idletick1{systemtickfrequency};
|
||||||
@@ -236,6 +236,9 @@ void Board::Initialize()
|
|||||||
rc = pmdmntInitialize();
|
rc = pmdmntInitialize();
|
||||||
ASSERT_RESULT_OK(rc, "pmdmntInitialize");
|
ASSERT_RESULT_OK(rc, "pmdmntInitialize");
|
||||||
|
|
||||||
|
rc = setInitialize();
|
||||||
|
ASSERT_RESULT_OK(rc, "setInitialize");
|
||||||
|
|
||||||
threadCreate(&gpuLThread, gpuLoadThread, NULL, NULL, 0x1000, 0x3F, -2);
|
threadCreate(&gpuLThread, gpuLoadThread, NULL, NULL, 0x1000, 0x3F, -2);
|
||||||
threadStart(&gpuLThread);
|
threadStart(&gpuLThread);
|
||||||
|
|
||||||
@@ -255,7 +258,7 @@ void Board::Initialize()
|
|||||||
if (hosversionAtLeast(6,0,0) && R_SUCCEEDED(pwmInitialize())) {
|
if (hosversionAtLeast(6,0,0) && R_SUCCEEDED(pwmInitialize())) {
|
||||||
pwmCheck = pwmOpenSession2(&g_ICon, 0x3D000001);
|
pwmCheck = pwmOpenSession2(&g_ICon, 0x3D000001);
|
||||||
}
|
}
|
||||||
if(Board::GetConsoleType() != HorizonOCConsoleType_Lite) {
|
if(Board::GetConsoleType() != HorizonOCConsoleType_Hoag) {
|
||||||
u64 clkVirtAddr, dsiVirtAddr, outsize;
|
u64 clkVirtAddr, dsiVirtAddr, outsize;
|
||||||
rc = svcQueryMemoryMapping(&clkVirtAddr, &outsize, 0x60006000, 0x1000);
|
rc = svcQueryMemoryMapping(&clkVirtAddr, &outsize, 0x60006000, 0x1000);
|
||||||
ASSERT_RESULT_OK(rc, "svcQueryMemoryMapping (clk)");
|
ASSERT_RESULT_OK(rc, "svcQueryMemoryMapping (clk)");
|
||||||
@@ -368,7 +371,7 @@ void Board::Exit()
|
|||||||
rgltrExit();
|
rgltrExit();
|
||||||
batteryInfoExit();
|
batteryInfoExit();
|
||||||
pmdmntExit();
|
pmdmntExit();
|
||||||
if(Board::GetConsoleType() != HorizonOCConsoleType_Lite)
|
if(Board::GetConsoleType() != HorizonOCConsoleType_Hoag)
|
||||||
DisplayRefresh_Shutdown();
|
DisplayRefresh_Shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -404,7 +407,7 @@ void Board::SetHz(SysClkModule module, std::uint32_t hz)
|
|||||||
{
|
{
|
||||||
Result rc = 0;
|
Result rc = 0;
|
||||||
|
|
||||||
if(module == HorizonOCModule_Display && Board::GetConsoleType() != HorizonOCConsoleType_Lite) {
|
if(module == HorizonOCModule_Display && Board::GetConsoleType() != HorizonOCConsoleType_Hoag) {
|
||||||
DisplayRefresh_SetRate(hz);
|
DisplayRefresh_SetRate(hz);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -434,7 +437,7 @@ std::uint32_t Board::GetHz(SysClkModule module)
|
|||||||
std::uint32_t hz = 0;
|
std::uint32_t hz = 0;
|
||||||
|
|
||||||
if(module == HorizonOCModule_Display) {
|
if(module == HorizonOCModule_Display) {
|
||||||
if(Board::GetConsoleType() != HorizonOCConsoleType_Lite)
|
if(Board::GetConsoleType() != HorizonOCConsoleType_Hoag)
|
||||||
DisplayRefresh_GetRate(&hz, false);
|
DisplayRefresh_GetRate(&hz, false);
|
||||||
else
|
else
|
||||||
hz = 60;
|
hz = 60;
|
||||||
@@ -474,7 +477,7 @@ std::uint32_t Board::GetRealHz(SysClkModule module)
|
|||||||
case SysClkModule_MEM:
|
case SysClkModule_MEM:
|
||||||
return t210ClkMemFreq();
|
return t210ClkMemFreq();
|
||||||
case HorizonOCModule_Display:
|
case HorizonOCModule_Display:
|
||||||
if(Board::GetConsoleType() != HorizonOCConsoleType_Lite)
|
if(Board::GetConsoleType() != HorizonOCConsoleType_Hoag)
|
||||||
DisplayRefresh_GetRate(&hz, false);
|
DisplayRefresh_GetRate(&hz, false);
|
||||||
else
|
else
|
||||||
hz = 60;
|
hz = 60;
|
||||||
@@ -672,12 +675,12 @@ void Board::ResetToStockGpu()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Board::ResetToStockDisplay() {
|
void Board::ResetToStockDisplay() {
|
||||||
if(Board::GetConsoleType() != HorizonOCConsoleType_Lite)
|
if(Board::GetConsoleType() != HorizonOCConsoleType_Hoag)
|
||||||
DisplayRefresh_SetRate(60);
|
DisplayRefresh_SetRate(60);
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 Board::GetHighestDockedDisplayRate() {
|
u8 Board::GetHighestDockedDisplayRate() {
|
||||||
if(Board::GetConsoleType() != HorizonOCConsoleType_Lite)
|
if(Board::GetConsoleType() != HorizonOCConsoleType_Hoag)
|
||||||
return DisplayRefresh_GetDockedHighestAllowed();
|
return DisplayRefresh_GetDockedHighestAllowed();
|
||||||
else
|
else
|
||||||
return 60;
|
return 60;
|
||||||
@@ -791,6 +794,8 @@ void Board::FetchHardwareInfos()
|
|||||||
g_socType = SysClkSocType_Erista;
|
g_socType = SysClkSocType_Erista;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rc = splGetConfig(SplConfigItem_HardwareType, &sku);
|
||||||
|
ASSERT_RESULT_OK(rc, "splGetConfig");
|
||||||
g_consoleType = (HorizonOCConsoleType)sku;
|
g_consoleType = (HorizonOCConsoleType)sku;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -420,19 +420,26 @@ void ClockManager::Tick()
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(this->config->GetConfigValue(HocClkConfigValue_HandheldTDP) && opMode == AppletOperationMode_Handheld) {
|
if(this->config->GetConfigValue(HocClkConfigValue_HandheldTDP) && opMode == AppletOperationMode_Handheld) {
|
||||||
if(Board::GetConsoleType() == HorizonOCConsoleType_Lite) {
|
if(Board::GetConsoleType() == HorizonOCConsoleType_Hoag) {
|
||||||
if(Board::GetPowerMw(SysClkPowerSensor_Avg) < -(int)this->config->GetConfigValue(HocClkConfigValue_LiteTDPLimit)) {
|
if(Board::GetPowerMw(SysClkPowerSensor_Now) < -(int)this->config->GetConfigValue(HocClkConfigValue_LiteTDPLimit)) {
|
||||||
ResetToStockClocks();
|
ResetToStockClocks();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(Board::GetPowerMw(SysClkPowerSensor_Avg) < -(int)this->config->GetConfigValue(HocClkConfigValue_HandheldTDPLimit)) {
|
if(Board::GetPowerMw(SysClkPowerSensor_Now) < -(int)this->config->GetConfigValue(HocClkConfigValue_HandheldTDPLimit)) {
|
||||||
ResetToStockClocks();
|
ResetToStockClocks();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(this->config->GetConfigValue(HocClkConfigValue_EnforceBoardLimit) && opMode == AppletOperationMode_Console ) {
|
||||||
|
if(Board::GetPowerMw(SysClkPowerSensor_Now) < 0) {
|
||||||
|
ResetToStockClocks();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(((tmp451TempSoc() / 1000) > (int)this->config->GetConfigValue(HocClkConfigValue_ThermalThrottleThreshold)) && this->config->GetConfigValue(HocClkConfigValue_ThermalThrottle)) {
|
if(((tmp451TempSoc() / 1000) > (int)this->config->GetConfigValue(HocClkConfigValue_ThermalThrottleThreshold)) && this->config->GetConfigValue(HocClkConfigValue_ThermalThrottle)) {
|
||||||
ResetToStockClocks();
|
ResetToStockClocks();
|
||||||
return;
|
return;
|
||||||
@@ -486,7 +493,7 @@ void ClockManager::Tick()
|
|||||||
isGovernorEnabled = newGovernorState;
|
isGovernorEnabled = newGovernorState;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(module == HorizonOCModule_Display && this->config->GetConfigValue(HorizonOCConfigValue_OverwriteRefreshRate) && Board::GetConsoleType() != HorizonOCConsoleType_Lite) {
|
if(module == HorizonOCModule_Display && this->config->GetConfigValue(HorizonOCConfigValue_OverwriteRefreshRate) && Board::GetConsoleType() != HorizonOCConsoleType_Hoag) {
|
||||||
if(targetHz)
|
if(targetHz)
|
||||||
Board::SetHz(HorizonOCModule_Display, targetHz);
|
Board::SetHz(HorizonOCModule_Display, targetHz);
|
||||||
else
|
else
|
||||||
@@ -672,7 +679,7 @@ bool ClockManager::RefreshContext()
|
|||||||
FileUtils::WriteContextToCsv(this->context);
|
FileUtils::WriteContextToCsv(this->context);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this->context->profile == SysClkProfile_Docked && Board::GetConsoleType() != HorizonOCConsoleType_Lite)
|
if(this->context->profile == SysClkProfile_Docked && Board::GetConsoleType() != HorizonOCConsoleType_Hoag)
|
||||||
this->context->maxDisplayFreq = Board::GetHighestDockedDisplayRate();
|
this->context->maxDisplayFreq = Board::GetHighestDockedDisplayRate();
|
||||||
else
|
else
|
||||||
this->context->maxDisplayFreq = 60;
|
this->context->maxDisplayFreq = 60;
|
||||||
|
|||||||
@@ -71,7 +71,6 @@ class ClockManager
|
|||||||
int GetSpeedoBracket (int speedo);
|
int GetSpeedoBracket (int speedo);
|
||||||
unsigned int GetGpuVoltage (unsigned int freq, int speedo);
|
unsigned int GetGpuVoltage (unsigned int freq, int speedo);
|
||||||
void calculateGpuVmin(void);
|
void calculateGpuVmin(void);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool IsAssignableHz(SysClkModule module, std::uint32_t hz);
|
bool IsAssignableHz(SysClkModule module, std::uint32_t hz);
|
||||||
std::uint32_t GetMaxAllowedHz(SysClkModule module, SysClkProfile profile);
|
std::uint32_t GetMaxAllowedHz(SysClkModule module, SysClkProfile profile);
|
||||||
|
|||||||
Reference in New Issue
Block a user