diff --git a/Source/hoc-clk/sysmodule/src/mgr/clock_manager.cpp b/Source/hoc-clk/sysmodule/src/mgr/clock_manager.cpp index 809d5a46..77a5928d 100644 --- a/Source/hoc-clk/sysmodule/src/mgr/clock_manager.cpp +++ b/Source/hoc-clk/sysmodule/src/mgr/clock_manager.cpp @@ -185,7 +185,23 @@ namespace clockManager { if (module == HocClkModule_GPU && board::GetSocType() == HocClkSocType_Mariko) { constexpr u32 kStep = 38400000; constexpr u32 kPcvStep = 76800000; - constexpr u32 kMax = 1228800000; + + u32 kMax = 0; + for (u32 i = 0; i < count; i++) { + for (u32 j = 0; j < count; j++) { + if (freqs[j] == freqs[i] + kStep) { + kMax = freqs[j]; + break; + } + } + } + + if (kMax == 0) { + for (u32 i = 0; i < count; i++) { + if (freqs[i] > kMax) + kMax = freqs[i]; + } + } for (u32 f = kPcvStep; f <= kMax && gFreqTable[module].count < HOCCLK_FREQ_LIST_MAX; f += kStep) { if (f % kPcvStep != 0) { diff --git a/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp b/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp index 3e25c109..769779a9 100644 Binary files a/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp and b/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp differ diff --git a/dist/switch/.overlays/horizon-oc-overlay.ovl b/dist/switch/.overlays/horizon-oc-overlay.ovl index 4140e662..af37d306 100644 Binary files a/dist/switch/.overlays/horizon-oc-overlay.ovl and b/dist/switch/.overlays/horizon-oc-overlay.ovl differ