diff --git a/Source/sys-clk/overlay/src/ui/gui/misc_gui.cpp b/Source/sys-clk/overlay/src/ui/gui/misc_gui.cpp index 7f7c32df..3e1fae58 100644 --- a/Source/sys-clk/overlay/src/ui/gui/misc_gui.cpp +++ b/Source/sys-clk/overlay/src/ui/gui/misc_gui.cpp @@ -385,7 +385,7 @@ void MiscGui::listUI() addConfigButton( KipConfigValue_commonEmcMemVolt, "EMC VDD2 Voltage", - ValueRange(912500, 1350000, 12500, "mV", 1000), + ValueRange(912500, 1350000, 12500, "mV", 1000, 1), "Voltage", &vdd2Thresholds, emc_voltage_label, @@ -634,7 +634,16 @@ void MiscGui::listUI() NamedValue("HELIOS Table", 4) }; + std::vector gpuUvConf = { + NamedValue("No UV", 0), + NamedValue("SLT Table", 1), + NamedValue("HiOPT Table", 2), + NamedValue("Custom Table", 3) + }; + ValueThresholds mCpuVoltThresholds(1160, 1180); + ValueThresholds MgpuVmaxThresholds(800, 850); + ValueThresholds EgpuVmaxThresholds(950, 975); if(IsErista()) { addConfigButton( @@ -657,6 +666,27 @@ void MiscGui::listUI() {}, false ); + addConfigButton( + KipConfigValue_eristaGpuUV, + "GPU Undervolt Table", + ValueRange(0, 1, 1, "", 1), + "GPU Undervolt Table", + &thresholdsDisabled, + {}, + gpuUvConf, + false + ); + addConfigButton( + KipConfigValue_eristaGpuVmin, + "GPU VMIN", + ValueRange(700, 875, 5, "mV", 1), + "GPU VMIN", + &thresholdsDisabled, + {}, + {}, + false + ); + } else { addConfigButton( KipConfigValue_tableConf, @@ -698,8 +728,573 @@ void MiscGui::listUI() {}, false ); + + addConfigButton( + KipConfigValue_marikoGpuUV, + "GPU Undervolt Table", + ValueRange(0, 1, 1, "", 1), + "GPU Undervolt Table", + &thresholdsDisabled, + {}, + gpuUvConf, + false + ); + + addConfigButton( + KipConfigValue_marikoGpuVmin, + "GPU VMIN", + ValueRange(480, 825, 5, "mV", 1), + "GPU VMIN", + &thresholdsDisabled, + {}, + {}, + false + ); + + + addConfigButton( + KipConfigValue_marikoGpuVmax, + "GPU VMAX", + ValueRange(750, 960, 5, "mV", 1), + "GPU VMAX", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + } + addConfigButton( + KipConfigValue_commonGpuVoltOffset, + "GPU Volt Offset", + ValueRange(0, 50, 5, "mV", 1), + "GPU Volt Offset", + &thresholdsDisabled, + {}, + {}, + false + ); + + if(IsMariko()) + addConfigToggle(KipConfigValue_marikoGpuFullUnlock, "GPU Full Unlock"); + + + if(IsMariko()) { + addConfigButton( + KipConfigValue_g_volt_76800, + "GPU Voltage (76.8MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_153600, + "GPU Voltage (153.6MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_230400, + "GPU Voltage (230.4MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_307200, + "GPU Voltage (307.2MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + + addConfigButton( + KipConfigValue_g_volt_384000, + "GPU Voltage (384.0MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_460800, + "GPU Voltage (460.8MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_537600, + "GPU Voltage (537.6MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_614400, + "GPU Voltage (614.4MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_691200, + "GPU Voltage (691.2MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_768000, + "GPU Voltage (768.0MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_844800, + "GPU Voltage (844.8MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_921600, + "GPU Voltage (921.6MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_998400, + "GPU Voltage (998.4MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1075200, + "GPU Voltage (1075.2MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1152000, + "GPU Voltage (1152.0MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1228800, + "GPU Voltage (1228.8MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1267200, + "GPU Voltage (1267.2MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1305600, + "GPU Voltage (1305.6MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1344000, + "GPU Voltage (1344.0MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1382400, + "GPU Voltage (1382.4MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1420800, + "GPU Voltage (1420.8MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1459200, + "GPU Voltage (1459.2MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1497600, + "GPU Voltage (1497.6MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_1536000, + "GPU Voltage (1536.0MHz)", + ValueRange(480, 960, 5, "mV", 1), + "Voltage", + &MgpuVmaxThresholds, + {}, + {}, + false + ); + + } else { + addConfigButton( + KipConfigValue_g_volt_e_76800, + "GPU Voltage (76.8MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_115200, + "GPU Voltage (115.2MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_153600, + "GPU Voltage (153.6MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_192000, + "GPU Voltage (192.0MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_230400, + "GPU Voltage (230.4MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_268800, + "GPU Voltage (268.8MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_307200, + "GPU Voltage (307.2MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_345600, + "GPU Voltage (345.6MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_384000, + "GPU Voltage (384.0MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_422400, + "GPU Voltage (422.4MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_460800, + "GPU Voltage (460.8MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_499200, + "GPU Voltage (499.2MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_537600, + "GPU Voltage (537.6MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_576000, + "GPU Voltage (576.0MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_614400, + "GPU Voltage (614.4MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_652800, + "GPU Voltage (652.8MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_691200, + "GPU Voltage (691.2MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_729600, + "GPU Voltage (729.6MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_768000, + "GPU Voltage (768.0MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_806400, + "GPU Voltage (806.4MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_844800, + "GPU Voltage (844.8MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_883200, + "GPU Voltage (883.2MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_921600, + "GPU Voltage (921.6MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_960000, + "GPU Voltage (960.0MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_998400, + "GPU Voltage (998.4MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_1036800, + "GPU Voltage (1036.8MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + addConfigButton( + KipConfigValue_g_volt_e_1075200, + "GPU Voltage (1075.2MHz)", + ValueRange(700, 995, 5, "mV", 1), + "Voltage", + &EgpuVmaxThresholds, + {}, + {}, + false + ); + } tsl::elm::ListItem* saveBtn = new tsl::elm::ListItem("Save KIP Settings"); saveBtn->setClickListener([](u64 keys) { if (keys & HidNpadButton_A) { @@ -715,6 +1310,7 @@ void MiscGui::listUI() this->listElement->addItem(saveBtn); } + static std::string getValueDisplayText(uint64_t currentValue, const ValueRange& range, const std::vector& namedValues) diff --git a/Source/sys-clk/sysmodule/src/clock_manager.cpp b/Source/sys-clk/sysmodule/src/clock_manager.cpp index e5779b6d..4e2dd5da 100644 --- a/Source/sys-clk/sysmodule/src/clock_manager.cpp +++ b/Source/sys-clk/sysmodule/src/clock_manager.cpp @@ -521,71 +521,69 @@ void ClockManager::SetRNXRTMode(ReverseNXMode mode) } void ClockManager::SetKipData() { - if(this->config->Refresh()) { - std::scoped_lock lock{this->contextMutex}; - CustomizeTable table; + std::scoped_lock lock{this->contextMutex}; + CustomizeTable table; - if (!cust_read_and_cache(this->config->GetConfigValue(HocClkConfigValue_KipFileName) ? "sdmc:/atmosphere/kips/loader.kip" : "sdmc:/atmosphere/kips/hoc.kip", &table)) { - FileUtils::LogLine("[clock_manager] Failed to read KIP file"); - return; - } + if (!cust_read_and_cache(this->config->GetConfigValue(HocClkConfigValue_KipFileName) ? "sdmc:/atmosphere/kips/loader.kip" : "sdmc:/atmosphere/kips/hoc.kip", &table)) { + FileUtils::LogLine("[clock_manager] Failed to read KIP file"); + return; + } - 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)); + 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)); - CUST_WRITE_FIELD_BATCH(&table, commonEmcMemVolt, this->config->GetConfigValue(KipConfigValue_commonEmcMemVolt)); - CUST_WRITE_FIELD_BATCH(&table, eristaEmcMaxClock, this->config->GetConfigValue(KipConfigValue_eristaEmcMaxClock)); - CUST_WRITE_FIELD_BATCH(&table, marikoEmcMaxClock, this->config->GetConfigValue(KipConfigValue_marikoEmcMaxClock)); - CUST_WRITE_FIELD_BATCH(&table, marikoEmcVddqVolt, this->config->GetConfigValue(KipConfigValue_marikoEmcVddqVolt)); - CUST_WRITE_FIELD_BATCH(&table, emcDvbShift, this->config->GetConfigValue(KipConfigValue_emcDvbShift)); + CUST_WRITE_FIELD_BATCH(&table, commonEmcMemVolt, this->config->GetConfigValue(KipConfigValue_commonEmcMemVolt)); + CUST_WRITE_FIELD_BATCH(&table, eristaEmcMaxClock, this->config->GetConfigValue(KipConfigValue_eristaEmcMaxClock)); + CUST_WRITE_FIELD_BATCH(&table, marikoEmcMaxClock, this->config->GetConfigValue(KipConfigValue_marikoEmcMaxClock)); + CUST_WRITE_FIELD_BATCH(&table, marikoEmcVddqVolt, this->config->GetConfigValue(KipConfigValue_marikoEmcVddqVolt)); + CUST_WRITE_FIELD_BATCH(&table, emcDvbShift, this->config->GetConfigValue(KipConfigValue_emcDvbShift)); - CUST_WRITE_FIELD_BATCH(&table, t1_tRCD, this->config->GetConfigValue(KipConfigValue_t1_tRCD)); - CUST_WRITE_FIELD_BATCH(&table, t2_tRP, this->config->GetConfigValue(KipConfigValue_t2_tRP)); - CUST_WRITE_FIELD_BATCH(&table, t3_tRAS, this->config->GetConfigValue(KipConfigValue_t3_tRAS)); - CUST_WRITE_FIELD_BATCH(&table, t4_tRRD, this->config->GetConfigValue(KipConfigValue_t4_tRRD)); - CUST_WRITE_FIELD_BATCH(&table, t5_tRFC, this->config->GetConfigValue(KipConfigValue_t5_tRFC)); - CUST_WRITE_FIELD_BATCH(&table, t6_tRTW, this->config->GetConfigValue(KipConfigValue_t6_tRTW)); - CUST_WRITE_FIELD_BATCH(&table, t7_tWTR, this->config->GetConfigValue(KipConfigValue_t7_tWTR)); - CUST_WRITE_FIELD_BATCH(&table, t8_tREFI, this->config->GetConfigValue(KipConfigValue_t8_tREFI)); - CUST_WRITE_FIELD_BATCH(&table, mem_burst_read_latency, this->config->GetConfigValue(KipConfigValue_mem_burst_read_latency)); - CUST_WRITE_FIELD_BATCH(&table, mem_burst_write_latency, this->config->GetConfigValue(KipConfigValue_mem_burst_write_latency)); + CUST_WRITE_FIELD_BATCH(&table, t1_tRCD, this->config->GetConfigValue(KipConfigValue_t1_tRCD)); + CUST_WRITE_FIELD_BATCH(&table, t2_tRP, this->config->GetConfigValue(KipConfigValue_t2_tRP)); + CUST_WRITE_FIELD_BATCH(&table, t3_tRAS, this->config->GetConfigValue(KipConfigValue_t3_tRAS)); + CUST_WRITE_FIELD_BATCH(&table, t4_tRRD, this->config->GetConfigValue(KipConfigValue_t4_tRRD)); + CUST_WRITE_FIELD_BATCH(&table, t5_tRFC, this->config->GetConfigValue(KipConfigValue_t5_tRFC)); + CUST_WRITE_FIELD_BATCH(&table, t6_tRTW, this->config->GetConfigValue(KipConfigValue_t6_tRTW)); + CUST_WRITE_FIELD_BATCH(&table, t7_tWTR, this->config->GetConfigValue(KipConfigValue_t7_tWTR)); + CUST_WRITE_FIELD_BATCH(&table, t8_tREFI, this->config->GetConfigValue(KipConfigValue_t8_tREFI)); + CUST_WRITE_FIELD_BATCH(&table, mem_burst_read_latency, this->config->GetConfigValue(KipConfigValue_mem_burst_read_latency)); + CUST_WRITE_FIELD_BATCH(&table, mem_burst_write_latency, this->config->GetConfigValue(KipConfigValue_mem_burst_write_latency)); - CUST_WRITE_FIELD_BATCH(&table, eristaCpuUV, this->config->GetConfigValue(KipConfigValue_eristaCpuUV)); - CUST_WRITE_FIELD_BATCH(&table, eristaCpuMaxVolt, this->config->GetConfigValue(KipConfigValue_eristaCpuMaxVolt)); + CUST_WRITE_FIELD_BATCH(&table, eristaCpuUV, this->config->GetConfigValue(KipConfigValue_eristaCpuUV)); + CUST_WRITE_FIELD_BATCH(&table, eristaCpuMaxVolt, this->config->GetConfigValue(KipConfigValue_eristaCpuMaxVolt)); - 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)); + 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)); - CUST_WRITE_FIELD_BATCH(&table, eristaCpuBoostClock, this->config->GetConfigValue(KipConfigValue_eristaCpuBoostClock)); - CUST_WRITE_FIELD_BATCH(&table, marikoCpuBoostClock, this->config->GetConfigValue(KipConfigValue_marikoCpuBoostClock)); + CUST_WRITE_FIELD_BATCH(&table, eristaCpuBoostClock, this->config->GetConfigValue(KipConfigValue_eristaCpuBoostClock)); + CUST_WRITE_FIELD_BATCH(&table, marikoCpuBoostClock, this->config->GetConfigValue(KipConfigValue_marikoCpuBoostClock)); - CUST_WRITE_FIELD_BATCH(&table, eristaGpuUV, this->config->GetConfigValue(KipConfigValue_eristaGpuUV)); - CUST_WRITE_FIELD_BATCH(&table, eristaGpuVmin, this->config->GetConfigValue(KipConfigValue_eristaGpuVmin)); + CUST_WRITE_FIELD_BATCH(&table, eristaGpuUV, this->config->GetConfigValue(KipConfigValue_eristaGpuUV)); + CUST_WRITE_FIELD_BATCH(&table, eristaGpuVmin, this->config->GetConfigValue(KipConfigValue_eristaGpuVmin)); - CUST_WRITE_FIELD_BATCH(&table, marikoGpuUV, this->config->GetConfigValue(KipConfigValue_marikoGpuUV)); - CUST_WRITE_FIELD_BATCH(&table, marikoGpuVmin, this->config->GetConfigValue(KipConfigValue_marikoGpuVmin)); - CUST_WRITE_FIELD_BATCH(&table, marikoGpuVmax, this->config->GetConfigValue(KipConfigValue_marikoGpuVmax)); + CUST_WRITE_FIELD_BATCH(&table, marikoGpuUV, this->config->GetConfigValue(KipConfigValue_marikoGpuUV)); + CUST_WRITE_FIELD_BATCH(&table, marikoGpuVmin, this->config->GetConfigValue(KipConfigValue_marikoGpuVmin)); + CUST_WRITE_FIELD_BATCH(&table, marikoGpuVmax, this->config->GetConfigValue(KipConfigValue_marikoGpuVmax)); - CUST_WRITE_FIELD_BATCH(&table, commonGpuVoltOffset, this->config->GetConfigValue(KipConfigValue_commonGpuVoltOffset)); - CUST_WRITE_FIELD_BATCH(&table, gpuSpeedo, this->config->GetConfigValue(KipConfigValue_gpuSpeedo)); - CUST_WRITE_FIELD_BATCH(&table, marikoGpuFullUnlock, this->config->GetConfigValue(KipConfigValue_marikoGpuFullUnlock)); + CUST_WRITE_FIELD_BATCH(&table, commonGpuVoltOffset, this->config->GetConfigValue(KipConfigValue_commonGpuVoltOffset)); + CUST_WRITE_FIELD_BATCH(&table, gpuSpeedo, this->config->GetConfigValue(KipConfigValue_gpuSpeedo)); + CUST_WRITE_FIELD_BATCH(&table, marikoGpuFullUnlock, this->config->GetConfigValue(KipConfigValue_marikoGpuFullUnlock)); - for (int i = 0; i < 24; i++) { - table.marikoGpuVoltArray[i] = this->config->GetConfigValue((SysClkConfigValue)(KipConfigValue_g_volt_76800 + i)); - } + for (int i = 0; i < 24; i++) { + table.marikoGpuVoltArray[i] = this->config->GetConfigValue((SysClkConfigValue)(KipConfigValue_g_volt_76800 + i)); + } - for (int i = 0; i < 27; i++) { - table.eristaGpuVoltArray[i] = this->config->GetConfigValue((SysClkConfigValue)(KipConfigValue_g_volt_e_76800 + i)); - } + for (int i = 0; i < 27; i++) { + table.eristaGpuVoltArray[i] = this->config->GetConfigValue((SysClkConfigValue)(KipConfigValue_g_volt_e_76800 + i)); + } - if (!cust_write_table(this->config->GetConfigValue(HocClkConfigValue_KipFileName) ? "sdmc:/atmosphere/kips/loader.kip" : "sdmc:/atmosphere/kips/hoc.kip", &table)) { - FileUtils::LogLine("[clock_manager] Failed to write KIP file"); - } + if (!cust_write_table(this->config->GetConfigValue(HocClkConfigValue_KipFileName) ? "sdmc:/atmosphere/kips/loader.kip" : "sdmc:/atmosphere/kips/hoc.kip", &table)) { + FileUtils::LogLine("[clock_manager] Failed to write KIP file"); } }