From 4502dc6fdbf3c53fdc82637149c88baea6230ddb Mon Sep 17 00:00:00 2001 From: Lightos1 <124387232+Lightos1@users.noreply.github.com> Date: Fri, 20 Mar 2026 19:24:45 +0100 Subject: [PATCH] Rewrite: full load --- .../sysmodule/src/board/board.cpp | 2 +- .../sysmodule/src/board/board_load.cpp | 31 ++++++++++++++----- .../sysmodule/src/board/board_load.hpp | 3 +- .../sysmodule/src/board/board_volt.cpp | 1 + 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/Source/rewrite-hoc-clk/sysmodule/src/board/board.cpp b/Source/rewrite-hoc-clk/sysmodule/src/board/board.cpp index d7f7067f..f9702023 100644 --- a/Source/rewrite-hoc-clk/sysmodule/src/board/board.cpp +++ b/Source/rewrite-hoc-clk/sysmodule/src/board/board.cpp @@ -112,7 +112,7 @@ namespace board { ASSERT_RESULT_OK(rc, "pmdmntInitialize"); StartGpuLoad(nvCheck, fd); - // threadCreate(&cpuCore3Thread, CheckCore, &idletick3, NULL, 0x1000, 0x10, 3); + /* TODO: Add back fan. */ // threadCreate(&miscThread, miscThreadFunc, NULL, NULL, 0x1000, 0x10, 3); // threadStart(&miscThread); diff --git a/Source/rewrite-hoc-clk/sysmodule/src/board/board_load.cpp b/Source/rewrite-hoc-clk/sysmodule/src/board/board_load.cpp index 272dd0c8..beff3a30 100644 --- a/Source/rewrite-hoc-clk/sysmodule/src/board/board_load.cpp +++ b/Source/rewrite-hoc-clk/sysmodule/src/board/board_load.cpp @@ -25,6 +25,8 @@ */ #include +#include +#include #include #include #include @@ -63,14 +65,6 @@ namespace board { } while(true); } - void StartGpuLoad(Result nvCheck, u32 fd) { - ; - } - - u32 GetGpuLoad() { - return gpuLoad; - } - void CheckCore(void *idletickPtr) { u64* idletick = static_cast(idletickPtr); while(true) { @@ -105,6 +99,27 @@ namespace board { return std::round(std::max({cpuUsage0, cpuUsage1, cpuUsage2})); } + u32 GetPartLoad(SysClkPartLoad loadSource) { + switch(loadSource) { + case SysClkPartLoad_EMC: + return t210EmcLoadAll(); + case SysClkPartLoad_EMCCpu: + return t210EmcLoadCpu(); + case HocClkPartLoad_GPU: + return gpuLoad; + case HocClkPartLoad_CPUMax: + return GetMaxCpuLoad(); + case HocClkPartLoad_BAT: + BatteryChargeInfo info; + batteryInfoGetChargeInfo(&info); + return info.RawBatteryCharge; + default: + ASSERT_ENUM_VALID(SysClkPartLoad, loadSource); + } + + return 0; + } + void ExitLoad() { threadClose(&gpuThread); threadClose(&cpuCore0Thread); diff --git a/Source/rewrite-hoc-clk/sysmodule/src/board/board_load.hpp b/Source/rewrite-hoc-clk/sysmodule/src/board/board_load.hpp index ead57f59..a46fa7b7 100644 --- a/Source/rewrite-hoc-clk/sysmodule/src/board/board_load.hpp +++ b/Source/rewrite-hoc-clk/sysmodule/src/board/board_load.hpp @@ -31,7 +31,6 @@ namespace board { void StartLoad(Result nvCheck, u32 fd); void ExitLoad(); - u32 GetGpuLoad(); - u32 GetMaxCpuLoad(); + u32 GetPartLoad(); } diff --git a/Source/rewrite-hoc-clk/sysmodule/src/board/board_volt.cpp b/Source/rewrite-hoc-clk/sysmodule/src/board/board_volt.cpp index 7007ea38..27a210a8 100644 --- a/Source/rewrite-hoc-clk/sysmodule/src/board/board_volt.cpp +++ b/Source/rewrite-hoc-clk/sysmodule/src/board/board_volt.cpp @@ -34,6 +34,7 @@ namespace board { RgltrSession session; Result rc = 0; u32 out = 0; + BatteryChargeInfo info; switch (voltage) { case HocClkVoltage_SOC: