hocclk: remove handheld TDP
This commit is contained in:
@@ -46,11 +46,6 @@ typedef enum {
|
|||||||
HocClkConfigValue_ThermalThrottle,
|
HocClkConfigValue_ThermalThrottle,
|
||||||
HocClkConfigValue_ThermalThrottleThreshold,
|
HocClkConfigValue_ThermalThrottleThreshold,
|
||||||
|
|
||||||
HocClkConfigValue_HandheldTDP,
|
|
||||||
HocClkConfigValue_HandheldTDPLimit,
|
|
||||||
|
|
||||||
HocClkConfigValue_LiteTDPLimit,
|
|
||||||
|
|
||||||
HocClkConfigValue_BatteryChargeCurrent,
|
HocClkConfigValue_BatteryChargeCurrent,
|
||||||
|
|
||||||
HocClkConfigValue_OverwriteRefreshRate,
|
HocClkConfigValue_OverwriteRefreshRate,
|
||||||
@@ -235,15 +230,6 @@ static inline const char* hocclkFormatConfigValue(HocClkConfigValue val, bool pr
|
|||||||
case HocClkConfigValue_ThermalThrottleThreshold:
|
case HocClkConfigValue_ThermalThrottleThreshold:
|
||||||
return pretty ? "Thermal Throttle Threshold" : "thermal_throttle_threshold";
|
return pretty ? "Thermal Throttle Threshold" : "thermal_throttle_threshold";
|
||||||
|
|
||||||
case HocClkConfigValue_HandheldTDP:
|
|
||||||
return pretty ? "Handheld TDP" : "handheld_tdp";
|
|
||||||
|
|
||||||
case HocClkConfigValue_HandheldTDPLimit:
|
|
||||||
return pretty ? "Handheld TDP Limit" : "tdp_limit";
|
|
||||||
|
|
||||||
case HocClkConfigValue_LiteTDPLimit:
|
|
||||||
return pretty ? "Handheld TDP Limit" : "tdp_limit_l";
|
|
||||||
|
|
||||||
case HocClkConfigValue_BatteryChargeCurrent:
|
case HocClkConfigValue_BatteryChargeCurrent:
|
||||||
return pretty ? "Battery Charge Current" : "bat_charge_current";
|
return pretty ? "Battery Charge Current" : "bat_charge_current";
|
||||||
|
|
||||||
@@ -504,16 +490,11 @@ static inline uint64_t hocclkDefaultConfigValue(HocClkConfigValue val)
|
|||||||
return 1963ULL;
|
return 1963ULL;
|
||||||
|
|
||||||
case HocClkConfigValue_ThermalThrottle:
|
case HocClkConfigValue_ThermalThrottle:
|
||||||
case HocClkConfigValue_HandheldTDP:
|
|
||||||
case HocClkConfigValue_IsFirstLoad:
|
case HocClkConfigValue_IsFirstLoad:
|
||||||
case HocClkConfigValue_DVFSMode:
|
case HocClkConfigValue_DVFSMode:
|
||||||
return 1ULL;
|
return 1ULL;
|
||||||
case HocClkConfigValue_ThermalThrottleThreshold:
|
case HocClkConfigValue_ThermalThrottleThreshold:
|
||||||
return 70ULL;
|
return 70ULL;
|
||||||
case HocClkConfigValue_HandheldTDPLimit:
|
|
||||||
return 9600ULL; // 8600mW will trigger on erista stock, so raise it a bit
|
|
||||||
case HocClkConfigValue_LiteTDPLimit:
|
|
||||||
return 6400ULL; // 0.5C
|
|
||||||
case HocClkConfigValue_CpuGovernorMinimumFreq:
|
case HocClkConfigValue_CpuGovernorMinimumFreq:
|
||||||
return 612000000ULL; // 612MHz
|
return 612000000ULL; // 612MHz
|
||||||
case HocClkConfigValue_MaxDisplayClockH:
|
case HocClkConfigValue_MaxDisplayClockH:
|
||||||
@@ -534,8 +515,6 @@ static inline uint64_t hocclkValidConfigValue(HocClkConfigValue val, uint64_t in
|
|||||||
case HocClkConfigValue_EristaMaxCpuClock:
|
case HocClkConfigValue_EristaMaxCpuClock:
|
||||||
case HocClkConfigValue_MarikoMaxCpuClock:
|
case HocClkConfigValue_MarikoMaxCpuClock:
|
||||||
case HocClkConfigValue_ThermalThrottleThreshold:
|
case HocClkConfigValue_ThermalThrottleThreshold:
|
||||||
case HocClkConfigValue_HandheldTDPLimit:
|
|
||||||
case HocClkConfigValue_LiteTDPLimit:
|
|
||||||
case HocClkConfigValue_PollingIntervalMs:
|
case HocClkConfigValue_PollingIntervalMs:
|
||||||
case HocClkConfigValue_MaxDisplayClockH:
|
case HocClkConfigValue_MaxDisplayClockH:
|
||||||
return input > 0;
|
return input > 0;
|
||||||
@@ -547,7 +526,6 @@ static inline uint64_t hocclkValidConfigValue(HocClkConfigValue val, uint64_t in
|
|||||||
case HocClkConfigValue_UncappedClocks:
|
case HocClkConfigValue_UncappedClocks:
|
||||||
case HocClkConfigValue_OverwriteBoostMode:
|
case HocClkConfigValue_OverwriteBoostMode:
|
||||||
case HocClkConfigValue_ThermalThrottle:
|
case HocClkConfigValue_ThermalThrottle:
|
||||||
case HocClkConfigValue_HandheldTDP:
|
|
||||||
case HocClkConfigValue_OverwriteRefreshRate:
|
case HocClkConfigValue_OverwriteRefreshRate:
|
||||||
case HocClkConfigValue_IsFirstLoad:
|
case HocClkConfigValue_IsFirstLoad:
|
||||||
case HocClkConfigValue_EnableExperimentalSettings:
|
case HocClkConfigValue_EnableExperimentalSettings:
|
||||||
|
|||||||
@@ -170,19 +170,6 @@ std::vector<std::string> ConfigInfoStrings(HocClkConfigValue val, bool isMariko,
|
|||||||
"Default: ON",
|
"Default: ON",
|
||||||
};
|
};
|
||||||
|
|
||||||
case HocClkConfigValue_HandheldTDP:
|
|
||||||
return {
|
|
||||||
"If enabled, Resets to stock clocks when power consumption is above the threshold in handheld mode",
|
|
||||||
"Default: ON",
|
|
||||||
};
|
|
||||||
|
|
||||||
case HocClkConfigValue_HandheldTDPLimit:
|
|
||||||
case HocClkConfigValue_LiteTDPLimit:
|
|
||||||
return {
|
|
||||||
"The power consumption threshold (in mW) for resetting to stock clocks in handheld mode when Handheld TDP is enabled.",
|
|
||||||
isHoag ? "Default: 6400mW" : "Default: 9600mW"
|
|
||||||
};
|
|
||||||
|
|
||||||
case HocClkConfigValue_ThermalThrottleThreshold:
|
case HocClkConfigValue_ThermalThrottleThreshold:
|
||||||
return {
|
return {
|
||||||
"The temperature threshold (in °C) for resetting to stock clocks when Thermal Throttle is enabled.",
|
"The temperature threshold (in °C) for resetting to stock clocks when Thermal Throttle is enabled.",
|
||||||
|
|||||||
@@ -955,34 +955,8 @@ protected:
|
|||||||
this->listElement->addItem(new CompactCategoryHeader("Safety Settings"));
|
this->listElement->addItem(new CompactCategoryHeader("Safety Settings"));
|
||||||
addConfigToggle(HocClkConfigValue_UncappedClocks, nullptr);
|
addConfigToggle(HocClkConfigValue_UncappedClocks, nullptr);
|
||||||
addConfigToggle(HocClkConfigValue_ThermalThrottle, nullptr);
|
addConfigToggle(HocClkConfigValue_ThermalThrottle, nullptr);
|
||||||
addConfigToggle(HocClkConfigValue_HandheldTDP, nullptr);
|
|
||||||
|
|
||||||
#if IS_MINIMAL == 0
|
#if IS_MINIMAL == 0
|
||||||
std::map<uint32_t, std::string> labels_pwr_l = {
|
|
||||||
{6400, "Official Rating"}
|
|
||||||
};
|
|
||||||
|
|
||||||
if(IsHoag()) {
|
|
||||||
ValueThresholds tdpThresholdsLite(6400, 7500);
|
|
||||||
addConfigButton(
|
|
||||||
HocClkConfigValue_LiteTDPLimit,
|
|
||||||
"TDP Threshold",
|
|
||||||
ValueRange(4000, 8000, 100, "mW", 1),
|
|
||||||
"Power",
|
|
||||||
&tdpThresholdsLite,
|
|
||||||
labels_pwr_l
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
ValueThresholds tdpThresholds(9600, 11000);
|
|
||||||
addConfigButton(
|
|
||||||
HocClkConfigValue_HandheldTDPLimit,
|
|
||||||
"TDP Threshold",
|
|
||||||
ValueRange(8000, 12000, 100, "mW", 1),
|
|
||||||
"Power",
|
|
||||||
&tdpThresholds
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
ValueThresholds throttleThresholds(70, 80);
|
ValueThresholds throttleThresholds(70, 80);
|
||||||
addConfigButton(
|
addConfigButton(
|
||||||
HocClkConfigValue_ThermalThrottleThreshold,
|
HocClkConfigValue_ThermalThrottleThreshold,
|
||||||
|
|||||||
@@ -480,4 +480,8 @@ namespace config {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeleteKey(const char* section, const char* key) {
|
||||||
|
std::scoped_lock lock{gConfigMutex};
|
||||||
|
ini_puts(section, key, NULL, gPath.c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,7 +55,8 @@ namespace config {
|
|||||||
bool SetConfigValues(HocClkConfigValueList* configValues, bool immediate);
|
bool SetConfigValues(HocClkConfigValueList* configValues, bool immediate);
|
||||||
bool ResetConfigValue(HocClkConfigValue kval);
|
bool ResetConfigValue(HocClkConfigValue kval);
|
||||||
bool SetConfigValue(HocClkConfigValue kval, std::uint64_t value, bool immediate = true);
|
bool SetConfigValue(HocClkConfigValue kval, std::uint64_t value, bool immediate = true);
|
||||||
|
void DeleteKey(const char* section, const char* key);
|
||||||
|
|
||||||
extern uint64_t configValues[HocClkConfigValue_EnumMax];
|
extern uint64_t configValues[HocClkConfigValue_EnumMax];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -311,11 +311,17 @@ namespace kip {
|
|||||||
config::GetConfigValues(&configValues);
|
config::GetConfigValues(&configValues);
|
||||||
u32 previousVersion = configValues.values[KipConfigValue_KipVersion];
|
u32 previousVersion = configValues.values[KipConfigValue_KipVersion];
|
||||||
if(previousVersion < 240 && version >= 240) {
|
if(previousVersion < 240 && version >= 240) {
|
||||||
// <2.4.0 -> 2.4.0 migration: add marikoGpuBootVolt with default value of 800mV
|
// <2.4.0 -> 2.4.0 migration
|
||||||
|
|
||||||
|
// add marikoGpuBootVolt with default value of 800mV
|
||||||
configValues.values[KipConfigValue_marikoGpuBootVolt] = 800;
|
configValues.values[KipConfigValue_marikoGpuBootVolt] = 800;
|
||||||
|
|
||||||
|
// delete handheld TDP config entries
|
||||||
|
config::DeleteKey(CONFIG_VAL_SECTION, "handheld_tdp");
|
||||||
|
config::DeleteKey(CONFIG_VAL_SECTION, "tdp_limit");
|
||||||
|
config::DeleteKey(CONFIG_VAL_SECTION, "tdp_limit_l");
|
||||||
}
|
}
|
||||||
config::SetConfigValues(&configValues, true);
|
config::SetConfigValues(&configValues, true);
|
||||||
// This function cannot do anything at the moment. The capabilities will be expanded in the next release
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -293,20 +293,6 @@ namespace clockManager {
|
|||||||
|
|
||||||
bool HandleSafetyFeatures()
|
bool HandleSafetyFeatures()
|
||||||
{
|
{
|
||||||
if (config::GetConfigValue(HocClkConfigValue_HandheldTDP) && (gContext.profile != HocClkProfile_Docked)) {
|
|
||||||
if (board::GetConsoleType() == HocClkConsoleType_Hoag) {
|
|
||||||
if (board::GetPowerMw(HocClkPowerSensor_Avg) < -(int)config::GetConfigValue(HocClkConfigValue_LiteTDPLimit)) {
|
|
||||||
ResetToStockClocks();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (board::GetPowerMw(HocClkPowerSensor_Avg) < -(int)config::GetConfigValue(HocClkConfigValue_HandheldTDPLimit)) {
|
|
||||||
ResetToStockClocks();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (((tmp451TempSoc() / 1000) > (int)config::GetConfigValue(HocClkConfigValue_ThermalThrottleThreshold)) && config::GetConfigValue(HocClkConfigValue_ThermalThrottle)) {
|
if (((tmp451TempSoc() / 1000) > (int)config::GetConfigValue(HocClkConfigValue_ThermalThrottleThreshold)) && config::GetConfigValue(HocClkConfigValue_ThermalThrottle)) {
|
||||||
ResetToStockClocks();
|
ResetToStockClocks();
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in New Issue
Block a user