From 290329d285c05138c328e3dcf852cf994e0ed0f3 Mon Sep 17 00:00:00 2001 From: souldbminersmwc Date: Sat, 4 Oct 2025 19:11:40 -0400 Subject: [PATCH] multiple: fix stuff loader: fix erista timing overlay: fix clock setting bug --- .../loader/source/oc/customize.cpp | 98 +++++++++--------- .../loader/source/oc/mtc_timing_value.hpp | 18 ++++ .../loader/source/oc/pcv/pcv_erista.cpp | 12 +-- .../sys-clk/sysmodule/src/clock_manager.cpp | 14 +-- .../contents/00FF0000636C6BFF/exefs.nsp | Bin 179090 -> 179076 bytes dist/atmosphere/kips/hoc.kip | Bin 270668 -> 270796 bytes 6 files changed, 80 insertions(+), 62 deletions(-) diff --git a/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp b/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp index 7aa75a96..7b08e8de 100644 --- a/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp +++ b/Source/Atmosphere/stratosphere/loader/source/oc/customize.cpp @@ -44,7 +44,7 @@ volatile CustomizeTable C = { * Value should be divided evenly by 12'500. * Not enabled by default. */ -.commonEmcMemVolt = 1175000, +.commonEmcMemVolt = 1237500, /* Erista CPU: * - Max Voltage in mV @@ -60,7 +60,7 @@ volatile CustomizeTable C = { * - System instabilities * - NAND corruption */ -.eristaEmcMaxClock = 1862400, +.eristaEmcMaxClock = 2227000, /* Mariko CPU: * - Max Voltage in mV: @@ -92,15 +92,15 @@ volatile CustomizeTable C = { .eristaCpuUV = 0, -.eristaGpuUV = 0, +.eristaGpuUV = 3, .enableMarikoGpuUnsafeFreqs = DISABLED, -.enableEristaGpuUnsafeFreqs = DISABLED, +.enableEristaGpuUnsafeFreqs = 1, .enableMarikoCpuUnsafeFreqs = DISABLED, -.enableEristaCpuUnsafeFreqs = DISABLED, +.enableEristaCpuUnsafeFreqs = 1, .commonGpuVoltOffset = 0, @@ -115,11 +115,11 @@ volatile CustomizeTable C = { .t7_tWTR = 0, .t8_tREFI = 0, -.mem_burst_latency = 0, +.mem_burst_latency = 2, .marikoCpuVmin = 600, -.eristaGpuVmin = 810, +.eristaGpuVmin = 750, .marikoGpuVmin = 610, @@ -144,7 +144,7 @@ volatile CustomizeTable C = { 710 /* 1075 */, 735 /* 1152 */, 785 /* 1228 */, - 0 /* 1267 (Disabled by default) */, + 800 /* 1267 */, 0 /* 1305 (Disabled by default) */, 0 /* 1344 (Disabled by default) */, 0 /* 1382 (Disabled by default) */, @@ -168,8 +168,8 @@ volatile CustomizeTable C = { 900 /* 768 */, 950 /* 844 */, 975 /* 921 */, - 0 /* 998 (Disabled by default) */, - 0 /* 1075 (Disabled by default) */, + 920 /* 998 (Disabled by default) */, + 975 /* 1075 (Disabled by default) */, }, @@ -208,16 +208,16 @@ volatile CustomizeTable C = { { 714000, { 885768, -20215, 27 }, {} }, { 816000, { 929540, -21725, 27 }, {} }, { 918000, { 976958, -23225, 27 }, {} }, - { 1020000, { 1028021, -24725, 27 }, { 1120000 } }, - { 1122000, { 1082730, -26235, 27 }, { 1120000 } }, - { 1224000, { 1141084, -27735, 27 }, { 1120000 } }, - { 1326000, { 1203084, -29245, 27 }, { 1120000 } }, - { 1428000, { 1268729, -30745, 27 }, { 1120000 } }, - { 1581000, { 1374032, -33005, 27 }, { 1120000 } }, - { 1683000, { 1448791, -34505, 27 }, { 1120000 } }, - { 1785000, { 1527196, -36015, 27 }, { 1120000 } }, - { 1887000, { 1609246, -37515, 27 }, { 1120000 } }, - { 1963500, { 1675751, -38635, 27 }, { 1120000 } }, + { 1020000, { 1028021, -24725, 27 }, { } }, + { 1122000, { 1082730, -26235, 27 }, { } }, + { 1224000, { 1141084, -27735, 27 }, { } }, + { 1326000, { 1203084, -29245, 27 }, { } }, + { 1428000, { 1268729, -30745, 27 }, { } }, + { 1581000, { 1374032, -33005, 27 }, { } }, + { 1683000, { 1448791, -34505, 27 }, { } }, + { 1785000, { 1527196, -36015, 27 }, { } }, + { 1887000, { 1609246, -37515, 27 }, { } }, + { 1963500, { 1675751, -38635, 27 }, { } }, }, .marikoCpuDvfsTableSLT = { @@ -229,19 +229,19 @@ volatile CustomizeTable C = { { 714000, { 820558, -19915, 113 }, { } }, { 816000, { 853926, -20775, 113 }, { } }, { 918000, { 889361, -21625, 113 }, { } }, - { 1020000, { 926862, -22485, 113 }, { 1120000 } }, - { 1122000, { 926862, -22485, 113 }, { 1120000 } }, - { 1224000, { 926862, -22485, 113 }, { 1120000 } }, - { 1326000, { 966431, -23345, 113 }, { 1120000 } }, - { 1428000, { 1008066, -24205, 113 }, { 1120000 } }, - { 1581000, { 1051768, -25065, 113 }, { 1120000 } }, - { 1683000, { 1097537, -25925, 113 }, { 1120000 } }, - { 1785000, { 1145373, -26785, 113 }, { 1120000 } }, - { 1887000, { 1195276, -27645, 113 }, { 1120000 } }, - { 1963500, { 1274006, -29795, 113 }, { 1120000 } }, - { 2091000, { 1349076, -33235, 113 }, { 1235000 } }, - { 2193000, { 1386213, -33235, 113 }, { 1235000 } }, - { 2295000, { 1445416, -34095, 113 }, { 1235000 } }, + { 1020000, { 926862, -22485, 113 }, { } }, + { 1122000, { 926862, -22485, 113 }, { } }, + { 1224000, { 926862, -22485, 113 }, { } }, + { 1326000, { 966431, -23345, 113 }, { } }, + { 1428000, { 1008066, -24205, 113 }, { } }, + { 1581000, { 1051768, -25065, 113 }, { } }, + { 1683000, { 1097537, -25925, 113 }, { } }, + { 1785000, { 1145373, -26785, 113 }, { } }, + { 1887000, { 1195276, -27645, 113 }, { } }, + { 1963500, { 1274006, -29795, 113 }, { } }, + { 2091000, { 1349076, -33235, 113 }, { } }, + { 2193000, { 1386213, -33235, 113 }, { } }, + { 2295000, { 1445416, -34095, 113 }, { } }, }, /* - Erista GPU DVFS Table: @@ -424,22 +424,22 @@ volatile CustomizeTable C = { { 714000, { 820558, -19915, 113 }, { } }, { 816000, { 853926, -20775, 113 }, { } }, { 918000, { 889361, -21625, 113 }, { } }, - { 1020000, { 926862, -22485, 113 }, { 1120000 } }, - { 1122000, { 926862, -22485, 113 }, { 1120000 } }, - { 1224000, { 926862, -22485, 113 }, { 1120000 } }, - { 1326000, { 966431, -23345, 113 }, { 1120000 } }, - { 1428000, { 1008066, -24205, 113 }, { 1120000 } }, - { 1581000, { 1051768, -25065, 113 }, { 1120000 } }, - { 1683000, { 1097537, -25925, 113 }, { 1120000 } }, - { 1785000, { 1145373, -26785, 113 }, { 1120000 } }, - { 1887000, { 1195276, -27645, 113 }, { 1120000 } }, - { 1963500, { 1274006, -29795, 113 }, { 1120000 } }, - { 2091000, { 1349076, -33235, 113 }, { 1235000 } }, - { 2193000, { 1386213, -33235, 113 }, { 1235000 } }, - { 2295000, { 1445416, -34095, 113 }, { 1235000 } }, - { 2397000, { 1490873, -34955, 113 }, { 1235000 } }, - { 2499000, { 1580725, -35815, 113 }, { 1235000 } }, - { 2601000, { 1702903, -36675, 113 }, { 1235000 } }, + { 1020000, { 926862, -22485, 113 }, { } }, + { 1122000, { 926862, -22485, 113 }, { } }, + { 1224000, { 926862, -22485, 113 }, { } }, + { 1326000, { 966431, -23345, 113 }, { } }, + { 1428000, { 1008066, -24205, 113 }, { } }, + { 1581000, { 1051768, -25065, 113 }, { } }, + { 1683000, { 1097537, -25925, 113 }, { } }, + { 1785000, { 1145373, -26785, 113 }, { } }, + { 1887000, { 1195276, -27645, 113 }, { } }, + { 1963500, { 1274006, -29795, 113 }, { } }, + { 2091000, { 1349076, -33235, 113 }, { } }, + { 2193000, { 1386213, -33235, 113 }, { } }, + { 2295000, { 1445416, -34095, 113 }, { } }, + { 2397000, { 1490873, -34955, 113 }, { } }, + { 2499000, { 1580725, -35815, 113 }, { } }, + { 2601000, { 1702903, -36675, 113 }, { } }, }, .eristaCpuDvfsTableUnsafeFreqs = { { 204000, { 721094 }, {} }, diff --git a/Source/Atmosphere/stratosphere/loader/source/oc/mtc_timing_value.hpp b/Source/Atmosphere/stratosphere/loader/source/oc/mtc_timing_value.hpp index 17e10b6b..72d04fd2 100644 --- a/Source/Atmosphere/stratosphere/loader/source/oc/mtc_timing_value.hpp +++ b/Source/Atmosphere/stratosphere/loader/source/oc/mtc_timing_value.hpp @@ -147,6 +147,15 @@ // write-to-precharge time for commands to the same bank in cycles const u32 WTP = WL + BL/2 + 1 + CEIL(tWR/tCK_avg) - 8; + + const u32 numOfRows = 65536; + + // {REFRESH, REFRESH_LO} = max[(tREF/#_of_rows) / (emc_clk_period) - 64, (tREF/#_of_rows) / (emc_clk_period) * 97%] + // emc_clk_period = dram_clk / 2; + // 1600 MHz: 5894, but N' set to 6176 (~4.8% margin) + const u32 REFRESH = MIN((u32)65472, u32(std::ceil((double(tREFpb) * C.eristaEmcMaxClock / numOfRows * 1.048 / 2 - 64))) / 4 * 4); + const u32 REFBW = MIN((u32)65536, REFRESH+64); + } namespace pcv::mariko { @@ -160,5 +169,14 @@ // write-to-precharge time for commands to the same bank in cycles const u32 WTP = WL + BL/2 + 1 + CEIL(tWR/tCK_avg) - 8; + + const u32 numOfRows = 131072; + + // {REFRESH, REFRESH_LO} = max[(tREF/#_of_rows) / (emc_clk_period) - 64, (tREF/#_of_rows) / (emc_clk_period) * 97%] + // emc_clk_period = dram_clk / 2; + // 1600 MHz: 5894, but N' set to 6176 (~4.8% margin) + const u32 REFRESH = MIN((u32)65472, u32(std::ceil((double(tREFpb) * C.marikoEmcMaxClock / numOfRows * 1.048 / 2 - 64))) / 4 * 4); + const u32 REFBW = MIN((u32)130944, REFRESH+64); + } } diff --git a/Source/Atmosphere/stratosphere/loader/source/oc/pcv/pcv_erista.cpp b/Source/Atmosphere/stratosphere/loader/source/oc/pcv/pcv_erista.cpp index 8db2e304..311ecd19 100644 --- a/Source/Atmosphere/stratosphere/loader/source/oc/pcv/pcv_erista.cpp +++ b/Source/Atmosphere/stratosphere/loader/source/oc/pcv/pcv_erista.cpp @@ -204,12 +204,12 @@ Result GpuVmin(u32 *ptr) { table->burst_mc_regs.mc_emem_arb_timing_ras = CEIL(GET_CYCLE_CEIL(tRAS) / MC_ARB_DIV) - 2; table->burst_mc_regs.mc_emem_arb_timing_faw = CEIL(GET_CYCLE_CEIL(tFAW) / MC_ARB_DIV) - 1; table->burst_mc_regs.mc_emem_arb_timing_rrd = CEIL(GET_CYCLE_CEIL(tRRD) / MC_ARB_DIV) - 1; - //table->burst_mc_regs.mc_emem_arb_timing_rap2pre = CEIL(GET_CYCLE_CEIL(tRTP) / MC_ARB_DIV); - //table->burst_mc_regs.mc_emem_arb_timing_wap2pre = CEIL(WTP / MC_ARB_DIV); - // table->burst_mc_regs.mc_emem_arb_timing_r2r = CEIL(table->burst_regs.emc_rext / MC_ARB_DIV) - 1 + MC_ARB_SFA; - // table->burst_mc_regs.mc_emem_arb_timing_w2w = CEIL(table->burst_regs.emc_wext / MC_ARB_DIV) - 1 + MC_ARB_SFA; -// table->burst_mc_regs.mc_emem_arb_timing_r2w = CEIL(R2W / MC_ARB_DIV) - 1 + MC_ARB_SFA; -// table->burst_mc_regs.mc_emem_arb_timing_w2r = CEIL(W2R / MC_ARB_DIV) - 1 + MC_ARB_SFA; + table->burst_mc_regs.mc_emem_arb_timing_rap2pre = CEIL(GET_CYCLE_CEIL(tRTP) / MC_ARB_DIV); + table->burst_mc_regs.mc_emem_arb_timing_wap2pre = CEIL(WTP / MC_ARB_DIV); + table->burst_mc_regs.mc_emem_arb_timing_r2r = CEIL(table->burst_regs.emc_rext / MC_ARB_DIV) - 1 + MC_ARB_SFA; + table->burst_mc_regs.mc_emem_arb_timing_w2w = CEIL(table->burst_regs.emc_wext / MC_ARB_DIV) - 1 + MC_ARB_SFA; + table->burst_mc_regs.mc_emem_arb_timing_r2w = CEIL(R2W / MC_ARB_DIV) - 1 + MC_ARB_SFA; + table->burst_mc_regs.mc_emem_arb_timing_w2r = CEIL(W2R / MC_ARB_DIV) - 1 + MC_ARB_SFA; table->burst_mc_regs.mc_emem_arb_timing_rfcpb = CEIL(GET_CYCLE_CEIL(tRFCpb) / MC_ARB_DIV); // table->burst_mc_regs.mc_emem_arb_timing_ccdmw = CEIL(tCCDMW / MC_ARB_DIV) -1 + MC_ARB_SFA; } diff --git a/Source/sys-clk/sysmodule/src/clock_manager.cpp b/Source/sys-clk/sysmodule/src/clock_manager.cpp index b0564eb3..2ecd7ec0 100644 --- a/Source/sys-clk/sysmodule/src/clock_manager.cpp +++ b/Source/sys-clk/sysmodule/src/clock_manager.cpp @@ -222,7 +222,7 @@ void ClockManager::Tick() maxHz = this->GetMaxAllowedHz((SysClkModule)module, this->context->profile); nearestHz = this->GetNearestHz((SysClkModule)module, targetHz, maxHz); - if (nearestHz != this->context->freqs[module] && this->context->enabled && !apmExtIsBoostMode(this->context->perfConfId) && !this->config->GetConfigValue(HocClkConfigValue_OverwriteBoostMode)) + if (nearestHz != this->context->freqs[module] && this->context->enabled/* && !apmExtIsBoostMode(this->context->perfConfId) && !this->config->GetConfigValue(HocClkConfigValue_OverwriteBoostMode)*/) { FileUtils::LogLine( "[mgr] %s clock set : %u.%u MHz (target = %u.%u MHz)", @@ -232,12 +232,12 @@ void ClockManager::Tick() Board::SetHz((SysClkModule)module, nearestHz); this->context->freqs[module] = nearestHz; - } - else - { - Board::ResetToStockCpu(); - Board::ResetToStockGpu(); - } + } + // else + // { + // Board::ResetToStockCpu(); + // Board::ResetToStockGpu(); + // } // } // } else { // #define GOVERNOR_LOAD_THRESHOLD 80 diff --git a/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp b/dist/atmosphere/contents/00FF0000636C6BFF/exefs.nsp index e9fa29bf28023a264f3c6bc4fbf6997ea1ef559f..d23c465667dc6b0c76dc5ddced56cdbb3e4eeae8 100644 GIT binary patch delta 23152 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 z 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 M8-2UxB8Rg63!;9fE&u=k delta 23183 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 GQ~n3hX>Qm6 diff --git a/dist/atmosphere/kips/hoc.kip b/dist/atmosphere/kips/hoc.kip index 65ad5ae6aae01508fa1c13b104d4bb87ff9d60fc..5adda602fde91bea7876badbdb9e4322c96c1416 100644 GIT binary patch delta 16986 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