From c63da1d9ba8b50c36e9c06cab7f362b71d40aeeb Mon Sep 17 00:00:00 2001 From: souldbminersmwc Date: Sat, 13 Dec 2025 16:51:14 -0500 Subject: [PATCH] sysclk: i forgot about tableconf, actually add it --- Source/sys-clk/common/include/sysclk/config.h | 12 ------------ Source/sys-clk/sysmodule/src/clock_manager.cpp | 10 ++-------- Source/sys-clk/sysmodule/src/kip.h | 1 + 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/Source/sys-clk/common/include/sysclk/config.h b/Source/sys-clk/common/include/sysclk/config.h index 7f21f21d..41d3710f 100644 --- a/Source/sys-clk/common/include/sysclk/config.h +++ b/Source/sys-clk/common/include/sysclk/config.h @@ -64,14 +64,12 @@ typedef enum { KipConfigValue_mtcConf, KipConfigValue_hpMode, - /* EMC */ KipConfigValue_commonEmcMemVolt, KipConfigValue_eristaEmcMaxClock, KipConfigValue_marikoEmcMaxClock, KipConfigValue_marikoEmcVddqVolt, KipConfigValue_emcDvbShift, - /* Memory timings */ KipConfigValue_t1_tRCD, KipConfigValue_t2_tRP, KipConfigValue_t3_tRAS, @@ -83,11 +81,9 @@ typedef enum { KipConfigValue_mem_burst_read_latency, KipConfigValue_mem_burst_write_latency, - /* CPU – Erista */ KipConfigValue_eristaCpuUV, KipConfigValue_eristaCpuMaxVolt, - /* CPU – Mariko */ KipConfigValue_marikoCpuUVLow, KipConfigValue_marikoCpuUVHigh, KipConfigValue_tableConf, @@ -98,11 +94,9 @@ typedef enum { KipConfigValue_eristaCpuBoostClock, KipConfigValue_marikoCpuBoostClock, - /* GPU – Erista */ KipConfigValue_eristaGpuUV, KipConfigValue_eristaGpuVmin, - /* GPU – Mariko */ KipConfigValue_marikoGpuUV, KipConfigValue_marikoGpuVmin, KipConfigValue_marikoGpuVmax, @@ -111,9 +105,6 @@ typedef enum { KipConfigValue_gpuSpeedo, KipConfigValue_marikoGpuFullUnlock, - /* ============================= */ - /* Mariko GPU voltages (24) */ - /* ============================= */ KipConfigValue_g_volt_76800, KipConfigValue_g_volt_153600, KipConfigValue_g_volt_230400, @@ -139,9 +130,6 @@ typedef enum { KipConfigValue_g_volt_1497600, KipConfigValue_g_volt_1536000, - /* ============================= */ - /* Erista GPU voltages (27) */ - /* ============================= */ KipConfigValue_g_volt_e_76800, KipConfigValue_g_volt_e_115200, KipConfigValue_g_volt_e_153600, diff --git a/Source/sys-clk/sysmodule/src/clock_manager.cpp b/Source/sys-clk/sysmodule/src/clock_manager.cpp index bb56c2f6..f79c8e15 100644 --- a/Source/sys-clk/sysmodule/src/clock_manager.cpp +++ b/Source/sys-clk/sysmodule/src/clock_manager.cpp @@ -524,13 +524,11 @@ void ClockManager::SetKipData() { const char* kip = "sdmc:/atmosphere/kips/hoc.kip"; CustomizeTable table; - // Read the KIP file ONCE if (!cust_read_and_cache(kip, &table)) { FileUtils::LogLine("[clock_manager] Failed to read KIP file"); return; } - // Update all fields in memory CUST_WRITE_FIELD_BATCH(&table, custRev, this->config->GetConfigValue(KipConfigValue_custRev)); CUST_WRITE_FIELD_BATCH(&table, mtcConf, this->config->GetConfigValue(KipConfigValue_mtcConf)); CUST_WRITE_FIELD_BATCH(&table, hpMode, this->config->GetConfigValue(KipConfigValue_hpMode)); @@ -557,6 +555,7 @@ void ClockManager::SetKipData() { CUST_WRITE_FIELD_BATCH(&table, marikoCpuUVLow, this->config->GetConfigValue(KipConfigValue_marikoCpuUVLow)); CUST_WRITE_FIELD_BATCH(&table, marikoCpuUVHigh, this->config->GetConfigValue(KipConfigValue_marikoCpuUVHigh)); + CUST_WRITE_FIELD_BATCH(&table, tableConf, this->config->GetConfigValue(KipConfigValue_tableConf)); CUST_WRITE_FIELD_BATCH(&table, marikoCpuLowVmin, this->config->GetConfigValue(KipConfigValue_marikoCpuLowVmin)); CUST_WRITE_FIELD_BATCH(&table, marikoCpuHighVmin, this->config->GetConfigValue(KipConfigValue_marikoCpuHighVmin)); CUST_WRITE_FIELD_BATCH(&table, marikoCpuMaxVolt, this->config->GetConfigValue(KipConfigValue_marikoCpuMaxVolt)); @@ -575,17 +574,14 @@ void ClockManager::SetKipData() { CUST_WRITE_FIELD_BATCH(&table, gpuSpeedo, this->config->GetConfigValue(KipConfigValue_gpuSpeedo)); CUST_WRITE_FIELD_BATCH(&table, marikoGpuFullUnlock, this->config->GetConfigValue(KipConfigValue_marikoGpuFullUnlock)); - // Update MARIKO GPU voltages for (int i = 0; i < 24; i++) { table.marikoGpuVoltArray[i] = this->config->GetConfigValue((SysClkConfigValue)(KipConfigValue_g_volt_76800 + i)); } - // Update ERISTA GPU voltages for (int i = 0; i < 27; i++) { table.eristaGpuVoltArray[i] = this->config->GetConfigValue((SysClkConfigValue)(KipConfigValue_g_volt_e_76800 + i)); } - // Write the KIP file ONCE with all changes if (!cust_write_table(kip, &table)) { FileUtils::LogLine("[clock_manager] Failed to write KIP file"); } @@ -597,17 +593,14 @@ void ClockManager::GetKipData() { const char* kip = "sdmc:/atmosphere/kips/hoc.kip"; CustomizeTable table; - // Read the KIP file ONCE if (!cust_read_and_cache(kip, &table)) { FileUtils::LogLine("[clock_manager] Failed to read KIP file for GetKipData"); return; } - // Build a config value list to set all at once SysClkConfigValueList configValues; memset(&configValues, 0, sizeof(configValues)); - // Read all fields from KIP file configValues.values[KipConfigValue_custRev] = cust_get_cust_rev(&table); configValues.values[KipConfigValue_mtcConf] = cust_get_mtc_conf(&table); configValues.values[KipConfigValue_hpMode] = cust_get_hp_mode(&table); @@ -633,6 +626,7 @@ void ClockManager::GetKipData() { configValues.values[KipConfigValue_eristaCpuMaxVolt] = cust_get_erista_cpu_max_volt(&table); configValues.values[KipConfigValue_marikoCpuUVLow] = cust_get_mariko_cpu_uv_low(&table); configValues.values[KipConfigValue_marikoCpuUVHigh] = cust_get_mariko_cpu_uv_high(&table); + configValues.values[KipConfigValue_tableConf] = cust_get_table_conf(&table); configValues.values[KipConfigValue_marikoCpuLowVmin] = cust_get_mariko_cpu_low_vmin(&table); configValues.values[KipConfigValue_marikoCpuHighVmin] = cust_get_mariko_cpu_high_vmin(&table); configValues.values[KipConfigValue_marikoCpuMaxVolt] = cust_get_mariko_cpu_max_volt(&table); diff --git a/Source/sys-clk/sysmodule/src/kip.h b/Source/sys-clk/sysmodule/src/kip.h index 7bdcc265..f1361136 100644 --- a/Source/sys-clk/sysmodule/src/kip.h +++ b/Source/sys-clk/sysmodule/src/kip.h @@ -245,6 +245,7 @@ static inline u32 cust_get_mariko_cpu_high_vmin(const CustomizeTable* t) { retur static inline u32 cust_get_mariko_cpu_max_volt(const CustomizeTable* t) { return CUST_GET_FIELD(t, marikoCpuMaxVolt); } static inline u32 cust_get_erista_cpu_boost(const CustomizeTable* t) { return CUST_GET_FIELD(t, eristaCpuBoostClock); } static inline u32 cust_get_mariko_cpu_boost(const CustomizeTable* t) { return CUST_GET_FIELD(t, marikoCpuBoostClock); } +static inline u32 cust_get_table_conf(const CustomizeTable* t) { return CUST_GET_FIELD(t, tableConf); } static inline u32 cust_get_erista_gpu_uv(const CustomizeTable* t) { return CUST_GET_FIELD(t, eristaGpuUV); } static inline u32 cust_get_erista_gpu_vmin(const CustomizeTable* t) { return CUST_GET_FIELD(t, eristaGpuVmin); }