From 2c4020e71fb742d8ff5055ef1d21da49085baa53 Mon Sep 17 00:00:00 2001 From: Lightos1 <124387232+Lightos1@users.noreply.github.com> Date: Tue, 6 Oct 2026 19:56:02 +0200 Subject: [PATCH] hoc-clk: auto cpu ram oc --- Source/hoc-clk/common/include/hocclk/config.h | 19 ----- Source/hoc-clk/overlay/lang/ru.json | 3 - Source/hoc-clk/overlay/lang/zh-cn.json | 3 - Source/hoc-clk/overlay/lang/zh-tw.json | 3 - .../src/ui/gui/config_info_strings.cpp | 18 ----- .../hoc-clk/overlay/src/ui/gui/misc_gui.cpp | 79 ------------------- .../sysmodule/src/mgr/clock_manager.cpp | 17 +--- Source/hoc-clk/sysmodule/src/mgr/governor.cpp | 9 --- 8 files changed, 2 insertions(+), 149 deletions(-) diff --git a/Source/hoc-clk/common/include/hocclk/config.h b/Source/hoc-clk/common/include/hocclk/config.h index 34d2994b..b3c33af4 100644 --- a/Source/hoc-clk/common/include/hocclk/config.h +++ b/Source/hoc-clk/common/include/hocclk/config.h @@ -79,10 +79,6 @@ typedef enum { HocClkConfigValue_MarikoMiddleFreqs, HocClkConfigValue_LiveGpuVoltage, - HocClkConfigValue_AutoRAMCPUOverclock, - HocClkConfigValue_AutoRamCpuCpuOCFreq, - HocClkConfigValue_AutoRamCpuRamOCThreshold, - HocClkConfigValue_Watchdog, KipConfigValue_custRev, @@ -343,12 +339,6 @@ static inline const char* hocclkFormatConfigValue(HocClkConfigValue val, bool pr case HocClkConfigValue_LiveGpuVoltage: return pretty ? "GPU Voltage Request" : "gpu_voltage_request"; - case HocClkConfigValue_AutoRAMCPUOverclock: - return pretty ? "Auto High RAM CPU OC" : "auto_high_ram_cpu_oc"; - case HocClkConfigValue_AutoRamCpuCpuOCFreq: - return pretty ? "Auto High RAM CPU OC Freq" : "auto_ram_cpu_cpu_oc_freq"; - case HocClkConfigValue_AutoRamCpuRamOCThreshold: - return pretty ? "Auto High RAM CPU OC RAM Threshold" : "auto_ram_cpu_ram_oc_threshold"; case HocClkConfigValue_Watchdog: return pretty ? "Watchcat" : "watchdog"; // More dignified // KIP config values @@ -617,12 +607,6 @@ static inline uint64_t hocclkDefaultConfigValue(HocClkConfigValue val) case HocClkConfigValue_GPUDVFSMode: case HocClkConfigValue_CPUDVFSMode: return 1ULL; - case HocClkConfigValue_AutoRAMCPUOverclock: - return 0ULL; - case HocClkConfigValue_AutoRamCpuCpuOCFreq: - return 1683000ULL; - case HocClkConfigValue_AutoRamCpuRamOCThreshold: - return 2666000ULL; case HocClkConfigValue_ThermalThrottleThreshold: return 70ULL; case HocClkConfigValue_CpuGovernorMinimumFreq: @@ -669,7 +653,6 @@ static inline uint64_t hocclkValidConfigValue(HocClkConfigValue val, uint64_t in case HocClkConfigValue_GPUSchedulingMethod: case HocClkConfigValue_MarikoMiddleFreqs: case HocClkConfigValue_LiveGpuVoltage: - case HocClkConfigValue_AutoRAMCPUOverclock: case HocClkConfigValue_Watchdog: return (input & 0x1) == input; @@ -821,8 +804,6 @@ static inline uint64_t hocclkValidConfigValue(HocClkConfigValue val, uint64_t in case HocClkConfigValue_MemoryFrequencyMeasurementMode: case HocClkConfigValue_RamDisplayUnit: case HocClkConfigValue_AulaDisplayColorPreset: - case HocClkConfigValue_AutoRamCpuCpuOCFreq: - case HocClkConfigValue_AutoRamCpuRamOCThreshold: case KipConfigValue_PcvDebugVerbosity: return true; case HocClkConfigValue_BatteryChargeCurrent: diff --git a/Source/hoc-clk/overlay/lang/ru.json b/Source/hoc-clk/overlay/lang/ru.json index 027d23e0..19365e69 100644 --- a/Source/hoc-clk/overlay/lang/ru.json +++ b/Source/hoc-clk/overlay/lang/ru.json @@ -152,9 +152,6 @@ "JEDEC.": "JEDEC.", "CPU Boost Clock": "Частота буста", - "Auto CPU RAM OC": "Буст CPU → Разг. RAM", - "Auto CPU RAM OC CPU clock": "Буст CPU: частота CPU", - "Auto CPU RAM OC Threshold": "Буст CPU: порог RAM", "Overwrite Boost Mode": "Перезаписать буст", "CPU UV": "Андервольт CPU", "CPU Unlock": "Разблокировка CPU", diff --git a/Source/hoc-clk/overlay/lang/zh-cn.json b/Source/hoc-clk/overlay/lang/zh-cn.json index 538c4178..bce28e3f 100644 --- a/Source/hoc-clk/overlay/lang/zh-cn.json +++ b/Source/hoc-clk/overlay/lang/zh-cn.json @@ -149,9 +149,6 @@ "RAM-Timing tBreak": "内存时序切换阈值", "CPU Boost Clock": "CPU加速频率", - "Auto CPU RAM OC": "高内存频率自动提频CPU", - "Auto CPU RAM OC CPU clock": "自动提频CPU频率", - "Auto CPU RAM OC Threshold": "自动提频触发阈值", "Overwrite Boost Mode": "接管系统CPU调度", "CPU UV": "CPU降压", "CPU Unlock": "CPU解锁", diff --git a/Source/hoc-clk/overlay/lang/zh-tw.json b/Source/hoc-clk/overlay/lang/zh-tw.json index 7b71ad2a..d791e049 100644 --- a/Source/hoc-clk/overlay/lang/zh-tw.json +++ b/Source/hoc-clk/overlay/lang/zh-tw.json @@ -147,9 +147,6 @@ "RAM-Timing tBreak": "記憶體時序切換閾值", "CPU Boost Clock": "CPU加速頻率", - "Auto CPU RAM OC": "高記憶體頻率自動提頻CPU", - "Auto CPU RAM OC CPU clock": "自動提頻CPU頻率", - "Auto CPU RAM OC Threshold": "自動提頻觸發閾值", "Overwrite Boost Mode": "接管系統CPU調度", "CPU UV": "CPU降壓", "CPU Unlock": "CPU解鎖", diff --git a/Source/hoc-clk/overlay/src/ui/gui/config_info_strings.cpp b/Source/hoc-clk/overlay/src/ui/gui/config_info_strings.cpp index 76cbbf1d..cecdd7ab 100644 --- a/Source/hoc-clk/overlay/src/ui/gui/config_info_strings.cpp +++ b/Source/hoc-clk/overlay/src/ui/gui/config_info_strings.cpp @@ -457,24 +457,6 @@ std::vector ConfigInfoStrings(HocClkConfigValue val, bool isMariko, "The clock used for the CPU in \"boost mode\"", "Default: 1785 MHz" }; - case HocClkConfigValue_AutoRAMCPUOverclock: - return { - "When enabled, automatically raises the CPU clock to the configured OC frequency when RAM clock meets or exceeds the threshold to meet the increased voltage requirement.", - "Default: ON" - }; - - case HocClkConfigValue_AutoRamCpuCpuOCFreq: - return { - "The CPU clock (in MHz) applied when Auto High RAM CPU OC is enabled and the RAM threshold is met.", - "Default: 1683 MHz" - }; - - case HocClkConfigValue_AutoRamCpuRamOCThreshold: - return { - "The RAM clock threshold (in MHz) at or above which the Auto High RAM CPU OC will activate.", - "Default: 2133MHz" - }; - case HocClkConfigValue_OverwriteBoostMode: return { "If enabled, profiles can override the boost mode setting", diff --git a/Source/hoc-clk/overlay/src/ui/gui/misc_gui.cpp b/Source/hoc-clk/overlay/src/ui/gui/misc_gui.cpp index 5b0226d5..d9f742e0 100644 --- a/Source/hoc-clk/overlay/src/ui/gui/misc_gui.cpp +++ b/Source/hoc-clk/overlay/src/ui/gui/misc_gui.cpp @@ -868,85 +868,6 @@ class ExperimentalSettingsSubMenuGui : public MiscGui { addConfigButton(HocClkConfigValue_GPUSchedulingMethod, "GPU Scheduling Override Method", ValueRange(0, 0, 1, "", 0), "GPU Scheduling Override Method", &thresholdsDisabled, {}, gpuSchedMethodValues, false); - if (IsMariko()) { - addHeaderSpacer(); - this->listElement->addItem(new CompactCategoryHeader("RAM Settings")); - std::vector clkOptionsRamOc = { - NamedValue("1122 MHz", 1122000), NamedValue("1224 MHz", 1224000), NamedValue("1326 MHz", 1326000), NamedValue("1428 MHz", 1428000), - NamedValue("1581 MHz", 1581000), NamedValue("1683 MHz", 1683000, "Default"), NamedValue("1785 MHz", 1785000), NamedValue("1887 MHz", 1887000), - NamedValue("1963 MHz", 1963500), NamedValue("2091 MHz", 2091000), NamedValue("2193 MHz", 2193000), NamedValue("2295 MHz", 2295000), - NamedValue("2397 MHz", 2397000), NamedValue("2499 MHz", 2499000), NamedValue("2601 MHz", 2601000), NamedValue("2703 MHz", 2703000), - NamedValue("2805 MHz", 2805000), - }; - - std::vector emcMaxClock = { - NamedValue("1600 MHz", 1600000), - NamedValue("1633 MHz", 1633000), - NamedValue("1666 MHz", 1666000), - NamedValue("1700 MHz", 1700000), - NamedValue("1733 MHz", 1733000), - NamedValue("1766 MHz", 1766000), - NamedValue("1800 MHz", 1800000), - NamedValue("1833 MHz", 1833000), - NamedValue("1866 MHz", 1866000, "JEDEC."), - NamedValue("1900 MHz", 1900000), - NamedValue("1933 MHz", 1933000), - NamedValue("1966 MHz", 1966000), - NamedValue("1996 MHz", 1996800, "JEDEC."), - NamedValue("2000 MHz", 2000000), - NamedValue("2033 MHz", 2033000), - NamedValue("2066 MHz", 2066000), - NamedValue("2100 MHz", 2100000), - NamedValue("2133 MHz", 2133000, "JEDEC."), - NamedValue("2166 MHz", 2166000), - NamedValue("2200 MHz", 2200000), - NamedValue("2233 MHz", 2233000), - NamedValue("2266 MHz", 2266000), - NamedValue("2300 MHz", 2300000), - NamedValue("2333 MHz", 2333000), - NamedValue("2366 MHz", 2366000), - NamedValue("2400 MHz", 2400000, "JEDEC."), - NamedValue("2433 MHz", 2433000), - NamedValue("2466 MHz", 2466000), - NamedValue("2500 MHz", 2500000), - NamedValue("2533 MHz", 2533000), - NamedValue("2566 MHz", 2566000), - NamedValue("2600 MHz", 2600000), - NamedValue("2633 MHz", 2633000), - NamedValue("2666 MHz", 2666000, "JEDEC."), - NamedValue("2700 MHz", 2700000), - NamedValue("2733 MHz", 2733000), - NamedValue("2766 MHz", 2766000), - NamedValue("2800 MHz", 2800000), - NamedValue("2833 MHz", 2833000), - NamedValue("2866 MHz", 2866000), - NamedValue("2900 MHz", 2900000), - NamedValue("2933 MHz", 2933000, "JEDEC."), - NamedValue("2966 MHz", 2966000), - NamedValue("3000 MHz", 3000000), - NamedValue("3033 MHz", 3033000), - NamedValue("3066 MHz", 3066000), - NamedValue("3100 MHz", 3100000), - NamedValue("3133 MHz", 3133000), - NamedValue("3166 MHz", 3166000), - NamedValue("3200 MHz", 3200000, "JEDEC."), - NamedValue("3233 MHz", 3233000, "±1720 speedo"), - NamedValue("3266 MHz", 3266000, "±1740 speedo"), - NamedValue("3300 MHz", 3300000, "±1760 speedo"), - NamedValue("3333 MHz", 3333000, "±1780 speedo"), - NamedValue("3366 MHz", 3366000, "±1800 speedo"), - NamedValue("3400 MHz", 3400000, "±1820 speedo"), - NamedValue("3433 MHz", 3433000, "±???? speedo"), - NamedValue("3466 MHz", 3466000, "±???? speedo"), - NamedValue("3500 MHz", 3500000, "±???? speedo"), - }; - addConfigToggle(HocClkConfigValue_AutoRAMCPUOverclock, "Auto CPU RAM OC"); - addConfigButton(HocClkConfigValue_AutoRamCpuCpuOCFreq, "Auto CPU RAM OC CPU clock", ValueRange(0, 0, 1, "", 1), "CPU Clock", - &thresholdsDisabled, {}, clkOptionsRamOc, false, false); - addConfigButton(HocClkConfigValue_AutoRamCpuRamOCThreshold, "Auto CPU RAM OC Threshold", ValueRange(0, 0, 1, "", 1), "RAM Clock", - &thresholdsDisabled, {}, emcMaxClock, false, false); - } - tsl::elm::CustomDrawer *chargeWarningText = new tsl::elm::CustomDrawer([](tsl::gfx::Renderer *renderer, s32 x, s32 y, s32 w, s32 h) { renderer->drawString("\uE150 Overriding the charge current", false, x + 20, y + 30, 18, tsl::style::color::ColorText); renderer->drawString("can be dangerous and may cause", false, x + 20, y + 50, 18, tsl::style::color::ColorText); diff --git a/Source/hoc-clk/sysmodule/src/mgr/clock_manager.cpp b/Source/hoc-clk/sysmodule/src/mgr/clock_manager.cpp index 8c7865e1..0f2582e4 100644 --- a/Source/hoc-clk/sysmodule/src/mgr/clock_manager.cpp +++ b/Source/hoc-clk/sysmodule/src/mgr/clock_manager.cpp @@ -558,8 +558,6 @@ namespace mgr { prepareBoostExit = false; } - u32 ramTargetHz = GetNearestOverrideHz(HocClkModule_MEM); - bool returnRaw = false; // Return a value scaled to MHz instead of raw value for (unsigned int module = 0; module < HocClkModule_EnumMax; module++) { u32 oldHz = board::GetHz((HocClkModule)module); // Get Old hz (used primarily for DVFS Logic) @@ -608,20 +606,9 @@ namespace mgr { if (noGPU && module == HocClkModule_GPU) continue; - u32 autoCpuOcHz = 0; - if (module == HocClkModule_CPU && file::config::GetConfigValue(HocClkConfigValue_AutoRAMCPUOverclock) && !isBoost && - !mgr::isCpuGovernorEnabled && (board::GetSocType() == HocClkSocType_Mariko)) { - u32 threshold = (u32)file::config::GetConfigValue(HocClkConfigValue_AutoRamCpuRamOCThreshold) * 1000; - if (ramTargetHz >= threshold) - autoCpuOcHz = (u32)file::config::GetConfigValue(HocClkConfigValue_AutoRamCpuCpuOCFreq) * 1000; - } - - if (targetHz || autoCpuOcHz) { + if (targetHz) { maxHz = GetMaxAllowedHz((HocClkModule)module, gContext.profile); - nearestHz = targetHz ? GetNearestHz((HocClkModule)module, targetHz, maxHz) : 0; - - if (autoCpuOcHz > nearestHz) - nearestHz = GetNearestHz(HocClkModule_CPU, autoCpuOcHz, maxHz); + nearestHz = GetNearestHz((HocClkModule)module, targetHz, maxHz); if (nearestHz != gContext.freqs[module]) { file::utils::LogLine("[mgr] %s clock set : %u.%u MHz (target = %u.%u MHz)", board::GetModuleName((HocClkModule)module, true), diff --git a/Source/hoc-clk/sysmodule/src/mgr/governor.cpp b/Source/hoc-clk/sysmodule/src/mgr/governor.cpp index 8ab39d21..f72fe387 100644 --- a/Source/hoc-clk/sysmodule/src/mgr/governor.cpp +++ b/Source/hoc-clk/sysmodule/src/mgr/governor.cpp @@ -182,15 +182,6 @@ namespace mgr { if (++cpuTick > 50) { minHz = file::config::GetConfigValue(HocClkConfigValue_CpuGovernorMinimumFreq); - if (file::config::GetConfigValue(HocClkConfigValue_AutoRAMCPUOverclock)) { - u32 ramHz = mgr::gContext.freqs[HocClkModule_MEM]; - u32 threshold = (u32)file::config::GetConfigValue(HocClkConfigValue_AutoRamCpuRamOCThreshold) * 1000; - if (ramHz >= threshold) { - u32 overrideHz = (u32)file::config::GetConfigValue(HocClkConfigValue_AutoRamCpuCpuOCFreq) * 1000; - if (overrideHz > minHz) - minHz = overrideHz; - } - } cpuTick = 0; }