From 8cd9727429217c298cfb298f3c571dc48d38f29a Mon Sep 17 00:00:00 2001 From: souldbminersmwc Date: Mon, 23 Feb 2026 10:39:29 -0500 Subject: [PATCH] sysclk: fix clock capping bypass bug --- Source/sys-clk/sysmodule/src/clock_manager.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Source/sys-clk/sysmodule/src/clock_manager.cpp b/Source/sys-clk/sysmodule/src/clock_manager.cpp index acc3e8bd..434a039e 100644 --- a/Source/sys-clk/sysmodule/src/clock_manager.cpp +++ b/Source/sys-clk/sysmodule/src/clock_manager.cpp @@ -748,10 +748,12 @@ void ClockManager::DVFSReset() { targetHz = this->config->GetAutoClockHz(GLOBAL_PROFILE_ID, SysClkModule_GPU, this->context->profile, false); } } + u32 maxHz = this->GetMaxAllowedHz(SysClkModule_GPU, this->context->profile); + u32 nearestHz = this->GetNearestHz(SysClkModule_GPU, targetHz, maxHz); Board::SetHz(SysClkModule_GPU, ~0); if(targetHz) { - Board::SetHz(SysClkModule_GPU, targetHz); + Board::SetHz(SysClkModule_GPU, nearestHz); } else { Board::ResetToStockGpu(); } @@ -778,8 +780,8 @@ void ClockManager::HandleFreqReset(SysClkModule module, bool isBoost) { case SysClkModule_MEM: Board::ResetToStockMem(); DVFSReset(); - default: - break; + default: + break; } }